Hangfájlok automatikus konvertálása pendrivera másoláskor

Van egy 512 megás Samsung mp3 lejátszóm. Ez nem túl sok, viszont lejátszik ogg fájlokat is. Nekem utazás közben zenehallgatáshoz bőven elég a ~128kbps ogg minősége, viszont sok zeném jobb minőségű - ezáltal nagyobb - mp3ban vagy flacban van meg. Unalmas és hosszadalmas dolog ezeket mindig egyenként ide-oda konvertálgatni...
Ötletem a következő: Valahogy megoldani, hogy egy szkript figyeli, hogy mit másolok fel az mp3 lejátszóra és ha ilyen meg ilyen kiterjesztésű, akkor konvertál, és a kész fájlt másolja fel.
Ennek megvalósításában kérem tehát a segítségeteket. Viszonylag kezdő linux user lévén nem tudom, hogy merre induljak el. Létezik valamilyen konfigfájl, amibe pár egyszerűbb sort beillesztve ezt meg lehet csinálni, vagy ehhez már új kernelt kell forgatni? (gondolom a megoldás valahol a két véglet között található :)) Linux szkriptet még sosem írtam, de készítettem már pár közepesen bonyolult php oldalt (ezt csak azért írom, hogy nem vagyok teljesen idegen az egyszerűbb "programozás"-ban, gondolom hamarabb beletanulok, mint ha teljesen kezdő lennék. Főleg mert érdekel is). A szkript lényegét - hogy miként, hova, hogyan konvertáljon - szerintem össze tudom majd szenvedni magam is, viszont hogy mit szkripteljek meg, arról fogalmam sincs :)
Xubuntu 7.04-et használok, bármilyen segítséget köszönök!

Hozzászólások

Hat ez nem kis melo szerintem. Mindenesetre ket megoldas jutott igy eszembe:

  1. Csinalni egy uj fajlrendszert, ami csak annyiban kulonbozik a vfattol, hogy a fent emlitett ellenorzest megcsinalja, es atkonvertal (ez elegge hosszadalmas, bonyolult, nem tunik celszerunek)
  2. Asszem a KDE-nek vannak ilyen "kioslave"-nek nevezett finomsagai, amivel meg lehet valositani virtualis fajlrendszereket, ezeket is lehet hasonlo dolgokra hasznalni (ez azert joval egyszerubb a fentinel)

Nem tudom, elkepzelheto-e a virtualis fajlrendszernel egyszerubb megoldas, mindenesetre kivancsi leszek a tobbiek velemenyere is..

Nem szeretnék amaroKot használni, nagy tudású, de sok dolog nem szimpatikus benne, xmms-hez (és winamphoz win alatt) pedig már jól hozzászoktam. Ráadásul az amaroK KDE-s program, én meg xfce-t használok (xubuntu, ugyebár), úgy hallottam-gondolom, hogy több erőforrást zabálnak, mint egy kde-független program, mivel kell, hogy fussanak mellette más kde-s processek is. Nincs egy erőgépem, szóval próbálok minél kevesebb kde függő programot használni.
Ha mégsincs így, és ua. erőforrást használnak, mint a többi, akkor javítsatok ki! :)

Egy olyan szkriptre van szükséged, mint az mp32ogg, csak állítható bitrátával. Esetleg módosítod a szkriptet (megteheted), hogy ne számolja át mp3-ból a bitrátát, hanem egy standardot használjon. A használatára meg max írsz egy wrapper scriptet, ha nagyon lusta vagy.

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom -- új címen!

Erre gondoltam. Bár tény, hogy linuxban ez bizonyos szempontból kényelmesebb mint windows alatt, de mikor cirka 150 számot válogatok ki felmásolásra a legkülönbözőbb helyekről, akkor azért elég idegesítő a parancssorban szórakozni, amikor MC-ben vagy Krusaderben egy gombnyomás a másolás. Nem tragédia, ha nem lehet megoldani, de mivel a linux egyik legnagyobb előnyeként azt szokták feltüntetni, hogy végtelenül testreszabható, gondoltam megpróbálkozom, mert ez végre egy olyan dolog amit tényleg szeretnék, ha meglenne, és windows alatt - szerintem - lehetetlen megcsinálni.
A "cp"-be nem lehet beleírni és újra lefordítani, hogy adott címre adott kiterjesztésű fájl másolásakor másképp járjon el? Ez persze csak akkor jó, ha a mc krusader thunar stb is a cp-vel másol. (lehet, hogy teljesen hülye ötlet... Nem tudom, hogy a cp micsoda, egy program, a bash vagy a kernel része, de józan paraszti ésszel most ez jutott eszembe)

Ha konkretan mc-bol meg krusaderbol is szeretned megvalositani a dolgot, akkor erdemes megkeresni a "legnagyobb kozos osztot", ez esetben nagy valoszinuseggel a fajlrendszer masolo muvelete lesz.
Most, hogy kicsit tisztabban latom a dolgot, szerintem megiscsak a kioslavek kornyeken kene keresgelni, es akkor raszokni a krusaderre.

(Krusadert használom a legtöbbször, eddig nem találtam más jól használható, nem KDE-s osztottképernyős fájlkezelőt... feljebb is leírtam, hogy a teljesítménycsökkenés miatt kicsit tartok a KDE-s programoktól, kérdés, hogy mennyire jelentős ez az esetleges lassulás... mindegy, ha egy módon megoldható az ötletem, és az a Kioslave, akkor legyen :))
Ha jól értem, akkor a kioslave kicsit módosítja a vfat fájlrendszert, amit a pendrive használ, hogy amikor pl mp3-mat másolnak rá, elinduljon a konvertálás. Nem fog keresztbetenni az mp3 lejátszónak, hogy megváltozott a fájlrendszer?

Szerintem túlbonyolítjátok a dolgot. Ha KDE-n belül akarod megoldani, akkor KDE API, illetve várj egy kicsit a KDE 4-re, mert abban sokkal könnyebb lenne egy ilyet megvalósítani. Ha system-wide akarod a cuccot kivitelezni, akkor két megoldás van:
1.) amit már írtam, egy módosított mp32ogg, meg egy wrapper, mondjuk így:
cp2ap device_mount_dir file1 file2 file3* file{4,5}
így ez menni fog, de parancssorból
2.) írsz gtk-val egy primitív GUI-s alkalmazást, ami ugyanazt csinálja, mint az 1.)
Ezek a szép módszerek. Gányólósabb (esetleg kényelmesebb):
csinálsz egy könyvtárt meg két-három scriptet. A könyvtár lesz a te 'virtuális' pendrive-od, ide bemásolod az mp3-akat, aztán írsz két szkriptet: az első szinkronizálja az mp3 lejátszód tartalmát a könyvtárral (mielőtt bemásolsz akármit is), a második pedig a könyvtárban lévő mp3 fájlokat ogg-ba konvertálva átrakja az mp3 lejátszódra (lásd 1-es pont).

A legegyszerűbb még mindig az amaroK (legalábbis nekem), illetve nézz körül xmms fronton, mert __rengeteg__ plugin van hozzá, talán azzal oldod meg a legegyszerűbben.

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom -- új címen!

A kovetkezot javaslom:
-Letrehozol egy konyvtarat, es azt mondod, hogy mostantol ha vmit fel akarsz tenni a lejatszodra, akkor azt nem a lejatszodra masolod, hanem ide.. (ezt talan meg nem olyan nehez megszokni.. esetleg beallitod, hogy az eredeti lejatszot ne a /media/lejatszonev -re mountolja, hanem pl /media/lejatszonev_regi helyre, es a /media/lejatszonev lesz ez a kijelolt konyvtar.. ekkor nem kell atszokni..)
-Irsz egy scriptet, ami megnezi ezt a konyvtarat, ha lat benne file-t, akkor megnezi, hogy mountolva van-e a lejatszod, es ha igen, akkor elkezdi konvertalni a file-okat (mondjuk lehet rekurzivan kezelni a konyvtarakat). Ha konvertalt egy file-t (lehet kozvetlenul a lejatszora is kuldeni a kimenetet), akkor az eredetit torolheti. Ha ugyes vagy, es a lejatszod software-et ertelmes emberek irtak, akkor az egesz konyvtarszerkezetet megtarthatod, es a lejatszolistat konnyebben tudod majd kezelni.
-A scriptet lefuttatod, ha masolni akarsz (kezzel/csinalsz ikont), vagy cronbol inditod idonkent valami csokkentett felhasznaloval (ne rootkent, az a lenyeg, de irasi jogod legyen a lejatszora). Cron esetenkent kell valami lock mechanizmus, hogy ne fusson egyszerre tobb peldanyban a script.
-Irhatsz shell scriptet, de ha nem vagy meg kelloen hozzaszokva (es nem is nagyon akarsz), akkor irhatod php-ban is, ha azzal jobban bansz.. (persze php-t igenyel)
Ebben az esetben igy kezdd (ertelemszeruen modositva):
#!/usr/bin/php
<?
// ide johet a php kod..
shell("echo ez itt egy shell parancs, pl mp3/ogg konvertalo meghivasara");
// normal filekezelo muveletek mennek, vagy shell("cp ...")
?>
---------------------
Q: Why do real Java programmers wear glasses?
A: Because they don't C#.

:)
Mellesleg tutira van XMMS-hez valami ilyesmi plugin, ha amaroK-hoz is van (aminek sokkal szegényesebb a plugin ellátottsága az XMMS-hez képest). Audacious meg ha jól tudom átveszi alapból az XMMS plugineket/skineket, úgyhogy no problem.

Ha meg fs wrappert akartok íratni szegénnyel, akkor FUSE-hoz van valami mp3fs, de az csak flac-ot konvertál. Valami hasonló kellene neki is, de ez nagyon az ágyúval verébre kategória :)

---------
WARNING: Linux requires you to type! After rebooted to Windows, you can safely unplug your keyboard.
szerény blogom -- új címen!

Köszi az ötleteket, Nyosigomboc, megpróbálom amit leírtál, shell scriptben... meg kell tanulni. Ha van valami fejlemény akkor még írok.
És persze megnézem az xmms pluginokat is.

Elkezdtem tapasztalgatni-írnogatni a fent említett szkriptet és volna egy kérdésem. Egy parancs kimenetének mindig csak egy adott sorát akarom egy változóba helyezni, hogy tudom ezt megtenni? Konkrétan: kilistázok egy könyvtárat és egymás után minden fájlt akarom vizsgálni, de nem egyszerre, arra jó lenne a *.