LINUX « E-Pillole
Soluzione piccolo problema con mp32ogg
Dopo essermi finalmente deciso ad utilizzare mp32ogg per convertire tutti i miei .mp3 in .ogg ho quasi subito riscontrato un problemino davvero banale e di facile risoluzione...anche per chi, come me, di perl ne conosce solo l'esistenza :)
In sintesi, a causa di questo "pezzo" di codice:
sub findfunc() {
$file = $_;
($name,$dir,$ext) = fileparse($file,'\.mp\d');
if((/\.mp\d/,$ext) && -f $file) {
&checkfile($file);
}
}
vengono intercettati solo ed esclusivamente i files con estensione .mp3 e di conseguenza ignorati eventuali .mP3 / .Mp3 / .MP3
Quello che manca, e che andremo a fixare, è quindi una regular expression all'interno della routine fileparse() che traformi mp32ogg in uno script completamente case-insensitive.
Vediamo come...
Molto semplicemente, basterà applicare al file /usr/bin/mp32ogg questa "patch":
--- mp32ogg 2006-12-08 09:45:30.000000000 +0100
+++ mp32ogg 2007-08-29 01:11:33.000000000 +0200
@@ -148,8 +148,8 @@
sub findfunc() {
$file = $_;
- ($name,$dir,$ext) = fileparse($file,'\.mp\d');
- if((/\.mp\d/,$ext) && -f $file) {
+ ($name,$dir,$ext) = fileparse($file,'\.[mM][pP]\d');
+ if((/\.[mM][pP]\d/,$ext) && -f $file) {
&checkfile($file);
}
}
@@ -217,7 +217,7 @@
warn "not enough ID3 info to rename, reverting to old filename.\n";
}
- ($filename,$dirname,$ext) = fileparse($mp3file,'\.mp\d');
+ ($filename,$dirname,$ext) = fileparse($mp3file,'\.[mM][pP]\d');
}
else {
$filename =~ s/\%a/$info->{ARTIST}/g;
Supponendo quindi che il file contenente la "patch" si chiami fix_mp32ogg.diff e risieda sul vostro Desktop, sarà sufficiente digitare:
sudo patch /usr/bin/mp32ogg ~/Desktop/fix_mp32ogg.diff
e niente più problemi con le estensioni dei nostri mp3 da convertire in ogg!!
Ovviamente, il "bug" è stato già segnalato sia in Debian che in Ubuntu, e a breve riceveremo quasi sicuramente un bell'aggiornamento che andrà a rimpiazzare la nostra modifica rudimentale :)
Nel frattempo, accontentiamoci di una patch fatta in casa...
dunque grazie!
ho notato che spesso il file ogg è più grande dell'originale, do u?
per l'aggiornamento mainstream non sarei così ottimista:
http://faceprint.com/code/
come funziona la patch, in genere? mp32ogg se la va a leggere ogni volta che lo usi o lo hai proprio modificato? se cancello il file .diff dal desktop torna tutto come prima?
ciao
la grandezza del file ogg dipende dalla qualità con cui vengono convertiti gli mp3...
la scala va da 1 a 10 e se ricordo bene:
5 corrisponde piò o meno a 160kbps
io li sto convertendo *tutti* con qualità 6 (192kbps) e fino ad ora (più o meno 40gb completati), siccome molti mp3 superavano i 192kbps il totale in ogg è minore rispetto al totale in mp3 :)
>>come funziona la patch, in genere?
tranquillo, il file .diff sul desktop puoi anche eliminarlo o spostarlo dove ti pare...
/usr/bin/mp32ogg è stato modificato è puoi vederlo tu stesso aprendo lo script con un editor di testo qualsiasi:
gedit /usr/bin/mp32ogg
tutto ok vero...?? funziona...??
ciaociao
>>per l'aggiornamento mainstream non sarei così ottimista:
dimenticavo....per l'aggiornamento non c'è da preocuparsi...arriverà ;)
anche se l'autore dello script non accetta patch, essendo rilasciato sotto licenza artistica, ci penseranno i developer di Debian e/o Ubuntu :)
ciaociao
si, funziona a dovere: copia i tag e cancella il vecchio..potenza del terminale, giusto?!
a volte però mi da un errore, per intere cartelle non riesce a determinare...ecco:
Could not determine MP3 version, aborting at /usr/bin/mp32ogg line 169.
in 40Gb nn ti è mai successo? ciao
>>Could not determine MP3 version, aborting at /usr/bin/mp32ogg line 169.
già...questo è l'altro bug che è stato segnalato su launchpad :(
in pratica:
# Sanity checking: Is this file really an MP3 file?
die "Could not determine MP3 version, aborting" if ($fileinfo->{VERSION}=="");
se ha l'estensione .mp3 ma in realtà non è un MP3, a causa di quel *die* esce e stampa quel messaggio di errore :(
la soluzione sarebbe di skippare, ma purtroppo non conoscendo perl nello specifico non ho idea di come si possa fare :(
>>in 40Gb nn ti è mai successo? ciao
2 canzoni...quindi 2 volte :(
ciaociao
mi fa piacere constatare di non essere l'unico a non avere più mp3 :)
pensavo di essere ormai irrecuperabile come il Sig. Stallman :)
fiuuuu...
ciaociao
- Applications Software (2)
- Debian (1)
- Devel (1)
- Distribuzioni Varie (2)
- Easy Tricks (5)
- Gnome Desktop (2)
- Guide Debian (8)
- Guide Debian Ubuntu (12)
- Guide Ubuntu (9)
- Linux Printer Drivers (1)
- Man Pages Linux (2)
- My Feeds (3)
- Off Topic (2)
- Ping at Home (1)
- Problem Solving (4)
- Server Side (2)
- Tricks Debian Ubuntu (5)
- Ubuntu (8)
- Upgrades (5)
- NFS - Condivisione file Debian Ubuntu
- Ubuntu Case Studies: storie di successo in azienda e nelle scuole
- La tentazione del lato oscuro (Google AdSense) [Ping@Home]
- Linux Man Pages On-Line
- Gestione Moduli e Virtual Hosts di Apache2 su Debian e Ubuntu
- Visualizzare struttura ad albero di una directory
- Cron + Rhythmbox + Scriptino = Sveglia
- Soluzione piccolo problema con mp32ogg
- Velocizzare la ricompilazione con ccache
- Trasformare Gedit in un editor avanzato
- People DebianClan e TuxFeed: pinguini italiani alla riscossa
- Abilitare supporto AGP driver NVIDIA
- Finalmente rilasciata la GPLv3
- Compiz Fusion + Debian Sid
- Estensione NoScript per Firefox
- Compiz Fusion + Ubuntu Feisty
- Disabilitare o modificare splash screen Gnome
- Personalizzare gnome con GNOME Color Chooser
- VOGLIO usare Ubuntu
- Cronologia comandi bash
- febbraio 2008 (1)
- gennaio 2008 (2)
- dicembre 2007 (1)
- novembre 2007 (2)
- ottobre 2007 (1)
- agosto 2007 (3)
- luglio 2007 (2)
- giugno 2007 (20)
- maggio 2007 (13)
- aprile 2007 (10)
- marzo 2007 (20)










