Python e iTunes (Interfaccia COM?)
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 3 123 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 33

Discussione: Python e iTunes (Interfaccia COM?)

Cambio titolo
  1. #1
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587

    Python e iTunes (Interfaccia COM?)

    Sto facendo uno script per itunes. Ho fatto quasi tutto, ma ho un problema. Sto usando win32com... ma non trovo alcuna documentazione. Non riesco a trovare l'attributo Lyrics delle tracce, tra i vari problemi. Qualcuno mi puo' trovare un po' di documentazione (sul sito apple non trovo nulla) oppure consigliarmi un altro modo per fare ciò, o ancora spiegarmi come fare ad aggiungere dei testi alle tracce selezionate, avendoli già?
    Io ho già la parte per trovare e scaricare i testi, devo solo aggiungerli alle tracce che seleziono. Come fare?

  2. #2
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    Ho trovato la documentazione, ma non è affatto chiara... qualcuno potrebbe schiarirmi le idee?

  3. #3
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    Citazione Fabio3000 Visualizza Messaggio
    Ho trovato la documentazione, ma non è affatto chiara... qualcuno potrebbe schiarirmi le idee?
    se non posti la documentazione e non dici dove hai problemi come possiamo aiutarti?

    conoscenze: C\C++, Java, PHP,Python

  4. #4
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    Citazione Metflar Visualizza Messaggio
    se non posti la documentazione e non dici dove hai problemi come possiamo aiutarti?
    Avevo scritto nel primo post... ecco il problema che ho adesso, per la precisione:
    Codice:
    >>> itunes = win32com.client.Dispatch('itunes.Application')
    >>> libreria = itunes.LibraryPlaylist
    >>> tracce = libreria.Tracks
    >>> traccia1 = tracce.Item(1)
    >>> testi = traccia1.Lyrics 
    Traceback (most recent call last):
      File "<interactive input>", line 1, in <module>
      File "C:\Python26\lib\site-packages\win32com\client\__init__.py", line 462, in __getattr__
        raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
    AttributeError: '<win32com.gen_py.iTunes 1.12 Type Library.IITTrack instance at 0x36978480>' object has no attribute 'Lyrics'
    >>>
    Insomma, il problema è che non riesco ad accedere ai testi, non riuscendo così ad aggiungerli con il resto del codice

  5. #5
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    puoi passarmi un link dove vedere la documentazione non la trovo xD

    conoscenze: C\C++, Java, PHP,Python

  6. #6
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    http://developer.apple.com/sdk/
    te lo ho uploadato perché è un casino trovarlo lì in mezzo e perché bisogna esser registrati:
    http://www.megaupload.com/?d=EFWM1KUP

  7. #7
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    Citazione Fabio3000 Visualizza Messaggio
    http://developer.apple.com/sdk/
    te lo ho uploadato perché è un casino trovarlo lì in mezzo e perché bisogna esser registrati:
    http://www.megaupload.com/?d=EFWM1KUP
    nn mi hai dato la documentazione

    conoscenze: C\C++, Java, PHP,Python

  8. #8
    Oхen L'avatar di TheMyx
    Registrato il
    09-06
    Località
    Verona
    Messaggi
    8.217
    Citazione Fabio3000 Visualizza Messaggio
    Avevo scritto nel primo post... ecco il problema che ho adesso, per la precisione:
    Codice:
    >>> itunes = win32com.client.Dispatch('itunes.Application')
    >>> libreria = itunes.LibraryPlaylist
    >>> tracce = libreria.Tracks
    >>> traccia1 = tracce.Item(1)
    >>> testi = traccia1.Lyrics 
    Traceback (most recent call last):
      File "<interactive input>", line 1, in <module>
      File "C:\Python26\lib\site-packages\win32com\client\__init__.py", line 462, in __getattr__
        raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
    AttributeError: '<win32com.gen_py.iTunes 1.12 Type Library.IITTrack instance at 0x36978480>' object has no attribute 'Lyrics'
    >>>
    Insomma, il problema è che non riesco ad accedere ai testi, non riuscendo così ad aggiungerli con il resto del codice
    Non puoi usare qualche browser per vedere che interfacce vengono esposte e i relativi dettagli? Tipo quello di Visual Studio dovrebbe andar benissimo.

  9. #9
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    Citazione Metflar Visualizza Messaggio
    nn mi hai dato la documentazione
    Come no? E' il file iTunesCOM.chm nel secondo link

    Citazione TheMyx Visualizza Messaggio
    Non puoi usare qualche browser per vedere che interfacce vengono esposte e i relativi dettagli? Tipo quello di Visual Studio dovrebbe andar benissimo.
    Non ho capito molto bene, credo

  10. #10
    Oхen L'avatar di TheMyx
    Registrato il
    09-06
    Località
    Verona
    Messaggi
    8.217
    Citazione Fabio3000 Visualizza Messaggio
    Non ho capito molto bene, credo
    Una cosa del genere, insomma
    Spoiler:

    Affiancata ad una buona documentazione, è molto utile.

    P.S. Ho trovato un attributo Lyrics, non so se sia quello che cerchi ma è in
    Codice:
    iTunesLib.IITFileOrCDTrack.Lyrics

  11. #11
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    Che programma è quello?
    certo, sarebbe molto utile
    Comunque, dovrebbe esser proprio quello l'attributo a cui cerco di accedere - e per il qual si verifica l'errore

  12. #12
    Oхen L'avatar di TheMyx
    Registrato il
    09-06
    Località
    Verona
    Messaggi
    8.217
    Citazione Fabio3000 Visualizza Messaggio
    Che programma è quello?
    certo, sarebbe molto utile
    Comunque, dovrebbe esser proprio quello l'attributo a cui cerco di accedere - e per il qual si verifica l'errore
    E' l'object browser di visual studio questo (puoi scaricare gratuitamente le versioni express dal sito Microsoft)

    Comunque da quello che ho capito tu cerchi l'attributo Lyrics su un oggetto di tipo IITTrack, che quest'attributo non ce l'ha. Prova a fare un cast al tipo IITFileOrCDTrack, sembrano abbastanza compatibili come interfacce.
    Se il cast funziona puoi accedere all'attributo lyrics, altrimenti dovrai trovare un modo di ottenere dall'oggetto di tipo IITTrack uno di tipo IITFileOrCDTrack (tramite qualche metodo, non so?).

    Comunque la cosa mi ha incuriosito, provo a darci un'occhiata anche io.

    Ok, trovato. Era sufficiente fare un cast.
    E' codice C#, ma dovrebbe essere abbastanza comprensibile:
    Codice PHP:
    iTunesAppClass itunes = new iTunesAppClass();
    // Qua prendo un brano a caso, il primo della libreria
    // (l'indice 0 non me lo accettava, mah)
    IITFileOrCDTrack fcd = (IITFileOrCDTrack)itunes.LibraryPlaylist.Tracks[1];
    // Ed ecco l'attributo fantasma
    string lyrics fcd.Lyrics
    Attento che può essere "null" se non ci sono testi inseriti.
    Ultima modifica di TheMyx; 29-08-2009 alle 00:39:52

  13. #13
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    Grazie per l'aiuto, ci provo

  14. #14
    Paaaaaaaaaaaaaaaaaaaaaain L'avatar di Fabio3000
    Registrato il
    03-06
    Messaggi
    11.587
    Mi chiedevo... come si fa il cast in Python?

  15. #15
    Oхen L'avatar di TheMyx
    Registrato il
    09-06
    Località
    Verona
    Messaggi
    8.217
    Citazione Fabio3000 Visualizza Messaggio
    Mi chiedevo... come si fa il cast in Python?
    A quanto pare il typecasting per i tipi non di default in phyton non esiste.
    Prova a creare una variabile di tipo IITFileOrCDTrack e assegnagli direttamente il "valore" dell'oggetto di tipo IITTrack. Si spera che funzioni.

Pag 1 di 3 123 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •