A múltkor elkezdtem egy kis perl scriptet írni, példa jelleggel, egy kedves olvasó kérésére (igazából nem is kérte... hi-hi). NoBe azzal dobta fel a napomat, hogy teljesen komolyan vette és továbbfejlesztette a dolgot. Úgy gondoltam, mivel nekem nagyon jólesett, hogy valaki mégis átrágta magát az általam összegányolt kódon és egy korrekt kis szkriptté fejlesztette, a legkevesebb ha helyt adok itt neki.
Tehát eredetileg a föladvány az volt, hogy egy avidemux job fájlt sokszorozzunk meg aszerint, hogy milyen avi fájlokat akarunk átkódolni. Az egész tehét lényegében annyi, hogy felolvassuk a job fájlt, kitaláljuk hogy mi az, amit változtatni kell (pl. betöltendő és elmentendő fájlnév, hogy mást ne mondjak), majd fel kell olvasni azt is, hogy mely fájlokkal akarunk dolgozni és ezek után szépen, hasonló néven de más kiterjesztéssel más néven elmentjük a job fájlokat, amelyek tartalmát a hasonló nevű avi-éhoz szabtuk.
A változások listája, NoBe tolmácsolásában:
- kapcsolókkal lehet megadni, hogy melyik könyvtárban keresse a konvertálandó fájlokat, hova mentse majd a kész anyagot és magát a módosított job fájlt
ezeket alapértelmezésben a forrás job fájlból olvassa, így ennek megadása kötelező - ellenőrzi, hogy a megadott könyvtár útvonalak "/" jellel végződnek-e s ha nem akkor javítja
TAB-al való kiegészítéskor automatikusan hozzáfűzi, ennek leginkább akkor van jelentősége ha parancs behellyettesítést használunk, pl. "$(pwd)" - automatikusan felismeri a kiterjesztéseket a be/kimeneti és a felirat fájloknál, így bármilyen fájl bármilyen formátumba való konvertálásánál használható(persze az avidemux határain belül)
- törli az "app.clearSegments" és "app.addSegment" sorokat a job fájlból, különben hibára fut a konvertálás, mivel nem ugyanannyi frame-ből állnak a különböző fájlok
- alapértelmezésben törli az "app.markerA", "app.markerB" sorokat is a már fent említett okból, azonban ez az újonnan beiktatott "-c" kapcsolóval tiltható
szerintem max. akkor van értelme ha mondjuk egy sorozatnál leakarjuk vágni a kezdő/vége főcímet, de a frame eltérések miatt ez elég macerás - adtam hozzá egy kis súgót a kapcsolókról és az alapértelmezett értékeikről, ezt automatikusan megjeleníti ha a forrás fájl nincs megadva
- a job fájl elején található "//--Project: " kommentet is átírja arra az útvonalra ahová a megváltoztatott fájlt menteni fogja
- minden hibaüzenet és változó nevet angolra írtam át, így nem csak magyar ember fogja megérteni(bár nem hinném, hogy sokan használnák, főleg külföldiek :)), plusz így legalább egységes lett
- egadtam, hogy a perl-t a "-w" kapcsolóval futtassa, így egyszerűbb a hibabehatárolás
A végleges szkript, mindenki okulására, letölthető innen:
http://szakadek.extra.hu/
Ha valakinek NoBe-éhoz hasonló problémája van, minimum egy jó kiindulási alap. :-)