Här finns tips och guider för Ubuntu.

onsdag 31 januari 2007

Att köra Internet Explorer under Ubuntu

Som det ser ut idag så fungerar inte alla websidor med Firefox. Ibland är det så illa att sidan bara fungerar i Internet Explorer. Om du är beroende av en sådan sida kan det ses som en anledning att ha kvar Windowspartitionen på datorn. Här kommer jag visa hur man installerar IE i Ubuntu. Det är väldigt enkelt. Börja med att öppna upp ett terminalfönster och skriv in

sudo gedit /etc/apt/sources.list

Se till att alla # är borttagna som står framför en webaddress. Om detta inte är gjort så ordna det.
Lägg aven till denna rad till listan.

deb http://wine.budgetdedicated.com/apt edgy main

Spara och stäng ner gedit. Kör följande kommando.

sudo apt-get update && sudo apt-get install wine cabextract


När detta är klart ladda ner senaste programkoden.

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz


Packa upp.

tar zxvf ies4linux-latest.tar.gz

Vi går in i den uppackade foldern.

cd ies4linux-*


Kör sedan igång installeraren.

./ies4linux


Du får nu svara på lite frågor. När installationen är klar så skapar vi en icon för att starta Internet explorer. Högerklicka på iconen nedan och välj "Visa Bild", dra sedan iconen till ditt skrivbord så att den sparas där.

Efter detta är gjort så flyttar vi ikonen till /usr/share/pixmaps

Öppna en terminal och skriv

cd Desktop

Sedan

sudo mv ie-icon-l.png /usr/share/pixmaps/

När detta är gjort så högerklicka på startmenyn (Programmenyn) och välj "Redigera Menyer" I den vänstra kolumnen klicka på Internet. klicka därefter på ny post.
I rutan namn skriver du in Internet Explorer, i fältet kommando skriver du in /home/dittanvändarnamn/\.bin/ie\6
Klicka på ikonen och leta upp /usr/share/pixmaps/ie-icon-l.png och tryck ok.
Nu ska Internet Explorer finnas i Program/Internet och fungera.
Här har ni IE6 under Ubuntu.



Andra bloggar om: , ,

Lyssna på radio i terminalen

Har skrivit ett script som när det körs fungerar som på videon här.

Om du inte kan se filmen ovan så följ min flash 9 guide.

För att fixa att lyssna på radio i terminalen så gör följande. Högerklicka på skrivbordet.
Välj Skapa Dokument - Ny fil.
Döp filen till .radio (punkten gör att filen blir gömd)

Öppna filen genom att dubbelklicka på den och klistra in nedanstående text.


#!/bin/bash
echo ""
echo""
echo " 1 -> NRJ"
echo " 2 -> Studio 107.5"
echo " 3 -> 107.1 Vinyl"
echo " 4 -> The Voice"
echo " 5 -> Mix Megapol Radio City Göteborg"
echo " 6 -> Flashback Radio"
echo " 7 -> Mix MegaPol"
echo " 8 -> Rix FM"
echo " 9 -> P1"
echo " 10 -> P2 Musik"
echo " 11 -> P3"
echo " 12 -> P4 Göteborg"
echo ""
echo "Välj en station"
read radio
if [ "$radio" = "1" ]; then
mplayer http://83.241.238.21/nrj/?MSWMExt=.asf
elif [ "$radio" = "2" ]; then
amarok mms://live.alleredge.com/AE_StudioSE_Mid
elif [ "$radio" = "3" ]; then
mplayer mms://live.alleredge.com/AE_Vinyl_Mid
elif [ "$radio" = "4" ]; then
mplayer mms://live.alleredge.com/AE_TheVoiceSE_Mid
elif [ "$radio" = "5" ]; then
mplayer mms://live.alleredge.com/AE_MixGbg_Mid
elif [ "$radio" = "6" ]; then
mplayer http://theflowmachine.dyndns.org:8000/listen.pls
elif [ "$radio" = "7" ]; then
mplayer mms://live.alleredge.com/AE_MixMegapol_Mid
elif [ "$radio" = "8" ]; then
mplayer http://83.241.238.21/rixfm/?MSWMExt=.asf
elif [ "$radio" = "9" ]; then
mplayer rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p1.rm
elif [ "$radio" = "10" ]; then
mplayer rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p2musik.rm
elif [ "$radio" = "11" ]; then
mplayer rtsp://sr-rm.qbrick.com/broadcast/cluster/encoder/02038_p3.rm
elif [ "$radio" = "12" ]; then
mplayer http://194.14.241.150/02038_sr-goteborg-high?MSWMExt=.asf
exit
fi


Spara filen och flytta den till din hemmamap. Se till att
du har kör-rättigheter på filen.
För att starta den så öppna ett terminalfönster och skriv in

./.radio

och det ska fungera. Som det syntes i videon så skrev jag
in radio och det fungerade. Det beror på att jag skapat ett
alias för kommandot /home/mittanvändarnamn/.radio
Det innebär att jag ersatt kommandot /home/mittanvändarnamn/.radio med
kommandot radio.
För att ställa in så att du kan skriva alias så gör följande.

sudo gedit .bashrc

Leta upp stycket som visar följande:

#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi

Ändra detta till följande:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

När detta är gjort spara dokumentet och stäng fönstret.
Skriv nu in följande i kommandofönstret

gedit .bash_aliases

Ett tomt dokument kommer att öppnas och här ska vi nu
skriva in aliaset vi vill använda. Skriv in nedanstående men byt ut
dittanvändarnamn mot ditt namn på datorn.

alias radio='/home/dittanvändarnamn/.radio'

Spara filen och stäng ner terminalfönstret. Starta upp
terminalfönstret igen och skriv in radio.

Andra bloggar om: , , ,

Rippa till mp3-format med Sound Juicer

Att rippa en CD-skiva till mp3 format behöver inte vara speciellt svårt bara man vet vad som behövs ändras. Jag använder Sound Juicer för att rippa CD-skivor till mp3 men det krävs lite mixtrande med Sound juicer för att få det att fungera. Så jag tänkte visa hur man gör för att fixa mp3 rip i sound Juicer. Först kör vi i en terminal

sudo apt-get install lame

Därefter startar vi upp Sound Juicer. Välj Redigera och därefter inställningar. Klicka där på redigera profiler.
Välj ny och döp den till mp3. Markera sedan mp3 och tryck Redigera. I fältet GStreamer-rörledning skriver du in

audio/x-raw-int,rate=44100,channels=2 ! lame name=enc

Skriv in mp3 i fältet filändelse och bocka i Aktiv.
Det ska då se ut så här.



Efter detta är du klar. Stoppar du in en musik CD nu så kommer rippningen default vara till mp3 i Sound Juicer.

Andra bloggar om: , ,

tisdag 30 januari 2007

Att använda Swiftfox istället för Firefox.

Swiftfox är Firefox kompilerad för en specifik processor. Jag har en pentium4 processor och har installerat Firefox (Swiftfox) optimerad för min processor. Swiftfox finns till följande processorer:

swiftfox-athlon
swiftfox-athlon-xp
swiftfox-athlon64
swiftfox-athlon64-32bit (AMD64 users on a 32bit OS)
swiftfox-k6-2
swiftfox-pentium-m
swiftfox-pentium2
swiftfox-pentium3
swiftfox-pentium3m
swiftfox-pentium4
swiftfox-prescott

För att installera Swiftfox så gör så här. Lägg till raden
deb http://getswiftfox.com/builds/debian unstable non-free
till din repositorylista som du når genom kommandot:

sudo gedit /etc/apt/sources.list

Spara och avsluta gedit. Skriv därefter in följande i ett terminalfönster.

sudo apt-get update

Slutligen installerar du det paket som motsvarar din processor. Om du har en Pentium4 processor skriver du in.

sudo apt-get install swiftfox-pentium4

Efter allt är klart så skapar vi en genväg till Swiftfox och konfigurerar Swiftfox för bredband.
Swiftbox ligger under Program/Internet. Dra iconen till t.ex. den övre panelen så att du snabbt har tillgång till den.
Ta bort Firefox-iconen från panelen eftersom du inte kommer använda den mer.
Starta upp swiftfox.
Skriv in i addressefältet:

about:config [Tryck enter]

I filterfältet skriver du in network.http.pipelining
Kontrollera att den står på ”true” om inte dubbelklicka på raden och den växlar till ”true”
Skriv därefter in network.http.pipelining.maxrequest och sätt värdet till 8.
Skriv därefter in network.http.proxy.pipelining och kontollera att den står på ”true”.
Skriv sedan in network.dns.disableIPv6 och kontrollera att den står på true.
Därefter skriver du in plugin.expose_full_path och kontrollerar att den står på ”true”.
Högerklicka därefter och välj new-integer och skriv in nglayout.initialpaint.delay.
Klicka ok. Skriv därefter in värdet 0 och tryck ok.
Välj new-integer igen och skriv in content.notify.backoffcount och sätt värdet till 5.
Välj new-integer åter igen och skriv in ui.submenuDelay och tilldela värdet 0.
För den som vill ha Swiftfox på Svenska gör följande.
Skriv in i filterfältet general.useragent.locale
Dubbelklicka på fältet och skriv in: sv-SE
Klicka sedan här.
Tillåt popupfönster om Swiftfox protesterar. Efter installationen starta om Swiftfox och den är på Svenska.
Länken ovan gäller för Swiftfox 2.0. (Den senaste 7/12/2006)
Jag använder en del tillägg till Swiftfox och kommer här att länka till de jag tycker är bra.
För att få bort reklam från websidorna använder jag Adblock plus tillsammans med Adblock filterset G.updater. För att besöka FTP-servrar använder jag FireFtp Jag använder Cooliris Previews för att se vad som döljer sig bakom länkarna utan att behöva klicka på länkarna. För att hantera pdf filer använder jag PDF-Download.
Gmail Notifier för att få besked när jag får epost.
CustomizeGoogle för att få sökförslag m.m via google. Linkalert använder jag för att få information om vad som döljer sig i en länk (Pdf, tex, .exe o.s.v.)
Svensk rättstavningsordlista så att Swiftfox inbyggda rättstavningsprogram fungerar.
För att få snabb definition av svåra engelska ord använder jag Dictionary TooltipS.


Mer finns att läsa om Swiftfox på deras hemsida.
www.getswiftfox.com

Andra bloggar om: , , , ,

Konvertera ljudfiler i Ubuntu 6.10

Att konvertera ljudfiler mellan olika format är enkelt att ordna i Ubuntu. Det finns olika metoder för att ordna detta. Jag kommer här visa en metod som bygger på att man använder scripts. Resultatet är väldigt smidigt, bara att högerklicka på en eller flera ljudfiler och välja från högerklicksmenyn: scripts och därefter så väljer du konvertera ljud. Ett popup fönster dyker upp och frågar vilket format du vill konvertera till. Observera att det krävs att du kör Ubuntu och inte Kubuntu elelr Xubuntu för att detta ska fungera.



Om du inte kan se filmen ovan så följ min flash 9 guide.

För att ordna denna funktion så skriv in följande i ett terminalfönster.

sudo apt-get install bash zenity original-awk lame vorbis-tools flac faac faad


När detta är klart så kopiera in nedanstående text till ett tomt dokument och döp filen till Konvertera Ljud. högerklicka sedan på filen, välj egenskaper, välj fliken rättigheter och klicka i "Tillåt körning av filen som program". Slutligen flytta filen till /.gnome2/nautilus-scripts/ foldern i din hemmakatalog. (.gnome2 är en dold katalog, tryck ctrl+h för att se dolda filer när du befinner dig i din hemkatalog).


#!/bin/bash
#
#
# audio convert 0.3.1
#
# a program to convert wav, ogg, mp3, mpc, flac, ape, aac or wma files into
# wav, ogg, mp3, mpc, flac, ape or aac files. with an easy to use interface
# it's actually possible to fill in the tags for a few formats, pass them on
# from format to format, and choose the quality of compression.
#
# copyright (C) 2005 linfasoft
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA
#
# dependencies
# bash
# zenity
# awk
# file >= 4.16
# mplayer -- if you want to decode wma files
# lame
# vorbis tools
# id3tag
# musepack-tools
# flac
# mac
# faac,faad
#
# based on
# wom_audioconverter, by yekcim , http://yeknan.free.fr.
#

set -x

version="0.3.1"
#################################################
# TRADUCTIONS
###### Default = English #####
title="audio convert "$version""
pleasesel="please select at least one file."
noselec=""$title" converts audio files. "$pleasesel""
choix="extension of output file:"
warning="warning"
proceed="already exists. overwrite?"
recur=""$title" can't convert a directory. "$pleasesel""
conversion="converting file:"
ask_artist="enter the artist name:"
ask_album="enter the album name:"
ask_song="enter the song name:"
ask_track="enter the track number:"
ask_quality="select the desired quality:"
ask_compression="select the desired compression level:"
confirmation="do you want to convert"
decoding="decoding file:"
ask_fields="manually enter file metatags"
ask_confirmation_question="get prompted a confirmation question before convertin' each file"
no_codec="you don't have the right codec to decode the selected file. missin' codec:"
not_supported="format not supported"
completed="conversion completed. goodbye!"
ask_to_pass="pass the metatags on to the new files"
options="choose from the followin' options:"
options_conflict="options one and two conflict. please unselect one of them"
case $LANG in
######## Français ########
fr* )
title="audio convert "$version""
pleasesel="Merci de selectionner au moins un fichier."
noselec=""$title" permet de convertir des fichiers audio. "$pleasesel""
choix="Format du fichier de sortie :"
warning="Attention"
proceed="existe deja. Ecraser ?"
recur=""$title" ne permet pas la conversion de dossiers. "$pleasesel""
conversion="Conversion du fichier :"
ask_artist="Nom de l'artiste:"
ask_album="Nom de l'album:"
ask_song="Nom de la chanson:"
ask_track="Numero de la piste:"
ask_quality="Choisir la qualite voulue:"
confirmation="voulez-vous convertir"
decoding="decodage du fichier:"
ask_fields="voulez-vous completer les metatags du fichier?"
ask_confirmation_question="voulez-vous confirmer avant de convertir chaque
fichier?";;
######## italiano #########
it* )
title="audio convert "$version""
pleasesel="per favore, scegli almeno un file."
noselec=""$title" converte i file audio. "$pleasesel""
choix="formato di conversione:"
warning="attenzione"
proceed="esiste! sovrascrivo?"
recur=""$title" non può convertire directory. "$pleasesel""
conversion="sto convertendo il file:"
ask_artist="immetti il nome dell'artista:"
ask_album="immetti il nome dell'album:"
ask_song="immetti il nome della canzone:"
ask_track="immetti il numero della traccia:"
ask_quality="scegli la qualità del file:"
ask_compression="scegli il livello di compressione:"
confirmation="vuoi convertire"
decoding="sto decodificando il file:"
ask_fields="completare manualmente le metatags"
ask_confirmation_question="chiedi una conferma per ogni file da convertire"
no_codec="non hai il codec corretto per decodificare il file selezionato. codec mancante:"
not_supported="formato non supportato"
completed="conversione completata. arrivederci!"
ask_to_pass="copiare le metatags nel nuovo file"
options="scegli fra le seguenti opzioni:"
options_conflict="le opzioni uno e due sono in conflitto. per favore deselezionane una";;
###### Brazilian Portuguese ######
pt-br* )
title="audio convert "$version""
pleasesel="por favor, selecione pelo menos um arquivo."
noselec=""$title" converter arquivos de audio. "$pleasesel""
choix="extensão do arquivo de saída:"
warning="atenção"
proceed="já existe! sobrescrever?"
recur=""$title" não e possível converter pasta. "$pleasesel""
conversion="convertendo arquivo:"
ask_artist="digite o nome do artista:"
ask_album="digite o nome do album:"
ask_song="digite o nome da música:"
ask_track="digite o número da faixa:"
ask_quality="selecione a qualidade desejada:"
confirmation="você quer converter"
decoding="decodificando arquivo:";;
######## dutch ########
nl* )
title="audio convert "$version""
pleasesel="selecteer minimaal 1 bestand."
noselec=""$title" converteer audio bestanden. "$pleasesel""
choix="extensie van uitvoerbestanden:"
warning="waarschuwing"
proceed="bestaat al. overschrijven?"
recur=""$title" kan geen directory converteren. "$pleasesel""
conversion="converteren van bestand:"
ask_artist="voer naam van artiest in:"
ask_album="voer naam van album in:"
ask_song="voer naam van nummer in:"
ask_track="voer volgnummer in:"
ask_quality="selecteer de gewenste kwaliteit:"
confirmation="wil je converteren"
decoding="decoderen bestand:"
ask_fields="Wil je metatags aan de bestanden toevoegen?"
ask_confirmation_question="Wil je bevestiging voor het converteren van elk bestand?"
no_codec="Je hebt niet de juiste codec voor het converteren van dit bestand. Missende codec:"
not_supported="Formaat niet ondersteund"
completed="Conversie compleet."
ask_to_pass="Wil je de metatags toevoegen aan de nieuwe bestanden?";;
######## german ########
de* )
title="Audio konvertier Skript "$version""
pleasesel="Bitte wählen Sie mindestens eine Datei."
noselec=""$title" verarbeitet Dateien. "$pleasesel""
choix="Erweiterung der Ausgabedatei:"
warning="Warnung"
proceed="existiert bereits. Überschreiben?"
recur=""$title" kann kein Verzeichnis konvertieren. "$pleasesel""
conversion="Konvertierung der Datei:"
ask_artist="Künstlername:"
ask_album="Albumname:"
ask_song="Songname:"
ask_track="Titelnummer:"
ask_quality="Wählen Sie die gewuenschte Qualitaet:"
confirmation="Wollen Sie jetzt konvertieren?"
decoding="dekodiere Datei:"
ask_compression="gib die gewünschte Komprimierungsstaerke an:"
ask_confirmation_question="willst Du für jede Datei vor der Konvertierung eine Bestätigungsfrage?"
ask_fields="Du willst keine metatags angeben?"
completed="Konvertierung abgeschlossen. Tschüss"
no_codec="Du hast keinen passenden codec um die Datei zu dekodieren"
not_supported="Format wird nicht unterstützt";;
######## Spanish(Español - Castellano) ########
es* )
title="audio convert "$version""
pleasesel="Seleccione al menos un archivo."
noselec=""$title" - Convierte archivos de audio."$pleasesel""
choix="Formato del archivo resultante:"
warning="Atención"
proceed="Ya existe, sobreescribir?"
recur=""$title" No se puede convertir el directorio. "$pleasesel""
conversion="Convirtiendo archivo:"
ask_artist="Nombre del artista:"
ask_album="Nombre del álbum:"
ask_song="Nombre de la canción:"
ask_track="Número de la pista:"
ask_quality="Seleccione la calidad deseada:"
confirmation="Convertir?"
decoding="Decodificando archivo:"
ask_fields="Editar las \"metatags\" del archivo?"
ask_confirmation_question="Desea una pregunta de confirmación antes de convertir cada archivo?"
ask_compression="seleccione el nivel de compresión deseable:"
completed="conversión completo. Adiós!"
no_codec="No tenrs el codec correcto para descodificar el elijido archivo. Falta:"
not_supported="Format no es soportado";;
######## polish ########
pl* )
title="konwersja audio "$version""
pleasesel="wybierz co najmniej jeden plik."
noselec="konwersja pliku "$title". "$pleasesel""
choix="rozszerzenie pliku wynikowego:"
warning="ostrzeżenie"
proceed="już istnieje. zastÄ~EpiÄ~G ?"
recur=""$title" nie można konwertowaÄ~G katalogów. "$pleasesel""
conversion="konwersja pliku:"
ask_artist="podaj nazwÄ~Y wykonawcy:"
ask_album="podaj nazwÄ~Y albumu:"
ask_song="podaj nazwÄ~Y utworu:"
ask_track="podaj numer Å~[cieżki:"
ask_quality="wybierz wymagany poziom jakoÅ~[ci:"
ask_compression="wybierz wymagany poziom kompresji:"
confirmation="chcesz użyÄ~G konwersji"
decoding="dekodowany plik:"
ask_fields="chcesz umieÅ~[ciÄ~G tagi ?"
ask_confirmation_question="chcesz używaÄ~G potwierdzenia przed każdÄ~E konwersjÄ~E ?"
no_codec="nie posiadasz odpowiedniego kodeka dla wykonania wymaganej operacji. missin' codec:"
not_supported="brak obsÅ~Bugi wskazanego formatu"
completed="konwersjÄ~Y zakoÅ~Dczono. Pa, pa!"
ask_to_pass="chcesz eksportowaÄ~G metatagi do innych plików?"
esac

#################################################
# FONCTIONS
get_field_names ()
{
artist_name=`zenity --entry --title="$title" --text="$ask_artist" --entry-text="$artist_name"`
album_name=`zenity --entry --title="$title" --text="$ask_album" --entry-text="$album_name"`
song_name=`zenity --entry --title="$title" --text="$ask_song"`
track_number=`zenity --entry --title="$title" --text="$ask_track"`
}

get_ogg_quality ()
{
zenity --title="$title" --list --radiolist --column="" --column="$ask_quality" -- "-1" FALSE "0" FALSE "1" FALSE "2" FALSE "3" FALSE "4" FALSE "5" FALSE "6" TRUE "7" FALSE "8" FALSE "9" FALSE "10"
}

get_mp3_quality ()
{
zenity --title="$title" --list --radiolist --column="" --column="$ask_quality" FALSE "medium" FALSE "standard" TRUE "extreme" FALSE "insane"
}

get_mpc_quality ()
{
zenity --title="$title" --list --radiolist --column="" --column="$ask_quality" FALSE "thumb" FALSE "radio" TRUE "standard" FALSE "xtreme"
}

get_flac_quality ()
{
zenity --title="$title" --list --radiolist --column="" --column="$ask_compression" FALSE "0" FALSE "1" FALSE "2" FALSE "3" FALSE "4" FALSE "5" FALSE "6" FALSE "7" TRUE "8"
}

get_mac_quality ()
{
zenity --title="$title" --list --radiolist --column="" --column="$ask_compression" FALSE "1000" FALSE "2000" TRUE "3000" FALSE "4000" FALSE "5000"
}

get_aac_quality ()
{
zenity --title="$title" --list --radiolist --column="" --column="$ask_compression" FALSE "100" FALSE "200" TRUE "300" FALSE "400" FALSE "500"
}

get_quality ()
{
if [ "$1" == "mp3" ]
then
quality="$(get_mp3_quality)"
fi
if [ "$1" == "ogg" ]
then
quality="$(get_ogg_quality)"
fi
if [ "$1" == "mpc" ]
then
quality="$(get_mpc_quality)"
fi
if [ "$1" == "flac" ]
then
quality="$(get_flac_quality)"
fi
if [ "$1" == "ape" ]
then
quality="$(get_mac_quality)"
fi
if [ "$1" == "aac" ]
then
quality="$(get_aac_quality)"
fi
}

get_metatags ()
{
if (is_mp3 "$1")
then
artist_name=`id3info "$1" | awk '/TPE1/ { print substr($0, match($0, /:/) + 2 ) }'`
album_name=`id3info "$1" | awk '/TALB/ { print substr($0, match($0, /:/) + 2 ) }'`
song_name=`id3info "$1" | awk '/TIT2/ { print substr($0, match($0, /:/) + 2 ) }'`
track_number=`id3info "$1" | awk '/TRCK/ { print substr($0, match($0, /:/) + 2 ) }'`
fi
if (is_ogg "$1")
then
artist_name=`ogginfo "$1" | grep artist | cut -d \= -f 2`
album_name=`ogginfo "$1" | grep album | cut -d \= -f 2`
song_name=`ogginfo "$1" | grep title | cut -d \= -f 2`
track_number=`ogginfo "$1" | grep tracknumber | cut -d \= -f 2`
fi
if (is_flac "$1")
then
artist_name=`metaflac --show-tag=artist "$1" | cut -d \= -f 2`
album_name=`metaflac --show-tag=album "$1" | cut -d \= -f 2`
song_name=`metaflac --show-tag=title "$1" | cut -d \= -f 2`
track_number=`metaflac --show-tag=tracknumber "$1" | cut -d \= -f 2`
fi
if (is_aac "$1")
then
artist_name=`faad -i "$1" 2>&1 | awk '/artist/ { print substr($0, match($0, /:/) + 2 ) }'`
album_name=`faad -i "$1" 2>&1 | awk '/album/ { print substr($0, match($0, /:/) + 2 ) }'`
song_name=`faad -i "$1" 2>&1 | awk '/title/ { print substr($0, match($0, /:/) + 2 ) }'`
track_number=`faad -i "$1" 2>&1 | awk '/track/ { print substr($0, match($0, /:/) + 2 ) }'`
fi
}

mp3_parse_fields ()
{
if [ "$artist_name" ]
then
mp3_fields=(-a"$artist_name")
fi
if [ "$album_name" ]
then
mp3_fields=("${mp3_fields[@]}" -A"$album_name")
fi
if [ "$song_name" ]
then
mp3_fields=("${mp3_fields[@]}" -s"$song_name")
fi
if [ "$track_number" ]
then
mp3_fields=("${mp3_fields[@]}" -t"$track_number")
fi
}

ogg_parse_fields ()
{
if [ "$artist_name" ]
then
ogg_fields=(-a "$artist_name")
fi
if [ "$album_name" ]
then
ogg_fields=("${ogg_fields[@]}" -l "$album_name")
fi
if [ "$song_name" ]
then
ogg_fields=("${ogg_fields[@]}" -t "$song_name")
fi
if [ "$track_number" ]
then
ogg_fields=("${ogg_fields[@]}" -N "$track_number")
fi
}

flac_set_tags ()
{
if [ $pass_metatags -eq 0 ] || [ $fields -eq 0 ]
then
if [ "$artist_name" ]
then
metaflac --set-tag=ARTIST="$artist_name" "$1"
fi
if [ "$album_name" ]
then
metaflac --set-tag=ALBUM="$album_name" "$1"
fi
if [ "$song_name" ]
then
metaflac --set-tag=TITLE="$song_name" "$1"
fi
if [ "$track_number" ]
then
metaflac --set-tag=TRACKNUMBER="$track_number" "$1"
fi
fi
}

aac_parse_fields ()
{
if [ "$artist_name" ]
then
aac_fields=(--artist "$artist_name")
fi
if [ "$album_name" ]
then
aac_fields=("${aac_fields[@]}" --album "$album_name")
fi
if [ "$song_name" ]
then
aac_fields=("${aac_fields[@]}" --title "$song_name")
fi
if [ "$track_number" ]
then
aac_fields=("${aac_fields[@]}" --track "$track_number")
fi
}

is_mp3 ()
{
file -b "$1" | grep 'MP3' || echo $1 | grep -i '\.mp3$'
}

is_ogg()
{
file -b "$1" | grep 'Vorbis' || echo $1 | grep -i '\.ogg$'
}

is_mpc()
{
file -b "$1" | grep 'Musepack' || echo $1 | grep -i '\.mpc$'
}

is_flac()
{
file -b "$1" | grep 'FLAC' || echo $1 | grep -i '\.flac$'
}

is_mac()
{
file -b "$1" | grep 'data' && echo $1 | grep -i '\.ape$'
}

is_aac()
{
file -b "$1" | grep 'AAC' || echo $1 | grep -i '\.aac$'
}

is_wav()
{
file -b "$1" | grep 'WAVE' || echo $1 | grep -i '\.wav$'
}

is_wma()
{
file -b "$1" | grep 'Microsoft' || echo $1 | grep -i '\.wma$'
}

mp3_encode ()
{
lame -m auto --preset $quality "$2" "$3" 2>&1 | awk -vRS='\r' '(NR>3){gsub(/[()%|]/," ");print $2; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
}

ogg_encode ()
{
if [ $fields -eq 0 ] || [ $pass_metatags -eq 0 ]
then
ogg_parse_fields
oggenc "$2" "${ogg_fields[@]}" -q $quality -o "$3" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
else
oggenc "$2" -q $quality -o "$3" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
fi
}

mpc_encode ()
{
mppenc --$quality "$2" "$3" 2>&1 | awk -vRS='\r' '!/^$/{if (NR>5) print $1; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
}

flac_encode ()
{
flac --compression-level-$quality "$2" -o "$3" 2>&1 | awk -vRS='\r' -F':' '!/wrote/{gsub(/ /,"");if(NR>1)print $2; fflush();}' | awk -F'%' '{print $1; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
}

mac_encode ()
{
mac "$2" "$3" -c$quality 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
}

aac_encode ()
{
if [ $fields -eq 0 ] || [ $pass_metatags -eq 0 ]
then
aac_parse_fields
faac -w "${aac_fields[@]}" -q $quality -o "$3" "$2" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $3; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
else
faac -q $quality -o "$3" "$2" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $3; fflush();}' | zenity --progress --title="$title" --text="$conversion $1" --auto-close
fi
}

mp3_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
lame --decode "$1" "$temp_file" 2>&1 | awk -vRS='\r' -F'[ /]+' '(NR>2){if((100*$2/$3)<=100)print 100*$2/$3; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

ogg_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
oggdec "$1" -o "$temp_file" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

mpc_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
mppdec "$1" "$temp_file" 2>&1 | awk -vRS='\r' -F'[ (]+' '!/s/{gsub(/(%)/," ");if(NR>5)print $5; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

flac_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
flac -d "$1" -o "$temp_file" 2>&1 | awk -vRS='\r' -F':' '!/done/{gsub(/ /,"");gsub(/% complete/,"");if(NR>1)print $2; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

mac_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
mac "$1" "$temp_file" -d 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $2; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

aac_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
faad -o "$temp_file" "$1" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print $1; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

wma_decode ()
{
temp_file=`echo "$1" | sed 's/\.\w*$/'.wav'/'`
mplayer -ao pcm:file="$temp_file" "$1" 2>&1 | awk -vRS='\r' '(NR>1){gsub(/%/," ");print 100-$5; fflush();}' | zenity --progress --title="$title" --text="$2 $1" --auto-close
}

ask_for_fields ()
{
#zenity --question --text="$ask_fields"
#fields=$?
questions=("${questions[@]}" FALSE "$ask_fields")
}

ask_for_confirmation ()
{
#zenity --question --text="$ask_confirmation_question"
#confirmation_question=$?
questions=("${questions[@]}" FALSE "$ask_confirmation_question")
}

ask_to_pass_metatags ()
{
#zenity --question --text="$ask_to_pass"
#pass_metatags=$?
questions=(FALSE "$ask_to_pass")
}

question_list ()
{
if [ "$formatout" == "mp3" ] || [ "$formatout" == "ogg" ] || [ "$formatout" == "flac" ] || \
[ "$formatout" == "aac" ]
then
#pass_metatags=1

if (is_mp3 "$1") || (is_ogg "$1") || (is_flac "$1") || (is_aac "$1")
then
ask_to_pass_metatags # ask if user wants metatags to be passed on
fi

ask_for_fields # ask if user wants to edit metatags
fi
if [ "$2" -gt 1 ]
then
ask_for_confirmation # ask if user wants a confirmation question for each file
#else
# confirmation_question=1
fi
}

ask_questions ()
{
repeat=1

while [ $repeat -eq 1 ]
do
answers=`zenity --list --checklist --column "" --column "$options" "${questions[@]}"`

if (echo "$answers" | grep -i "$ask_to_pass") && \
(echo "$answers" | grep -i "$ask_fields")
then
zenity --error --title="$warning" --text="$options_conflict"
repeat=1
continue
fi

repeat=0
done
}

parse_questions ()
{
if (echo "$answers" | grep -i "$ask_to_pass")
then
pass_metatags=0
else
pass_metatags=1
fi

if (echo "$answers" | grep -i "$ask_fields")
then
fields=0
else
fields=1
fi

if (echo "$answers" | grep -i "$ask_confirmation_question")
then
confirmation_question=0
else
confirmation_question=1
fi
}

completed_message ()
{
zenity --info --title "$title" --text="$completed"
}

caf () # fonction "convert audio file"
{
### Format in_file = mp3 ###
if (is_mp3 "$1")
then
if [ "$3" = "ogg" ]
then # mp3-2-ogg
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
mp3_decode "$1" "$decoding"
ogg_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "mpc" ]
then # mp3-2-mpc
mp3_decode "$1" "$decoding"
mpc_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "flac" ]
then # mp3-2-flac
mp3_decode "$1" "$decoding"
flac_encode "$1" "$temp_file" "$2"
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ape" ]
then # mp3-2-ape
mp3_decode "$1" "$decoding"
mac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "aac" ]
then # mp3-2-aac
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
mp3_decode "$1" "$decoding"
aac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "wav" ]
then # mp3-2-wav
mp3_decode "$1" "$conversion"
fi
break
fi
### Format in_file = ogg ###
if (is_ogg "$1")
then
if [ "$3" = "mp3" ]
then # ogg-2-mp3
ogg_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
if [ $pass_metatags -eq 0 ] || [ $fields -eq 0 ]
then
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
fi
rm -f "$temp_file"
break
fi
if [ "$3" = "mpc" ]
then # ogg-2-mpc
ogg_decode "$1" "$decoding"
mpc_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "flac" ]
then # ogg-2-flac
ogg_decode "$1" "$decoding"
flac_encode "$1" "$temp_file" "$2"
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ape" ]
then # ogg-2-ape
ogg_decode "$1" "$decoding"
mac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "aac" ]
then # ogg-2-aac
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
ogg_decode "$1" "$decoding"
aac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "wav" ]
then # ogg-2-wav
ogg_decode "$1" "$conversion"
fi
break
fi
### Format in_file = mpc ###
if (is_mpc "$1")
then
if [ "$3" = "mp3" ]
then # mpc-2-mp3
mpc_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
break
fi
mpc_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ogg" ]
then # mpc-2-ogg
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
mpc_decode "$1" "$decoding"
ogg_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "flac" ]
then # mpc-2-flac
mpc_decode "$1" "$decoding"
flac_encode "$1" "$temp_file" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ape" ]
then # mpc-2-ape
mpc_decode "$1" "$decoding"
mac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "aac" ]
then # mpc-2-aac
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
mpc_decode "$1" "$decoding"
aac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "wav" ]
then # mpc-2-wav
mpc_decode "$1" "$conversion"
fi
break
fi
### Format in_file = flac ###
if (is_flac "$1")
then
if [ "$3" = "mp3" ]
then # flac-2-mp3
flac_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
if [ $pass_metatags -eq 0 ] || [ $fields -eq 0 ]
then
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
fi
rm -f "$temp_file"
break
fi
if [ "$3" = "ogg" ]
then # flac-2-ogg
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_decode "$1" "$decoding"
ogg_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "mpc" ]
then # flac-2-mpc
flac_decode "$1" "$decoding"
mpc_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ape" ]
then # flac-2-ape
flac_decode "$1" "$decoding"
mac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "aac" ]
then # flac-2-aac
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_decode "$1" "$decoding"
aac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "wav" ]
then # flac-2-wav
flac_decode "$1" "$conversion"
fi
break
fi
### Format in_file = ape ###
if (is_mac "$1")
then
if [ "$3" = "mp3" ]
then # ape-2-mp3
mac_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
break
fi
mac_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ogg" ]
then # ape-2-ogg
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
mac_decode "$1" "$decoding"
ogg_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "mpc" ]
then # ape-2-mpc
mac_decode "$1" "$decoding"
mpc_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "flac" ]
then #ape-2-flac
mac_decode "$1" "$decoding"
flac_encode "$1" "$temp_file" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "aac" ]
then # ape-2-aac
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
mac_decode "$1" "$decoding"
aac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "wav" ]
then #ape-2-wav
mac_decode "$1" "$conversion"
fi
break
fi
### Format in_file = aac ###
if (is_aac "$1")
then
if [ "$3" = "mp3" ]
then # aac-2-mp3
aac_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
if [ $pass_metatags -eq 0 ] || [ $fields -eq 0 ]
then
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
fi
rm -f "$temp_file"
break
fi
if [ "$3" = "ogg" ]
then # aac-2-ogg
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
aac_decode "$1" "$decoding"
ogg_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "mpc" ]
then # aac-2-mpc
aac_decode "$1" "$decoding"
mpc_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "flac" ]
then # aac-2-flac
aac_decode "$1" "$decoding"
flac_encode "$1" "$temp_file" "$2"
if [ $pass_metatags -eq 0 ]
then
get_metatags "$1"
elif [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ape" ]
then # aac-2-ape
aac_decode "$1" "$decoding"
mac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "wav" ]
then # aac-2-wav
aac_decode "$1" "$conversion"
fi
break
fi
### Format in_file = wav ###
if (is_wav "$1")
then
if [ "$3" = "mp3" ]
then # wav-2-mp3
mp3_encode "$1" "$1" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
break
fi
break
fi
if [ "$3" = "ogg" ]
then # wav-2-ogg
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
ogg_encode "$1" "$1" "$2"
break
fi
if [ "$3" = "mpc" ]
then # wav-2-mpc
mpc_encode "$1" "$1" "$2"
fi
if [ "$3" = "flac" ]
then # wav-2-flac
flac_encode "$1" "$1" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
fi
if [ "$3" = "aac" ]
then # wav-2-aac
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
aac_encode "$1" "$1" "$2"
break
fi
if [ "$3" = "ape" ]
then # wav-2-ape
mac_encode "$1" "$1" "$2"
fi
break
fi
### Format in_file = wma ###
if (is_wma "$1")
then
if [ "$3" = "mp3" ]
then # wma-2-mp3
wma_decode "$1" "$decoding"
mp3_encode "$1" "$temp_file" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
mp3_parse_fields
id3tag "${mp3_fields[@]}" "$2"
break
fi
rm -f "$temp_file"
break
fi

if [ "$3" = "wav" ]
then # wma-2-wav
wma_decode "$1" "$conversion"
fi

if [ "$3" = "ogg" ]
then # wma-2-ogg
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
wma_decode "$1" "$decoding"
ogg_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "mpc" ]
then # wma-2-mpc
wma_decode "$1" "$decoding"
mpc_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "flac" ]
then # wma-2-flac
wma_decode "$1" "$decoding"
flac_encode "$1" "$temp_file" "$2"
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
flac_set_tags "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "ape" ]
then # wma-2-ape
wma_decode "$1" "$decoding"
mac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
if [ "$3" = "aac" ]
then # wma-2-aac
if [ $fields -eq 0 ]
then
get_field_names "$1"
fi
wma_decode "$1" "$decoding"
aac_encode "$1" "$temp_file" "$2"
rm -f "$temp_file"
break
fi
break
fi
}

#################################################
# PROGRAMME
#### Pas de fichiers sélectionné ###
if [ $# -eq 0 ]; then
zenity --error --title="$warning" --text="$noselec"
exit 1
fi
######## make a list of available formats, and check if we can decode the file #######
if !(is_mp3 "$1") && !(is_ogg "$1") && !(is_mpc "$1") && !(is_flac "$1") && !(is_mac "$1") && \
!(is_aac "$1") && !(is_wav "$1") && !(is_wma "$1")
then
zenity --error --title="$warning" --text="$not_supported"
exit 1
fi
depformat=""
if which lame 2>/dev/null
then
if !(is_mp3 "$1") # if we have lame, and the file to convert is not an mp3,
then # add mp3 to the list of formats to convert to
depformat="mp3"
fi
else # if we don't have lame, check if the file to convert is an mp3
if (is_mp3 "$1")
then
zenity --error --title="$warning" --text="$no_codec lame"
exit 1
fi
fi
if which oggenc 2>/dev/null
then
if !(is_ogg "$1") # if we have vorbis-tools, and the file to convert is not an
then # ogg, add ogg to the list of formats to convert to
depformat="$depformat ogg"
fi
else # if we don't have vorbis-tools, check if the file to convert is an ogg
if (is_ogg "$1")
then
zenity --error --title="$warning" --text="$no_codec vorbis-tools"
exit 1
fi
fi
if which mppenc 2>/dev/null
then
if !(is_mpc "$1") # if we have musepack-tools, and the file to convert is not
then # an mpc, add mpc to the list of formats to convert to
depformat="$depformat mpc"
fi
fi
if !(which mppdec 2>/dev/null)
then # if we don't have musepack-tools, check if the file to convert is an mpc
if (is_mpc "$1")
then
zenity --error --title="$warning" --text="$no_codec musepack-tools"
exit 1
fi
fi
if which flac 2>/dev/null
then
if !(is_flac "$1") # if we have flac, and the file to convert is not a
then # flac, add flac to the list of formats to convert to
depformat="$depformat flac"
fi
else # if we don't have flac, check if the file to convert is a flac
if (is_flac "$1")
then
zenity --error --title="$warning" --text="$no_codec flac"
exit 1
fi
fi
if which mac 2>/dev/null
then
if !(is_mac "$1") # if we have mac, and the file to convert is not an ape,
then # add ape to the list of formats to convert to
depformat="$depformat ape"
fi
else # if we don't have mac, check if the file to convert is an ape
if (is_mac "$1")
then
zenity --error --title="$warning" --text="$no_codec mac"
exit 1
fi
fi
if which faac 2>/dev/null
then
if !(is_aac "$1") # if we have faac, and the file to convert to is not an aac,
then # add aac to the list of formats to convert to
depformat="$depformat aac"
fi
fi
if !(which faad 2>/dev/null) # if we don't have faad, check if the file to convert to is an aac
then
if (is_aac "$1")
then
zenity --error --title="$warning" --text="$no_codec faad"
exit 1
fi
fi
if !(which mplayer 2>/dev/null) # if we don't have mplayer, check if the file to convert is a wma
then
if (is_wma "$1")
then
zenity --error --title="$warning" --text="$no_codec mplayer"
exit 1
fi
fi
if !(is_wav "$1") # if the file to convert is not a wav, add wav to the list of
then # formats to convert to
depformat="$depformat wav"
fi
######## Fenêtre principale ########
while [ ! "$formatout" ] # Réafficher la fenêtre tant que l'utilisateur n'a pas fait de choix
do


formatout=`zenity --title "$title" --list --column="Format" $depformat --text "$choix"`
###### Choix -> Sortie boucle ######
if [ $? != 0 ]; then
exit 1
fi
[ $? -ne 0 ] && exit 2 # Annulation
done
########## Conversion ############
#let "nbfiles = $#"
#compteur=0;
question_list "$1" "$#" # prepare all of the various conversion questions
ask_questions # ask all of the various conversion questions
parse_questions # parse all of the various conversion questions
if [ "$formatout" != "wav" ]
then
get_quality "$formatout" # ask for quality of compression
fi
file_number=$#
(while [ $# -gt 0 ]; do
for i in $formatout; do
in_file=$1
out_file=`echo "$in_file" | sed 's/\.\w*$/'.$formatout'/'`
#echo "# $conversion $in_file"
i=`echo $i | sed 's/"//g'`
while `true`; do
########## Le fichier de sortie existe déjÃ| , l'écraser ? ##########
if ls "$out_file" | grep -v "^ls"
then
if !(`gdialog --title "$warning" --yesno "$out_file $proceed" 200 100`)
then
break
fi
fi
if [ "$file_number" -gt 1 ] && [ "$confirmation_question" -eq 0 ]
then
zenity --question --text="$confirmation $in_file in $out_file?"
if [ $? -eq 1 ]
then
break
fi
fi
caf "$in_file" "$out_file" "$formatout" # Lancer la conversion
break
shift
done
######### Progression ########
# let "compteur += 1"
# let "progress = compteur*100/nbfiles"
# echo $progress
done
shift
done
)

completed_message








/home/dittanvändarnamn/.gnome2/nautilus-scripts/

När detta är klart så är det bara att köra.



Andra bloggar om: , , , , , , , , , , ,