Allegato "conversione-file-audio.txt"
Scarica 1 #!/bin/bash
2 #
3 # Autore: Maurizio (aka farthest)
4 # Licenza: GPL 2 or later
5 #
6 # Dipendenze:
7 # zenity
8 # lame
9 # mac
10 # mppdec
11 # mplayer
12 # flac
13 # faad
14 # oggdec oggenc --> package: vorbis-tools
15
16 formati_supportati() {
17 case $FORMATO in
18 aac)
19 SUPPORTO=yes
20 FORMATOFILE=[Aa][Aa][Cc]
21 ;;
22 ape)
23 SUPPORTO=yes
24 FORMATOFILE=[Aa][Pp][Ee]
25 ;;
26 flac)
27 SUPPORTO=yes
28 FORMATOFILE=[Ff][Ll][Aa][Cc]
29 ;;
30 mp2)
31 SUPPORTO=yes
32 FORMATOFILE=[Mm][Pp]2
33 ;;
34 mp3)
35 SUPPORTO=yes
36 FORMATOFILE=[Mm][Pp]3
37 ;;
38 mpc)
39 SUPPORTO=yes
40 FORMATOFILE=[Mm][Pp][Cc]
41 ;;
42 ogg)
43 SUPPORTO=yes
44 FORMATOFILE=[Oo][Gg][Gg]
45 ;;
46 wav)
47 SUPPORTO=yes
48 FORMATOFILE=[Ww][Aa][Vv]
49 ;;
50 wave)
51 FORMATO=wav
52 SUPPORTO=yes
53 FORMATOFILE=[Ww][Aa][Vv][Ee]
54 ;;
55 wma)
56 SUPPORTO=yes
57 FORMATOFILE=[Ww][Mm][Aa]
58 ;;
59 *)
60 SUPPORTO=no
61 ;;
62 esac
63 }
64
65 ##
66
67 2aac() {
68 faac -q $QUALITA -o "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" "$WAVFILE" || echo "Errore del comando:faac -q $QUALITA -o 'in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO' '$WAVFILE' ." >> /tmp/audioconvert.log
69 }
70
71 2ape() {
72 mac "$WAVFILE" "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" -c$QUALITA || echo "Errore del comando: mac '$WAVFILE' 'in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO' -c$QUALITA ." >> /tmp/audioconvert.log
73 }
74
75 2flac() {
76 flac -f --compression-level-$QUALITA "$WAVFILE" -o "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" || echo "Errore del comando: flac --compression-level-$QUALITA '$WAVFILE' -o 'in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO' ." >> /tmp/audioconvert.log
77 }
78
79 2mp3() {
80 lame -m auto --preset $QUALITA "$WAVFILE" "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" || echo "Errore del comando: lame -m auto --preset $QUALITA '$WAVFILE' 'in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO' ." >> /tmp/audioconvert.log
81 }
82
83 2mpc() {
84 mppenc --$QUALITA "$WAVFILE" "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" || echo "Errore del comando: mppenc --$QUALITA '$WAVFILE' 'in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO' ." >> /tmp/audioconvert.log
85 }
86
87 2ogg() {
88 oggenc "$WAVFILE" -q $QUALITA -o "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" || echo "Errore del comando: oggenc '$WAVFILE' ${OGGTAGS[@]} -q $QUALITA -o 'in formato .$FORMATO_CONVERSIONE/$OGGFILE' ." >> /tmp/audioconvert.log
89 }
90
91 2wav(){
92 cp "$FILE_CONVERTITO" "in formato .$FORMATO_CONVERSIONE/" 2>> /tmp/audioconvert.log
93 }
94
95 ##
96
97 wma2wav() {
98 mplayer "$FILE" -ao pcm:file="$WAVFILE" 2>> /tmp/audioconvert.log
99 }
100
101 mpc2wav() {
102 mppdec "$FILE" "$WAVFILE" 2>> /tmp/audioconvert.log
103 }
104
105 ape2wav() {
106 mac "$FILE" "$WAVFILE" -d || echo "Errore del comando: mac '$FILE' '$WAVFILE' -d." >> /tmp/audioconvert.log
107 }
108
109 flac2wav() {
110 flac -f -d "$FILE" -o "$WAVFILE" || echo "Errore del comando: flac -d '$FILE' -o '$WAVFILE'." >> /tmp/audioconvert.log
111 }
112
113 ogg2wav() {
114 oggdec "$FILE" -o "$WAVFILE" || echo "Errore del comando: oggdec '$FILE' -o '$WAVFILE'." >> /tmp/audioconvert.log
115
116 }
117
118 aac2wav() {
119 faad -o "$WAVFILE" "$FILE" || echo "Errore del comando: faad -o '$WAVFILE' '$FILE'." >> /tmp/audioconvert.log
120
121 }
122
123 mp32wav() {
124 lame --decode "$FILE" "$WAVFILE" || echo "Errore del comando: lame --decode '$FILE' '$WAVFILE'." >> /tmp/audioconvert.log
125 }
126
127 mp22mp3(){
128 lame -m auto --mp2input --preset $QUALITA "$FILE" "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" || echo "Errore del comando: lame -m auto --mp2input [ "$FORMATO" != wav ]--preset $QUALITA '$FILE' 'in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO' ." >> /tmp/audioconver.log
129 }
130
131 interruzione(){
132 zenity --title=Audioconvert --error --text="Script interrotto."
133 kill $$
134 }
135
136 ## principale
137 PERCORSO="`echo $NAUTILUS_SCRIPT_CURRENT_URI| sed "s&^file://&&"`"
138 [ -n "$PERCORSO" ] && cd "$PERCORSO"
139
140 if [ $# -eq 0 ]; then
141 zenity --title=Audioconvert --error --text="Seleziona almeno un file."
142 exit 1
143 fi
144
145 FORMATO_CONVERSIONE=`zenity --title=Audioconvert --list --text="Scelti il formato di conversione:" --radiolist --column=Selez. --column=Formato false aac false ape false flac false mp3 false mpc false ogg false wav || interruzione`
146
147 SECONDA_CONVERSIONE=2$FORMATO_CONVERSIONE
148
149 case "$FORMATO_CONVERSIONE" in
150 aac) QUALITA=`zenity --list --text="Scegli la qualita'." --radiolist --column=Selez. --column=Livello false 100 false 200 true 300 false 400 false 500 || interruzione`;;
151 ape) QUALITA=`zenity --list --text="Scegli la qualita'." --radiolist --column=Selez. --column=Livello false 1000 false 2000 true 3000 false 4000 false 5000 || interruzione`;;
152 flac) QUALITA=`zenity --list --text="Scegli la qualita'." --radiolist --column=Selez. --column=Livello false 0 false 1 false 2 false 3 false 4 false 5 false 6 false 7 true 8 || interruzione`;;
153 mp3) QUALITA=`zenity --list --text="Scegli la qualita'." --radiolist --column=Selez. --column=Livello true medium false standard false extreme false insane || interruzione`;;
154 mpc) QUALITA=`zenity --list --text="Scegli la qualita'." --radiolist --column=Selez. --column=Livello false thumb false radio true standard false xtreme || interruzione`;;
155 ogg) QUALITA=`zenity --list --text="Scegli la qualita'." --radiolist --column=Selez. --column=Livello false " -1" false 0 false 1 false 2 false 3 false 4 false 5 false 6 true 7 false 8 false 9 false 10 || interruzione`;;
156 wav) echo "NESSUNA QUALITA'!";;
157 *)
158 zenity --title=Audioconvert --error --text="Attenzione, non hai selezionato nessun formato di conversione."
159 exit 1
160 ;;
161 esac
162
163 while [ $# -gt 0 ]; do
164
165 if [ ! -d "in formato .$FORMATO_CONVERSIONE" ]; then
166 mkdir "in formato .$FORMATO_CONVERSIONE"
167 fi
168
169 FILE="$1"
170 FORMATO=`echo "$FILE" | awk -F "." '{ print $NF }' | tr "[:upper:]" "[:lower:]"`
171
172 formati_supportati
173
174 if [ $SUPPORTO == yes -a ! -d "$FILE" ]; then
175 WAVFILE=$(echo "$FILE" | sed -e s/""$FORMATOFILE""$/wav/)
176
177 if [ "$FORMATO" != $FORMATO_CONVERSIONE ]; then
178
179 FILE_CONVERTITO=$(echo "$FILE" | sed -e s/""$FORMATOFILE""$/"$FORMATO_CONVERSIONE"/)
180
181 if [ "$FORMATO" == mp2 -a ! -e "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" ]; then
182 mp22mp3
183 elif ! [ -e "in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" ]; then
184
185 [ "$FORMATO" != wav ] && "$FORMATO"2wav
186
187 $SECONDA_CONVERSIONE
188 else
189 echo ""Il file in formato .$FORMATO_CONVERSIONE/$FILE_CONVERTITO" e' gia' esistente." >> /tmp/audioconvert.log
190 fi
191 rm -f "$WAVFILE" 2>> /tmp/audioconvert.log
192 fi
193 else
194
195 echo "ERRORE!\nIl formato di '$FILE' non è supportato dallo script. :-(" >> /tmp/audioconvert.log
196 fi
197
198 shift
199 done
200
201 if [ -s /tmp/audioconvert.log ]; then
202 echo "Lo script e' terminato!" >> /tmp/audioconvert.log
203 cat /tmp/audioconvert.log | zenity --title="Errore - Audioconvert" --text-info
204 rm -f /tmp/audioconvert.log
205 else
206 zenity --title=Audioconvert --info --text="Lo script e' terminato!"
207 fi
208
209 exit 0
Allegati
Per riferirsi agli allegati di una pagina, usare attachment:NOME_FILE, come mostrato qui sotto nell'elenco degli allegati. NON usare l'URL che si trova in corrispondenza del collegamento [scarica], potrebbe cambiare in futuro.Non è consentito inserire allegati su questa pagina.