O projekte

 
MP3Pioneer vznikol vďaka potrebe opísať veľký archív MP3 súborov používateľom definovanými informáciami tak, aby dodatočné údaje boli uložené priamo v audio súbore a nie v samostatnej databáze. Tým odpadá problém konzistencie údajov a je možná aj jednoduchá distribúcia súborov spolu s metadátami.

Najrozšírenejším spôsobom ukladania údajov do MP3 streamu je ID3 tag. ID3V1 tag je úplne nevhodný kvôli jeho obmedzeniam, preto voľba padla na ID3V2 tag. Súčasné nástroje na editovanie ID3V2 tagov neboli použiteľné, pretože umožňujú pracovať s pevne určenou množinou položiek, ktorá je spravidla pevne definovaná-hardwired v programe. Okrem toho nevyhovuje limitovaná množina údajových typov, ktoré je možne do ID3V2 tagu použiť.

Uvedené nevýhody starších riešení v podstate negujú flexibilitu, ktorú prináša ID3V2 tag oproti ID3V1 tagu. Preto sme sa rozhodli umožniť používateľovi definovať množinu položiek, ktorú chce používať a ich údajových typov. Tieto položky je možné editovať v rámci jedného súboru, alebo masovo. Na základe hodnôt položiek môžu byť súbory usporiadané do stromovej štruktúry. MP3Pioneer umožňuje transformáciu a presun hodnôt medzi položkami s použitím regulárnych výrazov.

Vyčlenenie definície známych položiek ID3V2 tagu do definičného súboru umožňuje zákazníkovi distribuovať MP3Pioneer prispôsobený jeho vlastným požiadavkám bez nutnosti akéhokoľvek zásahu do kódu.

 

Stav projektu

 
Práca na projekte začala v júli 2003. Podstatná časť návrhu a implementácie bola vykonaná počas 6 týždňov na základe požiadaviek zákazníka. Odvtedy bol produkt doplnené o rozsiahlu ďalšiu funkcionalitu, ktorá nebola predmetom počiatočného kontraktu.

V súčasnosti (22. február 2003) je produkt vo verzii 1.21. Je to stabilná produkčná verzia. V nasledujúcich verziách v línii 1.x už nepredpokladáme integrovanie prevratnej funkcionality ale skôr údržbu existujúceho kódu.

 

Sprievodca

 
Hlavné okno programu obsahu vo východiskovom zobrazení 2 hlavné panely. V ľavom z nich je zobrazená stromová štruktúra audiosúborov 

V pravej časti okna sa nachádza editor tagu. Obsahuje položky tagu podľa definície v súbore FrameSpec.xml. Položky môžu byť rozložené do niekoľkých listov prístupných pomocou záložiek.

V hornej časti hlavného okna programu je lišta menu a ovládacích tlačidiel. Rozloženie panelov, obsah menu a množinu ikon môže požívateľ meniť ťahaním za aktívne okraje a pomocou položky menu NástrojeVlastné.

Kolekcia je zoznamom adresárov v ktorých sa nachádzajú MP3 súbory a jednotlivých súborov.

Prvé, čo potrebné urobiť, aby sme mohli začať pracovať s programom je definícia kolekcie s ktorou chceme pracovať pomocou funkcie SúborKolekcia (F3). Po vybratí a potvrdení (OK) sa načítajú metainformácie o súboroch do pameti.

 

Strom súborov obsahuje štruktúru súborov  zoskupenú do kategórií. Kategórie sú vytvorené podľa určených položiek v ID3V2 tagu. Na obrázku sú súbory zoskupené podľa mena umelca.

Každý súbor má pri sebe zaškrtávacie políčko, ktorým je možné daný súbor označiť. V spodnej časti hlavného okna sa nachádza počet práve označených súborov.

Šírku stĺpcov je možné meniť ťahaním za ich hranice v hlavičke. Poradie je možne zmeniť ťahaním celých záhlaví stĺpcov myšou a úpne skryť niekoré stĺpce je možné pomocou menu vyvolaného kliknutím pravého tlačítka na záhlaví stromu. Pomocou funkcie ZobrazenieNastaviť stĺpce je možné automaticky nastaviť šírku všetkých stĺpcov tak, aby boli ich hodnoty zobrazené celé (t.j. aby neboli orezané).

Okrem toho je možné jednotlivé súbory, alebo zvolené skupiny prehrať v predvolenom prehrávači pomocou funkcií v menu Prehrať.

Každá položka v strome má asociované kontextové menu, ktoré je možné vyvolať pomocou kliknutia pravým tlačidlom (všetky funkcie sú prístupné aj z hlavného menu). Je možné rozbaliť a zbaliť stromovú štruktúru, označovať skupiny súborov, premenovať ich a skopírovať vybrané súbory do zvoleného adresára. Existujú 3 módy kopírovania:

  • Všetky súbory do 1 adresára
  • So zachovaním pôvodnej štruktúry adresárov na disku. V tomto prípade bude vo vybranom adresári vytvorená celá cesta k pôvodným súborom od koreňa, t.j. písmena disku.
  • S vytvorením štruktúry adresárov podľa kategórií. V prípade na ilustračnom obrázku by boli súbory rozkopísované do jednotlivých adresárov podľa mena umelca.
Editor ID3V2 tagu umožňuje editovanie jednotlivých súborov. Editor obsahuje vždy údaje o aktuálne zvolenom súbore zo stromu súborov (na ktorom je kurzor-rámik nakreslený bodkovanou linkou)

V hornej časti sa nachádzaju položky ID3V2 tagu. Položky môžu byť rôznych typov. Základné typy sú:

  • Jednoriadový text
  • Viacriadkový text
  • URL adresa
  • Výber jednej položky zo zonamu
  • Výber viacerých položiek zo zoznamu+vlastné hodnoty
  • ID3V2 komentár

Položky, ktoré boli modifikované zmenia farbu podkladu (implicitne z modrej na červenú). Na to, aby zmeny boli skutočne uložené je potrebné použiť funkciu Uložiť z nástrojovej lišty v spodnej časti editora tagu. Program upozorní, ak sa pokúsite prejsť na iný súbor bez uloženia zmien.

Okrem toho je možné použiť aj dvojicu tlačidiel Uložiť a nasledujúci resp. Uložiť a predchádzajúci, ktoré vykonajú uloženie a zároveň aj posun kurzora v stromovom zozname súborov nahor, alebo nadol. Je možné sa vrátiť k pôvodným hodnotám položiek pred zmenou. Ďalej je tu tlačidlo na vyvolanie hromadnej editácie súborov.

Pri kliknutí pravým tlačidlom na podklad niektorého poľa je možné vyvolať okno s hodnotami danej položky vyskytujúcimi sa v kolekcii, alebo jej podstrome, prípadne skopírovať existujúcu hodnotu do tohto poľa.

Kategórie umožňujú zoradiť súbory do stromovej štruktúry na základe hodnôt jednotlivých položiek. Štruktúru, ktorú chceme vidieť zvolíme pomocou ZobrazenieKategórie (F4).

V pravej časti okna sa nachádzajú názvy kategórií, ktoré chceme vidieť. V príklade na obrázku by súbory boli usporiadané podľa žánru a potom v 2. úrovni podľa mena umelca. Poradie kategórie je dôležité. Možné kategórie vychádzajú z definície položiek ID3V2 tagu.

Na tomto mieste je potrebné poznamenať, že usporiadanie do kategórií sa pre obmedzenie hardwarových nárokov nemení pri editovaní súborov, aj keď editujeme položky podľa ktorých je strom rozložený. Ak chceme aby usporiadanie stromu reflektovalo nové hodnoty, je potrebné použiť funkciu ZobrazenieObnoviť (F5).

Hromadný editor tagov umožňuje nastavovať alebo rušiť položky ID3V2 tagu na viacerých súboroch súčasne. Okno je podobné Editoru tagov a obsahuje rovnaké editačné ovládacie prvky. Pri každom je navyše zaškrtávacie políčko, ktoré určuje či sa má príslušná položka zmeniť. Ak je pole zaškrtnuté do príslušnej položky každého označeného súboru sa zapíše zadaná hodnota. Pri prvom zaškrtnutí sa pritom do editačného poľa zapíše hodnota zo súboru na ktorom je kurzor v hlavnom okne programu. Ak ponecháte editačné pole prázdne, položka bude zo súborov zrušená.

Samotný zápis sa vykoná stlačením tlačidla Zapísať. Okrem toho je možné hromadne zrušiť tagy zo súborov pomocou tlačidla Vymazať tagy. Pozor! Obidve uvedené operácie sú nevratné.

Vyhľadávanie. MP3Pioneer obsahuje nástroj na vyhľadávanie textu v tagoch. Pritom je možné špecifikovať v ktorých položkách bude text hľadať v zozname nachádzajúcom sa v ľavej časti okna.

Možné typy hľadania:

  • Fráza. Vyhľadané sú položky, ktoré obsahujú hľadaný reťazec ako svoj podreťazec.
  • Ktorékoľvek slovo. Hľadaný reťazec je považovaný za postupnosť slov. Vyhľadané sú položky, ktoré obsahujú niektoré z týchto slov.
  • Všetky slová. Hľadaný reťazec je považovaný za postupnosť slov. Vyhľadané sú položky, ktoré obsahujú všetky tieto slová.
  • Regulárny výraz. Vyhľadané sú položky, ktorých hodnota vyhovuje podmienke danej regulárnym výrazom.
  • Maska. Vyhľadané sú položky, ktorých hodnota vyhovuje danej maske zostavenej pomocou znakov * a ?.
Výsledky hľadania. Položky ktoré vyhovujú podmienke hľadania sú zobrazené vo zvláštnom okne. Kliknutím na súbor v tomto okne je možné prejsť na tento súbor v hlavnom okne. Okrem toho je možné použiť kontextové menu na označenie vyhľadaných súborov.
Vypĺňanie tagov. MP3Pioneer obsahuje prepracovaný systém pre konverziu jednej položky tagu na inú. Týmto spôsobom je možné kopírovať hodnoty medzi položkami súboru, alebo ich nastavovať podobne ako v Hromadnom editore tagov, ale v tomto prípade je možné pravidlá uložiť a neskôr sa k nim vrátiť. Okno je horizontálne rozdelené na 3 časti.

V prvej časti zhora sa nachádza definícia zdroja vypĺňania. Každý riadok predstavuje položku tagu. V prvom stĺpci je uvedený názov položky, v druhom stĺpci zdrojová maska (označená ako Výraz) a v ostatných stĺpcoch hodnoty príslušnej položky pre označené súbory. V prípade, že nechceme kopírovať celé hodnoty tagu, ale len časť môžeme použiť zdrojovú masku, v ktorej pomocou špecifikátorov substitúcie určíme, ktoré polia chceme kopírovať. Špecifikátormi substitúcie sú znaky "(" a ")".

V strednej časti okna je definícia cieľa. Opäť sú tu názvy položiek tagu v riadkoch. Druhý stĺpec predstavuje cieľovú šablonu (Vzor). Táto šablona obsahuje odkazy na zdrojové položky ako názov položky uzavretý v znakoch "%". Môže tu byť tiež odkaz len na určité pole zo zdrojovej položky (uzavreté pomocou špecifikátorov substitúcie). V takom prípade sú jednotlivé polia v rámci položky indexované od 1 a zapisované: %nazov_polozky:index%.

Ďalšie stĺpce v definícii cieľa umožňujú konverziu sledu veľkých/malých znakov, odstránanie niektorých znakov, a orezanie začiatočných a koncových medzier, pričom je možné špecifikovať, aké znaky budú považované za medzery. Ostatné stĺpce zobrazujú náhľad, ako budú vyzerať cieľové položky po aplikovaní transformácie.

V spodnej časti okna sa ešte nachádzajú polia na globálne určenie znakov, ktoré sa majú pri kopírovaní ostrániť a znakov, ktoré budú považované za medzery.

     
 

Stiahnutie programu

 
Program bol uvoľnený pod licenciou General Public License Version 2. Jediným vlastníkom copyrightu je autor, s ktorým je potrebné vyjednať v prípade potreby separátne licencie.

Aktuálnu verziu programu je možné stiahnuť z archívu na SourceForge.net. Nachádza sa tam binárna verzia s inštalátorom, binárna verzia v ZIP archíve bez inštalátora a zdrojový kód programu. Program v súčasnosti komunikuje v anglickom a slovenskom jazyku (internacionalizovali sme ho pomocou nástroja Borland Integrated Translation Environment-ITE).

Na skompilovanie zdrojového kódu je potrebné vývojové prostredie Borland Delphi 7 a nasledujúce dodatočné súčasti:

Pre licenčné podmienky jednotlivých knižníc konzultujte, prosíme, ich dokumentáciu.

 

Kontakt

 
Autorom proramu je:

Vladimír 'Yilard' Marko [yilard {at} users.sourceforge.net]

Vývoj bol financovaný firmou:

Limba, s.r.o., Michalská 3, 811 01 Bratislava, Slovenská Republika