Autor |
Sõnum |
juhan
Pingviini kasutaja
Liitunud: 08.10.2005
Postitused: 42
|
|
Tellisin omale netist sellise toreda pilli: Creative Zen Sleek Photo.
http://creative.com/products/product.asp?category=213&subcategory=214&product=14259
Eile hommikul jõudis ta kohale ja juba karpi nähes läks südame alt jahedaks - seal peal laiutas PlaysForSure logo. Microsofti sõnul on tegemist kasutaja elu lihtsustamiseks loodud raamistikuga või mis iganes, mis peaks kuulutama seadmete ja meedia kokkusobivust.
Tegelikkuses on asi loomulikult mõeldud puhtalt FUDi külvamiseks, PFSi ei toeta isegi M$ enda varsti saabuv Zune. Võib täie kindlusega öelda, et enne PFSi sobis Zen palju rohkemaga kokku.
Seadmega keeldusid suhtlemast Gnomad, KZenExplorer, Rhyhmbox, Amarok ja veel mitu, mis on tuntud kui Zeni rääkivad programmid.
Asja uurides selgus, et mingist hetkest alates on Creative vahetanud muusika liigutamiseks kasutatava enda vana hea njb protokolli microsofti mtp vastu.
Olles tulutult netist käimahäkkimise juhendeid otsinud, hakkasin kaevama firmwaresid, lootuses flashida aparaat vanemaks, kasvõi mõneks muuks Creative aparaadiks, mis räägiks njb-d. Tühjagi. Tuleb välja, et alates PlaysForSurega liitumist on Creative seisukoht, et kui juba korra on aparaadil PFS firmware peal, siis vanem firmware seal enam tööle ei hakka. Sellise statemendi tõesus on kaheldav, kuid kontrollida ka ei saa, sest nad on näinud päris kõvasti vaeva, et ükski vanem firmware kättesaadav poleks.
Meel muutus paremaks, kui hakkasin uurima, misasi see mtp ehk media transfer protocol täpselt on. Tuleb välja, et tegemist on ptp ehk photo transfer protocoli edasiarendusega, mis omakorda arendatud TCP/IPst. Ptp-d kasutavad aga praktiliselt kõik digikaamerad. Lõin lahti juba arvutis oleva gtkami, mis suutiski Zeniga rääkida ja isegi ükshaaval mp3 üles laadida.
Siin läks tuju paremals ja hakkasin järjest proovima erinevaid kaameraga suhtlemise programme, mis gentoo portages olemas. Vahepeal sai päev õhtusse, kuid parimaks tulemuseks jäigi gtkam. Lisaks tuli välja, et Zen ei organiseeri faile mitte idv3 tagide ega ka mitte kataloomade kaupa, vaid enda andmebaasis oleva metadata järgi. Isegi kui ma oleks viitsinud ükshaaval 20G mp3'e playerisse laadida, poleks ma saanud neid mängida ei artisti ega albumi kaupa. Kulm jälle kortsus.
Hakkasin uurima, mida head võiks veel gtkamist välja pigistada. See programm on ainult libgphoto frontend. Tollel on aga olemas ka käsurea frontend gphoto2, ja kodulehelt leidsin, et - oh rõõmu - gphoto2 oskab kirjutada Zeni metadatat. Veelgi enam, seda liigutatakse kõige lihtsamate *ml tagidena: <Artist>Frank Zappa</Artist>.
Tõmbasin gphoto2ga Zenist alla näidislaulu metadata, mille alusel tegin metadata paarile oma mp3le ja uploadisin sama gphoto2ga nad playerisse. Hurraa, kõik töötas nii nagu vaja!
Siinkohal võtsin pythoni manuaali ja keerasin kokku skripti albumi kaupa uploadiks. buddha.py koostab pyid3lib'i kasutades metadata, mille salvestab ~/.buddha/metadata/ kausta ning uploadib gphoto2 kasutades koos mp3dega playerisse. Mingi jama jäi sisse - viimase laulu metadata ei jõua kohale, samas veateadet ka ei tule. Ajutise workaroundina ei upi skript ise faile, vaid paneb käsud ~/.buddha/upload.sh skripti, mis käivitades teeb asja korralikult ära. Kui keegi probleemi läbi ampsaks, küll oleks tore.
Skript peaks kõlbama kasutada kõigil PlaysForSure nakatatud Zenidel.
Praegune versioon töötab korralikult ainult siis, kui uploaditavaid faile ega sihtkataloogi playeris olemas pole. Skript eeldab ühte ja ainsat argumenti - ühte albumit sisaldavat mp3ede kausta, milles ei ole alamkatalooge. Album peaks olema viisakalt idv3ga varustatud.
Paanin asja arendada vähemalt sellisele funktsionaalsusele, et enam ei tekiks korraks peast läbi käinud mõte masinasse playeri jaoks windows hankida.
Katsetamisel ei tekkinud ühtegi - ja minu hinnangul ei saagi tekkida - probleemi, mida ei saanud kõrvaldada gphoto2 shellis, gtkamis või seadme formatiga. Kõik huvilised katsetavad siiski täielikult omal vastutusel.
Kokkuvõtteks:
Jalaga munadesse Creativele PFS kasutuselevõtu eest.
Munad maha M$il sellise jama väljamõtlemise eest.
Suur tänu libgphoto/gphoto arendajatele, kes on otsustanud implementeerida ka mtp protokolli.
Suur tänu sellele, kes tolle upload.sh jama ära lahendada õpetaks.
See on minu kõige pikem pythoni katsetus - teie tarkus on teretulnud.
|
buddha.txt |
Kirjeldus: |
|
Allalaadimised |
Failinimi: |
buddha.txt |
Failisuurus: |
2.31 kB |
Alla laaditud: |
428 kord(a) |
|
|
|
Viimati muutis juhan 24.09.2006, 19:26; muudetud 2 korda
|
|
|
|
commodore
Vana Pingviin
Vanus: 37
Liitunud: 02.10.2005
Postitused: 745
|
|
Viimati muutis commodore 16.08.2015, 15:19; muudetud 1 kord
|
|
|
|
juhan
Pingviini kasutaja
Liitunud: 08.10.2005
Postitused: 42
|
|
Vahetasin pyid3lib eyeD3 vastu. Nüüd uploadib ka laulu pikkuse metadata.
Koba peale suutsin lahendada probleemi viimase faili metadataga.
Lisatud sai sihtkausta ja failide olemasolu kontroll - kui on, siis ei kirjutata enam pimedalt üle. Kuna Zeni haldab ennast andmebaasiga, siis saab sama nimega olla mitu kausta ja faili, mis ajab gphotol juhtme kokku.
Üldiselt hakkab juba jumet võtma. Paar vajalikumat asja juurde ja torkan ilmselt gentoo ja/või ubuntu foorumisse üles.
|
buddha.txt |
Kirjeldus: |
Skripti pikkus ületas 100 rida. :lol: |
|
Allalaadimised |
Failinimi: |
buddha.txt |
Failisuurus: |
3.03 kB |
Alla laaditud: |
560 kord(a) |
|
|
|
|
|
|
|
commodore
Vana Pingviin
Vanus: 37
Liitunud: 02.10.2005
Postitused: 745
|
|
Viimati muutis commodore 16.08.2015, 15:18; muudetud 1 kord
|
|
|
|
juhan
Pingviini kasutaja
Liitunud: 08.10.2005
Postitused: 42
|
|
Kustutas? Kustutada ei tohiks midagi, küll aga arvatatakse uploadile minevate failide nimekirjast välja kõik, mis pole mp3. Nimelt oskab skript praegu metadatat luua ainult mp3ele. Wma tugi pole praegu prioriteet - ma ei kujuta ette ühtegi põhjust seda kasutada. Google paistis lubavat mõningat olemasolevat pythoni koodi wma tagide protsessimiseks, wave metadata tuleks aga ette anda käsurealt või arvata faili pathist. Pildid on veel eraldi teema. Niiehknaa on minu meelest tähtsam kõigepealt luua käsurea argumendid ja nende protsessimine.
|
|
|
|
|
|
|
|
commodore
Vana Pingviin
Vanus: 37
Liitunud: 02.10.2005
Postitused: 745
|
|
Viimati muutis commodore 16.08.2015, 15:17; muudetud 1 kord
|
|
|
|
juhan
Pingviini kasutaja
Liitunud: 08.10.2005
Postitused: 42
|
|
Zen oggi ei toeta. (-> hoolikus ) Selle jaoks oleks vaja kirjutada mitte pythonis skript vaid uus firmware :H
|
|
|
|
|
|
|
|
commodore
Vana Pingviin
Vanus: 37
Liitunud: 02.10.2005
Postitused: 745
|
|
Viimati muutis commodore 16.08.2015, 15:16; muudetud 1 kord
|
|
|
|
cbr
Pingviini aktivist
Vanus: 36
Liitunud: 31.08.2005
Postitused: 283
Asukoht: Tallinn/Rakvere
Distributsioon: Kubuntu GNU/Linux
|
|
Väljavõte Amaroki SVNi changelogist (tulevane versioon 1.4.4):
Tsitaat: | * Support downloading of files from an MTP device.
* Support creation and editing of playlists on MTP mediadevices.
* Transferring tracks to an MTP device now shows a progress bar for and
doesn't hang the rest of the UI. (only available for libmtp >= 0.0.15) |
|
|
|
|
|
|
|
|
|
|