#!/usr/bin/perl # # Perl Audio Converter # # Copyright (C) 2005-2007 Philip Lyons # # 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 3 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA require 5.006; use strict; use warnings; use Getopt::Long; use Pod::Usage; use File::Find; use File::Copy; use File::Basename; use Ogg::Vorbis::Header; use Cwd 'abs_path'; # Current Name & Version my $name = "Perl Audio Converter"; my $version = "v3.3.2"; my $debug = 0; my $mylang = "EN"; # Notices & Error Messages my %lang = ( # English EN => { format_not_supported => 'Format not supported. Can not convert:', config_not_found => 'Configuration file not found.', could_not_open => 'Could not open', could_not_open_dir => 'Could not open directory', could_not_find => 'Could not find', could_not_play => 'Could not play file. Format not supported', could_not_use_option => 'Option can not be used while transcoding', does_not_exist => 'does not exist', error_loading => 'There was an error loading:', error_multi_files => 'can not be used when encoding multiple files', error_write_perm => 'You do not have write permission to', error_display_tag_info => 'Format not supported. Could not display tag information for:', error_write_tag => 'Format not supported. Could not write tag for:', no_cddb_entry => 'No CDDB entry found', use_no_cddb => 'Please use the --nocddb option for CD-R & CD/RW discs', missing_app => 'Missing Application:', file_destination => 'File Destination', edit_conf_or_dl_from => 'Edit conf file or download it from:', edit_conf_or_check_inst => 'Edit conf file or check your installation.', install_mod_or_edit_conf => 'Install the module or set USETAGS to 0 in conf file.', remove_src_file => 'Removing source file:', start_convert => 'Converting:', end_convert => 'Completed Conversion of:', ripping_track => 'Ripping Track:', tag_info => 'Tag info for', tagging => 'Tagging', please_specify_opt => 'Please specify one of the following options:', not_src_type => 'is not the specified source file type', help_and_options => 'See \'pacpl --help\' or \'pacpl --man\' for a list of options', not_a_valid_encoder => 'is not a valid encoder option.', playing => 'Playing', outfile_exists => "already exists.\n\nUse --overwrite to replace file.", mon_dir => 'Monitoring:', rec_mon_dir => 'Recursively Monitoring:', pacpl_not_found => 'Could not execute pacpl, please place a copy in your \$PATH.', mon_dirs_empty => 'No directories have been set to be monitored, edit /etc/pacpl/pacpl.conf.', missing_file => 'You must specify at least one input file.', unable_to_open_cd => 'Unable to open disc (%dev). Is there an audio CD in the drive?', }, # French FR => { format_not_supported => 'Format non supporté. Conversion impossible:', config_not_found => 'Fichier de configuration introuvable', could_not_open => 'Ouverture impossible', could_not_open_dir => 'Ouverture du répertoire impossible', could_not_find => 'Ne peut pas trouver', could_not_play => 'Lecture du fichier impossible. Format non supporté', could_not_use_option => 'Cette option ne peut pas être utilisée lors d\'une conversion', does_not_exist => 'n\'existe pas', error_loading => 'Erreur lors du chargement de:', error_multi_files => 'ne peut pas être utilisé lors de l\'encodage de plusieurs fichiers', error_write_perm => 'Vous n\'avez pas les droits d\'écriture sur', error_display_tag_info => 'Format non supporté. Affichage des tags impossible pour:', error_write_tag => 'Format non supporté. Écriture des tags impossible pour:', no_cddb_entry => 'Entrée CDDB non trouvée', use_no_cddb => 'Utilisez l\'option --nocddb pour les CD-R & CD/RW', missing_app => 'Application manquante:', file_destination => 'Fichier de destination:', edit_conf_or_dl_from => 'Éditez le fichier de configuration ou téléchargez le à partir de:', edit_conf_or_check_inst => 'Éditez le fichier de configuration ou vérifiez votre installation', install_mod_or_edit_conf => 'Installez le module ou mettez l\'option de tag à 0 dans le fichier de configuration', remove_src_file => 'Suppression du fichier source:', start_convert => 'Conversion:', end_convert => 'Conversion terminée de:', ripping_track => 'Extraction piste:', tag_info => 'Information de tag pour:', tagging => 'Écriture des tags', please_specify_opt => 'Spécifiez une des options suivantes:', not_src_type => 'n\'est pas un fichier du type spécifié', help_and_options => 'See \'pacpl --help\' ou \'pacpl --man\' pour une liste des options', not_a_valid_encoder => '\'n\'est pas une option d\'encodage valide.\'', playing => 'Lecture', outfile_exists => "existe déja.\n\nUtiliser --overwrite pour remplacer le fichier.", mon_dir => 'Monitoring:', rec_mon_dir => 'Monitoring récursif:', pacpl_not_found => 'Exécution de pacpl impossible, placer en une copie dans votre $PATH', mon_dirs_empty => 'Aucun répertoire n\'a été configuré pour être surveillé, éditez le fichier /etc/papcl/pacpl.conf', missing_file => 'Vous devez spACcifier au moins un fichier en entrACe.', unable_to_open_cd => 'Impossible d\'ouvrir le disque (%dev). Y\'a t\'il un CD audio dans le lecteur ?', }, # Portuguese PT => { format_not_supported => 'Formato não suportado. Conversão impossível:', config_not_found => 'Ficheiro de configuração não encontrado', could_not_open => 'Abertura impossível', could_not_open_dir => 'Abertura da pasta imposível', could_not_find => 'Não encontrado', could_not_play => 'Leitura do ficheiro impossível. Formato não suportado', could_not_use_option => 'Esta opção não pode ser utilizada durante uma conversão', does_not_exist => 'Não existe', error_loading => 'Erros durante a abertura de:', error_multi_files => 'não pode ser usado a quando da conversão de multiplos ficheiros', error_write_perm => 'Não tem direitos de escrita sobre', error_display_tag_info => 'Formato não suportado. Não é possível mostrar as tags de:', error_write_tag => 'Formato não suportado. Não é possível escrever as tags em:', no_cddb_entry => 'Entrada CDDB não encontrada', use_no_cddb => 'Utilize a opção --nocddb para os CD-R & CD/RW', missing_app => 'Aplicação não encontrada:', file_destination => 'Ficheiro de destino:', edit_conf_or_dl_from => 'Edite o ficheiro de configuração ou descarregue-o a partir de:', edit_conf_or_check_inst => 'Edite o ficheiro de configuração ou verifique a sua instalação', install_mod_or_edit_conf => 'Instale o módulo ou mude a opção da tag para 0 no ficheiro de configuração', remove_src_file => 'Remoção do ficheiro fonte:', start_convert => 'Conversão:', end_convert => 'Conversão terminada de:', ripping_track => 'Extracção da pista:', tag_info => 'Informação da tag para:', tagging => 'Escrita das tags', please_specify_opt => 'Especifique uma das opções seguintes:', not_src_type => 'não é um ficheiro do tipo especificado', help_and_options => 'Tente \'pacpl --help\' ou \'pacpl --man\' para uma lista das opções', not_a_valid_encoder => 'não é uma opções de codificador válida.', playing => 'A Tocar', outfile_exists => "já existe.\n\nUse --overwrite para substituí-lo.", mon_dir => 'Monitorar', rec_mon_dir => 'Monitorar Recursivamente', pacpl_not_found => 'Nao é possível executar o pacpl, coloque uma cópia na sua $PATH', mon_dirs_empty => 'Nao foram especificadas directorias para monitorar, modifique o ficheiro /etc/pacpl/pacpl.conf', missing_file => 'Tem que indicar pelo menos um ficheiro', unable_to_open_cd => 'Incapaz de aceder ao disco (%dev). Existe algum CD de música na drive?', }, ); # Encoders/Decoders my ($lame, $oggenc, $oggdec, $flac, $mac, $shorten, $faac, $faad, $mplayer, $mppenc, $mppdec, $wavpack, $wvunpack, $ofr, $ofs, $ttaenc, $lpac, $sox, $kexis, $ffmpeg, $la, $bonk); # Audio player variables my ($mp3player, $oggplayer, $flacplayer, $mp4player, $mpcplayer, $wmaplayer, $raplayer, $wavplayer, $bonkplayer); # Playlist my $playlist; # CD reader/ripper my ($cdparanoia, $device, $out_string); # CDDB my ($cddb_active, $track_total, $nocddb, $noinput, @cdtrack, $cdinfo, %cddb_config, %cd); # Nice options my ($nice, $use_nice, $nice_level); # Encoder options my ($bitrate, $freq, $channels, $flevel, $alevel, $slevel, $quality, $xlevel, $plevel, $mode, $optimize, $qlevel, $dratio, $psize); # Raw options my $raw_opts = '-w -s'; my $sox_opts = ''; my $effect = ''; my $lossless = ''; # Kdialog popup notification my ($kdialog, $kuseropts, $knotice, $koutdir, $kdelay); my $kpopup = ''; my $kwarn = ''; # Tag variables my $usetags; my $id3v; my @conf_opts; # Location of configuration file (Check Global, and then Current Directory) my $conf_path = "/etc/pacpl"; my $conf_global = "$conf_path/pacpl.conf"; my $conf_pwd = "$ENV{PWD}/pacpl.conf"; my $conf_file = $conf_global; $conf_file = $conf_pwd if not -e $conf_global; if (not -e $conf_global and not -e $conf_pwd) { pac_msg("$lang{$mylang}{config_not_found}\n\n$!", "notice"); } # Default configuation my %config = ( LAME => '/usr/bin/lame', OGGENC => '/usr/bin/oggenc', OGGDEC => '/usr/bin/oggdec', FLAC => '/usr/bin/flac', MAC => '/usr/bin/mac', SHORTEN => '/usr/bin/shorten', FAAC => '/usr/bin/faac', FAAD => '/usr/bin/faad', MPLAYER => '/usr/bin/mplayer', MPPENC => '/usr/bin/mppenc', MPPDEC => '/usr/bin/mppdec', WAVPACK => '/usr/bin/wavpack', WVUNPACK => '/usr/bin/wvunpack', OFR => '/usr/bin/ofr', OFS => '/usr/bin/ofs', TTAENC => '/usr/bin/tta', LPAC => '/usr/bin/lpac', KEXIS => '/usr/bin/kexis', FFMPEG => '/usr/bin/ffmpeg', LA => '/usr/bin/la', BONK => '/usr/bin/bonk', SOX => '/usr/bin/sox', CDPARANOIA => '/usr/bin/cdparanoia', USE_CDDB => '1', CDDB_HOST => 'freedb.freedb.org', CDDB_PORT => '8880', CDDB_MODE => 'cddb', CDDB_INPUT => '0', MP3PLAYER => '/usr/bin/mpg123', OGGPLAYER => '/usr/bin/ogg123', FLACPLAYER => '/usr/bin/mplayer', MP4PLAYER => '/usr/bin/mplayer', MPCPLAYER => '/usr/bin/mppdec', WMAPLAYER => '/usr/bin/mplayer', WAVPLAYER => '/usr/bin/play', BNKPLAYER => '/usr/bin/bonk', RAPLAYER => '/usr/bin/mplayer', BITRATE => '128', FREQ => '44100', CHANNELS => '2', QUALITY => '3', FLEVEL => '8', ALEVEL => '2000', SLEVEL => '3', XLEVEL => 'radio', PLEVEL => '3', MODE => 'normal', OPTIMIZE => 'fast', QLEVEL => '1.0', DRATIO => '2', PSIZE => '128', NICE => '/usr/bin/nice', USENICE => '1', NICLEVEL => '-15', CDROM => '/dev/cdrom', OUT_STRING => '%art - %tit', KDIALOG => '/opt/kde/bin/kdialog', KPOPUP => '1', KWARN => '1', KUSEROPTS => '1', KOUTDIR => '1', KDELAY => '10', KNOTICE => 'passivepopup', MONITOR => '', RECMON => '', MINTERVAL => '10', MDELSRC => '0', MOVERW => '0', COLTYPE => 'ogg', USETAGS => '1', ID3V => 'ID3v1', LANG => 'EN', ); # Open config file if (-e $conf_file) { open(CONF, "$conf_file") or pac_msg("$lang{$mylang}{could_not_open} '$conf_file': $!","error"); @conf_opts = ; @conf_opts = grep(!/^#/, @conf_opts); close(CONF); # Now read config file options and change default values accordingly foreach my $copts (@conf_opts) { foreach my $var (keys %config) { if ($copts =~ /^$var\s/i) { $copts =~ s/$var|=|\s//g; $config{$var} = $copts if $copts ne ''; print "PACPL-DEBUG: $var = $copts\n" if $debug eq 1; } } } } # Change language if needed $mylang = $config{'LANG'}; ############################################################# # Load help menus and language packs if mylang is not English ############################################################# my @help_mods = ( "help.$mylang", "long_help.$mylang", "rip_help.$mylang", "tag_help.$mylang", "video_help.$mylang"); foreach my $mod (@help_mods) { if ($mylang ne "EN") { eval("require \"$conf_path/$mylang/$mod\""); pac_msg("$lang{EN}{error_loading} $conf_path/$mylang/$mod\n\n$@", "error") if $@; } } # Change global variables according to configuration hash $lame = $config{'LAME'}; $oggenc = $config{'OGGENC'}; $oggdec = $config{'OGGDEC'}; $flac = $config{'FLAC'}; $mac = $config{'MAC'}; $shorten = $config{'SHORTEN'}; $faac = $config{'FAAC'}; $faad = $config{'FAAD'}; $mplayer = $config{'MPLAYER'}; $mppenc = $config{'MPPENC'}; $mppdec = $config{'MPPDEC'}; $wavpack = $config{'WAVPACK'}; $wvunpack = $config{'WVUNPACK'}; $ofr = $config{'OFR'}; $ofs = $config{'OFS'}; $ttaenc = $config{'TTAENC'}; $lpac = $config{'LPAC'}; $kexis = $config{'KEXIS'}; $sox = $config{'SOX'}; $ffmpeg = $config{'FFMPEG'}; $la = $config{'LA'}; $bonk = $config{'BONK'}; $cdparanoia = $config{'CDPARANOIA'}; $device = $config{'CDROM'}; $out_string = $config{'OUT_STRING'}; $mp3player = $config{'MP3PLAYER'}; $oggplayer = $config{'OGGPLAYER'}; $flacplayer = $config{'FLACPLAYER'}; $mp4player = $config{'MP4PLAYER'}; $mpcplayer = $config{'MPCPLAYER'}; $wavplayer = $config{'WAVPLAYER'}; $wmaplayer = $config{'WMAPLAYER'}; $raplayer = $config{'RAPLAYER'}; $bonkplayer = $config{'BNKPLAYER'}; $bitrate = $config{'BITRATE'}; $quality = $config{'QUALITY'}; $flevel = $config{'FLEVEL'}; $alevel = $config{'ALEVEL'}; $slevel = $config{'SLEVEL'}; $xlevel = $config{'XLEVEL'}; $plevel = $config{'PLEVEL'}; $mode = $config{'MODE'}; $optimize = $config{'OPTIMIZE'}; $freq = $config{'FREQ'}; $channels = $config{'CHANNELS'}; $qlevel = $config{'QLEVEL'}; $psize = $config{'PSIZE'}; $dratio = $config{'DRATIO'}; $use_nice = $config{'USENICE'}; $nice_level = $config{'NICLEVEL'}; $kdialog = $config{'KDIALOG'}; $kpopup = $config{'KPOPUP'}; $kwarn = $config{'KWARN'}; $kuseropts = $config{'KUSEROPTS'}; $koutdir = $config{'KOUTDIR'}; $kdelay = $config{'KDELAY'}; $knotice = $config{'KNOTICE'}; $usetags = $config{'USETAGS'}; $id3v = $config{'ID3V'}; ################################################## # Load tagging modules if enabled in config file # ################################################## if ($usetags) { my @tag_mods = qw( MP3::Tag MP4::Info Audio::FLAC::Header Audio::APETags Audio::Musepack Audio::WMA ); foreach my $tagm (@tag_mods) { eval("use $tagm"); pac_msg("$lang{$mylang}{error_loading} $tagm.\n$lang{$mylang}{install_mod_or_edit_conf}\n\n$!","error") if $@; } } # Conversion variables my ($mp3tomp3, $oggtomp3, $flactomp3, $apetomp3, $mp3toogg, $oggtoogg, $flactoogg, $apetoogg, $mp3toflac, $oggtoflac, $flactoflac, $apetoflac, $mp3tofla, $oggtofla, $flactofla, $apetofla, $mp3toape, $oggtoape, $flactoape, $apetoape, $mp3toshn, $oggtoshn, $flactoshn, $apetoshn, $mp3toaac, $oggtoaac, $flactoaac, $apetoaac, $mp3tom4a, $oggtom4a, $flactom4a, $apetom4a, $mp3tomp4, $oggtomp4, $flactomp4, $apetomp4, $mp3tompc, $oggtompc, $flactompc, $apetompc, $mp3tompp, $oggtompp, $flactompp, $apetompp, $mp3towv, $oggtowv, $flactowv, $apetowv, $mp3toofr, $oggtoofr, $flactoofr, $apetoofr, $mp3toofs, $oggtoofs, $flactoofs, $apetoofs, $mp3totta, $oggtotta, $flactotta, $apetotta, $mp3topac, $oggtopac, $flactopac, $apetopac, $mp3tolpac, $oggtolpac, $flactolpac, $apetolpac, $mp3tokxs, $oggtokxs, $flactokxs, $apetokxs, $mp3toaiff, $oggtoaiff, $flactoaiff, $apetoaiff, $mp3toau, $oggtoau, $flactoau, $apetoau, $mp3tosnd, $oggtosnd, $flactosnd, $apetosnd, $mp3toraw, $oggtoraw, $flactoraw, $apetoraw, $mp3tovoc, $oggtovoc, $flactovoc, $apetovoc, $mp3tosmp, $oggtosmp, $flactosmp, $apetosmp, $mp3toavr, $oggtoavr, $flactoavr, $apetoavr, $mp3tocdr, $oggtocdr, $flactocdr, $apetocdr, $mp3tomp2, $oggtomp2, $flactomp2, $apetomp2, $mp3toac3, $oggtoac3, $flactoac3, $apetoac3, $mp3tola, $oggtola, $flactola, $apetola, $mp3tobonk, $oggtobonk, $flactobonk, $apetobonk, $mp3towav, $oggtowav, $flactowav, $apetowav, $mp3tora, $oggtora, $flactora, $apetora, $shntomp3, $aactomp3, $mp4tomp3, $mpctomp3, $shntoogg, $aactoogg, $mp4toogg, $mpctoogg, $shntoflac, $aactoflac, $mp4toflac, $mpctoflac, $shntofla, $aactofla, $mp4tofla, $mpctofla, $shntoape, $aactoape, $mp4toape, $mpctoape, $shntoshn, $aactoshn, $mp4toshn, $mpctoshn, $shntoaac, $aactoaac, $mp4toaac, $mpctoaac, $shntom4a, $aactom4a, $mp4tom4a, $mpctom4a, $shntomp4, $aactomp4, $mp4tomp4, $mpctomp4, $shntompc, $aactompc, $mp4tompc, $mpctompc, $shntompp, $aactompp, $mp4tompp, $mpctompp, $shntowv, $aactowv, $mp4towv, $mpctowv, $shntoofr, $aactoofr, $mp4toofr, $mpctoofr, $shntoofs, $aactoofs, $mp4toofs, $mpctoofs, $shntotta, $aactotta, $mp4totta, $mpctotta, $shntopac, $aactopac, $mp4topac, $mpctopac, $shntolpac, $aactolpac, $mp4tolpac, $mpctolpac, $shntokxs, $aactokxs, $mp4tokxs, $mpctokxs, $shntoaiff, $aactoaiff, $mp4toaiff, $mpctoaiff, $shntoau, $aactoau, $mp4toau, $mpctoau, $shntosnd, $aactosnd, $mp4tosnd, $mpctosnd, $shntoraw, $aactoraw, $mp4toraw, $mpctoraw, $shntovoc, $aactovoc, $mp4tovoc, $mpctovoc, $shntosmp, $aactosmp, $mp4tosmp, $mpctosmp, $shntoavr, $aactoavr, $mp4toavr, $mpctoavr, $shntocdr, $aactocdr, $mp4tocdr, $mpctocdr, $shntomp2, $aactomp2, $mp4tomp2, $mpctomp2, $shntoac3, $aactoac3, $mp4toac3, $mpctoac3, $shntola, $aactola, $mp4tola, $mpctola, $shntobonk, $aactobonk, $mp4tobonk, $mpctobonk, $shntowav, $aactowav, $mp4towav, $mpctowav, $shntora, $aactora, $mp4tora, $mpctora, $wvtomp3, $wmatomp3, $ratomp3, $wavtomp3, $wvtoogg, $wmatoogg, $ratoogg, $wavtoogg, $wvtoflac, $wmatoflac, $ratoflac, $wavtoflac, $wvtofla, $wmatofla, $ratofla, $wavtofla, $wvtoape, $wmatoape, $ratoape, $wavtoape, $wvtoshn, $wmatoshn, $ratoshn, $wavtoshn, $wvtoaac, $wmatoaac, $ratoaac, $wavtoaac, $wvtom4a, $wmatom4a, $ratom4a, $wavtom4a, $wvtomp4, $wmatomp4, $ratomp4, $wavtomp4, $wvtompc, $wmatompc, $ratompc, $wavtompc, $wvtompp, $wmatompp, $ratompp, $wavtompp, $wvtowv, $wmatowv, $ratowv, $wavtowv, $wvtoofr, $wmatoofr, $ratoofr, $wavtoofr, $wvtoofs, $wmatoofs, $ratoofs, $wavtoofs, $wvtotta, $wmatotta, $ratotta, $wavtotta, $wvtopac, $wmatopac, $ratopac, $wavtopac, $wvtolpac, $wmatolpac, $ratolpac, $wavtolpac, $wvtokxs, $wmatokxs, $ratokxs, $wavtokxs, $wvtoaiff, $wmatoaiff, $ratoaiff, $wavtoaiff, $wvtoau, $wmatoau, $ratoau, $wavtoau, $wvtosnd, $wmatosnd, $ratosnd, $wavtosnd, $wvtoraw, $wmatoraw, $ratoraw, $wavtoraw, $wvtovoc, $wmatovoc, $ratovoc, $wavtovoc, $wvtosmp, $wmatosmp, $ratosmp, $wavtosmp, $wvtocdr, $wmatocdr, $ratocdr, $wavtocdr, $wvtoavr, $wmatoavr, $ratoavr, $wavtoavr, $wvtomp2, $wmatomp2, $ratomp2, $wavtomp2, $wvtoac3, $wmatoac3, $ratoac3, $wavtoac3, $wvtola, $wmatola, $ratola, $wavtola, $wvtobonk, $wmatobonk, $ratobonk, $wavtobonk, $wvtowav, $wmatowav, $ratowav, $wvtora, $wmatora, $ratora, $wavtora, $ofrtomp3, $ofstomp3, $m4atomp3, $ttatomp3, $ofrtoogg, $ofstoogg, $m4atoogg, $ttatoogg, $ofrtoflac, $ofstoflac, $m4atoflac, $ttatoflac, $ofrtofla, $ofstofla, $m4atofla, $ttatofla, $ofrtoape, $ofstoape, $m4atoape, $ttatoape, $ofrtoshn, $ofstoshn, $m4atoshn, $ttatoshn, $ofrtoaac, $ofstoaac, $m4atoaac, $ttatoaac, $ofrtom4a, $ofstom4a, $m4atom4a, $ttatom4a, $ofrtomp4, $ofstomp4, $m4atomp4, $ttatomp4, $ofrtompc, $ofstompc, $m4atompc, $ttatompc, $ofrtompp, $ofstompp, $m4atompp, $ttatompp, $ofrtowv, $ofstowv, $m4atowv, $ttatowv, $ofrtoofr, $ofstoofr, $m4atoofr, $ttatoofr, $ofrtoofs, $ofstoofs, $m4atoofs, $ttatoofs, $ofrtotta, $ofstotta, $m4atotta, $ttatotta, $ofrtopac, $ofstopac, $m4atopac, $ttatopac, $ofrtolpac, $ofstolpac, $m4atolpac, $ttatolpac, $ofrtokxs, $ofstokxs, $m4atokxs, $ttatokxs, $ofrtoaiff, $ofstoaiff, $m4atoaiff, $ttatoaiff, $ofrtoau, $ofstoau, $m4atoau, $ttatoau, $ofrtosnd, $ofstosnd, $m4atosnd, $ttatosnd, $ofrtoraw, $ofstoraw, $m4atoraw, $ttatoraw, $ofrtovoc, $ofstovoc, $m4atovoc, $ttatovoc, $ofrtosmp, $ofstosmp, $m4atosmp, $ttatosmp, $ofrtoavr, $ofstoavr, $m4atoavr, $ttatoavr, $ofrtocdr, $ofstocdr, $m4atocdr, $ttatocdr, $ofrtomp2, $ofstomp2, $m4atomp2, $ttatomp2, $ofrtoac3, $ofstoac3, $m4atoac3, $ttatoac3, $ofrtola, $ofstola, $m4atola, $ttatola, $ofrtobonk, $ofstobonk, $m4atobonk, $ttatobonk, $ofrtowav, $ofstowav, $m4atowav, $ttatowav, $ofrtora, $ofstora, $m4atora, $ttatora, $pactomp3, $kxstomp3, $aifftomp3, $automp3, $pactoogg, $kxstoogg, $aifftoogg, $autoogg, $pactoflac, $kxstoflac, $aifftoflac, $autoflac, $pactofla, $kxstofla, $aifftofla, $autofla, $pactoape, $kxstoape, $aifftoape, $autoape, $pactoshn, $kxstoshn, $aifftoshn, $autoshn, $pactoaac, $kxstoaac, $aifftoaac, $autoaac, $pactom4a, $kxstom4a, $aifftom4a, $autom4a, $pactomp4, $kxstomp4, $aifftomp4, $automp4, $pactompc, $kxstompc, $aifftompc, $autompc, $pactompp, $kxstompp, $aifftompp, $autompp, $pactowv, $kxstowv, $aifftowv, $autowv, $pactoofr, $kxstoofr, $aifftoofr, $autoofr, $pactoofs, $kxstoofs, $aifftoofs, $autoofs, $pactotta, $kxstotta, $aifftotta, $autotta, $pactopac, $kxstopac, $aifftopac, $autopac, $pactolpac, $kxstolpac, $aifftolpac, $autolpac, $pactokxs, $kxstokxs, $aifftokxs, $autokxs, $pactoaiff, $kxstoaiff, $aifftoaiff, $autoaiff, $pactoau, $kxstoau, $aifftoau, $autoau, $pactosnd, $kxstosnd, $aifftosnd, $autosnd, $pactoraw, $kxstoraw, $aifftoraw, $autoraw, $pactovoc, $kxstovoc, $aifftovoc, $autovoc, $pactosmp, $kxstosmp, $aifftosmp, $autosmp, $pactoavr, $kxstoavr, $aifftoavr, $autoavr, $pactocdr, $kxstocdr, $aifftocdr, $autocdr, $pactomp2, $kxstomp2, $aifftomp2, $automp2, $pactoac3, $kxstoac3, $aifftoac3, $autoac3, $pactola, $kxstola, $aifftola, $autola, $pactobonk, $kxstobonk, $aifftobonk, $autobonk, $pactowav, $kxstowav, $aifftowav, $autowav, $pactora, $kxstora, $aifftora, $autora, $sndtomp3, $mp2tomp3, $ac3tomp3, $ramtomp3, $sndtoogg, $mp2toogg, $ac3toogg, $ramtoogg, $sndtoflac, $mp2toflac, $ac3toflac, $ramtoflac, $sndtofla, $mp2tofla, $ac3tofla, $ramtofla, $sndtoape, $mp2toape, $ac3toape, $ramtoape, $sndtoshn, $mp2toshn, $ac3toshn, $ramtoshn, $sndtoaac, $mp2toaac, $ac3toaac, $ramtoaac, $sndtom4a, $mp2tom4a, $ac3tom4a, $ramtom4a, $sndtomp4, $mp2tomp4, $ac3tomp4, $ramtomp4, $sndtompc, $mp2tompc, $ac3tompc, $ramtompc, $sndtompp, $mp2tompp, $ac3tompp, $ramtompp, $sndtowv, $mp2towv, $ac3towv, $ramtowv, $sndtoofr, $mp2toofr, $ac3toofr, $ramtoofr, $sndtoofs, $mp2toofs, $ac3toofs, $ramtoofs, $sndtotta, $mp2totta, $ac3totta, $ramtotta, $sndtopac, $mp2topac, $ac3topac, $ramtopac, $sndtolpac, $mp2tolpac, $ac3tolpac, $ramtolpac, $sndtokxs, $mp2tokxs, $ac3tokxs, $ramtokxs, $sndtoaiff, $mp2toaiff, $ac3toaiff, $ramtoaiff, $sndtoau, $mp2toau, $ac3toau, $ramtoau, $sndtosnd, $mp2tosnd, $ac3tosnd, $ramtosnd, $sndtoraw, $mp2toraw, $ac3toraw, $ramtoraw, $sndtovoc, $mp2tovoc, $ac3tovoc, $ramtovoc, $sndtosmp, $mp2tosmp, $ac3tosmp, $ramtosmp, $sndtoavr, $mp2toavr, $ac3toavr, $ramtoavr, $sndtocdr, $mp2tocdr, $ac3tocdr, $ramtocdr, $sndtomp2, $mp2tomp2, $ac3tomp2, $ramtomp2, $sndtoac3, $mp2toac3, $ac3toac3, $ramtoac3, $sndtola, $mp2tola, $ac3tola, $ramtola, $sndtobonk, $mp2tobonk, $ac3tobonk, $ramtobonk, $sndtowav, $mp2towav, $ac3towav, $ramtowav, $sndtora, $mp2tora, $ac3tora, $ramtora, $rawtomp3, $voctomp3, $smptomp3, $latomp3, $rawtoogg, $voctoogg, $smptoogg, $latoogg, $rawtoflac, $voctoflac, $smptoflac, $latoflac, $rawtofla, $voctofla, $smptofla, $latofla, $rawtoape, $voctoape, $smptoape, $latoape, $rawtoshn, $voctoshn, $smptoshn, $latoshn, $rawtoaac, $voctoaac, $smptoaac, $latoaac, $rawtom4a, $voctom4a, $smptom4a, $latom4a, $rawtomp4, $voctomp4, $smptomp4, $latomp4, $rawtompc, $voctompc, $smptompc, $latompc, $rawtompp, $voctompp, $smptompp, $latompp, $rawtowv, $voctowv, $smptowv, $latowv, $rawtoofr, $voctoofr, $smptoofr, $latoofr, $rawtoofs, $voctoofs, $smptoofs, $latoofs, $rawtotta, $voctotta, $smptotta, $latotta, $rawtopac, $voctopac, $smptopac, $latopac, $rawtolpac, $voctolpac, $smptolpac, $latolpac, $rawtokxs, $voctokxs, $smptokxs, $latokxs, $rawtoaiff, $voctoaiff, $smptoaiff, $latoaiff, $rawtoau, $voctoau, $smptoau, $latoau, $rawtosnd, $voctosnd, $smptosnd, $latosnd, $rawtoraw, $voctoraw, $smptoraw, $latoraw, $rawtovoc, $voctovoc, $smptovoc, $latovoc, $rawtosmp, $voctosmp, $smptosmp, $latosmp, $rawtoavr, $voctoavr, $smptoavr, $latoavr, $rawtocdr, $voctocdr, $smptocdr, $latocdr, $rawtomp2, $voctomp2, $smptomp2, $latomp2, $rawtoac3, $voctoac3, $smptoac3, $latoac3, $rawtola, $voctola, $smptola, $latola, $rawtobonk, $voctobonk, $smptobonk, $latobonk, $rawtowav, $voctowav, $smptowav, $latowav, $rawtora, $voctora, $smptora, $latora, $bonktomp3, $flatomp3, $mpptomp3, $cdrtomp3, $bonktoogg, $flatoogg, $mpptoogg, $cdrtoogg, $bonktoflac,$flatoflac, $mpptoflac, $cdrtoflac, $bonktofla, $flatofla, $mpptofla, $cdrtofla, $bonktoape, $flatoape, $mpptoape, $cdrtoape, $bonktoshn, $flatoshn, $mpptoshn, $cdrtoshn, $bonktoaac, $flatoaac, $mpptoaac, $cdrtoaac, $bonktom4a, $flatom4a, $mpptom4a, $cdrtom4a, $bonktomp4, $flatomp4, $mpptomp4, $cdrtomp4, $bonktompc, $flatompc, $mpptompc, $cdrtompc, $bonktompp, $flatompp, $mpptompp, $cdrtompp, $bonktowv, $flatowv, $mpptowv, $cdrtowv, $bonktoofr, $flatoofr, $mpptoofr, $cdrtoofr, $bonktoofs, $flatoofs, $mpptoofs, $cdrtoofs, $bonktotta, $flatotta, $mpptotta, $cdrtotta, $bonktopac, $flatopac, $mpptopac, $cdrtopac, $bonktolpac,$flatolpac, $mpptolpac, $cdrtolpac, $bonktokxs, $flatokxs, $mpptokxs, $cdrtokxs, $bonktoaiff,$flatoaiff, $mpptoaiff, $cdrtoaiff, $bonktoau, $flatoau, $mpptoau, $cdrtoau, $bonktosnd, $flatosnd, $mpptosnd, $cdrtosnd, $bonktoraw, $flatoraw, $mpptoraw, $cdrtoraw, $bonktovoc, $flatovoc, $mpptovoc, $cdrtovoc, $bonktosmp, $flatosmp, $mpptosmp, $cdrtosmp, $bonktoavr, $flatoavr, $mpptoavr, $cdrtoavr, $bonktocdr, $flatocdr, $mpptocdr, $cdrtocdr, $bonktomp2, $flatomp2, $mpptomp2, $cdrtomp2, $bonktoac3, $flatoac3, $mpptoac3, $cdrtoac3, $bonktola, $flatola, $mpptola, $cdrtola, $bonktobonk,$flatobonk, $mpptobonk, $cdrtobonk, $bonktowav, $flatowav, $mpptowav, $cdrtowav, $bonktora, $flatora, $mpptora, $cdrtora, $lpactomp3, $avrtomp3, $lpactoogg, $avrtoogg, $lpactoflac,$avrtoflac, $lpactofla, $avrtofla, $lpactoape, $avrtoape, $lpactoshn, $avrtoshn, $lpactoaac, $avrtoaac, $lpactom4a, $avrtom4a, $lpactomp4, $avrtomp4, $lpactompc, $avrtompc, $lpactompp, $avrtompp, $lpactowv, $avrtowv, $lpactoofr, $avrtoofr, $lpactoofs, $avrtoofs, $lpactotta, $avrtotta, $lpactopac, $avrtopac, $lpactolpac,$avrtolpac, $lpactokxs, $avrtokxs, $lpactoaiff,$avrtoaiff, $lpactoau, $avrtoau, $lpactosnd, $avrtosnd, $lpactoraw, $avrtoraw, $lpactovoc, $avrtovoc, $lpactosmp, $avrtosmp, $lpactoavr, $avrtoavr, $lpactocdr, $avrtocdr, $lpactomp2, $avrtomp2, $lpactoac3, $avrtoac3, $lpactola, $avrtola, $lpactobonk,$avrtobonk, $lpactowav, $avrtowav, $lpactora, $avrtora); my ($cdtomp3, $cdtoogg, $cdtoflac, $cdtofla, $cdtoape, $cdtoshn, $cdtoaac, $cdtom4a, $cdtomp4, $cdtompc, $cdtompp, $cdtowv, $cdtoofr, $cdtoofs, $cdtotta, $cdtopac, $cdtolpac, $cdtokxs, $cdtoaiff, $cdtoau, $cdtosnd, $cdtoraw, $cdtovoc, $cdtosmp, $cdtoavr, $cdtocdr, $cdtomp2, $cdtoac3, $cdtola, $cdtobonk, $cdtowav, $cdtora); my ($out_dir, $new_file, $outfile, $delete, $out_file, $riphelp, $help, $all, $ver, $audio_file, $gui, $conv_to, $get_out_directory, $longhelp, $taghelp, $daemon, $taginfo, $play, $videohelp, $man, $url, $presdir, $pdir, $pfmt, $out_copy, $recursive, $overwrite, @file, @dir, @tracks); # Tagging Variables my ($artist, $title, $album, $genre, $year, $track, $comment); my ($audio_opts, $enc_name, $dec_name) = ''; GetOptions('cdtomp3' => \$cdtomp3, 'cdtoogg' => \$cdtoogg, 'cdtoflac' => \$cdtoflac, 'cdtofla' => \$cdtofla, 'cdtoape' => \$cdtoape, 'cdtoshn' => \$cdtoshn, 'cdtoaac' => \$cdtoaac, 'cdtom4a' => \$cdtom4a, 'cdtomp4' => \$cdtomp4, 'cdtompc' => \$cdtompc, 'cdtompp' => \$cdtompp, 'cdtowv' => \$cdtowv, 'cdtoofr' => \$cdtoofr, 'cdtoofs' => \$cdtoofs, 'cdtotta' => \$cdtotta, 'cdtopac' => \$cdtopac, 'cdtolpac' => \$cdtolpac, 'cdtokxs' => \$cdtokxs, 'cdtoaiff' => \$cdtoaiff, 'cdtoau' => \$cdtoau, 'cdtosnd' => \$cdtosnd, 'cdtoraw' => \$cdtoraw, 'cdtovoc' => \$cdtovoc, 'cdtosmp' => \$cdtosmp, 'cdtoavr' => \$cdtoavr, 'cdtocdr' => \$cdtocdr, 'cdtomp2' => \$cdtomp2, 'cdtoac3' => \$cdtoac3, 'cdtola' => \$cdtola, 'cdtobonk' => \$cdtobonk, 'cdtowav' => \$cdtowav, 'cdtora' => \$cdtora, 'mp3tomp3' => \$mp3tomp3, 'mp3toogg' => \$mp3toogg, 'mp3toflac' => \$mp3toflac, 'mp3tofla' => \$mp3tofla, 'mp3toape' => \$mp3toape, 'mp3toshn' => \$mp3toshn, 'mp3toaac' => \$mp3toaac, 'mp3tom4a' => \$mp3tom4a, 'mp3tomp4' => \$mp3tomp4, 'mp3tompc' => \$mp3tompc, 'mp3tompp' => \$mp3tompp, 'mp3towv' => \$mp3towv, 'mp3toofr' => \$mp3toofr, 'mp3toofs' => \$mp3toofs, 'mp3totta' => \$mp3totta, 'mp3topac' => \$mp3topac, 'mp3tolpac' => \$mp3tolpac, 'mp3tokxs' => \$mp3tokxs, 'mp3toaiff' => \$mp3toaiff, 'mp3toau' => \$mp3toau, 'mp3tosnd' => \$mp3tosnd, 'mp3toraw' => \$mp3toraw, 'mp3tovoc' => \$mp3tovoc, 'mp3tosmp' => \$mp3tosmp, 'mp3toavr' => \$mp3toavr, 'mp3tocdr' => \$mp3tocdr, 'mp3tomp2' => \$mp3tomp2, 'mp3toac3' => \$mp3toac3, 'mp3tola' => \$mp3tola, 'mp3tobonk' => \$mp3tobonk, 'mp3towav' => \$mp3towav, 'mp3tora' => \$mp3tora, 'oggtomp3' => \$oggtomp3, 'oggtoogg' => \$oggtoogg, 'oggtoflac' => \$oggtoflac, 'oggtofla' => \$oggtofla, 'oggtoape' => \$oggtoape, 'oggtoshn' => \$oggtoshn, 'oggtoaac' => \$oggtoaac, 'oggtom4a' => \$oggtom4a, 'oggtomp4' => \$oggtomp4, 'oggtompc' => \$oggtompc, 'oggtompp' => \$oggtompp, 'oggtowv' => \$oggtowv, 'oggtoofr' => \$oggtoofr, 'oggtoofs' => \$oggtoofs, 'oggtotta' => \$oggtotta, 'oggtopac' => \$oggtopac, 'oggtolpac' => \$oggtolpac, 'oggtokxs' => \$oggtokxs, 'oggtoaiff' => \$oggtoaiff, 'oggtoau' => \$oggtoau, 'oggtosnd' => \$oggtosnd, 'oggtoraw' => \$oggtoraw, 'oggtovoc' => \$oggtovoc, 'oggtosmp' => \$oggtosmp, 'oggtoavr' => \$oggtoavr, 'oggtocdr' => \$oggtocdr, 'oggtomp2' => \$oggtomp2, 'oggtoac3' => \$oggtoac3, 'oggtola' => \$oggtola, 'oggtobonk' => \$oggtobonk, 'oggtowav' => \$oggtowav, 'oggtora' => \$oggtora, 'flactomp3' => \$flactomp3, 'flactoogg' => \$flactoogg, 'flactoflac' => \$flactoflac, 'flactofla' => \$flactofla, 'flactoape' => \$flactoape, 'flactoshn' => \$flactoshn, 'flactoaac' => \$flactoaac, 'flactom4a' => \$flactom4a, 'flactomp4' => \$flactomp4, 'flactompc' => \$flactompc, 'flactompp' => \$flactompp, 'flactowv' => \$flactowv, 'flactoofr' => \$flactoofr, 'flactoofs' => \$flactoofs, 'flactotta' => \$flactotta, 'flactopac' => \$flactopac, 'flactolpac' => \$flactolpac, 'flactokxs' => \$flactokxs, 'flactoaiff' => \$flactoaiff, 'flactoau' => \$flactoau, 'flactosnd' => \$flactosnd, 'flactoraw' => \$flactoraw, 'flactovoc' => \$flactovoc, 'flactosmp' => \$flactosmp, 'flactoavr' => \$flactoavr, 'flactocdr' => \$flactocdr, 'flactomp2' => \$flactomp2, 'flactoac3' => \$flactoac3, 'flactola' => \$flactola, 'flactobonk' => \$flactobonk, 'flactowav' => \$flactowav, 'flactora' => \$flactora, 'flatomp3' => \$flatomp3, 'flatoogg' => \$flatoogg, 'flatoflac' => \$flatoflac, 'flatofla' => \$flatofla, 'flatoape' => \$flatoape, 'flatoshn' => \$flatoshn, 'flatoaac' => \$flatoaac, 'flatom4a' => \$flatom4a, 'flatomp4' => \$flatomp4, 'flatompc' => \$flatompc, 'flatompp' => \$flatompp, 'flatowv' => \$flatowv, 'flatoofr' => \$flatoofr, 'flatoofs' => \$flatoofs, 'flatotta' => \$flatotta, 'flatopac' => \$flatopac, 'flatolpac' => \$flactolpac, 'flatokxs' => \$flatokxs, 'flatoaiff' => \$flatoaiff, 'flatoau' => \$flatoau, 'flatosnd' => \$flatosnd, 'flatoraw' => \$flatoraw, 'flatovoc' => \$flatovoc, 'flatosmp' => \$flatosmp, 'flatoavr' => \$flatoavr, 'flatocdr' => \$flatocdr, 'flatomp2' => \$flatomp2, 'flatoac3' => \$flatoac3, 'flatola' => \$flatola, 'flatobonk' => \$flatobonk, 'flatowav' => \$flatowav, 'flatora' => \$flatora, 'apetomp3' => \$apetomp3, 'apetoogg' => \$apetoogg, 'apetoflac' => \$apetoflac, 'apetofla' => \$apetofla, 'apetoape' => \$apetoape, 'apetoshn' => \$apetoshn, 'apetoaac' => \$apetoaac, 'apetom4a' => \$apetom4a, 'apetomp4' => \$apetomp4, 'apetompc' => \$apetompc, 'apetompp' => \$apetompp, 'apetowv' => \$apetowv, 'apetoofr' => \$apetoofr, 'apetoofs' => \$apetoofs, 'apetotta' => \$apetotta, 'apetopac' => \$apetopac, 'apetolpac' => \$apetolpac, 'apetokxs' => \$apetokxs, 'apetoaiff' => \$apetoaiff, 'apetoau' => \$apetoau, 'apetosnd' => \$apetosnd, 'apetoraw' => \$apetoraw, 'apetovoc' => \$apetovoc, 'apetosmp' => \$apetosmp, 'apetoavr' => \$apetoavr, 'apetocdr' => \$apetocdr, 'apetomp2' => \$apetomp2, 'apetoac3' => \$apetoac3, 'apetola' => \$apetola, 'apetobonk' => \$apetobonk, 'apetowav' => \$apetowav, 'apetora' => \$apetora, 'shntomp3' => \$shntomp3, 'shntoogg' => \$shntoogg, 'shntoflac' => \$shntoflac, 'shntofla' => \$shntofla, 'shntoape' => \$shntoape, 'shntoshn' => \$shntoshn, 'shntoaac' => \$shntoaac, 'shntom4a' => \$shntom4a, 'shntomp4' => \$shntomp4, 'shntompc' => \$shntompc, 'shntompp' => \$shntompp, 'shntowv' => \$shntowv, 'shntoofr' => \$shntoofr, 'shntoofs' => \$shntoofs, 'shntotta' => \$shntotta, 'shntopac' => \$shntopac, 'shntolpac' => \$shntolpac, 'shntokxs' => \$shntokxs, 'shntoaiff' => \$shntoaiff, 'shntoau' => \$shntoau, 'shntosnd' => \$shntosnd, 'shntoraw' => \$shntoraw, 'shntovoc' => \$shntovoc, 'shntosmp' => \$shntosmp, 'shntoavr' => \$shntoavr, 'shntocdr' => \$shntocdr, 'shntomp2' => \$shntomp2, 'shntoac3' => \$shntoac3, 'shntola' => \$shntola, 'shntobonk' => \$shntobonk, 'shntowav' => \$shntowav, 'shntora' => \$shntora, 'aactomp3' => \$aactomp3, 'aactoogg' => \$aactoogg, 'aactoflac' => \$aactoflac, 'aactofla' => \$aactofla, 'aactoape' => \$aactoape, 'aactoshn' => \$aactoshn, 'aactoaac' => \$aactoaac, 'aactom4a' => \$aactom4a, 'aactomp4' => \$aactomp4, 'aactompc' => \$aactompc, 'aactompp' => \$aactompp, 'aactowv' => \$aactowv, 'aactoofr' => \$aactoofr, 'aactoofs' => \$aactoofs, 'aactotta' => \$aactotta, 'aactopac' => \$aactopac, 'aactolpac' => \$aactolpac, 'aactokxs' => \$aactokxs, 'aactoaiff' => \$aactoaiff, 'aactoau' => \$aactoau, 'aactosnd' => \$aactosnd, 'aactoraw' => \$aactoraw, 'aactovoc' => \$aactovoc, 'aactosmp' => \$aactosmp, 'aactoavr' => \$aactoavr, 'aactocdr' => \$aactocdr, 'aactomp2' => \$aactomp2, 'aactoac3' => \$aactoac3, 'aactola' => \$aactola, 'aactobonk' => \$aactobonk, 'aactowav' => \$aactowav, 'aactora' => \$aactora, 'm4atomp3' => \$m4atomp3, 'm4atoogg' => \$m4atoogg, 'm4atoflac' => \$m4atoflac, 'm4atofla' => \$m4atofla, 'm4atoape' => \$m4atoape, 'm4atoshn' => \$m4atoshn, 'm4atoaac' => \$m4atoaac, 'm4atom4a' => \$m4atom4a, 'm4atomp4' => \$m4atomp4, 'm4atompc' => \$m4atompc, 'm4atompp' => \$m4atompp, 'm4atowv' => \$m4atowv, 'm4atoofr' => \$m4atoofr, 'm4atoofs' => \$m4atoofs, 'm4atotta' => \$m4atotta, 'm4atopac' => \$m4atopac, 'm4atolpac' => \$m4atolpac, 'm4atokxs' => \$m4atokxs, 'm4atoaiff' => \$m4atoaiff, 'm4atoau' => \$m4atoau, 'm4atosnd' => \$m4atosnd, 'm4atoraw' => \$m4atoraw, 'm4atovoc' => \$m4atovoc, 'm4atosmp' => \$m4atosmp, 'm4atoavr' => \$m4atoavr, 'm4atocdr' => \$m4atocdr, 'm4atomp2' => \$m4atomp2, 'm4atoac3' => \$m4atoac3, 'm4atola' => \$m4atola, 'm4atobonk' => \$m4atobonk, 'm4atowav' => \$m4atowav, 'm4atora' => \$m4atora, 'mp4tomp3' => \$mp4tomp3, 'mp4toogg' => \$mp4toogg, 'mp4toflac' => \$mp4toflac, 'mp4tofla' => \$mp4tofla, 'mp4toape' => \$mp4toape, 'mp4toshn' => \$mp4toshn, 'mp4toaac' => \$mp4toaac, 'mp4tom4a' => \$mp4tom4a, 'mp4tomp4' => \$mp4tomp4, 'mp4tompc' => \$mp4tompc, 'mp4tompp' => \$mp4tompp, 'mp4towv' => \$mp4towv, 'mp4toofr' => \$mp4toofr, 'mp4toofs' => \$mp4toofs, 'mp4totta' => \$mp4totta, 'mp4topac' => \$mp4topac, 'mp4tolpac' => \$mp4tolpac, 'mp4tokxs' => \$mp4tokxs, 'mp4toaiff' => \$mp4toaiff, 'mp4toau' => \$mp4toau, 'mp4tosnd' => \$mp4tosnd, 'mp4toraw' => \$mp4toraw, 'mp4tovoc' => \$mp4tovoc, 'mp4tosmp' => \$mp4tosmp, 'mp4toavr' => \$mp4toavr, 'mp4tocdr' => \$mp4tocdr, 'mp4tomp2' => \$mp4tomp2, 'mp4toac3' => \$mp4toac3, 'mp4tola' => \$mp4tola, 'mp4tobonk' => \$mp4tobonk, 'mp4towav' => \$mp4towav, 'mp4tora' => \$mp4tora, 'mpctomp3' => \$mpctomp3, 'mpctoogg' => \$mpctoogg, 'mpctoflac' => \$mpctoflac, 'mpctofla' => \$mpctofla, 'mpctoape' => \$mpctoape, 'mpctoshn' => \$mpctoshn, 'mpctoaac' => \$mpctoaac, 'mpctom4a' => \$mpctom4a, 'mpctomp4' => \$mpctomp4, 'mpctompc' => \$mpctompc, 'mpctompp' => \$mpctompp, 'mpctowv' => \$mpctowv, 'mpctoofr' => \$mpctoofr, 'mpctoofs' => \$mpctoofs, 'mpctotta' => \$mpctotta, 'mpctopac' => \$mpctopac, 'mpctolpac' => \$mpctolpac, 'mpctokxs' => \$mpctokxs, 'mpctoaiff' => \$mpctoaiff, 'mpctoau' => \$mpctoau, 'mpctosnd' => \$mpctosnd, 'mpctoraw' => \$mpctoraw, 'mpctovoc' => \$mpctovoc, 'mpctosmp' => \$mpctosmp, 'mpctoavr' => \$mpctoavr, 'mpctocdr' => \$mpctocdr, 'mpctomp2' => \$mpctomp2, 'mpctoac3' => \$mpctoac3, 'mpctola' => \$mpctola, 'mpctobonk' => \$mpctobonk, 'mpctowav' => \$mpctowav, 'mpctora' => \$mpctora, 'mpptomp3' => \$mpptomp3, 'mpptoogg' => \$mpptoogg, 'mpptoflac' => \$mpptoflac, 'mpptoape' => \$mpptoape, 'mpptoshn' => \$mpptoshn, 'mpptoaac' => \$mpptoaac, 'mpptom4a' => \$mpptom4a, 'mpptomp4' => \$mpptomp4, 'mpptompc' => \$mpptompc, 'mpptompp' => \$mpptompp, 'mpptowv' => \$mpptowv, 'mpptoofr' => \$mpptoofr, 'mpptoofs' => \$mpptoofs, 'mpptotta' => \$mpptotta, 'mpptopac' => \$mpptopac, 'mpptolpac' => \$mpptolpac, 'mpptokxs' => \$mpptokxs, 'mpptoaiff' => \$mpptoaiff, 'mpptoau' => \$mpptoau, 'mpptosnd' => \$mpptosnd, 'mpptoraw' => \$mpptoraw, 'mpptovoc' => \$mpptovoc, 'mpptosmp' => \$mpptosmp, 'mpptoavr' => \$mpptoavr, 'mpptocdr' => \$mpptocdr, 'mpptomp2' => \$mpptomp2, 'mpptoac3' => \$mpptoac3, 'mpptola' => \$mpptola, 'mpptobonk' => \$mpptobonk, 'mpptowav' => \$mpptowav, 'mpptora' => \$mpptora, 'wvtomp3' => \$wvtomp3, 'wvtoogg' => \$wvtoogg, 'wvtoflac' => \$wvtoflac, 'wvtofla' => \$wvtofla, 'wvtoape' => \$wvtoape, 'wvtoshn' => \$wvtoshn, 'wvtoaac' => \$wvtoaac, 'wvtom4a' => \$wvtom4a, 'wvtomp4' => \$wvtomp4, 'wvtompc' => \$wvtompc, 'wvtompp' => \$wvtompp, 'wvtowv' => \$wvtowv, 'wvtoofr' => \$wvtoofr, 'wvtoofs' => \$wvtoofs, 'wvtotta' => \$wvtotta, 'wvtopac' => \$wvtopac, 'wvtolpac' => \$wvtolpac, 'wvtokxs' => \$wvtokxs, 'wvtoaiff' => \$wvtoaiff, 'wvtoau' => \$wvtoau, 'wvtosnd' => \$wvtosnd, 'wvtoraw' => \$wvtoraw, 'wvtovoc' => \$wvtovoc, 'wvtosmp' => \$wvtosmp, 'wvtoavr' => \$wvtoavr, 'wvtocdr' => \$wvtocdr, 'wvtomp2' => \$wvtomp2, 'wvtoac3' => \$wvtoac3, 'wvtola' => \$wvtola, 'wvtobonk' => \$wvtobonk, 'wvtowav' => \$wvtowav, 'wvtora' => \$wvtora, 'ofrtomp3' => \$ofrtomp3, 'ofrtoogg' => \$ofrtoogg, 'ofrtoflac' => \$ofrtoflac, 'ofrtofla' => \$ofrtofla, 'ofrtoape' => \$ofrtoape, 'ofrtoshn' => \$ofrtoshn, 'ofrtoaac' => \$ofrtoaac, 'ofrtom4a' => \$ofrtom4a, 'ofrtomp4' => \$ofrtomp4, 'ofrtompc' => \$ofrtompc, 'ofrtompp' => \$ofrtompp, 'ofrtowv' => \$ofrtowv, 'ofrtoofr' => \$ofrtoofr, 'ofrtoofs' => \$ofrtoofs, 'ofrtotta' => \$ofrtotta, 'ofrtopac' => \$ofrtopac, 'ofrtolpac' => \$ofrtolpac, 'ofrtokxs' => \$ofrtokxs, 'ofrtoaiff' => \$ofrtoaiff, 'ofrtoau' => \$ofrtoau, 'ofrtosnd' => \$ofrtosnd, 'ofrtoraw' => \$ofrtoraw, 'ofrtovoc' => \$ofrtovoc, 'ofrtosmp' => \$ofrtosmp, 'ofrtoavr' => \$ofrtoavr, 'ofrtocdr' => \$ofrtocdr, 'ofrtomp2' => \$ofrtomp2, 'ofrtoac3' => \$ofrtoac3, 'ofrtola' => \$ofrtola, 'ofrtobonk' => \$ofrtobonk, 'ofrtowav' => \$ofrtowav, 'ofrtora' => \$ofrtora, 'ofstomp3' => \$ofstomp3, 'ofstoogg' => \$ofstoogg, 'ofstoflac' => \$ofstoflac, 'ofstofla' => \$ofstofla, 'ofstoape' => \$ofstoape, 'ofstoshn' => \$ofstoshn, 'ofstoaac' => \$ofstoaac, 'ofstom4a' => \$ofstom4a, 'ofstomp4' => \$ofstomp4, 'ofstompc' => \$ofstompc, 'ofstompp' => \$ofstompp, 'ofstowv' => \$ofstowv, 'ofstoofr' => \$ofstoofr, 'ofstoofs' => \$ofstoofs, 'ofstotta' => \$ofstotta, 'ofstopac' => \$ofstopac, 'ofstolpac' => \$ofstolpac, 'ofstokxs' => \$ofstokxs, 'ofstoaiff' => \$ofstoaiff, 'ofstoau' => \$ofstoau, 'ofstosnd' => \$ofstosnd, 'ofstoraw' => \$ofstoraw, 'ofstovoc' => \$ofstovoc, 'ofstosmp' => \$ofstosmp, 'ofstoavr' => \$ofstoavr, 'ofstocdr' => \$ofstocdr, 'ofstomp2' => \$ofstomp2, 'ofstoac3' => \$ofstoac3, 'ofstola' => \$ofstola, 'ofstobonk' => \$ofstobonk, 'ofstowav' => \$ofstowav, 'ofstora' => \$ofstora, 'ttatomp3' => \$ttatomp3, 'ttatoogg' => \$ttatoogg, 'ttatoflac' => \$ttatoflac, 'ttatofla' => \$ttatofla, 'ttatoape' => \$ttatoape, 'ttatoshn' => \$ttatoshn, 'ttatoaac' => \$ttatoaac, 'ttatom4a' => \$ttatom4a, 'ttatomp4' => \$ttatomp4, 'ttatompc' => \$ttatompc, 'ttatompp' => \$ttatompp, 'ttatowv' => \$ttatowv, 'ttatoofr' => \$ttatoofr, 'ttatoofs' => \$ttatoofs, 'ttatotta' => \$ttatotta, 'ttatopac' => \$ttatopac, 'ttatolpac' => \$ttatolpac, 'ttatokxs' => \$ttatokxs, 'ttatoaiff' => \$ttatoaiff, 'ttatoau' => \$ttatoau, 'ttatosnd' => \$ttatosnd, 'ttatoraw' => \$ttatoraw, 'ttatovoc' => \$ttatovoc, 'ttatosmp' => \$ttatosmp, 'ttatoavr' => \$ttatoavr, 'ttatocdr' => \$ttatocdr, 'ttatomp2' => \$ttatomp2, 'ttatoac3' => \$ttatoac3, 'ttatola' => \$ttatola, 'ttatobonk' => \$ttatobonk, 'ttatowav' => \$ttatowav, 'ttatora' => \$ttatora, 'pactomp3' => \$pactomp3, 'pactoogg' => \$pactoogg, 'pactoflac' => \$pactoflac, 'pactofla' => \$pactofla, 'pactoape' => \$pactoape, 'pactoshn' => \$pactoshn, 'pactoaac' => \$pactoaac, 'pactom4a' => \$pactom4a, 'pactomp4' => \$pactomp4, 'pactompc' => \$pactompc, 'pactompp' => \$pactompp, 'pactowv' => \$pactowv, 'pactoofr' => \$pactoofr, 'pactoofs' => \$pactoofs, 'pactotta' => \$pactotta, 'pactopac' => \$pactopac, 'pactolpac' => \$pactolpac, 'pactokxs' => \$pactokxs, 'pactoaiff' => \$pactoaiff, 'pactoau' => \$pactoau, 'pactosnd' => \$pactosnd, 'pactoraw' => \$pactoraw, 'pactovoc' => \$pactovoc, 'pactosmp' => \$pactosmp, 'pactoavr' => \$pactoavr, 'pactocdr' => \$pactocdr, 'pactomp2' => \$pactomp2, 'pactoac3' => \$pactoac3, 'pactola' => \$pactola, 'pactobonk' => \$pactobonk, 'pactowav' => \$pactowav, 'pactora' => \$pactora, 'lpactomp3' => \$lpactomp3, 'lpactoogg' => \$lpactoogg, 'lpactoflac' => \$lpactoflac, 'lpactofla' => \$lpactofla, 'lpactoape' => \$lpactoape, 'lpactoshn' => \$lpactoshn, 'lpactoaac' => \$lpactoaac, 'lpactom4a' => \$lpactom4a, 'lpactomp4' => \$lpactomp4, 'lpactompc' => \$lpactompc, 'lpactompp' => \$lpactompp, 'lpactowv' => \$lpactowv, 'lpactoofr' => \$lpactoofr, 'lpactoofs' => \$lpactoofs, 'lpactotta' => \$lpactotta, 'lpactopac' => \$lpactopac, 'lpactolpac' => \$lpactolpac, 'lpactokxs' => \$lpactokxs, 'lpactoaiff' => \$lpactoaiff, 'lpactoau' => \$lpactoau, 'lpactosnd' => \$lpactosnd, 'lpactoraw' => \$lpactoraw, 'lpactovoc' => \$lpactovoc, 'lpactosmp' => \$lpactosmp, 'lpactoavr' => \$lpactoavr, 'lpactocdr' => \$lpactocdr, 'lpactomp2' => \$lpactomp2, 'lpactoac3' => \$lpactoac3, 'lpactola' => \$lpactola, 'lpactobonk' => \$lpactobonk, 'lpactowav' => \$lpactowav, 'lpactora' => \$lpactora, 'kxstomp3' => \$kxstomp3, 'kxstoogg' => \$kxstoogg, 'kxstoflac' => \$kxstoflac, 'kxstofla' => \$kxstofla, 'kxstoape' => \$kxstoape, 'kxstoshn' => \$kxstoshn, 'kxstoaac' => \$kxstoaac, 'kxstom4a' => \$kxstom4a, 'kxstomp4' => \$kxstomp4, 'kxstompc' => \$kxstompc, 'kxstompp' => \$kxstompp, 'kxstowv' => \$kxstowv, 'kxstoofr' => \$kxstoofr, 'kxstoofs' => \$kxstoofs, 'kxstotta' => \$kxstotta, 'kxstopac' => \$kxstopac, 'kxstolpac' => \$kxstolpac, 'kxstokxs' => \$kxstokxs, 'kxstoaiff' => \$kxstoaiff, 'kxstoau' => \$kxstoau, 'kxstosnd' => \$kxstosnd, 'kxstoraw' => \$kxstoraw, 'kxstovoc' => \$kxstovoc, 'kxstosmp' => \$kxstosmp, 'kxstoavr' => \$kxstoavr, 'kxstocdr' => \$kxstocdr, 'kxstomp2' => \$kxstomp2, 'kxstoac3' => \$kxstoac3, 'kxstola' => \$kxstola, 'kxstobonk' => \$kxstobonk, 'kxstowav' => \$kxstowav, 'kxstora' => \$kxstora, 'aifftomp3' => \$aifftomp3, 'aifftoogg' => \$aifftoogg, 'aifftoflac' => \$aifftoflac, 'aifftofla' => \$aifftofla, 'aifftoape' => \$aifftoape, 'aifftoshn' => \$aifftoshn, 'aifftoaac' => \$aifftoaac, 'aifftom4a' => \$aifftom4a, 'aifftomp4' => \$aifftomp4, 'aifftompc' => \$aifftompc, 'aifftompp' => \$aifftompp, 'aifftowv' => \$aifftowv, 'aifftoofr' => \$aifftoofr, 'aifftoofs' => \$aifftoofs, 'aifftotta' => \$aifftotta, 'aifftopac' => \$aifftopac, 'aifftolpac' => \$aifftolpac, 'aifftokxs' => \$aifftokxs, 'aifftoaiff' => \$aifftoaiff, 'aifftoau' => \$aifftoau, 'aifftosnd' => \$aifftosnd, 'aifftoraw' => \$aifftoraw, 'aifftovoc' => \$aifftovoc, 'aifftosmp' => \$aifftosmp, 'aifftoavr' => \$aifftoavr, 'aifftocdr' => \$aifftocdr, 'aifftomp2' => \$aifftomp2, 'aifftoac3' => \$aifftoac3, 'aifftola' => \$aifftola, 'aifftobonk' => \$aifftobonk, 'aifftowav' => \$aifftowav, 'aifftora' => \$aifftora, 'automp3' => \$automp3, 'autoogg' => \$autoogg, 'autoflac' => \$autoflac, 'autofla' => \$autofla, 'autoape' => \$autoape, 'autoshn' => \$autoshn, 'autoaac' => \$autoaac, 'autom4a' => \$autom4a, 'automp4' => \$automp4, 'autompc' => \$autompc, 'autompp' => \$autompp, 'autowv' => \$autowv, 'autoofr' => \$autoofr, 'autoofs' => \$autoofs, 'autotta' => \$autotta, 'autopac' => \$autopac, 'autolpac' => \$autolpac, 'autokxs' => \$autokxs, 'autoaiff' => \$autoaiff, 'autoau' => \$autoau, 'autosnd' => \$autosnd, 'autoraw' => \$autoraw, 'autovoc' => \$autovoc, 'autosmp' => \$autosmp, 'autoavr' => \$autoavr, 'autocdr' => \$autocdr, 'automp2' => \$automp2, 'autoac3' => \$autoac3, 'autola' => \$autola, 'autobonk' => \$autobonk, 'autowav' => \$autowav, 'autora' => \$autora, 'sndtomp3' => \$sndtomp3, 'sndtoogg' => \$sndtoogg, 'sndtoflac' => \$sndtoflac, 'sndtofla' => \$sndtofla, 'sndtoape' => \$sndtoape, 'sndtoshn' => \$sndtoshn, 'sndtoaac' => \$sndtoaac, 'sndtom4a' => \$sndtom4a, 'sndtomp4' => \$sndtomp4, 'sndtompc' => \$sndtompc, 'sndtompp' => \$sndtompp, 'sndtowv' => \$sndtowv, 'sndtoofr' => \$sndtoofr, 'sndtoofs' => \$sndtoofs, 'sndtotta' => \$sndtotta, 'sndtopac' => \$sndtopac, 'sndtolpac' => \$sndtolpac, 'sndtokxs' => \$sndtokxs, 'sndtoaiff' => \$sndtoaiff, 'sndtoau' => \$sndtoau, 'sndtosnd' => \$sndtosnd, 'sndtoraw' => \$sndtoraw, 'sndtovoc' => \$sndtovoc, 'sndtosmp' => \$sndtosmp, 'sndtoavr' => \$sndtoavr, 'sndtocdr' => \$sndtocdr, 'sndtomp2' => \$sndtomp2, 'sndtoac3' => \$sndtoac3, 'sndtola' => \$sndtola, 'sndtobonk' => \$sndtobonk, 'sndtowav' => \$sndtowav, 'sndtora' => \$sndtora, 'rawtomp3' => \$rawtomp3, 'rawtoogg' => \$rawtoogg, 'rawtoflac' => \$rawtoflac, 'rawtofla' => \$rawtofla, 'rawtoape' => \$rawtoape, 'rawtoshn' => \$rawtoshn, 'rawtoaac' => \$rawtoaac, 'rawtom4a' => \$rawtom4a, 'rawtomp4' => \$rawtomp4, 'rawtompc' => \$rawtompc, 'rawtompp' => \$rawtompp, 'rawtowv' => \$rawtowv, 'rawtoofr' => \$rawtoofr, 'rawtoofs' => \$rawtoofs, 'rawtotta' => \$rawtotta, 'rawtopac' => \$rawtopac, 'rawtolpac' => \$rawtolpac, 'rawtokxs' => \$rawtokxs, 'rawtoaiff' => \$rawtoaiff, 'rawtoau' => \$rawtoau, 'rawtosnd' => \$rawtosnd, 'rawtoraw' => \$rawtoraw, 'rawtovoc' => \$rawtovoc, 'rawtosmp' => \$rawtosmp, 'rawtoavr' => \$rawtoavr, 'rawtocdr' => \$rawtocdr, 'rawtomp2' => \$rawtomp2, 'rawtoac3' => \$rawtoac3, 'rawtola' => \$rawtola, 'rawtobonk' => \$rawtobonk, 'rawtowav' => \$rawtowav, 'rawtora' => \$rawtora, 'voctomp3' => \$voctomp3, 'voctoogg' => \$voctoogg, 'voctoflac' => \$voctoflac, 'voctofla' => \$voctofla, 'voctoape' => \$voctoape, 'voctoshn' => \$voctoshn, 'voctoaac' => \$voctoaac, 'voctom4a' => \$voctom4a, 'voctomp4' => \$voctomp4, 'voctompc' => \$voctompc, 'voctompp' => \$voctompp, 'voctowv' => \$voctowv, 'voctoofr' => \$voctoofr, 'voctoofs' => \$voctoofs, 'voctotta' => \$voctotta, 'voctopac' => \$voctopac, 'voctolpac' => \$voctolpac, 'voctokxs' => \$voctokxs, 'voctoaiff' => \$voctoaiff, 'voctoau' => \$voctoau, 'voctosnd' => \$voctosnd, 'voctoraw' => \$voctoraw, 'voctovoc' => \$voctovoc, 'voctosmp' => \$voctosmp, 'voctoavr' => \$voctoavr, 'voctocdr' => \$voctocdr, 'voctomp2' => \$voctomp2, 'voctoac3' => \$voctoac3, 'voctola' => \$voctola, 'voctobonk' => \$voctobonk, 'voctowav' => \$voctowav, 'voctora' => \$voctora, 'smptomp3' => \$smptomp3, 'smptoogg' => \$smptoogg, 'smptoflac' => \$smptoflac, 'smptofla' => \$smptofla, 'smptoape' => \$smptoape, 'smptoshn' => \$smptoshn, 'smptoaac' => \$smptoaac, 'smptom4a' => \$smptom4a, 'smptomp4' => \$smptomp4, 'smptompc' => \$smptompc, 'smptompp' => \$smptompp, 'smptowv' => \$smptowv, 'smptoofr' => \$smptoofr, 'smptoofs' => \$smptoofs, 'smptotta' => \$smptotta, 'smptopac' => \$smptopac, 'smptolpac' => \$smptolpac, 'smptokxs' => \$smptokxs, 'smptoaiff' => \$smptoaiff, 'smptoau' => \$smptoau, 'smptosnd' => \$smptosnd, 'smptoraw' => \$smptoraw, 'smptovoc' => \$smptovoc, 'smptosmp' => \$smptosmp, 'smptoavr' => \$smptoavr, 'smptocdr' => \$smptocdr, 'smptomp2' => \$smptomp2, 'smptoac3' => \$smptoac3, 'smptola' => \$smptola, 'smptobonk' => \$smptobonk, 'smptowav' => \$smptowav, 'smptora' => \$smptora, 'avrtomp3' => \$avrtomp3, 'avrtoogg' => \$avrtoogg, 'avrtoflac' => \$avrtoflac, 'avrtofla' => \$avrtofla, 'avrtoape' => \$avrtoape, 'avrtoshn' => \$avrtoshn, 'avrtoaac' => \$avrtoaac, 'avrtom4a' => \$avrtom4a, 'avrtomp4' => \$avrtomp4, 'avrtompc' => \$avrtompc, 'avrtompp' => \$avrtompp, 'avrtowv' => \$avrtowv, 'avrtoofr' => \$avrtoofr, 'avrtoofs' => \$avrtoofs, 'avrtotta' => \$avrtotta, 'avrtopac' => \$avrtopac, 'avrtolpac' => \$avrtolpac, 'avrtokxs' => \$avrtokxs, 'avrtoaiff' => \$avrtoaiff, 'avrtoau' => \$avrtoau, 'avrtosnd' => \$avrtosnd, 'avrtoraw' => \$avrtoraw, 'avrtovoc' => \$avrtovoc, 'avrtosmp' => \$avrtosmp, 'avrtoavr' => \$avrtoavr, 'avrtocdr' => \$avrtocdr, 'avrtomp2' => \$avrtomp2, 'avrtoac3' => \$avrtoac3, 'avrtola' => \$avrtola, 'avrtobonk' => \$avrtobonk, 'avrtowav' => \$avrtowav, 'avrtora' => \$avrtora, 'cdrtomp3' => \$cdrtomp3, 'cdrtoogg' => \$cdrtoogg, 'cdrtoflac' => \$cdrtoflac, 'cdrtofla' => \$cdrtofla, 'cdrtoape' => \$cdrtoape, 'cdrtoshn' => \$cdrtoshn, 'cdrtoaac' => \$cdrtoaac, 'cdrtom4a' => \$cdrtom4a, 'cdrtomp4' => \$cdrtomp4, 'cdrtompc' => \$cdrtompc, 'cdrtompp' => \$cdrtompp, 'cdrtowv' => \$cdrtowv, 'cdrtoofr' => \$cdrtoofr, 'cdrtoofs' => \$cdrtoofs, 'cdrtotta' => \$cdrtotta, 'cdrtopac' => \$cdrtopac, 'cdrtolpac' => \$cdrtolpac, 'cdrtokxs' => \$cdrtokxs, 'cdrtoaiff' => \$cdrtoaiff, 'cdrtoau' => \$cdrtoau, 'cdrtosnd' => \$cdrtosnd, 'cdrtoraw' => \$cdrtoraw, 'cdrtovoc' => \$cdrtovoc, 'cdrtosmp' => \$cdrtosmp, 'cdrtoavr' => \$cdrtoavr, 'cdrtocdr' => \$cdrtocdr, 'cdrtomp2' => \$cdrtomp2, 'cdrtoac3' => \$cdrtoac3, 'cdrtola' => \$cdrtola, 'cdrtobonk' => \$cdrtobonk, 'cdrtowav' => \$cdrtowav, 'cdrtora' => \$cdrtora, 'mp2tomp3' => \$mp2tomp3, 'mp2toogg' => \$mp2toogg, 'mp2toflac' => \$mp2toflac, 'mp2tofla' => \$mp2tofla, 'mp2toape' => \$mp2toape, 'mp2toshn' => \$mp2toshn, 'mp2toaac' => \$mp2toaac, 'mp2tom4a' => \$mp2tom4a, 'mp2tomp4' => \$mp2tomp4, 'mp2tompc' => \$mp2tompc, 'mp2tompp' => \$mp2tompp, 'mp2towv' => \$mp2towv, 'mp2toofr' => \$mp2toofr, 'mp2toofs' => \$mp2toofs, 'mp2totta' => \$mp2totta, 'mp2topac' => \$mp2topac, 'mp2tolpac' => \$mp2tolpac, 'mp2tokxs' => \$mp2tokxs, 'mp2toaiff' => \$mp2toaiff, 'mp2toau' => \$mp2toau, 'mp2tosnd' => \$mp2tosnd, 'mp2toraw' => \$mp2toraw, 'mp2tovoc' => \$mp2tovoc, 'mp2tosmp' => \$mp2tosmp, 'mp2toavr' => \$mp2toavr, 'mp2tocdr' => \$mp2tocdr, 'mp2tomp2' => \$mp2tomp2, 'mp2toac3' => \$mp2toac3, 'mp2tola' => \$mp2tola, 'mp2tobonk' => \$mp2tobonk, 'mp2tora' => \$mp2tora, 'mp2towav' => \$mp2towav, 'ac3tomp3' => \$ac3tomp3, 'ac3toogg' => \$ac3toogg, 'ac3toflac' => \$ac3toflac, 'ac3tofla' => \$ac3tofla, 'ac3toape' => \$ac3toape, 'ac3toshn' => \$ac3toshn, 'ac3toaac' => \$ac3toaac, 'ac3tom4a' => \$ac3tom4a, 'ac3tomp4' => \$ac3tomp4, 'ac3tompc' => \$ac3tompc, 'ac3tompp' => \$ac3tompp, 'ac3towv' => \$ac3towv, 'ac3toofr' => \$ac3toofr, 'ac3toofs' => \$ac3toofs, 'ac3totta' => \$ac3totta, 'ac3topac' => \$ac3topac, 'ac3tolpac' => \$ac3tolpac, 'ac3tokxs' => \$ac3tokxs, 'ac3toaiff' => \$ac3toaiff, 'ac3toau' => \$ac3toau, 'ac3tosnd' => \$ac3tosnd, 'ac3toraw' => \$ac3toraw, 'ac3tovoc' => \$ac3tovoc, 'ac3tosmp' => \$ac3tosmp, 'ac3toavr' => \$ac3toavr, 'ac3tocdr' => \$ac3tocdr, 'ac3tomp2' => \$ac3tomp2, 'ac3toac3' => \$ac3toac3, 'ac3tola' => \$ac3tola, 'ac3tobonk' => \$ac3tobonk, 'ac3towav' => \$ac3towav, 'ac3tora' => \$ac3tora, 'latomp3' => \$latomp3, 'latoogg' => \$latoogg, 'latoflac' => \$latoflac, 'latofla' => \$latofla, 'latoape' => \$latoape, 'latoshn' => \$latoshn, 'latoaac' => \$latoaac, 'latom4a' => \$latom4a, 'latomp4' => \$latomp4, 'latompc' => \$latompc, 'latompp' => \$latompp, 'latowv' => \$latowv, 'latoofr' => \$latoofr, 'latoofs' => \$latoofs, 'latotta' => \$latotta, 'latopac' => \$latopac, 'latolpac' => \$latolpac, 'latokxs' => \$latokxs, 'latoaiff' => \$latoaiff, 'latoau' => \$latoau, 'latosnd' => \$latosnd, 'latoraw' => \$latoraw, 'latovoc' => \$latovoc, 'latosmp' => \$latosmp, 'latoavr' => \$latoavr, 'latocdr' => \$latocdr, 'latomp2' => \$latomp2, 'latoac3' => \$latoac3, 'latola' => \$latola, 'latobonk' => \$latobonk, 'latowav' => \$latowav, 'latora' => \$latora, 'bonktomp3' => \$bonktomp3, 'bonktoogg' => \$bonktoogg, 'bonktoflac' => \$bonktoflac, 'bonktofla' => \$bonktofla, 'bonktoape' => \$bonktoape, 'bonktoshn' => \$bonktoshn, 'bonktoaac' => \$bonktoaac, 'bonktom4a' => \$bonktom4a, 'bonktomp4' => \$bonktomp4, 'bonktompc' => \$bonktompc, 'bonktompp' => \$bonktompp, 'bonktowv' => \$bonktowv, 'bonktoofr' => \$bonktoofr, 'bonktoofs' => \$bonktoofs, 'bonktotta' => \$bonktotta, 'bonktopac' => \$bonktopac, 'bonktolpac' => \$bonktolpac, 'bonktokxs' => \$bonktokxs, 'bonktoaiff' => \$bonktoaiff, 'bonktoau' => \$bonktoau, 'bonktosnd' => \$bonktosnd, 'bonktoraw' => \$bonktoraw, 'bonktovoc' => \$bonktovoc, 'bonktosmp' => \$bonktosmp, 'bonktoavr' => \$bonktoavr, 'bonktocdr' => \$bonktocdr, 'bonktomp2' => \$bonktomp2, 'bonktoac3' => \$bonktoac3, 'bonktola' => \$bonktola, 'bonktobonk' => \$bonktobonk, 'bonktowav' => \$bonktowav, 'bonktora' => \$bonktora, 'wavtomp3' => \$wavtomp3, 'wavtoogg' => \$wavtoogg, 'wavtoflac' => \$wavtoflac, 'wavtofla' => \$wavtofla, 'wavtoape' => \$wavtoape, 'wavtoshn' => \$wavtoshn, 'wavtoaac' => \$wavtoaac, 'wavtom4a' => \$wavtom4a, 'wavtomp4' => \$wavtomp4, 'wavtompc' => \$wavtompc, 'wavtompp' => \$wavtompp, 'wavtowv' => \$wavtowv, 'wavtoofr' => \$wavtoofr, 'wavtoofs' => \$wavtoofs, 'wavtotta' => \$wavtotta, 'wavtopac' => \$wavtopac, 'wavtolpac' => \$wavtolpac, 'wavtokxs' => \$wavtokxs, 'wavtoaiff' => \$wavtoaiff, 'wavtoau' => \$wavtoau, 'wavtosnd' => \$wavtosnd, 'wavtoraw' => \$wavtoraw, 'wavtovoc' => \$wavtovoc, 'wavtosmp' => \$wavtosmp, 'wavtoavr' => \$wavtoavr, 'wavtocdr' => \$wavtocdr, 'wavtomp2' => \$wavtomp2, 'wavtoac3' => \$wavtoac3, 'wavtola' => \$wavtola, 'wavtobonk' => \$wavtobonk, 'wavtora' => \$wavtora, 'wmatomp3' => \$wmatomp3, 'wmatoogg' => \$wmatoogg, 'wmatoflac' => \$wmatoflac, 'wmatofla' => \$wmatofla, 'wmatoape' => \$wmatoape, 'wmatoshn' => \$wmatoshn, 'wmatoaac' => \$wmatoaac, 'wmatom4a' => \$wmatom4a, 'wmatomp4' => \$wmatomp4, 'wmatompc' => \$wmatompc, 'wmatompp' => \$wmatompp, 'wmatowv' => \$wmatowv, 'wmatoofr' => \$wmatoofr, 'wmatoofs' => \$wmatoofs, 'wmatotta' => \$wmatotta, 'wmatopac' => \$wmatopac, 'wmatolpac' => \$wmatolpac, 'wmatokxs' => \$wmatokxs, 'wmatoaiff' => \$wmatoaiff, 'wmatoau' => \$wmatoau, 'wmatosnd' => \$wmatosnd, 'wmatoraw' => \$wmatoraw, 'wmatovoc' => \$wmatovoc, 'wmatosmp' => \$wmatosmp, 'wmatoavr' => \$wmatoavr, 'wmatocdr' => \$wmatocdr, 'wmatomp2' => \$wmatomp2, 'wmatoac3' => \$wmatoac3, 'wmatola' => \$wmatola, 'wmatobonk' => \$wmatobonk, 'wmatowav' => \$wmatowav, 'wmatora' => \$wmatora, 'ratomp3' => \$ratomp3, 'ratoogg' => \$ratoogg, 'ratoflac' => \$ratoflac, 'ratofla' => \$ratofla, 'ratoape' => \$ratoape, 'ratoshn' => \$ratoshn, 'ratoaac' => \$ratoaac, 'ratom4a' => \$ratom4a, 'ratomp4' => \$ratomp4, 'ratompc' => \$ratompc, 'ratompp' => \$ratompp, 'ratowv' => \$ratowv, 'ratoofr' => \$ratoofr, 'ratoofs' => \$ratoofs, 'ratotta' => \$ratotta, 'ratopac' => \$ratopac, 'ratolpac' => \$ratolpac, 'ratokxs' => \$ratokxs, 'ratoaiff' => \$ratoaiff, 'ratoau' => \$ratoau, 'ratosnd' => \$ratosnd, 'ratoraw' => \$ratoraw, 'ratovoc' => \$ratovoc, 'ratosmp' => \$ratosmp, 'ratoavr' => \$ratoavr, 'ratocdr' => \$ratocdr, 'ratomp2' => \$ratomp2, 'ratoac3' => \$ratoac3, 'ratola' => \$ratola, 'ratobonk' => \$ratobonk, 'ratowav' => \$ratowav, 'ratora' => \$ratora, 'ramtomp3' => \$ramtomp3, 'ramtoogg' => \$ramtoogg, 'ramtoflac' => \$ramtoflac, 'ramtofla' => \$ramtofla, 'ramtoape' => \$ramtoape, 'ramtoshn' => \$ramtoshn, 'ramtoaac' => \$ramtoaac, 'ramtom4a' => \$ramtom4a, 'ramtomp4' => \$ramtomp4, 'ramtompc' => \$ramtompc, 'ramtompp' => \$ramtompp, 'ramtowv' => \$ramtowv, 'ramtoofr' => \$ramtoofr, 'ramtoofs' => \$ramtoofs, 'ramtotta' => \$ramtotta, 'ramtopac' => \$ramtopac, 'ramtolpac' => \$ramtolpac, 'ramtokxs' => \$ramtokxs, 'ramtoaiff' => \$ramtoaiff, 'ramtoau' => \$ramtoau, 'ramtosnd' => \$ramtosnd, 'ramtoraw' => \$ramtoraw, 'ramtovoc' => \$ramtovoc, 'ramtosmp' => \$ramtosmp, 'ramtoavr' => \$ramtoavr, 'ramtocdr' => \$ramtocdr, 'ramtomp2' => \$ramtomp2, 'ramtoac3' => \$ramtoac3, 'ramtola' => \$ramtola, 'ramtobonk' => \$ramtobonk, 'ramtowav' => \$ramtowav, 'ramtora' => \$ramtora, 'h|help' => \$help, 'man' => \$man, 'url=s' => \$url, 'lh|longhelp' => \$longhelp, 'rh|riphelp' => \$riphelp, 'th|taghelp' => \$taghelp, 'vh|videohelp' => \$videohelp, 'nocddb' => \$nocddb, 'noinput' => \$noinput, 'cdinfo' => \$cdinfo, 'dev|device=s' => \$device, 'outstring=s' => \$out_string, 'b|bitrate=i' => \$bitrate, 'ql|qlevel=i' => \$qlevel, 'dr|dratio=i' => \$dratio, 'ps|psize=i' => \$psize, 'll|lossless' => \$lossless, 'ac|channels=i' => \$channels, 'ar|arate=i' => \$freq, 'q|quality=i' => \$quality, 'c|flevel=i' => \$flevel, 'z|alevel=s' => \$alevel, 'i|slevel=i' => \$slevel, 'x|xlevel=s' => \$xlevel, 'm|mode=s' => \$mode, 'op|optimize=s' => \$optimize, 'e|plevel=i' => \$plevel, 'o|outdir=s' => \$out_dir, 'p|outfile=s' => \$outfile, 'version' => \$ver, 'delete' => \$delete, 'u|uopts=s' => \$audio_opts, 'ro|rawopts=s' => \$raw_opts, 'so|soxopts=s' => \$sox_opts, 'ef|effect=s' => \$effect, 'py|play=s' => \$play, 'a|all' => \$all, 'pl|playlist=s' => \$playlist, 're|recursive' => \$recursive, 'pd|presdir' => \$presdir, 'f|file=s' => \@file, 'd|dir=s' => \@dir, 't|tracks=s' => \@tracks, 'ov|overwrite' => \$overwrite, 'taginfo' => \$taginfo, 'artist=s' => \$artist, 'title=s' => \$title, 'album=s' => \$album, 'year=s' => \$year, 'genre=s' => \$genre, 'track=s' => \$track, 'comment=s' => \$comment, 'ct|convertto=s' => \$conv_to, 'gui' => \$gui, 'daemon' => \$daemon) or pac_msg("$lang{$mylang}{help_and_options}","error"); pod2usage(-exitstatus => 0, -verbose => 2) if $man; # Priority Scheduling $nice = ''; $nice = "$config{'NICE'} $config{'NICLEVEL'}" if $use_nice eq 1; check_apps($config{'NICE'}) if $use_nice eq 1; my $daemon_msg = 0; # Daemon Mode sub start_daemon { no warnings "recursion"; pac_msg("$lang{$mylang}{mon_dirs_empty}", "error") if (not $config{MONITOR} and not $config{RECMON}); pac_msg("$lang{$mylang}{pacpl_not_found}","error") unless(`which pacpl 2>/dev/null`); my $mdelsrc = ''; my $moverw = ''; my $mout; my $daemon_head = "[PACPL-Daemon]"; if ($config{MOVERW} eq "1") { $moverw = "--overwrite"; } print "\n$name - $version\n\n" if $daemon_msg ne 1; foreach my $mondir (split(/,/, $config{MONITOR})) { print "$lang{$mylang}{mon_dir} $mondir\n" if $daemon_msg ne 1; } foreach my $recmon (split(/,/, $config{RECMON})) { print "$lang{$mylang}{rec_mon_dir} $recmon\n" if $daemon_msg ne 1; } # process separate user defined directories foreach my $mdir (split(/,/, $config{MONITOR})) { opendir(MDIR, "$mdir") or pac_msg("$lang{$mylang}{could_not_open_dir}: $mdir","error"); foreach my $mfile (readdir(MDIR)) { if ($mfile !~ /\.$config{COLTYPE}$/i and $mfile ne "." and $mfile ne ".." and $mfile ne "$mdir/.directory") { $mout = $mfile; $mout =~ s/\.\w\w\w$|\.\w\w\w\w$//i; $mout = "$mout.$config{COLTYPE}"; if (not -d "$mdir/$mfile" and -e "$mdir/$mfile") { print "\e[1;37m\n$daemon_head\e[0m "; print "$lang{$mylang}{start_convert} $mfile to $config{COLTYPE}\n"; system("pacpl -ct $config{COLTYPE} $moverw \"$mdir/$mfile\" 1>/dev/null 2>/dev/null"); print "\e[1;37m\n$daemon_head\e[0m "; print "$lang{$mylang}{remove_src_file} $mfile\n" and unlink("$mdir/$mfile") if $config{MDELSRC} eq 1 and -e "$mdir/$mout"; } } } } # now process all user defined directories marked recursive... foreach my $r (split(/,/, $config{RECMON})) { $r = abs_path($r); find ( sub { my $rfile = $File::Find::name; if ($rfile !~ /\.$config{COLTYPE}$/i and $rfile ne "$r/.directory" and $rfile ne "." and $rfile ne "..") { $mout = $rfile; $mout =~ s/\.\w\w\w$|\.\w\w\w\w$//i; $mout = "$mout.$config{COLTYPE}"; if (not -d "$rfile" and -e "$rfile") { system("pacpl -ct $config{COLTYPE} $moverw \"$rfile\""); unlink("$r/$rfile") if $config{MDELSRC} eq 1 and -e "$r/$mout"; } } }, $r ); } sleep($config{MINTERVAL}); $daemon_msg = 1; start_daemon(); } # Console / KDE - Notifications & Warnings sub pac_msg { my ($message, $type) = @_; # Warnings / Error messages if ($type eq "error") { if ($kwarn eq '1' and $gui) { system("$kdialog --title \"$name - $version\" --$type \"$message\" &"); exit(1); } else { print "\n$name - $version\n\n$message\n\n"; exit(1); } } # Other messages / Notices elsif ($type eq "notice") { if ($kpopup eq '1' and $gui) { system("$kdialog --title \"PAC $version\" --$knotice \"$message\" $kdelay &"); } else { print "\n$name - $version\n\n$message\n\n"; } } } # Application URLs my %app_location = ( lame => 'http://lame.sourceforge.net', oggenc => 'http://www.vorbis.com', oggdec => 'http://www.vorbis.com', flac => 'http://flac.sourceforge.net', mac => 'http://www.sourceforge.net/projects/mac-port', shorten => 'http://www.etree.org/linux.html#reqsoft', faac => 'http://www.audiocoding.com', faad => 'http://www.audiocoding.com', mppenc => 'http://www.musepack.com', mppdec => 'http://www.musepack.com', wavpack => 'http://www.wavpack.com', wvunpack => 'http://www.wavpack.com', ofr => 'http://www.LosslessAudio.org', ofs => 'http://www.LosslessAudio.org', ttaenc => 'http://www.true-audio.com', lpac => 'http://www.nue.tu-berlin.de/wer/liebchen/lpac.html', kexis => 'http://sourceforge.net/projects/kexis', sox => 'http://sox.sourceforge.net', mplayer => 'http://www.mplayerhq.hu', ffmpeg => 'http://ffmpeg.sourceforge.net', la => 'http://www.lossless-audio.com', bonk => 'http://www.logarithmic.net/pfh/bonk', cdparanoia => 'http://www.xiph.org/paranoia/', kdialog => 'http://www.kde.org/' ); # Check if required applications exist sub check_apps { my ($encoder, $decoder) = ''; ($encoder, $decoder) = @_; my $enc_name = basename("$encoder") if $encoder; my $dec_name = basename("$decoder") if $decoder; if ($encoder and not -e $encoder) { pac_msg("$lang{$mylang}{missing_app} $encoder\n\n$!\n\n$lang{$mylang}{edit_conf_or_dl_from}\n\n$app_location{$enc_name}","error"); } if ($decoder and not -e $decoder) { pac_msg("$lang{$mylang}{missing_app} $decoder\n\n$!\n\n$lang{$mylang}{edit_conf_or_dl_from}\n\n$app_location{$dec_name}","error"); } } # Make sure we have kdialog if any of the KDE options are set to 1 if ($kpopup eq '1' and $gui and not -e $kdialog) { pac_msg("$lang{$mylang}{could_not_find} '$kdialog'\n\n$lang{$mylang}{edit_conf_or_check_inst}","error"); } if ($kwarn eq '1' and $gui and not -e $kdialog) { pac_msg("$lang{$mylang}{could_not_find} '$kdialog'\n\n$lang{$mylang}{edit_conf_or_check_inst}","error"); } if ($kuseropts eq '1' and $gui and not -e $kdialog) { pac_msg("$lang{$mylang}{could_not_find} '$kdialog'\n\n$lang{$mylang}{edit_conf_or_check_inst}","error"); } # KDE Message my %kde_lang = ( EN => { select_bitrate => 'Select Bitrate', ogg_quality => 'Ogg Vorbis Quality', flac_comp => 'FLAC Compression Level', ape_comp => 'APE Compression Level', mpc_comp => 'Musepack Compression Level', lpac_comp => 'LPAC Compression Level', aac_quality => 'Quantizer quality', of_mode => 'OptimFrog Compression Mode', of_level => 'OptimFrog Optimization Level', rate => 'Audio Sampling Rate', channels => 'Audio Channels', quan_level => 'Quantization Level', down_ratio => 'Downsampling Ratio', pred_size => 'Predictor Size', lossless => 'Lossless? (1 = Yes, 2 = No)', }, PT => { select_bitrate => 'Selecciona o Bitrate', ogg_quality => 'Eualidade Ogg Vorbis', flac_comp => 'Nível de Compressao FLAC', ape_comp => 'Nível de Compressao APE', mpc_comp => 'Nível de Compressao Musepack', lpac_comp => 'Nível de Compressao LPAC', aac_quality => 'Qualidade Quantizer', of_mode => 'Modo de Compressao OptimFrog', of_level => 'Nível de Optimizaçao OptimFrog', rate => 'Tamanho de Amostragem', channels => 'Canais Audio', quan_level => 'Nível Quantization', down_ratio => 'Relaçao de Downsampling', pred_size => 'Tamanho do Predictor', lossless => 'Lossless? (1 = Sim, 2 = Nao)', }, FR => { select_bitrate => 'Selectionne le dACbit', ogg_quality => 'QualitAC Ogg Vorbis', flac_comp => 'Niveau de compression FLAC', ape_comp => 'Niveau de compression APE', mpc_comp => 'Niveau de compressiob Musepack', lpac_comp => 'Niveau de compression LPAC', aac_quality => 'QualitAC de la quantification AAC', of_mode => 'Mode compression OptimFrog', of_level => 'Niveau d\'optimisation OptimFrog', rate => 'Echantillonage audio', channels => 'Nombre de voies audio ', quan_level => 'Niveau de quantification', down_ratio => 'Rapport de la baisse d\'ACchantillonage', pred_size => 'Taille du prACdicteur', lossless => 'Sans pertes ? (1 = Oui, 2 = Non)', }, ); my $ptitle = "$name - $version \n\n"; my %kdialog_show = ( bitrate => "$kdialog --default $bitrate --combobox \"$ptitle $kde_lang{$mylang}{select_bitrate}\" 56 112 128 160 192 256", oggquality => "$kdialog --default $quality --combobox \"$ptitle $kde_lang{$mylang}{ogg_quality}\" 0 1 2 3 4 5 6 7 8 9 10", flevel => "$kdialog --default $flevel --combobox \"$ptitle $kde_lang{$mylang}{flac_comp}\" 0 1 2 3 4 5 6 7 8", alevel => "$kdialog --default $alevel --combobox \"$ptitle $kde_lang{$mylang}{ape_comp}\" 1000 2000 3000 4000 5000", aacquality => "$kdialog --default 100 --combobox \"$ptitle $kde_lang{$mylang}{aac_quality}\" 50 75 100 125 150", xlevel => "$kdialog --default $xlevel --combobox \"$ptitle $kde_lang{$mylang}{mpc_comp}\" thumb radio standard xtreme insane braindead", plevel => "$kdialog --default $plevel --combobox \"$ptitle $kde_lang{$mylang}{lpac_comp}\" 1 2 3 4 5", qlevel => "$kdialog --default $qlevel --combobox \"$ptitle $kde_lang{$mylang}{quan_level}\" 1.0 1.5 2.0 2.5 3.0 3.5", mode => "$kdialog --default $mode --combobox \"$ptitle $kde_lang{$mylang}{of_mode}\" fast normal high extra best highnew extranew bestnew", optimize => "$kdialog --default $optimize --combobox \"$ptitle $kde_lang{$mylang}{of_level}\" none fast normal high best", rate => "$kdialog --default $freq --combobox \"$ptitle $kde_lang{$mylang}{rate}\" 32000 44100 48000", channels => "$kdialog --default $channels --combobox \"$ptitle $kde_lang{$mylang}{channels}\" 1 2 4", dratio => "$kdialog --default $dratio --combobox \"$ptitle $kde_lang{$mylang}{down_ratio}\" 1 2 3 4 5", psize => "$kdialog --default $psize --combobox \"$ptitle $kde_lang{$mylang}{pred_size}\" 10 128", lossless => "$kdialog --default 1 --combobox \"$ptitle $kde_lang{$mylang}{lossless}\" 1 2", ); # Get user options through kdialog sub get_user_opts { if ($kuseropts eq '1' and $gui) { $bitrate = `$kdialog_show{bitrate}` and chomp($bitrate) if "@_" =~ /bitrate/i; $quality = `$kdialog_show{oggquality}` and chomp($quality) if "@_" =~ /oggquality/i; $flevel = `$kdialog_show{flevel}` and chomp($flevel) if "@_" =~ /flevel/i; $alevel = `$kdialog_show{alevel}` and chomp($alevel) if "@_" =~ /alevel/i; $quality = `$kdialog_show{aacquality}` and chomp($quality) if "@_" =~ /aacquality/i; $xlevel = `$kdialog_show{xlevel}` and chomp($xlevel) if "@_" =~ /xlevel/i; $plevel = `$kdialog_show{plevel}` and chomp($plevel) if "@_" =~ /plevel/i; $mode = `$kdialog_show{mode}` and chomp($mode) if "@_" =~ /mode/i; $optimize = `$kdialog_show{optimize}` and chomp($optimize) if "@_" =~ /optimize/i; $freq = `$kdialog_show{rate}` and chomp($freq) if "@_" =~ /rate/i; $channels = `$kdialog_show{channels}` and chomp($channels) if "@_" =~ /channels/i; $qlevel = `$kdialog_show{qlevel}` and chomp($qlevel) if "@_" =~ /qlevel/i; $dratio = `$kdialog_show{dratio}` and chomp($dratio) if "@_" =~ /dratio/i; $psize = `$kdialog_show{psize}` and chomp($psize) if "@_" =~ /psize/i; $lossless = `$kdialog_show{lossless}` and chomp($lossless) if "@_" =~ /lossless/i; undef($lossless) if $lossless eq 2; undef($kuseropts); } } # Audio Player settings (used by sub pac_play();) my %run_play = ( mp2 => "$mplayer $audio_opts", mp3 => "$mp3player $audio_opts", ogg => "$oggplayer $audio_opts", flac => "$flacplayer $audio_opts", fla => "$flacplayer $audio_opts", mp4 => "$mp4player $audio_opts", m4a => "$mp4player $audio_opts", m4p => "$mp4player $audio_opts", mpc => "$mpcplayer $audio_opts", mpp => "$mpcplayer $audio_opts", wma => "$wmaplayer $audio_opts", bonk => "$bonkplayer $audio_opts", wav => "$wavplayer $audio_opts", aiff => "play $audio_opts", au => "play $audio_opts", snd => "play $audio_opts", voc => "play $audio_opts", smp => "play $audio_opts", avr => "play $audio_opts", cdr => "play $audio_opts", ac3 => "$mplayer $audio_opts", ra => "$raplayer $audio_opts", ram => "$raplayer $audio_opts", ); # Play Audio sub pac_play { my $type = shift; pac_msg("$lang{$mylang}{could_not_play}","error") unless(exists($run_play{$type})); pac_msg("$lang{$mylang}{playing}: \"$play\"","notice"); system("$nice $run_play{$type} \"$play\""); exit(0); } # Get absolute path of out_dir $out_dir = abs_path($out_dir) if $out_dir and not $presdir; # Main sub pac_convert { my ($ext, $new_ext, $enc_opt, $ulink) = @_; # Playlist Conversion if ($playlist) { if (not -e $playlist or -z $playlist) { pac_msg("$lang{$mylang}{could_not_open} '$playlist'\n\n$!","error"); } open(FILE, "$playlist") or pac_msg("$lang{$mylang}{could_not_open} '$playlist'\n\n$!","error"); my @list = ; @list = grep(!/^#/, @list); # XMMS Playlist close(FILE); foreach my $i (@list) { chomp($i); push(@file, $i) if ($i =~/\.$ext/i); } } # Single & Multiple Files if (@file) { foreach $audio_file (@file) { unless(-e $audio_file) { pac_msg("'$audio_file' $lang{$mylang}{does_not_exist}","notice"); next } if ($audio_file =~ /\.$ext$/i) { $new_file = $audio_file; $new_file =~ s/\.$ext//gi; $out_file = "$new_file.$new_ext"; my $base_name = basename($new_file); my $dir_name = dirname($new_file); # Remove commas from file names $new_file =~ s/,//g; if ($#file eq '0' and defined($outfile)) { $out_file = "$outfile"; } elsif ($#file gt '0' and defined($outfile)) { pac_msg("'--outfile' $lang{$mylang}{error_multi_files}","error"); } if ($koutdir eq '1' and $gui and not $get_out_directory and not $out_dir) { $out_dir = `$kdialog --title \"$name - $version - $lang{$mylang}{file_destination}\" --getexistingdirectory $ENV{PWD}`; chomp($out_dir); $get_out_directory = 1; if ($out_dir eq '') { exit 1; } unless(-w $out_dir) { pac_msg("$lang{$mylang}{error_write_perm} '$out_dir'","error"); } } if ($out_dir) { if (-d $out_dir) { $out_file = "$out_dir/$base_name.$new_ext"; } else { pac_msg("$lang{$mylang}{could_not_open_dir}: $out_dir\n\n$!","error"); } } if (-e $out_file and $overwrite or not -e $out_file) { pac_msg("$lang{$mylang}{start_convert}\n$base_name.$ext ->\n$out_file", "notice") if $outfile; pac_msg("$lang{$mylang}{start_convert}\n$base_name.$ext ->\n$base_name.$new_ext", "notice") if not $outfile; # Make System Call sys_call($enc_opt, $audio_file, $new_file, $out_file); pac_msg("$lang{$mylang}{end_convert}\n\n$base_name.$ext ->\n$out_file\n", "notice") if $outfile and -e $out_file; pac_msg("$lang{$mylang}{end_convert}\n\n$base_name.$ext ->\n$base_name.$new_ext\n", "notice") if not $outfile and -e $out_file; } else { pac_msg("'$out_file' $lang{$mylang}{outfile_exists}","notice"); } sleep($kdelay) if $gui; # Remove temp wav file if created unlink("$new_file.wav") if $ulink eq 1 and "$new_file.wav" ne $audio_file; # Remove source file after conversion (--delete) if (defined $delete and $audio_file ne $out_file and -e $out_file) { unlink("$audio_file"); pac_msg("$lang{$mylang}{remove_src_file} '$audio_file'","notice"); } } else { pac_msg("'$audio_file' $lang{$mylang}{not_src_type}.","notice") if not $gui and not $recursive; } } } # End --file # Directory Conversion if (@dir) { # Recursivley scan directory if ($recursive and not $conv_to and not $presdir) { my @rec_dir = @dir; undef(@dir); foreach my $r (@rec_dir) { $r = abs_path($r); find ( sub { my $rfile = $File::Find::name; @file=(); push(@file, $rfile); pac_convert("$ext", "$new_ext", "$enc_opt", "$ulink"); }, $r ); } } elsif ($recursive and not $conv_to and $presdir) { my @rec_dir = @dir; undef(@dir); $pdir = "$rec_dir[0]"; $pdir = abs_path($pdir); $pfmt = $new_ext; preserve_dir($pdir); } else { my $pwd = $ENV{PWD}; foreach my $audio_dir (@dir) { chdir($pwd); unless(-d $audio_dir) { pac_msg("$lang{$mylang}{could_not_open_dir} '$audio_dir'","notice"); next } opendir(DIR, "$audio_dir") or pac_msg("$lang{$mylang}{could_not_open_dir} '$audio_dir'\n\n$!","error"); chdir($audio_dir) or pac_msg("$lang{$mylang}{could_not_open_dir} '$audio_dir'\n\n$!","error"); my @dir_content = readdir(DIR); closedir(DIR); @dir_content = grep(!/\.\./, @dir_content); if ($#dir_content <= 0) { pac_msg("Directory '$audio_dir' empty, try using the --recursive option","error"); } foreach $audio_file (@dir_content) { if ($audio_file =~ /\.$ext$/i) { $new_file = $audio_file; $new_file =~ s/\.$ext//gi; $out_file = "$new_file.$new_ext"; my ($base_name, $dir) = fileparse($new_file); # Remove commas from filename $new_file =~ s/,//g; if ($gui and not $get_out_directory and $koutdir eq 1 and not $out_dir) { $out_dir = `$kdialog --title \"PAC $version - $lang{$mylang}{file_destination}\" --getexistingdirectory $ENV{PWD}`; chomp($out_dir); $get_out_directory = 1; if ($out_dir eq '') { exit 1; } unless(-w $out_dir) { pac_msg("$lang{$mylang}{error_write_perm} '$out_dir'","error"); } } if ($out_dir) { if (-d $out_dir) { $out_file = "$out_dir/$base_name.$new_ext"; } else { pac_msg("$lang{$mylang}{could_not_open_dir} '$out_dir':\n\n$!","error"); } } if (-e $out_file and $overwrite or not -e $out_file) { pac_msg("$lang{$mylang}{start_convert}\n$base_name.$ext ->\n$base_name.$new_ext", "notice"); # Make System Call sys_call($enc_opt, $audio_file, $new_file, $out_file); pac_msg("$lang{$mylang}{end_convert}\n\n$base_name.$ext ->\n$base_name.$new_ext\n", "notice") if -e $out_file; } else { pac_msg("'$out_file' $lang{$mylang}{outfile_exists}","notice"); } # Remove tmp wav file if created unlink("$new_file.wav") if $ulink eq 1 and "$new_file.wav" ne $audio_file; # Remove source file after conversion (--delete) if (defined $delete and $audio_file ne $out_file and -e $out_file) { unlink("$audio_file"); pac_msg("$lang{$mylang}{remove_src_file} '$audio_file'","notice"); } } } } } } # End --dir if (not @dir and not @file and not $playlist) { pac_msg("$lang{$mylang}{please_specify_opt} --dir, --file, --playlist\n\n$!","error"); } } $out_copy = $out_dir if defined($out_dir); # Preserve Directory Structure sub post_preserve { my $to = $pfmt; undef $out_dir if defined $out_dir; if (! -d $out_copy) { mkdir($out_copy); } $out_copy = abs_path($out_copy); my $i = $File::Find::name; my $presdirs; my $outdirs; if (-d $i and $i ne $pdir) { my $out = $i; $out =~ s/$pdir\///g; $presdirs = "$pdir/$out"; $outdirs = "$out_copy/$out"; $out_dir = "$outdirs"; if (-d $i and not -d $outdirs) { mkdir("$out_dir"); } opendir(IN, "$presdirs") or pac_msg("$lang{$mylang}{could_not_open_diir} '$out_dir':\n\n$!","error"); foreach my $i (readdir(IN)) { if (not -d $i and not -d "$presdirs/$i") { mkdir("$outdirs") if not -d $outdirs; @file=(); push(@file, "$presdirs/$i"); convert_to("$to","$presdirs/$i"); } } undef $presdirs; undef $outdirs; } elsif (-d $i and $i eq $pdir) { $presdirs = "$pdir"; $outdirs = "$out_copy"; $out_dir = "$outdirs"; opendir(IN, "$presdirs") or pac_msg("$lang{$mylang}{could_not_open_dir} '$out_dir':\n\n$!","error"); foreach my $i (readdir(IN)) { if (not -d $i and not -d "$presdirs/$i") { @file=(); push(@file, "$presdirs/$i"); convert_to("$to", "$presdirs/$i"); } } undef $presdirs; undef $outdirs; } } # Find all directories (Preserve Directory) sub preserve_dir { find ({wanted => \&post_preserve, no_chdir => 1, follow => 0}, $pdir); } # Batch transcoding sub batch_convert { my @batch_files; # File Batch if (@file) { @batch_files = @file; foreach my $i (@batch_files) { @file=(); push(@file, $i); convert_to("$conv_to","$i"); } # Directory batch } elsif (@dir) { my @batch_dir = @dir; undef(@dir); $pdir = $batch_dir[0]; if (not $recursive) { foreach my $d (@batch_dir) { opendir(BATCHDIR, "$d") or pac_msg("$lang{$mylang}{could_not_open_dir} '$d'\n\n$!","error"); @batch_files = readdir(BATCHDIR); closedir(BATCHDIR); foreach my $f (@batch_files) { @file=(); push(@file, "$d/$f") if not -d $f and not -d "$d/$f"; convert_to("$conv_to","$d/$f") if not -d $f and not -d "$d/$f"; } } } elsif ($recursive) { if (not $presdir) { foreach my $r (@batch_dir) { $r = abs_path($r); find ( sub { my $rfile = $File::Find::name; @file=(); push(@file, $rfile); convert_to("$conv_to","$rfile") if not -d $rfile; }, $r ); } } #end if (not presdir) elsif ($presdir) { $pdir = abs_path($pdir); $pfmt = $conv_to; preserve_dir($pdir); } # end elsif (presdir) } } elsif ($playlist) { if (not -e $playlist or -z $playlist) { pac_msg("$lang{$mylang}{could_not_open} '$playlist'\n\n$!","error"); } open(FILE, "$playlist") or pac_msg("$lang{$mylang}{could_not_open} '$playlist'\n\n$!","error"); my @list = ; @list = grep(!/^#/, @list); # XMMS Playlist close(FILE); undef($playlist); foreach my $i (@list) { chomp($i); @file=(); push(@file, $i); convert_to("$conv_to","$i"); } } else { pac_msg("$lang{$mylang}{please_specify_opt} --dir, --file, --playlist\n\n$!","error"); } } sub convert_to { my ($format, $file) = @_; # -> MP3 if ($format eq "mp3") { check_apps($lame); get_user_opts("bitrate","rate") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "mp3", "mp3tomp3", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "mp3", "oggtomp3", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "mp3", "flactomp3", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "mp3", "flactomp3", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "mp3", "apetomp3", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "mp3", "shntomp3", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "mp3", "aactomp3", "0"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "mp3", "mp4tomp3", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "mp3", "mp4tomp3", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "mp3", "mpctomp3", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "mp3", "mpctomp3", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "mp3", "wvtomp3", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "mp3", "ofrtomp3", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "mp3", "ofstomp3", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "mp3", "ttatomp3", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "mp3", "pactomp3", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "mp3", "pactomp3", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "mp3", "kxstomp3", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "mp3", "rawtomp3", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "mp3", "aifftomp3", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "mp3", "mp2tomp3", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "mp3", "mp2tomp3", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "mp3", "latomp3", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "mp3", "bonktomp3", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($lame); pac_convert("wav", "mp3", "wavtomp3", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "mp3", "wmatomp3", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "mp3", "ratomp3", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "mp3", "ratomp3", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "mp3", "ratomp3", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Ogg Vorbis elsif ($format eq "ogg") { check_apps($oggenc); get_user_opts("oggquality","rate") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "ogg", "mp3toogg", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "ogg", "oggtoogg", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "ogg", "flactoogg", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "ogg", "flactoogg", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "ogg", "apetoogg", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "ogg", "shntoogg", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "ogg", "aactoogg", "0"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "ogg", "mp4toogg", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "ogg", "mp4toogg", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "ogg", "mpctoogg", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "ogg", "mpctoogg", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "ogg", "wvtoogg", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "ogg", "ofrtoogg", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "ogg", "ofstoogg", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "ogg", "ttatoogg", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "ogg", "pactoogg", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "ogg", "pactoogg", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "ogg", "kxstoogg", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "ogg", "rawtoogg", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "ogg", "aifftoogg", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "ogg", "mp2toogg", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "ogg", "mp2toogg", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "ogg", "latoogg", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "ogg", "bonktoogg", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($oggenc); pac_convert("wav", "ogg", "wavtoogg", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "ogg", "wmatoogg", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "ogg", "ratoogg", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "ogg", "ratoogg", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "ogg", "ratoogg", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> FLAC elsif ($format eq "flac") { check_apps($flac); get_user_opts("flevel") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "flac", "mp3toflac", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "flac", "oggtoflac", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "flac", "flactoflac","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "flac", "flactoflac","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "flac", "apetoflac", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "flac", "shntoflac", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "flac", "aactoflac", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "flac", "mp4toflac", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "flac", "mp4toflac", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "flac", "mpctoflac", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "flac", "mpctoflac", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "flac", "wvtoflac", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "flac", "ofrtoflac", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "flac", "ofstoflac", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "flac", "ttatoflac", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "flac", "pactoflac", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "flac", "pactoflac", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "flac", "kxstoflac", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "flac", "aifftoflac","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "flac", "aifftoflac","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "flac", "aifftoflac","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "flac", "rawtoflac", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "flac", "aifftoflac","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "flac", "aifftoflac","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "flac", "aifftoflac","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "flac", "aifftoflac","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "flac", "mp2toflac", "0"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "flac", "mp2toflac", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "flac", "latoflac", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "flac", "bonktoflac","1"); } elsif ($file =~ /\.wav$/i) { check_apps($flac); pac_convert("wav", "flac", "wavtoflac", "1"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "flac", "wmatoflac", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "flac", "ratoflac", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "flac", "ratoflac", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "flac", "ratoflac", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "flac", "ratoflac", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "flac", "ratoflac", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "flac", "ratoflac", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "flac", "ratoflac", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "flac", "ratoflac", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "flac", "ratoflac", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "flac", "ratoflac", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "flac", "ratoflac", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "flac", "ratoflac", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "flac", "ratoflac", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "flac", "ratoflac", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "flac", "ratoflac", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "flac", "ratoflac", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "flac", "ratoflac", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> FLAC (FLA) elsif ($format eq "fla") { check_apps($flac); get_user_opts("flevel") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "fla", "mp3toflac", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "fla", "oggtoflac", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "fla", "flactoflac","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "fla", "flactoflac","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "fla", "apetoflac", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "fla", "shntoflac", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "fla", "aactoflac", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "fla", "mp4toflac", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "fla", "mp4toflac", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "fla", "mpctoflac", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "fla", "mpctoflac", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "fla", "wvtoflac", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "fla", "ofrtoflac", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "fla", "ofstoflac", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "fla", "ttatoflac", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "fla", "pactoflac", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "fla", "pactoflac", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "fla", "kxstoflac", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "fla", "aifftoflac","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "fla", "aifftoflac","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "fla", "aifftoflac","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "fla", "rawtoflac", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "fla", "aifftoflac","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "fla", "aifftoflac","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "fla", "aifftoflac","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "fla", "aifftoflac","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "fla", "mp2toflac", "0"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "fla", "mp2toflac", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "fla", "latoflac", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "fla", "bonktoflac","1"); } elsif ($file =~ /\.wav$/i) { check_apps($flac); pac_convert("wav", "fla", "wavtoflac", "1"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "fla", "wmatoflac", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "fla", "ratoflac", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "fla", "ratoflac", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "fla", "ratoflac", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "fla", "ratoflac", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "fla", "ratoflac", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "fla", "ratoflac", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "fla", "ratoflac", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "fla", "ratoflac", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "fla", "ratoflac", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "fla", "ratoflac", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "fla", "ratoflac", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "fla", "ratoflac", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "fla", "ratoflac", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "fla", "ratoflac", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "fla", "ratoflac", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "fla", "ratoflac", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "fla", "ratoflac", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Monkey Audio (APE) elsif ($format eq "ape") { check_apps($mac); get_user_opts("alevel") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "ape", "mp3toape", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "ape", "oggtoape", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "ape", "flactoape", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "ape", "flactoape", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "ape", "apetoape", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "ape", "shntoape", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "ape", "aactoape", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "ape", "mp4toape", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "ape", "mp4toape", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "ape", "mpctoape", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "ape", "mpctoape", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "ape", "wvtoape", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "ape", "ofrtoape", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "ape", "ofstoape", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "ape", "ttatoape", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "ape", "pactoape", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "ape", "pactoape", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "ape", "kxstoape", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "ape", "aifftoape", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "ape", "aifftoape", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "ape", "aifftoape", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "ape", "rawtoape", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "ape", "aifftoape", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "ape", "aifftoape", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "ape", "aifftoape", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "ape", "aifftoape", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "ape", "mp2toape", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "ape", "mp2toape", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "ape", "latoape", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "ape", "bonktoape", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($mac); pac_convert("wav", "ape", "wavtoape", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "ape", "wmatoape", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "ape", "ratoape", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "ape", "ratoape", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "ape", "ratoape", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "ape", "ratoape", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "ape", "ratoape", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "ape", "ratoape", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "ape", "ratoape", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "ape", "ratoape", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "ape", "ratoape", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "ape", "ratoape", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "ape", "ratoape", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "ape", "ratoape", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "ape", "ratoape", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "ape", "ratoape", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "ape", "ratoape", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "ape", "ratoape", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "ape", "ratoape", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Shorten (SHN) elsif ($format eq "shn") { check_apps($shorten); get_user_opts("slevel","channels") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "shn", "mp3toshn", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "shn", "oggtoshn", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "shn", "flactoshn", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "shn", "flactoshn", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "shn", "apetoshn", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "shn", "shntoshn", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "shn", "aactoshn", "0"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "shn", "mp4toshn", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "shn", "mp4toshn", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "shn", "mpctoshn", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "shn", "mpctoshn", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "shn", "wvtoshn", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "shn", "ofrtoshn", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "shn", "ofstoshn", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "shn", "ttatoshn", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "shn", "pactoshn", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "shn", "pactoshn", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "shn", "kxstoshn", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "shn", "rawtoshn", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "shn", "aifftoshn", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "shn", "mp2toshn", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "shn", "mp2toshn", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "shn", "latoshn", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "shn", "bonktoshn", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($shorten); pac_convert("wav", "shn", "wavtoshn", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "shn", "wmatoshn", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "shn", "ratoshn", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "shn", "ratoshn", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "shn", "ratoshn", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "shn", "ratoshn", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "shn", "ratoshn", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "shn", "ratoshn", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "shn", "ratoshn", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "shn", "ratoshn", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "shn", "ratoshn", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "shn", "ratoshn", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "shn", "ratoshn", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "shn", "ratoshn", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "shn", "ratoshn", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "shn", "ratoshn", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "shn", "ratoshn", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "shn", "ratoshn", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "shn", "ratoshn", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> FAAC (AAC) elsif ($format eq "aac") { check_apps($faac); get_user_opts("aacquality") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "aac", "mp3toaac", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "aac", "oggtoaac", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "aac", "flactoaac", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "aac", "flactoaac", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "aac", "apetoaac", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "aac", "shntoaac", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "aac", "aactoaac", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "aac", "mp4toaac", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "aac", "mp4toaac", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "aac", "mpctoaac", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "aac", "mpctoaac", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "aac", "wvtoaac", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "aac", "ofrtoaac", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "aac", "ofstoaac", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "aac", "ttatoaac", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "aac", "pactoaac", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "aac", "pactoaac", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "aac", "kxstoaac", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "aac", "rawtoaac", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "aac", "aifftoaac", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "aac", "mp2toaac", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "aac", "mp2toaac", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "aac", "latoaac", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "aac", "bonktoaac", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($faac); pac_convert("wav", "aac", "wavtoaac", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "aac", "wmatoaac", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "aac", "ratoaac", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "aac", "ratoaac", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "aac", "ratoaac", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "aac", "ratoaac", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "aac", "ratoaac", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "aac", "ratoaac", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "aac", "ratoaac", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "aac", "ratoaac", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "aac", "ratoaac", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "aac", "ratoaac", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "aac", "ratoaac", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "aac", "ratoaac", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "aac", "ratoaac", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "aac", "ratoaac", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "aac", "ratoaac", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "aac", "ratoaac", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "aac", "ratoaac", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> FAAC (M4A) elsif ($format eq "m4a") { check_apps($faac); get_user_opts("aacquality") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "m4a", "mp3tomp4", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "m4a", "oggtomp4", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "m4a", "flactomp4", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "m4a", "flactomp4", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "m4a", "apetomp4", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "m4a", "shntomp4", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "m4a", "aactomp4", "0"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "m4a", "mp4tomp4", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "m4a", "mp4tomp4", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "m4a", "mpctomp4", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "m4a", "mpctomp4", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "m4a", "wvtomp4", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "m4a", "ofrtomp4", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "m4a", "ofstomp4", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "m4a", "ttatomp4", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "m4a", "pactomp4", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "m4a", "pactomp4", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "m4a", "kxstomp4", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "m4a", "rawtomp4", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "m4a", "aifftomp4", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "m4a", "mp2tomp4", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "m4a", "mp2tomp4", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "m4a", "latomp4", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "m4a", "bonktomp4", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($faac); pac_convert("wav", "m4a", "wavtomp4", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "m4a", "wmatomp4", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "m4a", "ratomp4", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "m4a", "ratomp4", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "m4a", "ratomp4", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> FAAC (MP4) elsif ($format eq "mp4") { check_apps($faac); get_user_opts("aacquality") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "mp4", "mp3tomp4", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "mp4", "oggtomp4", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "mp4", "flactomp4", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "mp4", "flactomp4", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "mp4", "apetomp4", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "mp4", "shntomp4", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "mp4", "aactomp4", "0"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "mp4", "mp4tomp4", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "mp4", "mp4tomp4", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "mp4", "mpctomp4", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "mp4", "mpctomp4", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "mp4", "wvtomp4", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofr); pac_convert("ofr", "mp4", "ofrtomp4", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "mp4", "ofstomp4", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "mp4", "ttatomp4", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "mp4", "pactomp4", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "mp4", "pactomp4", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "mp4", "kxstomp4", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "mp4", "rawtomp4", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "mp4", "aifftomp4", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "mp4", "mp2tomp4", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "mp4", "mp2tomp4", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "mp4", "latomp4", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "mp4", "bonktomp4", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($faac); pac_convert("wav", "mp4", "wavtomp4", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "mp4", "wmatomp4", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "mp4", "ratomp4", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "mp4", "ratomp4", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "mp4", "ratomp4", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Musepack (MPC) elsif ($format eq "mpc") { check_apps($mppenc); get_user_opts("xlevel") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "mpc", "mp3tompc", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "mpc", "oggtompc", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "mpc", "flactompc", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "mpc", "flactompc", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "mpc", "apetompc", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "mpc", "shntompc", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "mpc", "aactompc", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "mpc", "mp4tompc", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "mpc", "mp4tompc", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "mpc", "mpctompc", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "mpc", "mpctompc", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "mpc", "wvtompc", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "mpc", "ofrtompc", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "mpc", "ofstompc", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "mpc", "ttatompc", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "mpc", "pactompc", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "mpc", "pactompc", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "mpc", "kxstompc", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "mpc", "rawtompc", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "mpc", "aifftompc", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "mpc", "mp2tompc", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "mpc", "mp2tompc", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "mpc", "latompc", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "mpc", "bonktompc", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($mppenc); pac_convert("wav", "mpc", "wavtompc", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "mpc", "wmatompc", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "mpc", "ratompc", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "mpc", "ratompc", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "mpc", "ratompc", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "mpc", "ratompc", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "mpc", "ratompc", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "mpc", "ratompc", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "mpc", "ratompc", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "mpc", "ratompc", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "mpc", "ratompc", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "mpc", "ratompc", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "mpc", "ratompc", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "mpc", "ratompc", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "mpc", "ratompc", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "mpc", "ratompc", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "mpc", "ratompc", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "mpc", "ratompc", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "mpc", "ratompc", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Musepack (MPP) elsif ($format eq "mpp") { check_apps($mppenc); get_user_opts("xlevel") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "mpp", "mp3tompc", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "mpp", "oggtompc", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "mpp", "flactompc", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "mpp", "flactompc", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "mpp", "apetompc", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "mpp", "shntompc", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "mpp", "aactompc", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "mpp", "mp4tompc", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "mpp", "mp4tompc", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "mpp", "mpctompc", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "mpp", "mpctompc", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "mpp", "wvtompc", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "mpp", "ofrtompc", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "mpp", "ofstompc", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "mpp", "ttatompc", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "mpp", "pactompc", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "mpp", "pactompc", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "mpp", "kxstompc", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "mpp", "rawtompc", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "mpp", "aifftompc", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "mpp", "mp2tompc", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "mpp", "mp2tompc", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "mpp", "latompc", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "mpp", "bonktompc", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($mppenc); pac_convert("wav", "mpp", "wavtompc", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "mpp", "wmatompc", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "mpp", "ratompc", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "mpp", "ratompc", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "mpp", "ratompc", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "mpp", "ratompc", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "mpp", "ratompc", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "mpp", "ratompc", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "mpp", "ratompc", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "mpp", "ratompc", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "mpp", "ratompc", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "mpp", "ratompc", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "mpp", "ratompc", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "mpp", "ratompc", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "mpp", "ratompc", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "mpp", "ratompc", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "mpp", "ratompc", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "mpp", "ratompc", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "mpp", "ratompc", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Wavpack (WV) elsif ($format eq "wv") { check_apps($wavpack); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "wv", "mp3towv", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "wv", "oggtowv", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "wv", "flactowv", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "wv", "flactowv", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "wv", "apetowv", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "wv", "shntowv", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "wv", "aactowv", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "wv", "mp4towv", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "wv", "mp4towv", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "wv", "mpctowv", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "wv", "mpctowv", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "wv", "wvtowv", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "wv", "ofrtowv", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "wv", "ofstowv", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "wv", "ttatowv", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "wv", "pactowv", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "wv", "pactowv", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "wv", "kxstowv", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "wv", "aifftowv", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "wv", "aifftowv", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "wv", "aifftowv", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "wv", "rawtowv", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "wv", "aifftowv", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "wv", "aifftowv", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "wv", "aifftowv", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "wv", "aifftowv", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "wv", "mp2towv", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "wv", "mp2towv", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "wv", "latowv", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "wv", "bonktowv", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($wavpack); pac_convert("wav", "wv", "wavtowv", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "wv", "wmatowv", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "wv", "ratowv", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "wv", "ratowv", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "wv", "ratowv", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "wv", "ratowv", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "wv", "ratowv", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "wv", "ratowv", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "wv", "ratowv", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "wv", "ratowv", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "wv", "ratowv", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "wv", "ratowv", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "wv", "ratowv", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "wv", "ratowv", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "wv", "ratowv", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "wv", "ratowv", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "wv", "ratowv", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "wv", "ratowv", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "wv", "ratowv", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> OptimFrog (OFR) elsif ($format eq "ofr") { check_apps($ofr); get_user_opts("mode","optimize") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "ofr", "mp3toofr", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "ofr", "oggtoofr", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "ofr", "flactoofr", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "ofr", "flactoofr", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "ofr", "apetoofr", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "ofr", "shntoofr", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "ofr", "aactoofr", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "ofr", "mp4toofr", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "ofr", "mp4toofr", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "ofr", "mpctoofr", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "ofr", "mpctoofr", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "ofr", "wvtoofr", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "ofr", "ofrtoofr", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "ofr", "ofstoofr", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "ofr", "ttatoofr", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "ofr", "pactoofr", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "ofr", "pactoofr", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "ofr", "kxstoofr", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "ofr", "rawtoofr", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "ofr", "aifftoofr", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "ofr", "mp2toofr", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "ofr", "mp2toofr", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "ofr", "latoofr", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "ofr", "bonktoofr", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($ofr); pac_convert("wav", "ofr", "wavtoofr", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "ofr", "wmatoofr", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "ofr", "ratoofr", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "ofr", "ratoofr", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "ofr", "ratoofr", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> OptimFrog (OFS) elsif ($format eq "ofs") { check_apps($ofs); get_user_opts("mode","optimize") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "ofs", "mp3toofs", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "ofs", "oggtoofs", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "ofs", "flactoofs", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "ofs", "flactoofs", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "ofs", "apetoofs", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "ofs", "shntoofs", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "ofs", "aactoofs", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "ofs", "mp4toofs", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "ofs", "mp4toofs", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "ofs", "mpctoofs", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "ofs", "mpctoofs", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "ofs", "wvtoofs", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "ofs", "ofrtoofs", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "ofs", "ofstoofs", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "ofs", "ttatoofs", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "ofs", "pactoofs", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "ofs", "pactoofs", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "ofs", "kxstoofs", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "ofs", "rawtoofs", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "ofs", "aifftoofs", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "ofs", "mp2toofs", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "ofs", "mp2toofs", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "ofs", "latoofs", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "ofs", "bonktoofs", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($ofs); pac_convert("wav", "ofs", "wavtoofs", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "ofs", "wmatoofs", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "ofs", "ratoofs", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "ofs", "ratoofs", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "ofs", "ratoofs", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> TTA elsif ($format eq "tta") { check_apps($ttaenc); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "tta", "mp3totta", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "tta", "oggtotta", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "tta", "flactotta", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "tta", "flactotta", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "tta", "apetotta", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "tta", "shntotta", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "tta", "aactotta", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "tta", "mp4totta", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "tta", "mp4totta", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "tta", "mpctotta", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "tta", "mpctotta", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "tta", "wvtotta", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "tta", "ofrtotta", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "tta", "ofstotta", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "tta", "ttatotta", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "tta", "pactotta", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "tta", "pactotta", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "tta", "kxstotta", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "tta", "aifftotta", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "tta", "aifftotta", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "tta", "aifftotta", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "tta", "rawtotta", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "tta", "aifftotta", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "tta", "aifftotta", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "tta", "aifftotta", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "tta", "aifftotta", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "tta", "mp2totta", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "tta", "mp2totta", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "tta", "latotta", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "tta", "bonktotta", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($ttaenc); pac_convert("wav", "tta", "wavtotta", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "tta", "wmatotta", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "tta", "ratotta", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "tta", "ratotta", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "tta", "ratotta", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "tta", "ratotta", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "tta", "ratotta", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "tta", "ratotta", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "tta", "ratotta", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "tta", "ratotta", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "tta", "ratotta", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "tta", "ratotta", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "tta", "ratotta", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "tta", "ratotta", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "tta", "ratotta", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "tta", "ratotta", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "tta", "ratotta", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "tta", "ratotta", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "tta", "ratotta", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> LPAC (PAC) elsif ($format eq "pac") { check_apps($lpac); get_user_opts("plevel"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "pac", "mp3topac", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "pac", "oggtopac", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "pac", "flactopac", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "pac", "flactopac", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "pac", "apetopac", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "pac", "shntopac", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "pac", "aactopac", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "pac", "mp4topac", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "pac", "mp4topac", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "pac", "mpctopac", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "pac", "mpctopac", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "pac", "wvtopac", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "pac", "ofrtopac", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "pac", "ofstopac", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "pac", "ttatopac", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "pac", "pactopac", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "pac", "pactopac", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "pac", "kxstopac", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "pac", "aifftopac", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "pac", "aifftopac", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "pac", "aifftopac", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "pac", "rawtopac", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "pac", "aifftopac", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "pac", "aifftopac", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "pac", "aifftopac", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "pac", "aifftopac", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "pac", "mp2topac", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "pac", "mp2topac", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "pac", "latopac", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "pac", "bonktopac", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($lpac); pac_convert("wav", "pac", "wavtopac", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "pac", "wmatopac", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "pac", "ratopac", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "pac", "ratopac", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "pac", "ratopac", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "pac", "ratopac", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "pac", "ratopac", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "pac", "ratopac", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "pac", "ratopac", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "pac", "ratopac", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "pac", "ratopac", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "pac", "ratopac", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "pac", "ratopac", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "pac", "ratopac", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "pac", "ratopac", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "pac", "ratopac", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "pac", "ratopac", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "pac", "ratopac", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "pac", "ratopac", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> LPAC elsif ($format eq "lpac") { check_apps($lpac); get_user_opts("plevel"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "lpac", "mp3topac", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "lpac", "oggtopac", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "lpac", "flactopac", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "lpac", "flactopac", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "lpac", "apetopac", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "lpac", "shntopac", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "lpac", "aactopac", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "lpac", "mp4topac", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "lpac", "mp4topac", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "lpac", "mpctopac", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "lpac", "mpctopac", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "lpac", "wvtopac", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "lpac", "ofrtopac", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "lpac", "ofstopac", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "lpac", "ttatopac", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "lpac", "pactopac", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "lpac", "pactopac", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "lpac", "kxstopac", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "lpac", "rawtopac", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "lpac", "aifftopac", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "lpac", "mp2topac", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "lpac", "mp2topac", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "lpac", "latopac", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "lpac", "bonktopac", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($lpac); pac_convert("wav", "lpac", "wavtopac", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "lpac", "wmatopac", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "lpac", "ratopac", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "lpac", "ratopac", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "lpac", "ratopac", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "lpac", "ratopac", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "lpac", "ratopac", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "lpac", "ratopac", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "lpac", "ratopac", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "lpac", "ratopac", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "lpac", "ratopac", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "lpac", "ratopac", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "lpac", "ratopac", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "lpac", "ratopac", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "lpac", "ratopac", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "lpac", "ratopac", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "lpac", "ratopac", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "lpac", "ratopac", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "lpac", "ratopac", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Kexis (KXS) elsif ($format eq "kxs") { check_apps($kexis); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "kxs", "mp3tokxs", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "kxs", "oggtokxs", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "kxs", "flactokxs", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "kxs", "flactokxs", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "kxs", "apetokxs", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "kxs", "shntokxs", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "kxs", "aactokxs", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "kxs", "mp4tokxs", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "kxs", "mp4tokxs", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "kxs", "mpctokxs", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "kxs", "mpctokxs", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "kxs", "wvtokxs", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "kxs", "ofrtokxs", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "kxs", "ofstokxs", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "kxs", "ttatokxs", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "kxs", "pactokxs", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "kxs", "pactokxs", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "kxs", "kxstokxs", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "kxs", "rawtokxs", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "kxs", "aifftokxs", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "kxs", "mp2tokxs", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "kxs", "mp2tokxs", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "kxs", "latokxs", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "kxs", "bonktokxs", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($kexis); pac_convert("wav", "kxs", "wavtokxs", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "kxs", "wmatokxs", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "kxs", "ratokxs", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "kxs", "ratokxs", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "kxs", "ratokxs", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> AIFF elsif ($format eq "aiff") { check_apps($sox); get_user_opts("rate","channels"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "aiff", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "aiff", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "aiff", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "aiff", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "aiff", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "aiff", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "aiff", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "aiff", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "aiff", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "aiff", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "aiff", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "aiff", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "aiff", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "aiff", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "aiff", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "aiff", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "aiff", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "aiff", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "aiff", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "aiff", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "aiff", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "aiff", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "aiff", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "aiff", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "aiff", "wavtoaiff", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "aiff", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "aiff", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "aiff", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "aiff", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> AU elsif ($format eq "au") { check_apps($sox); get_user_opts("rate","channels"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "au", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "au", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "au", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "au", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "au", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "au", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "au", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "au", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "au", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "au", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "au", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "au", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "au", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "au", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "au", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "au", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "au", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "au", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "au", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "au", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "au", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "au", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "au", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "au", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "au", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "au", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "au", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "au", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "au", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "au", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "au", "wavtoaiff", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "au", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "au", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "au", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "au", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "au", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "au", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "au", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "au", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "au", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "au", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "au", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "au", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "au", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "au", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "au", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "au", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "au", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "au", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> SND elsif ($format eq "snd") { check_apps($sox); get_user_opts("rate","channels"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "snd", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "snd", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "snd", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "snd", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "snd", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "snd", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "snd", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "snd", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "snd", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "snd", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "snd", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "snd", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "snd", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "snd", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "snd", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "snd", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "snd", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "snd", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "snd", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "snd", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "snd", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "snd", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "snd", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "snd", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "snd", "wavtoaiff", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "snd", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "snd", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "snd", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "snd", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> RAW elsif ($format eq "raw") { check_apps($sox); if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "raw", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "raw", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "raw", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "raw", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "raw", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "raw", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "raw", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "raw", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "raw", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "raw", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "raw", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "raw", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "raw", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "raw", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "raw", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "raw", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "raw", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "raw", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "raw", "rawtoraw", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "raw", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "raw", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "raw", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "raw", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "raw", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "raw", "wavtoaiff", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "raw", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "raw", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "raw", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "raw", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> VOC elsif ($format eq "voc") { check_apps($sox); get_user_opts("rate","channels"); if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "voc", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "voc", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "voc", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "voc", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "voc", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "voc", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "voc", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "voc", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "voc", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "voc", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "voc", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "voc", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "voc", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "voc", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "voc", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "voc", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "voc", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "voc", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "voc", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "voc", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "voc", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "voc", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "voc", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "voc", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "voc", "wavtoaiff", "1"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "voc", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "voc", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "voc", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "voc", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> SMP elsif ($format eq "smp") { check_apps($sox); get_user_opts("rate","channels"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "smp", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "smp", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "smp", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "smp", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "smp", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "smp", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "smp", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "smp", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "smp", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "smp", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "smp", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "smp", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "smp", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "smp", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "smp", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "smp", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "smp", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "smp", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "smp", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "smp", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "smp", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "smp", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "smp", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "smp", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "smp", "wavtoaiff", "1"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "smp", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "smp", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "smp", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "smp", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> AVR elsif ($format eq "avr") { check_apps($sox); get_user_opts("rate","channels"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "avr", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "avr", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "avr", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "avr", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "avr", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "avr", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "avr", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "avr", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "avr", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "avr", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "avr", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "avr", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "avr", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "avr", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "avr", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "avr", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "avr", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "avr", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "avr", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "avr", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "avr", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "avr", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "avr", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "avr", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "avr", "wavtoaiff", "1"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "avr", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "avr", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "avr", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "avr", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> CDR elsif ($format eq "cdr") { check_apps($sox); get_user_opts("rate","channels"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "cdr", "mp3toaiff", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "cdr", "oggtoaiff", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "cdr", "flactoaiff","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "cdr", "flactoaiff","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "cdr", "apetoaiff", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "cdr", "shntoaiff", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "cdr", "aactoaiff", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "cdr", "mp4toaiff", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "cdr", "mp4toaiff", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "cdr", "mpctoaiff", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "cdr", "mpctoaiff", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "cdr", "wvtoaiff", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "cdr", "ofrtoaiff", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "cdr", "ofstoaiff", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "cdr", "ttatoaiff", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "cdr", "pactoaiff", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "cdr", "pactoaiff", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "cdr", "kxstoaiff", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "cdr", "rawtoaiff", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "cdr", "aifftoaiff","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "cdr", "mp2toaiff", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "cdr", "mp2toaiff", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "cdr", "latoaiff", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "cdr", "bonktoaiff","1"); } elsif ($file =~ /\.wav$/i) { check_apps($sox); pac_convert("wav", "cdr", "wavtoaiff", "1"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "cdr", "wmatoaiff", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "cdr", "ratoaiff", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "cdr", "ratoaiff", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "cdr", "ratoaiff", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> MP2 elsif ($format eq "mp2") { check_apps($ffmpeg); get_user_opts("bitrate","rate","channels") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($ffmpeg); pac_convert("mp3", "mp2", "mp3tomp2", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($ffmpeg); pac_convert("ogg", "mp2", "oggtomp2", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "mp2", "flactomp2", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "mp2", "flactomp2", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "mp2", "apetomp2", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "mp2", "shntomp2", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "mp2", "aactomp2", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "mp2", "mp4tomp2", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "mp2", "mp4tomp2", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "mp2", "mpctomp2", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "mp2", "mpctomp2", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "mp2", "wvtomp2", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "mp2", "ofrtomp2", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "mp2", "ofstomp2", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "mp2", "ttatomp2", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "mp2", "pactomp2", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "mp2", "pactomp2", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "mp2", "kxstomp2", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "mp2", "rawtomp2", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "mp2", "aifftomp2", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "mp2", "mp2tomp2", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "mp2", "mp2tomp2", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "mp2", "latomp2", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "mp2", "bonktomp2", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($ffmpeg); pac_convert("wav", "mp2", "wavtomp2", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "mp2", "wmatomp2", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "mp2", "ratomp2", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "mp2", "ratomp2", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "mp2", "ratomp2", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> AC3 elsif ($format eq "ac3") { check_apps($ffmpeg); get_user_opts("bitrate","rate","channels") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($ffmpeg); pac_convert("mp3", "ac3", "mp3tomp2", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($ffmpeg); pac_convert("ogg", "ac3", "oggtomp2", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "ac3", "flactomp2", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "ac3", "flactomp2", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "ac3", "apetomp2", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "ac3", "shntomp2", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "ac3", "aactomp2", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "ac3", "mp4tomp2", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "ac3", "mp4tomp2", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "ac3", "mpctomp2", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "ac3", "mpctomp2", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "ac3", "wvtomp2", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "ac3", "ofrtomp2", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "ac3", "ofstomp2", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "ac3", "ttatomp2", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "ac3", "pactomp2", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "ac3", "pactomp2", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "ac3", "kxstomp2", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "ac3", "rawtomp2", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "ac3", "aifftomp2", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "ac3", "mp2tomp2", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "ac3", "mp2tomp2", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "ac3", "latomp2", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "ac3", "bonktomp2", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($ffmpeg); pac_convert("wav", "ac3", "wavtomp2", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "ac3", "wmatomp2", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "ac3", "ratomp2", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "ac3", "ratomp2", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "ac3", "ratomp2", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> Lossless Audio (LA) elsif ($format eq "la") { check_apps($la); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "la", "mp3tola", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "la", "oggtola", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "la", "flactola", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "la", "flactola", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "la", "apetola", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "la", "shntola", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "la", "aactola", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "la", "mp4tola", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "la", "mp4tola", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "la", "mpctola", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "la", "mpctola", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "la", "wvtola", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "la", "ofrtola", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "la", "ofstola", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "la", "ttatola", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "la", "pactola", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "la", "pactola", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "la", "kxstola", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "la", "aifftola", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "la", "aifftola", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "la", "aifftola", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "la", "rawtola", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "la", "aifftola", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "la", "aifftola", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "la", "aifftola", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "la", "aifftola", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "la", "mp2tola", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "la", "mp2tola", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "la", "latola", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "la", "bonktola", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($la); pac_convert("wav", "la", "wavtola", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "la", "wmatola", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "la", "ratola", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "la", "ratola", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "la", "ratola", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "la", "ratola", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "la", "ratola", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "la", "ratola", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "la", "ratola", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "la", "ratola", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "la", "ratola", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "la", "ratola", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "la", "ratola", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "la", "ratola", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "la", "ratola", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "la", "ratola", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "la", "ratola", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "la", "ratola", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "la", "ratola", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> BONK elsif ($format eq "bonk") { check_apps($bonk); get_user_opts("qlevel", "dratio", "psize", "lossless"); # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "bonk", "mp3tobonk", "1"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "bonk", "oggtobonk", "1"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "bonk", "flactobonk","1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "bonk", "flactobonk","1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "bonk", "apetobonk", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "bonk", "shntobonk", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "bonk", "aactobonk", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "bonk", "mp4tobonk", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "bonk", "mp4tobonk", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "bonk", "mpctobonk", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "bonk", "mpctobonk", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "bonk", "wvtobonk", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "bonk", "ofrtobonk", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "bonk", "ofstobonk", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "bonk", "ttatobonk", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "bonk", "pactobonk", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "bonk", "pactobonk", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "bonk", "pactobonk", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "bonk", "kxstobonk", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "bonk", "rawtobonk", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "bonk", "aifftobonk","1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "bonk", "mp2tobonk", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "bonk", "mp2tobonk", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "bonk", "latobonk", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "bonk", "bonktobonk","1"); } elsif ($file =~ /\.wav$/i) { check_apps($bonk); pac_convert("wav", "bonk", "wavtobonk", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "bonk", "wmatobonk", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "bonk", "ratobonk", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "bonk", "ratobonk", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "bonk", "ratobonk", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> WAV elsif ($format eq "wav") { # Audio if ($file =~ /\.mp3$/i) { check_apps($lame); pac_convert("mp3", "wav", "mp3towav", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($oggdec); pac_convert("ogg", "wav", "oggtowav", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "wav", "flactowav", "0"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "wav", "flactowav", "0"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "wav", "apetowav", "0"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "wav", "shntowav", "0"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "wav", "aactowav", "0"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "wav", "mp4towav", "0"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "wav", "mp4towav", "0"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "wav", "mpctowav", "0"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "wav", "mpctowav", "0"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "wav", "wvtowav", "0"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "wav", "ofrtowav", "0"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "wav", "ofstowav", "0"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "wav", "ttatowav", "0"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "wav", "pactowav", "0"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "wav", "pactowav", "0"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "wav", "kxstowav", "0"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "wav", "aifftowav", "0"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "wav", "aifftowav", "0"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "wav", "aifftowav", "0"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "wav", "rawtowav", "0"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "wav", "aifftowav", "0"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "wav", "aifftowav", "0"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "wav", "aifftowav", "0"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "wav", "aifftowav", "0"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "wav", "mp2towav", "0"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "wav", "mp2towav", "0"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "wav", "latowav", "0"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "wav", "bonktowav", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "wav", "wmatowav", "0"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "wav", "ratowav", "0"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "wav", "ratowav", "0"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "wav", "ratowav", "0"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "wav", "ratowav", "0"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "wav", "ratowav", "0"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "wav", "ratowav", "0"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "wav", "ratowav", "0"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "wav", "ratowav", "0"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "wav", "ratowav", "0"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "wav", "ratowav", "0"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "wav", "ratowav", "0"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "wav", "ratowav", "0"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "wav", "ratowav", "0"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "wav", "ratowav", "0"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "wav", "ratowav", "0"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "wav", "ratowav", "0"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "wav", "ratowav", "0"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } # -> RealAudio (RA) elsif ($format eq "ra") { check_apps($ffmpeg); get_user_opts("rate","channels") if $gui; # Audio if ($file =~ /\.mp3$/i) { check_apps($ffmpeg); pac_convert("mp3", "ra", "mp3tomp2", "0"); } elsif ($file =~ /\.ogg$/i) { check_apps($ffmpeg); pac_convert("ogg", "ra", "oggtomp2", "0"); } elsif ($file =~ /\.flac$/i) { check_apps($flac); pac_convert("flac", "ra", "flactomp2", "1"); } elsif ($file =~ /\.fla$/i) { check_apps($flac); pac_convert("fla", "ra", "flactomp2", "1"); } elsif ($file =~ /\.ape$/i) { check_apps($mac); pac_convert("ape", "ra", "apetomp2", "1"); } elsif ($file =~ /\.shn$/i) { check_apps($shorten); pac_convert("shn", "ra", "shntomp2", "1"); } elsif ($file =~ /\.aac$/i) { check_apps($faad); pac_convert("aac", "ra", "aactomp2", "1"); } elsif ($file =~ /\.m4a$/i) { check_apps($faad); pac_convert("m4a", "ra", "mp4tomp2", "1"); } elsif ($file =~ /\.mp4$/i) { check_apps($faad); pac_convert("mp4", "ra", "mp4tomp2", "1"); } elsif ($file =~ /\.mpc$/i) { check_apps($mppdec); pac_convert("mpc", "ra", "mpctomp2", "1"); } elsif ($file =~ /\.mpp$/i) { check_apps($mppdec); pac_convert("mpp", "ra", "mpctomp2", "1"); } elsif ($file =~ /\.wv$/i) { check_apps($wvunpack); pac_convert("wv", "ra", "wvtomp2", "1"); } elsif ($file =~ /\.ofr$/i) { check_apps($ofr); pac_convert("ofr", "ra", "ofrtomp2", "1"); } elsif ($file =~ /\.ofs$/i) { check_apps($ofs); pac_convert("ofs", "ra", "ofstomp2", "1"); } elsif ($file =~ /\.tta$/i) { check_apps($ttaenc); pac_convert("tta", "ra", "ttatomp2", "1"); } elsif ($file =~ /\.pac$/i) { check_apps($lpac); pac_convert("pac", "ra", "pactomp2", "1"); } elsif ($file =~ /\.lpac$/i) { check_apps($lpac); pac_convert("lpac", "ra", "pactomp2", "1"); } elsif ($file =~ /\.kxs$/i) { check_apps($kexis); pac_convert("kxs", "ra", "kxstomp2", "1"); } elsif ($file =~ /\.aiff$/i) { check_apps($sox); pac_convert("aiff", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.au$/i) { check_apps($sox); pac_convert("au", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.snd$/i) { check_apps($sox); pac_convert("snd", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.raw$/i) { check_apps($sox); pac_convert("raw", "ra", "rawtomp2", "1"); } elsif ($file =~ /\.voc$/i) { check_apps($sox); pac_convert("voc", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.smp$/i) { check_apps($sox); pac_convert("smp", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.avr$/i) { check_apps($sox); pac_convert("avr", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.cdr$/i) { check_apps($sox); pac_convert("cdr", "ra", "aifftomp2", "1"); } elsif ($file =~ /\.mp2$/i) { check_apps($ffmpeg); pac_convert("mp2", "ra", "mp2tomp2", "1"); } elsif ($file =~ /\.ac3$/i) { check_apps($ffmpeg); pac_convert("ac3", "ra", "mp2tomp2", "1"); } elsif ($file =~ /\.la$/i) { check_apps($la); pac_convert("la", "ra", "latomp2", "1"); } elsif ($file =~ /\.bonk$/i) { check_apps($bonk); pac_convert("bonk", "ra", "bonktomp2", "1"); } elsif ($file =~ /\.wav$/i) { check_apps($ffmpeg); pac_convert("wav", "ra", "wavtomp2", "0"); } elsif ($file =~ /\.wma$/i) { check_apps($mplayer); pac_convert("wma", "ra", "wmatomp2", "1"); } elsif ($file =~ /\.ra$/i) { check_apps($mplayer); pac_convert("ra", "ra", "ratomp2", "1"); } elsif ($file =~ /\.ram$/i) { check_apps($mplayer); pac_convert("ram", "ra", "ratomp2", "1"); } # Video elsif ($file =~ /\.rm$/i) { check_apps($mplayer); pac_convert("rm", "ra", "ratomp2", "1"); } elsif ($file =~ /\.rv$/i) { check_apps($mplayer); pac_convert("rv", "ra", "ratomp2", "1"); } elsif ($file =~ /\.asf$/i) { check_apps($mplayer); pac_convert("asf", "ra", "ratomp2", "1"); } elsif ($file =~ /\.avi$/i) { check_apps($mplayer); pac_convert("avi", "ra", "ratomp2", "1"); } elsif ($file =~ /\.divx$/i) { check_apps($mplayer); pac_convert("divx", "ra", "ratomp2", "1"); } elsif ($file =~ /\.mkv$/i) { check_apps($mplayer); pac_convert("mkv", "ra", "ratomp2", "1"); } elsif ($file =~ /\.mpg$/i) { check_apps($mplayer); pac_convert("mpg", "ra", "ratomp2", "1"); } elsif ($file =~ /\.mpeg$/i) { check_apps($mplayer); pac_convert("mpeg", "ra", "ratomp2", "1"); } elsif ($file =~ /\.mov$/i) { check_apps($mplayer); pac_convert("mov", "ra", "ratomp2", "1"); } elsif ($file =~ /\.ogm$/i) { check_apps($mplayer); pac_convert("ogm", "ra", "ratomp2", "1"); } elsif ($file =~ /\.qt$/i) { check_apps($mplayer); pac_convert("qt", "ra", "ratomp2", "1"); } elsif ($file =~ /\.vcd$/i) { check_apps($mplayer); pac_convert("vcd", "ra", "ratomp2", "1"); } elsif ($file =~ /\.vob$/i) { check_apps($mplayer); pac_convert("vob", "ra", "ratomp2", "1"); } elsif ($file =~ /\.wmv$/i) { check_apps($mplayer); pac_convert("wmv", "ra", "ratomp2", "1"); } elsif ($file =~ /\.flv$/i) { check_apps($mplayer); pac_convert("flv", "ra", "ratomp2", "1"); } else { pac_msg("$lang{$mylang}{format_not_supported} '$file'.","notice"); } } else { pac_msg("$lang{$mylang}{format_not_supported} '$format'.\n\n$lang{$mylang}{help_and_options}","error"); } } sub sys_call { my ($enc_opt, $audio_file, $new_file, $out_file) = @_; # Use BONK lossless encoding if --lossless option is passed my $bonk_opts = ''; if ($lossless) { $bonk_opts = "-l"; } ############################## # MP3 -> MP3 if ($enc_opt eq "mp3tomp3") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $old_tag = MP3::Tag->new($audio_file); my @tags = $old_tag->autoinfo(); my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->title($tags[0]) if $tags[0]; $id3->track($tags[1]) if $tags[1]; $id3->artist($tags[2]) if $tags[2]; $id3->album($tags[3]) if $tags[3]; $id3->comment($tags[4]) if $tags[4]; $id3->year($tags[5]) if $tags[5]; $id3->genre($tags[6]) if $tags[6]; $id3->write_tag; } } # MP3 -> Ogg Vorbis if ($enc_opt eq "mp3toogg") { system("$nice $lame --decode \"$audio_file\" \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mp3_tag = MP3::Tag->new($audio_file); my ($tit, $tra, $art, $alb, $com, $yea, $gen) = $mp3_tag->autoinfo(); my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$art") if $art; $ogg_tag->add_comments("TITLE", "$tit") if $tit; $ogg_tag->add_comments("YEAR", "$yea") if $yea; $ogg_tag->add_comments("DATE", "$yea") if $yea; $ogg_tag->add_comments("COMMENT", "$com") if $com; $ogg_tag->add_comments("GENRE", "$gen") if $gen; $ogg_tag->add_comments("ALBUM", "$alb") if $alb; $ogg_tag->add_comments("TRACKNUMBER", "$tra") if $tra; $ogg_tag->write_vorbis; } } # MP3 -> FLAC if ($enc_opt eq "mp3toflac") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mp3_tag = MP3::Tag->new($audio_file); my ($tit, $tra, $art, $alb, $com, $yea, $gen) = $mp3_tag->autoinfo(); my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = "$art" if $art; $flac_tag->{ALBUM} = "$alb" if $alb; $flac_tag->{TITLE} = "$tit" if $tit; $flac_tag->{DATE} = "$yea" if $yea; $flac_tag->{DESCRIPTION} = "$com" if $com; $flac_tag->{GENRE} = "$gen" if $gen; $flac_tag->{TRACKNUMBER} = "$tra" if $tra; $flac_head->write(); } } # MP3 -> Monkey Audio (APE) if ($enc_opt eq "mp3toape") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # MP3 -> Shorten (SHN) if ($enc_opt eq "mp3toshn") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # MP3 -> FAAC (AAC) if ($enc_opt eq "mp3toaac") { system("$nice $lame --decode \"$audio_file\" \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # MP3 -> FAAC (M4A/MP4) if ($enc_opt eq "mp3tomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $mp3_tag = MP3::Tag->new($audio_file); my ($tit, $tra, $art, $alb, $com, $yea, $gen) = $mp3_tag->autoinfo(); $mp4_tag = "--artist \"$art\"" if $art; $mp4_tag = "$mp4_tag --album \"$alb\"" if $alb; $mp4_tag = "$mp4_tag --title \"$tit\"" if $tit; $mp4_tag = "$mp4_tag --year \"$yea\"" if $yea; $mp4_tag = "$mp4_tag --comment \"$com\"" if $com; $mp4_tag = "$mp4_tag --genre \"$gen\"" if $gen; $mp4_tag = "$mp4_tag --track \"$tra\"" if $tra; } system("$nice $lame --decode \"$audio_file\" \"-\" | $nice $faac $audio_opts $mp4_tag -w -q $quality \"-\" -o \"$out_file\""); } # MP3 -> Musepack (MPC) if ($enc_opt eq "mp3tompc") { my $mpc_tag = ''; if ($usetags) { my $mp3_tag = MP3::Tag->new($audio_file); my ($tit, $tra, $art, $alb, $com, $yea, $gen) = $mp3_tag->autoinfo(); $mpc_tag = "--artist \"$art\"" if $art; $mpc_tag = "$mpc_tag --tag \"Album=$alb\"" if $alb; $mpc_tag = "$mpc_tag --tag \"Title=$tit\"" if $tit; $mpc_tag = "$mpc_tag --tag \"Year=$yea\"" if $yea; $mpc_tag = "$mpc_tag --tag \"Comment=$com\"" if $com; $mpc_tag = "$mpc_tag --tag \"Genre=$gen\"" if $gen; $mpc_tag = "$mpc_tag --tag \"Track=$tra\"" if $tra; } system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$new_file.wav\" \"$out_file\""); } # MP3 -> Wavpack (WV) if ($enc_opt eq "mp3towv") { my $wv_tag = ''; if ($usetags eq 1) { my $mp3_tag = MP3::Tag->new($audio_file); my ($tit, $tra, $art, $alb, $com, $yea, $gen) = $mp3_tag->autoinfo(); $wv_tag = "-w \"Artist=$art\"" if $art; $wv_tag = "$wv_tag -w \"Album=$alb\"" if $alb; $wv_tag = "$wv_tag -w \"Title=$tit\"" if $tit; $wv_tag = "$wv_tag -w \"Year=$yea\"" if $yea; $wv_tag = "$wv_tag -w \"Comment=$com\"" if $com; $wv_tag = "$wv_tag -w \"Genre=$gen\"" if $gen; $wv_tag = "$wv_tag -w \"Track=$tra\"" if $tra; } system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # MP3 -> OptimFrog (OFR) if ($enc_opt eq "mp3toofr") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # MP3 -> OptimFrog (OFS) if ($enc_opt eq "mp3toofs") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # MP3 -> TTA if ($enc_opt eq "mp3totta") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # MP3 -> LPAC if ($enc_opt eq "mp3topac") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # MP3 -> Kexis (KXS) if ($enc_opt eq "mp3tokxs") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # MP3 -> (AIFF/AU/SND/RAW/SMP) if ($enc_opt eq "mp3toaiff") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # MP3 -> (MP2/AC3/RA) if ($enc_opt eq "mp3tomp2") { system("$nice $ffmpeg -y -i \"$audio_file\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # MP3 -> Lossless Audio (LA) if ($enc_opt eq "mp3tola") { system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # MP3 -> BONK if ($enc_opt eq "mp3tobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $mp3_tag = MP3::Tag->new($audio_file); my ($tit, $tra, $art, $alb, $com, $yea, $gen) = $mp3_tag->autoinfo(); $bonk_tag = "$bonk_tag -a \"$art\"" if $art; $bonk_tag = "$bonk_tag -t \"$tit\"" if $tit; $bonk_tag = "$bonk_tag -c \"$com\"" if $com; } system("$nice $lame --decode \"$audio_file\" \"$new_file.wav\""); system("$nice $bonk encode $bonk_tag $audio_opts $bonk_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # MP3 -> WAV if ($enc_opt eq "mp3towav") { system("$nice $lame --decode \"$audio_file\" \"$out_file\""); } ############################## # Ogg Vorbis -> MP3 if ($enc_opt eq "oggtomp3") { system("$nice $oggdec \"$audio_file\" -o \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $ogg_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$ogg_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$ogg_tag->comment($i); } if ($i =~ /YEAR/i) { $yea = \$ogg_tag->comment($i); } if ($i =~ /GENRE/i) { $gen = \$ogg_tag->comment($i); } if ($i =~ /ALBUM/i) { $alb = \$ogg_tag->comment($i); } if ($i =~ /TRACK/i) { $tra = \$ogg_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$ogg_tag->comment($i); } } my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v}; $id3->artist("${$art}") if defined(${$art}); $id3->title("${$tit}") if defined(${$tit}); $id3->year("${$yea}") if defined(${$yea}); $id3->genre("${$gen}") if defined(${$gen}); $id3->album("${$alb}") if defined(${$alb}); $id3->track("${$tra}") if defined(${$tra}); $id3->comment("${$com}") if defined(${$com}); $id3->write_tag; } } # Ogg Vorbis -> Ogg Vorbis if ($enc_opt eq "oggtoogg") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $old_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($old_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$old_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$old_tag->comment($i); } if ($i =~ /YEAR/i) { $yea = \$old_tag->comment($i); } if ($i =~ /GENRE/i) { $gen = \$old_tag->comment($i); } if ($i =~ /ALBUM/i) { $alb = \$old_tag->comment($i); } if ($i =~ /TRACK/i) { $tra = \$old_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$old_tag->comment($i); } } my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "${$art}") if defined(${$art}); $ogg_tag->add_comments("TITLE", "${$tit}") if defined(${$tit}); $ogg_tag->add_comments("YEAR", "${$yea}") if defined(${$yea}); $ogg_tag->add_comments("DATE", "${$yea}") if defined(${$yea}); $ogg_tag->add_comments("COMMENT", "${$com}") if defined(${$com}); $ogg_tag->add_comments("GENRE", "${$gen}") if defined(${$gen}); $ogg_tag->add_comments("ALBUM", "${$alb}") if defined(${$alb}); $ogg_tag->add_comments("TRACKNUMBER", "${$tra}") if defined(${$tra}); $ogg_tag->write_vorbis; } } # Ogg Vorbis -> FLAC if ($enc_opt eq "oggtoflac") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $ogg_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$ogg_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$ogg_tag->comment($i); } if ($i =~ /YEAR/i) { $yea = \$ogg_tag->comment($i); } if ($i =~ /GENRE/i) { $gen = \$ogg_tag->comment($i); } if ($i =~ /ALBUM/i) { $alb = \$ogg_tag->comment($i); } if ($i =~ /TRACK/i) { $tra = \$ogg_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$ogg_tag->comment($i); } } my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = ${$art} if defined(${$art}); $flac_tag->{TRACKNUMBER} = ${$tra} if defined(${$tra}); $flac_tag->{TITLE} = ${$tit} if defined(${$tit}); $flac_tag->{DATE} = ${$yea} if defined(${$yea}); $flac_tag->{DESCRIPTION} = ${$com} if defined(${com}); $flac_tag->{GENRE} = ${$gen} if defined(${gen}); $flac_tag->{ALBUM} = ${$alb} if defined(${$alb}); $flac_head->write(); } } # Ogg Vorbis -> Monkey Audio (APE) if ($enc_opt eq "oggtoape") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # Ogg Vorbis -> Shorten (SHN) if ($enc_opt eq "oggtoshn") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # Ogg Vorbis -> FAAC (AAC) if ($enc_opt eq "oggtoaac") { system("$nice $oggdec \"$audio_file\" -o \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # Ogg Vorbis -> FAAC (M4A/MP4) if ($enc_opt eq "oggtomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $ogg_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$ogg_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$ogg_tag->comment($i); } if ($i =~ /YEAR/i) { $yea = \$ogg_tag->comment($i); } if ($i =~ /GENRE/i) { $gen = \$ogg_tag->comment($i); } if ($i =~ /ALBUM/i) { $alb = \$ogg_tag->comment($i); } if ($i =~ /TRACK/i) { $tra = \$ogg_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$ogg_tag->comment($i); } } $mp4_tag = "--artist \"${$art}\"" if defined(${$art}); $mp4_tag = "$mp4_tag --title \"${$tit}\"" if defined(${$tit}); $mp4_tag = "$mp4_tag --year \"${$yea}\"" if defined(${$yea}); $mp4_tag = "$mp4_tag --genre \"${$gen}\"" if defined(${$gen}); $mp4_tag = "$mp4_tag --album \"${$alb}\"" if defined(${$alb}); $mp4_tag = "$mp4_tag --track \"${$tra}\"" if defined(${$tra}); $mp4_tag = "$mp4_tag --comment \"${$com}\"" if defined(${$com}); } system("$nice $oggdec \"$audio_file\" -o \"-\" | $faac $audio_opts $mp4_tag -w -q $quality \"-\" -o \"$out_file\""); } # Ogg Vorbis -> Musepack (MPC) if ($enc_opt eq "oggtompc") { my $mpc_tag = ''; if ($usetags eq 1) { my $ogg_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$ogg_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$ogg_tag->comment($i); } if ($i =~ /YEAR/i) { $yea = \$ogg_tag->comment($i); } if ($i =~ /GENRE/i) { $gen = \$ogg_tag->comment($i); } if ($i =~ /ALBUM/i) { $alb = \$ogg_tag->comment($i); } if ($i =~ /TRACK/i) { $tra = \$ogg_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$ogg_tag->comment($i); } } $mpc_tag = "--tag \"Artist=${$art}\"" if defined(${$art}); $mpc_tag = "$mpc_tag --tag \"Title=${$tit}\"" if defined(${$tit}); $mpc_tag = "$mpc_tag --tag \"Year=${$yea}\"" if defined(${$yea}); $mpc_tag = "$mpc_tag --tag \"Genre=${$gen}\"" if defined(${$gen}); $mpc_tag = "$mpc_tag --tag \"Album=${$alb}\"" if defined(${$alb}); $mpc_tag = "$mpc_tag --tag \"Track=${$tra}\"" if defined(${$tra}); $mpc_tag = "$mpc_tag --tag \"Comment=${$com}\"" if defined(${$com}); } system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$new_file.wav\" \"$out_file\""); } # Ogg Vorbis -> Wavpack (WV) if ($enc_opt eq "oggtowv") { my $wv_tag = ''; if ($usetags eq 1) { my $ogg_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$ogg_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$ogg_tag->comment($i); } if ($i =~ /YEAR/i) { $yea = \$ogg_tag->comment($i); } if ($i =~ /GENRE/i) { $gen = \$ogg_tag->comment($i); } if ($i =~ /ALBUM/i) { $alb = \$ogg_tag->comment($i); } if ($i =~ /TRACK/i) { $tra = \$ogg_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$ogg_tag->comment($i); } } $wv_tag = "-w \"Artist=${$art}\"" if defined(${$art}); $wv_tag = "$wv_tag -w \"Album=${$alb}\"" if defined(${$alb}); $wv_tag = "$wv_tag -w \"Title=${$tit}\"" if defined(${$tit}); $wv_tag = "$wv_tag -w \"Year=${$yea}\"" if defined(${$yea}); $wv_tag = "$wv_tag -w \"Comment=${$com}\"" if defined(${$com}); $wv_tag = "$wv_tag -w \"Genre=${$gen}\"" if defined(${$gen}); $wv_tag = "$wv_tag -w \"Track=${$tra}\"" if defined(${$tra}); } system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # Ogg Vorbis -> OptimFrog (OFR) if ($enc_opt eq "oggtoofr") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Ogg Vorbis -> OptimFrog (OFS) if ($enc_opt eq "oggtoofs") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Ogg Vorbis -> TTA if ($enc_opt eq "oggtotta") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Ogg Vorbis -> LPAC if ($enc_opt eq "oggtopac") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Ogg Vorbis -> Kexis (KXS) if ($enc_opt eq "oggtokxs") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Ogg Vorbis -> (AIFF/AU/SND/RAW/SMP) if ($enc_opt eq "oggtoaiff") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Ogg Vorbis -> (MP2/AC3/RA) if ($enc_opt eq "oggtomp2") { system("$nice $ffmpeg -y -i \"$audio_file\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Ogg Vorbis -> Lossless Audio (LA) if ($enc_opt eq "oggtola") { system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Ogg Vorbis -> BONK if ($enc_opt eq "oggtobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $ogg_tag = Ogg::Vorbis::Header->new("$audio_file"); my ($art, $tit, $yea, $gen, $alb, $tra, $com); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /ARTIST/i) { $art = \$ogg_tag->comment($i); } if ($i =~ /TITLE/i) { $tit = \$ogg_tag->comment($i); } if ($i =~ /COMMENT/i) { $com = \$ogg_tag->comment($i); } } $bonk_tag = "$bonk_tag -a \"${$art}\"" if defined(${$art}); $bonk_tag = "$bonk_tag -t \"${$tit}\"" if defined(${$tit}); $bonk_tag = "$bonk_tag -c \"${$com}\"" if defined(${$com}); } system("$nice $oggdec \"$audio_file\" -o \"$new_file.wav\""); system("$nice $bonk encode $bonk_tag $audio_opts $bonk_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # Ogg Vorbis -> WAV if ($enc_opt eq "oggtowav") { system("$nice $oggdec \"$audio_file\" -o \"$out_file\""); } ############################### # FLAC -> MP3 if ($enc_opt eq "flactomp3") { system("$nice $flac -d \"$audio_file\" -o \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $flac_tag = Audio::FLAC::Header->new($audio_file)->tags(); my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->artist($flac_tag->{ARTIST}) if $flac_tag->{ARTIST}; $id3->title($flac_tag->{TITLE}) if $flac_tag->{TITLE}; $id3->album($flac_tag->{ALBUM}) if $flac_tag->{ALBUM}; $id3->genre($flac_tag->{GENRE}) if $flac_tag->{GENRE}; $id3->year($flac_tag->{DATE}) if $flac_tag->{DATE}; $id3->comment($flac_tag->{DESCRIPTION}) if $flac_tag->{DESCRIPTION}; $id3->track($flac_tag->{TRACKNUMBER}) if $flac_tag->{TRACKNUMBER}; $id3->write_tag; } } # FLAC -> Ogg Vorbis if ($enc_opt eq "flactoogg") { system("$nice $flac -d \"$audio_file\" -o \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $flac_tag = Audio::FLAC::Header->new($audio_file)->tags(); my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$flac_tag->{ARTIST}") if $flac_tag->{ARTIST}; $ogg_tag->add_comments("TITLE", "$flac_tag->{TITLE}") if $flac_tag->{TITLE}; $ogg_tag->add_comments("YEAR", "$flac_tag->{DATE}") if $flac_tag->{DATE}; $ogg_tag->add_comments("DATE", "$flac_tag->{DATE}") if $flac_tag->{DATE}; $ogg_tag->add_comments("COMMENT", "$flac_tag->{DESCRIPTION}") if $flac_tag->{DESCRIPTION}; $ogg_tag->add_comments("GENRE", "$flac_tag->{GENRE}") if $flac_tag->{GENRE}; $ogg_tag->add_comments("ALBUM", "$flac_tag->{ALBUM}") if $flac_tag->{ALBUM}; $ogg_tag->add_comments("TRACKNUMBER", "$flac_tag->{TRACKNUMBER}") if $flac_tag->{TRACKNUMBER}; $ogg_tag->write_vorbis; } } # FLAC -> FLAC if ($enc_opt eq "flactoflac") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $flac -f $audio_opts -$flevel \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $old_tag = Audio::FLAC::Header->new($audio_file)->tags(); my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = $old_tag->{ARTIST} if $old_tag->{ARTIST}; $flac_tag->{ALBUM} = $old_tag->{ALBUM} if $old_tag->{ALBUM}; $flac_tag->{TITLE} = $old_tag->{TITLE} if $old_tag->{TITLE}; $flac_tag->{DATE} = $old_tag->{DATE} if $old_tag->{DATE}; $flac_tag->{DESCRIPTION} = $old_tag->{DESCRIPTION} if $old_tag->{DESCRIPTION}; $flac_tag->{GENRE} = $old_tag->{GENRE} if $old_tag->{GENRE}; $flac_tag->{TRACKNUMBER} = $old_tag->{TRACKNUMBER} if $old_tag->{TRACKNUMBER}; $flac_head->write(); } } # FLAC -> Monkey Audio (APE) if ($enc_opt eq "flactoape") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # FLAC -> Shorten (SHN) if ($enc_opt eq "flactoshn") { system("$nice $flac -d \"$audio_file\" -o \"-\" | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # FLAC -> FAAC (AAC) if ($enc_opt eq "flactoaac") { system("$nice $flac -d \"$audio_file\" -o \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # FLAC -> FAAC (M4A/MP4) if ($enc_opt eq "flactomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $flac_tag = Audio::FLAC::Header->new($audio_file)->tags(); $mp4_tag = "--artist \"$flac_tag->{ARTIST}\"" if $flac_tag->{ARTIST}; $mp4_tag = "$mp4_tag --title \"$flac_tag->{TITLE}\"" if $flac_tag->{TITLE}; $mp4_tag = "$mp4_tag --album \"$flac_tag->{ALBUM}\"" if $flac_tag->{ALBUM}; $mp4_tag = "$mp4_tag --year \"$flac_tag->{DATE}\"" if $flac_tag->{DATE}; $mp4_tag = "$mp4_tag --genre \"$flac_tag->{GENRE}\"" if $flac_tag->{GENRE}; $mp4_tag = "$mp4_tag --comment \"$flac_tag->{DESCRIPTION}\"" if $flac_tag->{DESCRIPTION}; $mp4_tag = "$mp4_tag --track \"$flac_tag->{TRACKNUMBER}\"" if $flac_tag->{TRACKNUMBER}; } system("$nice $flac -d \"$audio_file\" -o \"-\" | $nice $faac $mp4_tag $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # FLAC -> Musepack (MPC) if ($enc_opt eq "flactompc") { my $mpc_tag = ''; if ($usetags eq 1) { my $flac_tag = Audio::FLAC::Header->new($audio_file)->tags(); $mpc_tag = "--tag \"Artist=$flac_tag->{ARTIST}\"" if $flac_tag->{ARTIST}; $mpc_tag = "$mpc_tag --tag \"Album=$flac_tag->{ALBUM}\"" if $flac_tag->{ALBUM}; $mpc_tag = "$mpc_tag --tag \"Title=$flac_tag->{TITLE}\"" if $flac_tag->{TITLE}; $mpc_tag = "$mpc_tag --tag \"Year=$flac_tag->{DATE}\"" if $flac_tag->{DATE}; $mpc_tag = "$mpc_tag --tag \"Genre=$flac_tag->{GENRE}\"" if $flac_tag->{GENRE}; $mpc_tag = "$mpc_tag --tag \"Comment=$flac_tag->{DESCRIPTION}\"" if $flac_tag->{DESCRIPTION}; $mpc_tag = "$mpc_tag --tag \"Track=$flac_tag->{TRACKNUMBER}\"" if $flac_tag->{TRACKNUMBER}; } system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$audio_file\" \"$out_file\""); } # FLAC -> Wavpack (WV) if ($enc_opt eq "flactowv") { my $wv_tag = ''; if ($usetags eq 1) { my $flac_tag = Audio::FLAC::Header->new($audio_file)->tags(); $wv_tag = "-w \"Artist=$flac_tag->{ARTIST}\"" if $flac_tag->{ARTIST}; $wv_tag = "$wv_tag -w \"Album=$flac_tag->{ALBUM}\"" if $flac_tag->{ALBUM}; $wv_tag = "$wv_tag -w \"Title=$flac_tag->{TITLE}\"" if $flac_tag->{TITLE}; $wv_tag = "$wv_tag -w \"Year=$flac_tag->{DATE}\"" if $flac_tag->{DATE}; $wv_tag = "$wv_tag -w \"Genre=$flac_tag->{GENRE}\"" if $flac_tag->{GENRE}; $wv_tag = "$wv_tag -w \"Comment=$flac_tag->{DESCRIPTION}\"" if $flac_tag->{DESCRIPTION}; $wv_tag = "$wv_tag -w \"Track=$flac_tag->{TRACKNUMBER}\"" if $flac_tag->{TRACKNUMBER}; } system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # FLAC -> OptimFrog (OFR) if ($enc_opt eq "flactoofr") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # FLAC -> OptimFrog (OFS) if ($enc_opt eq "flactoofs") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # FLAC -> TTA if ($enc_opt eq "flactotta") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # FLAC -> LPAC if ($enc_opt eq "flactopac") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # FLAC -> Kexis (KXS) if ($enc_opt eq "flactokxs") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # FLAC -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "flactoaiff") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # FLAC -> (MP2/AC3/RA) if ($enc_opt eq "flactomp2") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # FLAC -> Lossless Audio (LA) if ($enc_opt eq "flactola") { system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # FLAC -> BONK if ($enc_opt eq "flactobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $flac_tag = Audio::FLAC::Header->new($audio_file)->tags(); $bonk_tag = "$bonk_tag -a \"$flac_tag->{ARTIST}\"" if $flac_tag->{ARTIST}; $bonk_tag = "$bonk_tag -t \"$flac_tag->{TITLE}\"" if $flac_tag->{TITLE}; $bonk_tag = "$bonk_tag -c \"$flac_tag->{DESCRIPTION}\"" if $flac_tag->{DESCRIPTION}; } system("$nice $flac -f -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $bonk encode $bonk_tag $audio_opts $bonk_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # FLAC -> WAV if ($enc_opt eq "flactowav") { system("$nice $flac -f -d \"$audio_file\" -o \"$out_file\""); } ############################### # Monkey Audio (APE) -> MP3 if ($enc_opt eq "apetomp3") { system("$nice $mac \"$audio_file\" \"-\" -d | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); } # Monkey Audio (APE) -> Ogg Vorbis if ($enc_opt eq "apetoogg") { system("$nice $mac \"$audio_file\" \"-\" -d | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # Monkey Audio (APE) -> FLAC if ($enc_opt eq "apetoflac") { system("$nice $mac \"$audio_file\" \"-\" -d | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); } # Monkey Audio (APE) -> Monkey Audio (APE) if ($enc_opt eq "apetoape") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # Monkey Audio (APE) -> Shorten (SHN) if ($enc_opt eq "apetoshn") { system("$nice $mac \"$audio_file\" \"-\" -d | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # Monkey Audio (APE) -> FAAC (AAC) if ($enc_opt eq "apetoaac") { system("$nice $mac \"$audio_file\" \"-\" -d | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # Monkey Audio (APE) -> FAAC (M4A/MP4) if ($enc_opt eq "apetomp4") { system("$nice $mac \"$audio_file\" \"-\" -d | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # Monkey Audio (APE) -> Musepack (MPC) if ($enc_opt eq "apetompc") { system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$audio_file\" \"$out_file\""); } # Monkey Audio (APE) -> Wavpack (WV) if ($enc_opt eq "apetowv") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # Monkey Audio (APE) -> OptimFrog (OFR) if ($enc_opt eq "apetoofr") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Monkey Audio (APE) -> OptimFrog (OFS) if ($enc_opt eq "apetoofs") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Monkey Audio (APE) -> TTA if ($enc_opt eq "apetotta") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Monkey Audio (APE) -> LPAC if ($enc_opt eq "apetopac") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Monkey Audio (APE) -> Kexis (KXS) if ($enc_opt eq "apetokxs") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Monkey Audio (APE) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "apetoaiff") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Monkey Audio (APE) -> (MP2/AC3/RA) if ($enc_opt eq "apetomp2") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Monkey Audio (APE) -> Lossless Audio (LA) if ($enc_opt eq "apetola") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Monkey Audio (APE) -> BONK if ($enc_opt eq "apetobonk") { system("$nice $mac \"$audio_file\" \"$new_file.wav\" -d"); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # Monkey Audio (APE) -> WAV if ($enc_opt eq "apetowav") { system("$nice $mac \"$audio_file\" \"$out_file\" -d"); } ############################### # Shorten (SHN) -> MP3 if ($enc_opt eq "shntomp3") { system("$nice $shorten -x \"$audio_file\" \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); } # Shorten (SHN) -> Ogg Vorbis if ($enc_opt eq "shntoogg") { system("$nice $shorten -x \"$audio_file\" \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # Shorten (SHN) -> FLAC if ($enc_opt eq "shntoflac") { system("$nice $shorten -x \"$audio_file\" \"-\" | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); } # Shorten (SHN) -> Monkey Audio (APE) if ($enc_opt eq "shntoape") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # Shorten (SHN) -> Shorten (SHN) if ($enc_opt eq "shntoshn") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # Shorten (SHN) -> FAAC (AAC) if ($enc_opt eq "shntoaac") { system("$nice $shorten -x \"$audio_file\" \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # Shorten (SHN) -> FAAC (M4A/MP4) if ($enc_opt eq "shntomp4") { system("$nice $shorten -x \"$audio_file\" \"-\" | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # Shorten (SHN) -> Musepack (MPC) if ($enc_opt eq "shntompc") { system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$audio_file\" \"$out_file\""); } # Shorten (SHN) -> Wavpack (WV) if ($enc_opt eq "shntowv") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # Shorten (SHN) -> OptimFrog (OFR) if ($enc_opt eq "shntoofr") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Shorten (SHN) -> OptimFrog (OFS) if ($enc_opt eq "shntoofs") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Shorten (SHN) -> TTA if ($enc_opt eq "shntotta") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Shorten (SHN) -> LPAC if ($enc_opt eq "shntopac") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Shorten (SHN) -> Kexis (KXS) if ($enc_opt eq "shntokxs") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Shorten (SHN) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "shntoaiff") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Shorten (SHN) -> (MP2/AC3/RA) if ($enc_opt eq "shntomp2") { system("$nice $ffmpeg -y -i \"$audio_file\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Shorten (SHN) -> Lossless Audio (LA) if ($enc_opt eq "shntola") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Shorten (SHN) -> BONK if ($enc_opt eq "shntobonk") { system("$nice $shorten -x \"$audio_file\" \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # Shorten (SHN) -> WAV if ($enc_opt eq "shntowav") { system("$nice $shorten -x \"$audio_file\" \"$out_file\""); } ################################ # FAAC (AAC) -> MP3 if ($enc_opt eq "aactomp3") { system("$nice $faad -o \"-\" \"$audio_file\" | $nice $lame --resample $freq $audio_opts -b $bitrate -h \"-\" \"$out_file\""); } # FAAC (AAC) -> Ogg Vorbis if ($enc_opt eq "aactoogg") { system("$nice $faad -o \"-\" \"$audio_file\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # FAAC (AAC) -> FLAC if ($enc_opt eq "aactoflac") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # FAAC (AAC) -> Monkey Audio (APE) if ($enc_opt eq "aactoape") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # FAAC (AAC) -> Shorten (SHN) if ($enc_opt eq "aactoshn") { system("$nice $faad -o \"-\" \"$audio_file\" | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # FAAC (AAC) -> FAAC (AAC) if ($enc_opt eq "aactoaac") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # FAAC (AAC) -> FAAC (M4A/MP4) if ($enc_opt eq "aactomp4") { system("$nice $faad -o \"-\" \"$audio_file\" | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # FAAC (AAC) -> Musepack (MPC) if ($enc_opt eq "aactompc") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # FAAC (AAC) -> Wavpack (WV) if ($enc_opt eq "aactowv") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # FAAC (AAC) -> OptimFrog (OFR) if ($enc_opt eq "aactoofr") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # FAAC (AAC) -> OptimFrog (OFS) if ($enc_opt eq "aactoofs") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # FAAC (AAC) -> TTA if ($enc_opt eq "aactotta") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # FAAC (AAC) -> LPAC if ($enc_opt eq "aactopac") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # FAAC (AAC) -> Kexis (KXS) if ($enc_opt eq "aactokxs") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # FAAC (AAC) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "aactoaiff") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # FAAC (AAC) -> (MP2/AC3/RA) if ($enc_opt eq "aactomp2") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # FAAC (AAC) -> Lossless Audio (LA) if ($enc_opt eq "aactola") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # FAAC (AAC) -> BONK if ($enc_opt eq "aactobonk") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # FAAC (AAC) -> WAV if ($enc_opt eq "aactowav") { system("$nice $faad -o \"$out_file\" \"$audio_file\""); } ############################### # FAAC (M4A/MP4) -> MP3 if ($enc_opt eq "mp4tomp3") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mp4_tag = get_mp4tag($audio_file); my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->artist($mp4_tag->{ARTIST}) if $mp4_tag->{ARTIST}; $id3->album($mp4_tag->{ALBUM}) if $mp4_tag->{ALBUM}; $id3->genre($mp4_tag->{GENRE}) if $mp4_tag->{GENRE}; $id3->title($mp4_tag->{TITLE}) if $mp4_tag->{TITLE}; $id3->year($mp4_tag->{YEAR}) if $mp4_tag->{YEAR}; $id3->track($mp4_tag->{TRACKNUM}) if $mp4_tag->{TRACKNUM}; $id3->comment($mp4_tag->{COMMENT}) if $mp4_tag->{COMMENT}; $id3->write_tag; } } # FAAC (M4A/MP4) -> Ogg Vorbis if ($enc_opt eq "mp4toogg") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mp4_tag = get_mp4tag($audio_file); my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$mp4_tag->{ARTIST}") if $mp4_tag->{ARTIST}; $ogg_tag->add_comments("TITLE", "$mp4_tag->{TITLE}") if $mp4_tag->{TITLE}; $ogg_tag->add_comments("YEAR", "$mp4_tag->{YEAR}") if $mp4_tag->{YEAR}; $ogg_tag->add_comments("DATE", "$mp4_tag->{YEAR}") if $mp4_tag->{YEAR}; $ogg_tag->add_comments("COMMENT", "$mp4_tag->{COMMENT}") if $mp4_tag->{COMMENT}; $ogg_tag->add_comments("GENRE", "$mp4_tag->{GENRE}") if $mp4_tag->{GENRE}; $ogg_tag->add_comments("ALBUM", "$mp4_tag->{ALBUM}") if $mp4_tag->{ALBUM}; $ogg_tag->add_comments("TRACKNUMBER", "$mp4_tag->{TRACKNUM}") if $mp4_tag->{TRACKNUM}; $ogg_tag->write_vorbis; } } # FAAC (M4A/MP4) -> FLAC if ($enc_opt eq "mp4toflac") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mp4_tag = get_mp4tag($audio_file); my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = "$mp4_tag->{ARTIST}" if $mp4_tag->{ARTIST}; $flac_tag->{TITLE} = "$mp4_tag->{TITLE}" if $mp4_tag->{TITLE}; $flac_tag->{DATE} = "$mp4_tag->{YEAR}" if $mp4_tag->{YEAR}; $flac_tag->{GENRE} = "$mp4_tag->{GENRE}" if $mp4_tag->{GENRE}; $flac_tag->{ALBUM} = "$mp4_tag->{ALBUM}" if $mp4_tag->{ALBUM}; $flac_tag->{TRACKNUMBER} = "$mp4_tag->{TRACKNUM}" if $mp4_tag->{TRACKNUM}; $flac_tag->{DESCRIPTION} = "$mp4_tag->{COMMENT}" if $mp4_tag->{COMMENT}; $flac_head->write(); } } # FAAC (M4A/MP4) -> Monkey Audio (APE) if ($enc_opt eq "mp4toape") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # FAAC (M4A/MP4) -> Shorten (SHN) if ($enc_opt eq "mp4toshn") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # FAAC (M4A/MP4) -> FAAC (AAC) if ($enc_opt eq "mp4toaac") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # FAAC (M4A/MP4) -> FAAC (M4A/MP4) if ($enc_opt eq "mp4tomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $old_tag = get_mp4tag($audio_file); $mp4_tag = "--artist \"$old_tag->{ARTIST}\"" if $old_tag->{ARTIST}; $mp4_tag = "$mp4_tag --title \"$old_tag->{TITLE}\"" if $old_tag->{TITLE}; $mp4_tag = "$mp4_tag --genre \"$old_tag->{GENRE}\"" if $old_tag->{GENRE}; $mp4_tag = "$mp4_tag --year \"$old_tag->{YEAR}\"" if $old_tag->{YEAR}; $mp4_tag = "$mp4_tag --album \"$old_tag->{ALBUM}\"" if $old_tag->{ALBUM}; $mp4_tag = "$mp4_tag --comment \"$old_tag->{COMMENT}\"" if $old_tag->{COMMENT}; $mp4_tag = "$mp4_tag --track \"$old_tag->{TRACKNUM}\"" if $old_tag->{TRACKNUM}; } system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $faac $mp4_tag $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # FAAC (M4A/MP4) -> Musepack (MPC) if ($enc_opt eq "mp4tompc") { my $mpc_tag = ''; if ($usetags eq 1) { my $mp4_tag = get_mp4tag($audio_file); $mpc_tag = "--artist \"$mp4_tag->{ARTIST}\"" if $mp4_tag->{ARTIST}; $mpc_tag = "$mpc_tag --tag \"Title=$mp4_tag->{TITLE}\"" if $mp4_tag->{TITLE}; $mpc_tag = "$mpc_tag --tag \"Genre=$mp4_tag->{GENRE}\"" if $mp4_tag->{GENRE}; $mpc_tag = "$mpc_tag --tag \"Album=$mp4_tag->{ALBUM}\"" if $mp4_tag->{ALBUM}; $mpc_tag = "$mpc_tag --tag \"Year=$mp4_tag->{YEAR}\"" if $mp4_tag->{YEAR}; $mpc_tag = "$mpc_tag --tag \"Track=$mp4_tag->{TRACKNUM}\"" if $mp4_tag->{TRACKNUM}; $mpc_tag = "$mpc_tag --tag \"Comment=$mp4_tag->{COMMENT}\"" if $mp4_tag->{COMMENT}; } system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$new_file.wav\" \"$out_file\""); } # FAAC (M4A/MP4) -> Wavpack (WV) if ($enc_opt eq "mp4towv") { my $wv_tag = ''; if ($usetags eq 1) { my $mp4_tag = get_mp4tag($audio_file); $wv_tag = "-w \"Artist=$mp4_tag->{ARTIST}\"" if $mp4_tag->{ARTIST}; $wv_tag = "$wv_tag -w \"Title=$mp4_tag->{TITLE}\"" if $mp4_tag->{TITLE}; $wv_tag = "$wv_tag -w \"Genre=$mp4_tag->{GENRE}\"" if $mp4_tag->{GENRE}; $wv_tag = "$wv_tag -w \"Album=$mp4_tag->{ALBUM}\"" if $mp4_tag->{ALBUM}; $wv_tag = "$wv_tag -w \"Year=$mp4_tag->{YEAR}\"" if $mp4_tag->{YEAR}; $wv_tag = "$wv_tag -w \"Track=$mp4_tag->{TRACKNUM}\"" if $mp4_tag->{TRACKNUM}; $wv_tag = "$wv_tag -w \"Comment=$mp4_tag->{COMMENT}\"" if $mp4_tag->{COMMENT}; } system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # FAAC (M4A/MP4) -> OptimFrog (OFR) if ($enc_opt eq "mp4toofr") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # FAAC (M4A/MP4) -> OptimFrog (OFS) if ($enc_opt eq "mp4toofs") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # FAAC (M4A/MP4) -> TTA if ($enc_opt eq "mp4totta") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # FAAC (M4A/MP4) -> LPAC if ($enc_opt eq "mp4topac") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # FAAC (M4A/MP4) -> Kexis (KXS) if ($enc_opt eq "mp4tokxs") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # FAAC (M4A/MP4) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "mp4toaiff") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # FAAC (M4A/MP4) -> (MP2/AC3/RA) if ($enc_opt eq "mp4tomp2") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # FAAC (M4A/MP4) -> Lossless Audio (LA) if ($enc_opt eq "mp4tola") { system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # FAAC (M4A/MP4) -> BONK if ($enc_opt eq "mp4tobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $mp4_tag = get_mp4tag($audio_file); $bonk_tag = "$bonk_tag -a \"$mp4_tag->{ARTIST}\"" if $mp4_tag->{ARTIST}; $bonk_tag = "$bonk_tag -t \"$mp4_tag->{TITLE}\"" if $mp4_tag->{TITLE}; $bonk_tag = "$bonk_tag -c \"$mp4_tag->{COMMENT}\"" if $mp4_tag->{COMMENT}; } system("$nice $faad -o \"$new_file.wav\" \"$audio_file\""); system("$nice $bonk encode $bonk_tag $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # FAAC (M4A/MP4) -> WAV if ($enc_opt eq "mp4towav") { system("$nice $faad -o \"$out_file\" \"$audio_file\""); } ############################### # Musepack (MPC/MPP) -> MP3 if ($enc_opt eq "mpctomp3") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mpc_tag = Audio::Musepack->new($audio_file)->tags(); my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->artist($mpc_tag->{Artist}) if $mpc_tag->{Artist}; $id3->title($mpc_tag->{Title}) if $mpc_tag->{Title}; $id3->genre($mpc_tag->{Genre}) if $mpc_tag->{Genre}; $id3->album($mpc_tag->{Album}) if $mpc_tag->{Album}; $id3->year($mpc_tag->{Year}) if $mpc_tag->{Year}; $id3->comment($mpc_tag->{Comment}) if $mpc_tag->{Comment}; $id3->track($mpc_tag->{Track}) if $mpc_tag->{Track}; $id3->write_tag; } } # Musepack (MPC/MPP) -> Ogg Vorbis if ($enc_opt eq "mpctoogg") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mpc_tag = Audio::Musepack->new($audio_file)->tags(); my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$mpc_tag->{Artist}") if $mpc_tag->{Artist}; $ogg_tag->add_comments("TITLE", "$mpc_tag->{Title}") if $mpc_tag->{Title}; $ogg_tag->add_comments("YEAR", "$mpc_tag->{Year}") if $mpc_tag->{Year}; $ogg_tag->add_comments("DATE", "$mpc_tag->{Year}") if $mpc_tag->{Year}; $ogg_tag->add_comments("COMMENT", "$mpc_tag->{Comment}") if $mpc_tag->{Comment}; $ogg_tag->add_comments("GENRE", "$mpc_tag->{Genre}") if $mpc_tag->{Genre}; $ogg_tag->add_comments("ALBUM", "$mpc_tag->{Album}") if $mpc_tag->{Album}; $ogg_tag->add_comments("TRACKNUMBER", "$mpc_tag->{Track}") if $mpc_tag->{Track}; $ogg_tag->write_vorbis; } } # Musepack (MPC/MPP) -> FLAC if ($enc_opt eq "mpctoflac") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $mpc_tag = Audio::Musepack->new($audio_file)->tags(); my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = "$mpc_tag->{Artist}" if $mpc_tag->{Artist}; $flac_tag->{TITLE} = "$mpc_tag->{Title}" if $mpc_tag->{Title}; $flac_tag->{DATE} = "$mpc_tag->{Year}" if $mpc_tag->{Year}; $flac_tag->{GENRE} = "$mpc_tag->{Genre}" if $mpc_tag->{Genre}; $flac_tag->{ALBUM} = "$mpc_tag->{Album}" if $mpc_tag->{Album}; $flac_tag->{TRACKNUMBER} = "$mpc_tag->{Track}" if $mpc_tag->{Track}; $flac_tag->{DESCRIPTION} = "$mpc_tag->{Comment}" if $mpc_tag->{Comment}; $flac_head->write(); } } # Musepack (MPC/MPP) -> Monkey Audio (APE) if ($enc_opt eq "mpctoape") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # Musepack (MPC/MPP) -> Shorten (SHN) if ($enc_opt eq "mpctoshn") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # Musepack (MPC/MPP) -> FAAC (AAC) if ($enc_opt eq "mpctoaac") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Musepack (MPC/MPP) -> FAAC (M4A/MP4) if ($enc_opt eq "mpctomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $mpc_tag = Audio::Musepack->new($audio_file)->tags(); $mp4_tag = "--artist \"$mpc_tag->{Artist}\"" if $mpc_tag->{Artist}; $mp4_tag = "$mp4_tag --title \"$mpc_tag->{Title}\"" if $mpc_tag->{Title}; $mp4_tag = "$mp4_tag --album \"$mpc_tag->{Album}\"" if $mpc_tag->{Album}; $mp4_tag = "$mp4_tag --genre \"$mpc_tag->{Genre}\"" if $mpc_tag->{Genre}; $mp4_tag = "$mp4_tag --track \"$mpc_tag->{Track}\"" if $mpc_tag->{Track}; $mp4_tag = "$mp4_tag --year \"$mpc_tag->{Year}\"" if $mpc_tag->{Year}; $mp4_tag = "$mp4_tag --comment \"$mpc_tag->{Comment}\"" if $mpc_tag->{Comment}; } system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $faac $mp4_tag $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Musepack (MPC/MPP) -> Musepack (MPC) if ($enc_opt eq "mpctompc") { my $mpc_tag = ''; if ($usetags eq 1) { my $old_tag = Audio::Musepack->new($audio_file)->tags(); $mpc_tag = "--artist \"$old_tag->{Artist}\"" if $old_tag->{Artist}; $mpc_tag = "$mpc_tag --tag \"Title=$old_tag->{Title}\"" if $old_tag->{Title}; $mpc_tag = "$mpc_tag --tag \"Genre=$old_tag->{Genre}\"" if $old_tag->{Genre}; $mpc_tag = "$mpc_tag --tag \"Year=$old_tag->{Year}\"" if $old_tag->{Year}; $mpc_tag = "$mpc_tag --tag \"Track=$old_tag->{Track}\"" if $old_tag->{Track}; $mpc_tag = "$mpc_tag --tag \"Album=$old_tag->{Album}\"" if $old_tag->{Album}; $mpc_tag = "$mpc_tag --tag \"Comment=$old_tag->{Comment}\"" if $old_tag->{Comment}; } system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$new_file.wav\" \"$out_file\""); } # Musepack (MPC/MPP) -> Wavpack (WV) if ($enc_opt eq "mpctowv") { my $wv_tag = ''; if ($usetags eq 1) { my $mpc_tag = Audio::Musepack->new($audio_file)->tags(); $wv_tag = "-w \"Artist=$mpc_tag->{Artist}\"" if $mpc_tag->{Artist}; $wv_tag = "$wv_tag -w \"Title=$mpc_tag->{Title}\"" if $mpc_tag->{Title}; $wv_tag = "$wv_tag -w \"Genre=$mpc_tag->{Genre}\"" if $mpc_tag->{Genre}; $wv_tag = "$wv_tag -w \"Year=$mpc_tag->{Year}\"" if $mpc_tag->{Year}; $wv_tag = "$wv_tag -w \"Track=$mpc_tag->{Track}\"" if $mpc_tag->{Track}; $wv_tag = "$wv_tag -w \"Album=$mpc_tag->{Album}\"" if $mpc_tag->{Album}; $wv_tag = "$wv_tag -w \"Comment=$mpc_tag->{Comment}\"" if $mpc_tag->{Comment}; } system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # Musepack (MPC/MPP) -> OptimFrog (OFR) if ($enc_opt eq "mpctoofr") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Musepack (MPC/MPP) -> OptimFrog (OFS) if ($enc_opt eq "mpctoofs") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Musepack (MPC/MPP) -> TTA if ($enc_opt eq "mpctotta") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Musepack (MPC/MPP) -> LPAC if ($enc_opt eq "mpctopac") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Musepack (MPC/MPP) -> Kexis (KXS) if ($enc_opt eq "mpctokxs") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Musepack (MPC/MPP) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "mpctoaiff") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Musepack (MPC/MPP) -> (MP2/AC3/RA) if ($enc_opt eq "mpctomp2") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Musepack (MPC/MPP) -> Lossless Audio (LA) if ($enc_opt eq "mpctola") { system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Musepack (MPC/MPP) -> BONK if ($enc_opt eq "mpctobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $mpc_tag = Audio::Musepack->new($audio_file)->tags(); $bonk_tag = "$bonk_tag -a \"$mpc_tag->{Artist}\"" if $mpc_tag->{Artist}; $bonk_tag = "$bonk_tag -t \"$mpc_tag->{Title}\"" if $mpc_tag->{Title}; $bonk_tag = "$bonk_tag -c \"$mpc_tag->{Comment}\"" if $mpc_tag->{Comment}; } system("$nice $mppdec \"$audio_file\" \"$new_file.wav\""); system("$nice $bonk encode $bonk_tag $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # Musepack (MPC/MPP) -> WAV if ($enc_opt eq "mpctowav") { system("$nice $mppdec \"$audio_file\" \"$out_file\""); } ############################# # Wavpack (WV) -> MP3 if ($enc_opt eq "wvtomp3") { system("$nice $wvunpack \"$audio_file\" -o \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $wv_tag = Audio::APETags->getTags($audio_file)->{'tags'}; my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->artist($wv_tag->{Artist}) if $wv_tag->{Artist}; $id3->title($wv_tag->{Title}) if $wv_tag->{Title}; $id3->genre($wv_tag->{Genre}) if $wv_tag->{Genre}; $id3->album($wv_tag->{Album}) if $wv_tag->{Album}; $id3->year($wv_tag->{Year}) if $wv_tag->{Year}; $id3->comment($wv_tag->{Comment}) if $wv_tag->{Comment}; $id3->track($wv_tag->{Track}) if $wv_tag->{Track}; $id3->write_tag; } } # Wavpack (WV) -> Ogg Vorgis if ($enc_opt eq "wvtoogg") { system("$nice $wvunpack \"$audio_file\" -o \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $wv_tag = Audio::APETags->getTags($audio_file)->{'tags'}; my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$wv_tag->{Artist}") if $wv_tag->{Artist}; $ogg_tag->add_comments("TITLE", "$wv_tag->{Title}") if $wv_tag->{Title}; $ogg_tag->add_comments("YEAR", "$wv_tag->{Year}") if $wv_tag->{Year}; $ogg_tag->add_comments("COMMENT", "$wv_tag->{Comment}") if $wv_tag->{Comment}; $ogg_tag->add_comments("GENRE", "$wv_tag->{Genre}") if $wv_tag->{Genre}; $ogg_tag->add_comments("ALBUM", "$wv_tag->{Album}") if $wv_tag->{Album}; $ogg_tag->add_comments("TRACKNUM", "$wv_tag->{Track}") if $wv_tag->{Track}; $ogg_tag->write_vorbis; } } # Wavpack (WV) -> FLAC if ($enc_opt eq "wvtoflac") { system("$nice $wvunpack \"$audio_file\" -o \"-\" | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $wv_tag = Audio::APETags->getTags($audio_file)->{'tags'}; my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = "$wv_tag->{Artist}" if $wv_tag->{Artist}; $flac_tag->{TITLE} = "$wv_tag->{Title}" if $wv_tag->{Title}; $flac_tag->{DATE} = "$wv_tag->{Year}" if $wv_tag->{Year}; $flac_tag->{GENRE} = "$wv_tag->{Genre}" if $wv_tag->{Genre}; $flac_tag->{ALBUM} = "$wv_tag->{Album}" if $wv_tag->{Album}; $flac_tag->{TRACKNUMBER} = "$wv_tag->{Track}" if $wv_tag->{Track}; $flac_tag->{DESCRIPTION} = "$wv_tag->{Comment}" if $wv_tag->{Comment}; $flac_head->write(); } } # Wavpack (WV) -> Monkey Audio (APE) if ($enc_opt eq "wvtoape") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # Wavpack (WV) -> Shorten (SHN) if ($enc_opt eq "wvtoshn") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # Wavpack (WV) -> FAAC (AAC) if ($enc_opt eq "wvtoaac") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Wavpack (WV) -> FAAC (M4A/MP4) if ($enc_opt eq "wvtomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $wv_tag = Audio::APETags->getTags($audio_file)->{'tags'}; $mp4_tag = "--artist \"$wv_tag->{Artist}\"" if $wv_tag->{Artist}; $mp4_tag = "$mp4_tag --title \"$wv_tag->{Title}\"" if $wv_tag->{Title}; $mp4_tag = "$mp4_tag --album \"$wv_tag->{Album}\"" if $wv_tag->{Album}; $mp4_tag = "$mp4_tag --genre \"$wv_tag->{Genre}\"" if $wv_tag->{Genre}; $mp4_tag = "$mp4_tag --track \"$wv_tag->{Track}\"" if $wv_tag->{Track}; $mp4_tag = "$mp4_tag --year \"$wv_tag->{Year}\"" if $wv_tag->{Year}; $mp4_tag = "$mp4_tag --comment \"$wv_tag->{Comment}\"" if $wv_tag->{Comment}; } system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $faac $mp4_tag $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Wavpack (WV) -> Musepack (MPC) if ($enc_opt eq "wvtompc") { my $mpc_tag = ''; if ($usetags eq 1) { my $wv_tag = Audio::APETags->getTags($audio_file)->{'tags'}; $mpc_tag = "--artist \"$wv_tag->{Artist}\"" if $wv_tag->{Artist}; $mpc_tag = "$mpc_tag --tag \"Title=$wv_tag->{Title}\"" if $wv_tag->{Title}; $mpc_tag = "$mpc_tag --tag \"Genre=$wv_tag->{Genre}\"" if $wv_tag->{Genre}; $mpc_tag = "$mpc_tag --tag \"Year=$wv_tag->{Year}\"" if $wv_tag->{Year}; $mpc_tag = "$mpc_tag --tag \"Track=$wv_tag->{Track}\"" if $wv_tag->{Track}; $mpc_tag = "$mpc_tag --tag \"Album=$wv_tag->{Album}\"" if $wv_tag->{Album}; $mpc_tag = "$mpc_tag --tag \"Comment=$wv_tag->{Comment}\"" if $wv_tag->{Comment}; system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$new_file.wav\" \"$out_file\""); } } # Wavpack (WV) -> Wavpack (WV) if ($enc_opt eq "wvtowv") { my $wv_tag = ''; if ($usetags eq 1) { my $old_tag = Audio::APETags->getTags($audio_file)->{'tags'}; $wv_tag = "-w \"Artist=$old_tag->{Artist}\"" if $old_tag->{Artist}; $wv_tag = "$wv_tag -w \"Title=$old_tag->{Title}\"" if $old_tag->{Title}; $wv_tag = "$wv_tag -w \"Genre=$old_tag->{Genre}\"" if $old_tag->{Genre}; $wv_tag = "$wv_tag -w \"Year=$old_tag->{Year}\"" if $old_tag->{Year}; $wv_tag = "$wv_tag -w \"Track=$old_tag->{Track}\"" if $old_tag->{Track}; $wv_tag = "$wv_tag -w \"Album=$old_tag->{Album}\"" if $old_tag->{Album}; $wv_tag = "$wv_tag -w \"Comment=$old_tag->{Comment}\"" if $old_tag->{Comment}; } system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # Wavpack (WV) -> OptimFrog (OFR) if ($enc_opt eq "wvtoofr") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Wavpack (WV) -> OptimFrog (OFS) if ($enc_opt eq "wvtoofs") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Wavpack (WV) -> TTA if ($enc_opt eq "wvtotta") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Wavpack (WV) -> LPAC if ($enc_opt eq "wvtopac") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Wavpack (WV) -> Kexis (KXS) if ($enc_opt eq "wvtokxs") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Wavpack (WV) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "wvtoaiff") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Wavpack (WV) -> (MP2/AC3/RA) if ($enc_opt eq "wvtomp2") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Wavpack (WV) -> Lossless Audio (LA) if ($enc_opt eq "wvtola") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Wavpack (WV) -> BONK if ($enc_opt eq "wvtobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $wv_tag = Audio::APETags->getTags($audio_file)->{'tags'}; $bonk_tag = "$bonk_tag -a \"$wv_tag->{Artist}\"" if $wv_tag->{Artist}; $bonk_tag = "$bonk_tag -t \"$wv_tag->{Title}\"" if $wv_tag->{Title}; $bonk_tag = "$bonk_tag -c \"$wv_tag->{Comment}\"" if $wv_tag->{Comment}; } system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); system("$nice $bonk encode $bonk_tag $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # Wavpack (WV) -> WAV if ($enc_opt eq "wvtowav") { system("$nice $wvunpack -y \"$audio_file\" -o \"$new_file.wav\""); } ############################### # OptimFrog (OFR) -> MP3 if ($enc_opt eq "ofrtomp3") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); } # OptimFrog (OFR) -> Ogg Vorbis if ($enc_opt eq "ofrtoogg") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # OptimFrog (OFR) -> FLAC if ($enc_opt eq "ofrtoflac") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); } # OptimFrog (OFR) -> Monkey Audio (APE) if ($enc_opt eq "ofrtoape") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # OptimFrog (OFR) -> Shorten (SHN) if ($enc_opt eq "ofrtoshn") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # OptimFrog (OFR) -> FAAC (AAC) if ($enc_opt eq "ofrtoaac") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # OptimFrog (OFR) -> FAAC (M4A/MP4) if ($enc_opt eq "ofrtomp4") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # OptimFrog (OFR) -> Musepack (MPC) if ($enc_opt eq "ofrtompc") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $mppenc --overwrite --$xlevel $audio_opts \"-\" \"$out_file\""); } # OptimFrog (OFR) -> Wavpack (WV) if ($enc_opt eq "ofrtowv") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $wavpack -y $audio_opts \"-\" -o \"$out_file\""); } # OptimFrog (OFR) -> OptimFrog (OFR) if ($enc_opt eq "ofrtoofr") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # OptimFrog (OFR) -> OptimFrog (OFS) if ($enc_opt eq "ofrtoofs") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # OptimFrog (OFR) -> TTA if ($enc_opt eq "ofrtotta") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # OptimFrog (OFR) -> LPAC if ($enc_opt eq "ofrtopac") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # OptimFrog (OFR) -> Kexis (KXS) if ($enc_opt eq "ofrtokxs") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # OptimFrog (OFR) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "ofrtoaiff") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # OptimFrog (OFR) -> (MP2/AC3/RA) if ($enc_opt eq "ofrtomp2") { system("$nice $ofr --decode \"$audio_file\" --output \"-\" | $nice $ffmpeg -y -i \"-\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # OptimFrog (OFR) -> Lossless Audio (LA) if ($enc_opt eq "ofrtola") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # OptimFrog (OFR) -> BONK if ($enc_opt eq "ofrtobonk") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # OptimFrog (OFR) -> WAV if ($enc_opt eq "ofrtowav") { system("$nice $ofr --overwrite --decode \"$audio_file\" --output \"$out_file\""); } ############################### # OptimFrog (OFS) -> MP3 if ($enc_opt eq "ofstomp3") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); } # OptimFrog (OFS) -> Ogg Vorbis if ($enc_opt eq "ofstoogg") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # OptimFrog (OFS) -> FLAC if ($enc_opt eq "ofstoflac") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); } # OptimFrog (OFS) -> Monkey Audio (APE) if ($enc_opt eq "ofstoape") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # OptimFrog (OFS) -> Shorten (SHN) if ($enc_opt eq "ofstoshn") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # OptimFrog (OFS) -> FAAC (AAC) if ($enc_opt eq "ofstoaac") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # OptimFrog (OFS) -> FAAC (M4A/MP4) if ($enc_opt eq "ofstomp4") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # OptimFrog (OFS) -> Musepack (MPC) if ($enc_opt eq "ofstompc") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $mppenc --overwrite --$xlevel $audio_opts \"-\" \"$out_file\""); } # OptimFrog (OFS) -> Wavpack (WV) if ($enc_opt eq "ofstowv") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $wavpack -y $audio_opts \"-\" -o \"$out_file\""); } # OptimFrog (OFS) -> OptimFrog (OFR) if ($enc_opt eq "ofstoofr") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # OptimFrog (OFS) -> OptimFrog (OFS) if ($enc_opt eq "ofstoofs") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # OptimFrog (OFS) -> TTA if ($enc_opt eq "ofstotta") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # OptimFrog (OFS) -> LPAC if ($enc_opt eq "ofstopac") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # OptimFrog (OFS) -> Kexis (KXS) if ($enc_opt eq "ofstokxs") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # OptimFrog (OFS) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "ofstoaiff") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # OptimFrog (OFS) -> (MP2/AC3/RA) if ($enc_opt eq "ofstomp2") { system("$nice $ofs --decode \"$audio_file\" --output \"-\" | $nice $ffmpeg -y -i \"-\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # OptimFrog (OFS) -> Lossless Audio (LA) if ($enc_opt eq "ofstola") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # OptimFrog (OFS) -> BONK if ($enc_opt eq "ofstobonk") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # OptimFrog (OFS) -> WAV if ($enc_opt eq "ofstowav") { system("$nice $ofs --overwrite --decode \"$audio_file\" --output \"$out_file\""); } ############################### # TTA -> MP3 if ($enc_opt eq "ttatomp3") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # TTA -> Ogg Vorbis if ($enc_opt eq "ttatoogg") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # TTA -> FLAC if ($enc_opt eq "ttatoflac") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # TTA -> Monkey Audio (APE) if ($enc_opt eq "ttatoape") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # TTA -> Shorten (SHN) if ($enc_opt eq "ttatoshn") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # TTA -> FAAC (AAC) if ($enc_opt eq "ttatoaac") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # TTA -> FAAC (M4A/MP4) if ($enc_opt eq "ttatomp4") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # TTA -> Musepack (MPC) if ($enc_opt eq "ttatompc") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # TTA -> Wavpack (WV) if ($enc_opt eq "ttatowv") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # TTA -> OptimFrog (OFR) if ($enc_opt eq "ttatoofr") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # TTA -> OptimFrog (OFS) if ($enc_opt eq "ttatoofs") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # TTA -> TTA if ($enc_opt eq "ttatotta") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # TTA -> LPAC if ($enc_opt eq "ttatopac") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # TTA -> Kexis (KXS) if ($enc_opt eq "ttatokxs") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # TTA -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "ttatoaiff") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # TTA -> (MP2/AC3/RA) if ($enc_opt eq "ttatomp2") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # TTA -> Lossless Audio (LA) if ($enc_opt eq "ttatola") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # TTA -> BONK if ($enc_opt eq "ttatobonk") { system("$nice $ttaenc -d \"$audio_file\" -o \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # TTA -> WAV if ($enc_opt eq "ttatowav") { system("$nice $ttaenc -d \"$audio_file\" -o \"$out_file\""); } ############################### # LPAC -> MP3 if ($enc_opt eq "pactomp3") { system("$nice $lpac -v -x \"$audio_file\" \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); } # LPAC -> Ogg Vorbis if ($enc_opt eq "pactoogg") { system("$nice $lpac -v -x \"$audio_file\" \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # LPAC -> FLAC if ($enc_opt eq "pactoflac") { system("$nice $lpac -v -x \"$audio_file\" \"-\" | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); } # LPAC -> Monkey Audio (APE) if ($enc_opt eq "pactoape") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # LPAC -> Shorten (SHN) if ($enc_opt eq "pactoshn") { system("$nice $lpac -x \"$audio_file\" \"-\" | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # LPAC -> FAAC (AAC) if ($enc_opt eq "pactoaac") { system("$nice $lpac -x \"$audio_file\" \"-\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # LPAC -> FAAC (M4A/MP4) if ($enc_opt eq "pactomp4") { system("$nice $lpac -x \"$audio_file\" \"-\" | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # LPAC -> Musepack (MPC) if ($enc_opt eq "pactompc") { system("$nice $lpac -x \"$audio_file\" \"-\" | $nice $mppenc --overwrite --$xlevel $audio_opts \"-\" \"$out_file\""); } # LPAC -> Wavpack (WV) if ($enc_opt eq "pactowv") { system("$nice $lpac -x \"$audio_file\" \"-\" | $nice $wavpack -y $audio_opts \"-\" -o \"$out_file\""); } # LPAC -> OptimFrog (OFR) if ($enc_opt eq "pactoofr") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # LPAC -> OptimFrog (OFS) if ($enc_opt eq "pactoofs") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # LPAC -> TTA if ($enc_opt eq "pactotta") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # LPAC -> LPAC if ($enc_opt eq "pactopac") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # LPAC -> Kexis (KXS) if ($enc_opt eq "pactokxs") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # LPAC -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "pactoaiff") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # LPAC -> (MP2/AC3/RA) if ($enc_opt eq "pactomp2") { system("$nice $lpac -x \"$audio_file\" \"-\" | $nice $ffmpeg -y -i \"-\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # LPAC -> Lossless Audio (LA) if ($enc_opt eq "pactola") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # LPAC -> BONK if ($enc_opt eq "pactobonk") { system("$nice $lpac -v -x \"$audio_file\" \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # LPAC -> WAV if ($enc_opt eq "pactowav") { system("$nice $lpac -v -x \"$audio_file\" \"$out_file\""); } ############################### # Kexis (KXS) -> MP3 if ($enc_opt eq "kxstomp3") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # Kexis (KXS) -> Ogg Vorbis if ($enc_opt eq "kxstoogg") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> FLAC if ($enc_opt eq "kxstoflac") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> Monkey Audio (APE) if ($enc_opt eq "kxstoape") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # Kexis (KXS) -> Shroten (SHN) if ($enc_opt eq "kxstoshn") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $shorten $audio_opts -v $slevel \"$new_file.wav\" \"$out_file\""); } # Kexis (KXS) -> FAAC (AAC) if ($enc_opt eq "kxstoaac") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> (M4A/MP4) if ($enc_opt eq "kxstomp4") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> Musepack (MPC) if ($enc_opt eq "kxstompc") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # Kexis (KXS) -> Wavpack (WV) if ($enc_opt eq "kxstowv") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> OptimFrog (OFR) if ($enc_opt eq "kxstoofr") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Kexis (KXS) -> OptimFrog (OFS) if ($enc_opt eq "kxstoofs") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Kexis (KXS) -> TTA if ($enc_opt eq "kxstotta") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> LPAC if ($enc_opt eq "kxstopac") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Kexis (KXS) -> Kexis (KXS) if ($enc_opt eq "kxstokxs") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Kexis (KXS) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "kxstoaiff") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Kexis (KXS) -> (MP2/AC3/RA) if ($enc_opt eq "kxstomp2") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Kexis (KXS) -> Lossless Audio (LA) if ($enc_opt eq "kxstola") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Kexis (KXS) -> BONK if ($enc_opt eq "kxstobonk") { system("$nice $kexis -p -x \"$audio_file\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # Kexis (KXS) -> WAV if ($enc_opt eq "kxstowav") { system("$nice $kexis -p -x \"$audio_file\""); } ############################### # AIFF -> MP3 if ($enc_opt eq "aifftomp3") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # AIFF -> Ogg Vorbis if ($enc_opt eq "aifftoogg") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> FLAC if ($enc_opt eq "aifftoflac") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> Moneky Audio (APE) if ($enc_opt eq "aifftoape") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # AIFF -> Shorten (SHN) if ($enc_opt eq "aifftoshn") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # AIFF -> FAAC (AAC) if ($enc_opt eq "aifftoaac") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> FAAC (M4A/MP4) if ($enc_opt eq "aifftomp4") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> Musepack (MPC) if ($enc_opt eq "aifftompc") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # AIFF -> Wavpack (WV) if ($enc_opt eq "aifftowv") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> OptimFrog (OFR) if ($enc_opt eq "aifftoofr") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # AIFF -> OptimFrog (OFS) if ($enc_opt eq "aifftoofs") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # AIFF -> TTA if ($enc_opt eq "aifftotta") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> LPAC if ($enc_opt eq "aifftopac") { system("$nice $sox \"$audio_file\" \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # AIFF -> Kexis (KXS) if ($enc_opt eq "aifftokxs") { system("$nice $sox \"$audio_file\" -c 2 $sox_opts \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # AIFF -> (AIFF/AU/SND/VOC/SMP) if ($enc_opt eq "aifftoaiff") { system("$nice $sox \"$audio_file\" \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # AIFF -> (MP2/AC3/RA) if ($enc_opt eq "aifftomp2") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # AIFF -> Lossless Audio (LA) if ($enc_opt eq "aifftola") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # AIFF -> BONK if ($enc_opt eq "aifftobonk") { system("$nice $sox \"$audio_file\" $sox_opts \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # AIFF -> WAV if ($enc_opt eq "aifftowav") { system("$nice $sox $sox_opts \"$audio_file\" $audio_opts \"$out_file\""); } ############################### # RAW -> MP3 if ($enc_opt eq "rawtomp3") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # RAW -> Ogg Vorbis if ($enc_opt eq "rawtoogg") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # RAW -> FLAC if ($enc_opt eq "rawtoflac") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # RAW -> Monkey Audio (APE) if ($enc_opt eq "rawtoape") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # RAW -> Shorten (SHN) if ($enc_opt eq "rawtoshn") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # RAW -> FAAC (AAC) if ($enc_opt eq "rawtoaac") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # RAW -> FAAC (M4A/MP4) if ($enc_opt eq "rawtomp4") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # RAW -> Musepack (MPC) if ($enc_opt eq "rawtompc") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # RAW -> Wavpack (WV) if ($enc_opt eq "rawtowv") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # RAW -> OptimFrog (OFR) if ($enc_opt eq "rawtoofr") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # RAW -> OptimFrog (OFS) if ($enc_opt eq "rawtoofs") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # RAW -> TTA if ($enc_opt eq "rawtotta") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # RAW -> LPAC if ($enc_opt eq "rawtopac") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # RAW -> Kexis (KXS) if ($enc_opt eq "rawtokxs") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # RAW -> (AIFF/AU/SND/VOC/SMP) if ($enc_opt eq "rawtoaiff") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$out_file\" $effect"); } # RAW -> RAW if ($enc_opt eq "rawtoraw") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" $audio_opts \"$out_file\" $effect"); } # RAW -> (MP2/AC3/RA) if ($enc_opt eq "rawtomp2") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # RAW -> Lossless Audio (LA) if ($enc_opt eq "rawtola") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # RAW -> BONK if ($enc_opt eq "rawtobonk") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # RAW -> WAV if ($enc_opt eq "rawtowav") { system("$nice $sox $raw_opts -c $channels -r $freq \"$audio_file\" $audio_opts \"$out_file\""); } ############################### # MP2 -> MP3 if ($enc_opt eq "mp2tomp3") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # MP2 -> Ogg Vorbis if ($enc_opt eq "mp2toogg") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> FLAC if ($enc_opt eq "mp2toflac") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> Monkey Audio (APE) if ($enc_opt eq "mp2toape") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # MP2 -> Shorten (SHN) if ($enc_opt eq "mp2toshn") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # MP2 -> FAAC (AAC) if ($enc_opt eq "mp2toaac") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> FAAC (M4A/MP4) if ($enc_opt eq "mp2tomp4") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> Musepack (MPC) if ($enc_opt eq "mp2tompc") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # MP2 -> Wavpack (WV) if ($enc_opt eq "mp2towv") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> OptimFrog (OFR) if ($enc_opt eq "mp2toofr") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # MP2 -> OptimFrog (OFS) if ($enc_opt eq "mp2toofs") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # MP2 -> TTA if ($enc_opt eq "mp2totta") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> LPAC if ($enc_opt eq "mp2topac") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # MP2 -> Kexis (KXS) if ($enc_opt eq "mp2tokxs") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # MP2 -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "mp2toaiff") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # MP2 -> (MP2/AC3/RA) if ($enc_opt eq "mp2tomp2") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # MP2 -> Lossless Audio (LA) if ($enc_opt eq "mp2tola") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # MP2 -> BONK if ($enc_opt eq "mp2tobonk") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $psize \"$new_file.wav\" -o \"$out_file\""); } # MP2 -> WAV if ($enc_opt eq "mp2towav") { system("$nice $ffmpeg -y -i \"$audio_file\" \"$out_file\""); } ############################ # Lossless Audio (LA) -> MP3 if ($enc_opt eq "latomp3") { system("$nice $la -console \"$audio_file\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h \"-\" \"$out_file\""); } # Lossless Audio (LA) -> Ogg Vorbis if ($enc_opt eq "latoogg") { system("$nice $la -console \"$audio_file\" | $nice $oggenc $audio_opts --resample $freq -q $quality \"-\" -o \"$out_file\""); } # Lossless Audio (LA) -> FLAC if ($enc_opt eq "latoflac") { system("$nice $la -console \"$audio_file\" | $nice $flac $audio_opts -f -$flevel \"-\" -o \"$out_file\""); } # Lossless Audio (LA) -> Monkey Audio (APE) if ($enc_opt eq "latoape") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # Lossless Audio (LA) -> Shorten (SHN) if ($enc_opt eq "latoshn") { system("$nice $la -console \"$audio_file\" | $nice $shorten $audio_opts -c $channels -v $slevel \"-\" \"$out_file\""); } # Lossless Audio (LA) -> FAAC (AAC) if ($enc_opt eq "latoaac") { system("$nice $la -console \"$audio_file\" | $nice $faac $audio_opts -q $quality \"-\" -o \"$out_file\""); } # Lossless Audio (LA) -> FAAC (M4A/MP4) if ($enc_opt eq "latomp4") { system("$nice $la -console \"$audio_file\" | $nice $faac $audio_opts -w -q $quality \"-\" -o \"$out_file\""); } # Lossless Audio (LA) -> Musepack (MPC) if ($enc_opt eq "latompc") { system("$nice $la -console \"$audio_file\" | $nice $mppenc --overwrite --$xlevel $audio_opts \"-\" \"$out_file\""); } # Lossless Audio (LA) -> Wavpack (WV) if ($enc_opt eq "latowv") { system("$nice $la -console \"$audio_file\" | $nice $wavpack -y $audio_opts \"-\" -o \"$out_file\""); } # Lossless Audio (LA) -> OptimFrog (OFR) if ($enc_opt eq "latoofr") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Lossless Audio (LA) -> OptimFrog (OFS) if ($enc_opt eq "latoofs") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # Lossless Audio (LA) -> TTA if ($enc_opt eq "latotta") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # Lossless Audio (LA) -> LPAC if ($enc_opt eq "latopac") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # Lossless Audio (LA) -> Kexis (KXS) if ($enc_opt eq "latokxs") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # Lossless Audio (LA) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "latoaiff") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # Lossless Audio (LA) -> (MP2/AC3/RA) if ($enc_opt eq "latomp2") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # Lossless Audio (LA) -> Lossless Audio (LA) if ($enc_opt eq "latola") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # Lossless Audio (LA) -> BONK if ($enc_opt eq "latobonk") { system("$nice $la -console \"$audio_file\" > \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $plevel \"$new_file.wav\" -o \"$out_file\""); } # Lossless Audio (LA) -> WAV if ($enc_opt eq "latowav") { system("$nice $la $audio_opts -console \"$audio_file\" > \"$out_file\""); } ################################ # BONK -> MP3 if ($enc_opt eq "bonktomp3") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # BONK -> Ogg Vorbis if ($enc_opt eq "bonktoogg") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # BONK -> FLAC if ($enc_opt eq "bonktoflac") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # BONK -> Monkey Audio (APE) if ($enc_opt eq "bonktoape") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel"); } # BONK -> Shorten (SHN) if ($enc_opt eq "bonktoshn") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # BONK -> FAAC (AAC) if ($enc_opt eq "bonktoaac") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # BONK -> FAAC (M4A/MP4) if ($enc_opt eq "bonktomp4") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # BONK -> Musepack (MPC) if ($enc_opt eq "bonktompc") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # BONK -> Wavpack (WV) if ($enc_opt eq "bonktowv") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # BONK -> OptimFrog (OFR) if ($enc_opt eq "bonktoofr") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # BONK -> OptimFrog (OFS) if ($enc_opt eq "bonktoofs") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # BONK -> TTA if ($enc_opt eq "bonktotta") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # BONK -> LPAC if ($enc_opt eq "bonktopac") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # BONK -> Kexis (KXS) if ($enc_opt eq "bonktokxs") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # BONK -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "bonktoaiff") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # BONK -> (MP2/AC3/RA) if ($enc_opt eq "bonktomp2") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # BONK -> Lossless Audio (LA) if ($enc_opt eq "bonktola") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # BONK -> BONK if ($enc_opt eq "bonktobonk") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$new_file.wav\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $plevel \"$new_file.wav\" -o \"$out_file\""); } # BONK -> WAV if ($enc_opt eq "bonktowav") { system("$nice $bonk decode $audio_opts \"$audio_file\" -o \"$out_file\""); } ############################### # WAV -> MP3 if ($enc_opt eq "wavtomp3") { system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$audio_file\" \"$out_file\""); } # WAV -> Ogg Vorbis if ($enc_opt eq "wavtoogg") { system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$audio_file\" -o \"$out_file\""); } # WAV -> FLAC if ($enc_opt eq "wavtoflac") { system("$nice $flac $audio_opts -f -$flevel \"$audio_file\" -o \"$out_file\""); } # WAV -> Monkey Audio (APE) if ($enc_opt eq "wavtoape") { system("$nice $mac \"$audio_file\" \"$out_file\" -c$alevel"); } # WAV -> Shorten (SHN) if ($enc_opt eq "wavtoshn") { system("$nice $shorten $audio_opts -c $channels -v $slevel \"$audio_file\" \"$out_file\""); } # WAV -> FAAC (AAC) if ($enc_opt eq "wavtoaac") { system("$nice $faac $audio_opts -q $quality \"$audio_file\" -o \"$out_file\""); } # WAV -> FAAC (M4A/MP4) if ($enc_opt eq "wavtomp4") { system("$nice $faac $audio_opts -w -q $quality \"$audio_file\" -o \"$out_file\""); } # WAV -> Musepack (MPC) if ($enc_opt eq "wavtompc") { system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$audio_file\" \"$out_file\""); } # WAV -> Wavpack (WV) if ($enc_opt eq "wavtowv") { system("$nice $wavpack -y $audio_opts \"$audio_file\" -o \"$out_file\""); } # WAV -> OptimFrog (OFR) if ($enc_opt eq "wavtoofr") { system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$audio_file\" --output \"$out_file\""); } # WAV -> OptimFrog (OFS) if ($enc_opt eq "wavtoofs") { system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$audio_file\" --output \"$out_file\""); } # WAV -> TTA if ($enc_opt eq "wavtotta") { system("$nice $ttaenc $audio_opts -e \"$audio_file\" -o \"$out_file\""); } # WAV -> LPAC if ($enc_opt eq "wavtopac") { system("$nice $lpac $audio_opts -v -$plevel \"$audio_file\" \"$out_file\""); } # WAV -> Kexis (KXS) if ($enc_opt eq "wavtokxs") { system("$nice $kexis $audio_opts -p \"$audio_file\""); move("$new_file.kxs","$out_file"); } # WAV -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "wavtoaiff") { system("$nice $sox $sox_opts \"$audio_file\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # WAV -> (MP2/AC3/RA) if ($enc_opt eq "wavtomp2") { system("$nice $ffmpeg -y -i \"$audio_file\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # WAV -> Lossless Audio (LA) if ($enc_opt eq "wavtola") { system("$nice $la -overwrite $audio_opts \"$audio_file\" \"$out_file\""); } # WAV -> BONK if ($enc_opt eq "wavtobonk") { system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $plevel \"$audio_file\" -o \"$out_file\""); } ############################### # WMA -> MP3 if ($enc_opt eq "wmatomp3") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->artist($wma_tag->{ALBUMARTIST}) if $wma_tag->{ALBUMARTIST}; $id3->title($wma_tag->{TITLE}) if $wma_tag->{TITLE}; $id3->album($wma_tag->{ALBUMTITLE}) if $wma_tag->{ALBUMTITLE}; $id3->genre($wma_tag->{GENRE}) if $wma_tag->{GENRE}; $id3->year($wma_tag->{YEAR}) if $wma_tag->{YEAR}; $id3->comment($wma_tag->{DESCRIPTION}) if $wma_tag->{DESCRIPTION}; $id3->track($wma_tag->{TRACKNUMBER}) if $wma_tag->{TRACKNUMBER}; $id3->write_tag; } } # WMA -> Ogg Vorbis if ($enc_opt eq "wmatoogg") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$wma_tag->{ALBUMARTIST}") if $wma_tag->{ALBUMARTIST}; $ogg_tag->add_comments("TITLE", "$wma_tag->{TITLE}") if $wma_tag->{TITLE}; $ogg_tag->add_comments("YEAR", "$wma_tag->{YEAR}") if $wma_tag->{YEAR}; $ogg_tag->add_comments("DATE", "$wma_tag->{YEAR}") if $wma_tag->{YEAR}; $ogg_tag->add_comments("COMMENT", "$wma_tag->{DESCRIPTION}") if $wma_tag->{DESCRIPTION}; $ogg_tag->add_comments("GENRE", "$wma_tag->{GENRE}") if $wma_tag->{GENRE}; $ogg_tag->add_comments("ALBUM", "$wma_tag->{ALBUMTITLE}") if $wma_tag->{ALBUMTITLE}; $ogg_tag->add_comments("TRACKNUMBER", "$wma_tag->{TRACKNUMBER}") if $wma_tag->{TRACKNUMBER}; $ogg_tag->write_vorbis; } } # WMA -> FLAC if ($enc_opt eq "wmatoflac") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); if ($usetags eq 1 and -e $out_file) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = $wma_tag->{ALBUMARTIST} if $wma_tag->{ALBUMARTIST}; $flac_tag->{TITLE} = $wma_tag->{TITLE} if $wma_tag->{TITLE}; $flac_tag->{ALBUM} = $wma_tag->{ALBUMTITLE} if $wma_tag->{ALBUMTITLE}; $flac_tag->{DATE} = $wma_tag->{YEAR} if $wma_tag->{YEAR}; $flac_tag->{GENRE} = $wma_tag->{GENRE} if $wma_tag->{GENRE}; $flac_tag->{DESCRIPTION} = $wma_tag->{DESCRIPTION} if $wma_tag->{DESCRIPTION}; $flac_tag->{TRACKNUMBER} = $wma_tag->{TRACKNUMBER} if $wma_tag->{TRACKNUMBER}; $flac_head->write(); } } # WMA -> Monkey Audio (APE) if ($enc_opt eq "wmatoape") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # WMA -> Shorten (SHN) if ($enc_opt eq "wmatoshn") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # WMA -> FAAC (AAC) if ($enc_opt eq "wmatoaac") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # WMA -> FAAC (M4A/MP4) if ($enc_opt eq "wmatomp4") { my $mp4_tag = ''; if ($usetags eq 1) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); $mp4_tag = "--artist \"$wma_tag->{ALBUMARTIST}\"" if $wma_tag->{ALBUMARTIST}; $mp4_tag = "$mp4_tag --title \"$wma_tag->{TITLE}\"" if $wma_tag->{TITLE}; $mp4_tag = "$mp4_tag --year \"$wma_tag->{YEAR}\"" if $wma_tag->{YEAR}; $mp4_tag = "$mp4_tag --genre \"$wma_tag->{GENRE}\"" if $wma_tag->{GENRE}; $mp4_tag = "$mp4_tag --album \"$wma_tag->{ALBUMTITLE}\"" if $wma_tag->{ALBUMTITLE}; $mp4_tag = "$mp4_tag --track \"$wma_tag->{TRACKNUMBER}\"" if $wma_tag->{TRACKNUMBER}; $mp4_tag = "$mp4_tag --comment \"$wma_tag->{DESCRIPTION}\"" if $wma_tag->{DESCRIPTION}; } system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $faac $mp4_tag $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # WMA -> Musepack (MPC) if ($enc_opt eq "wmatompc") { my $mpc_tag = ''; if ($usetags eq 1) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); $mpc_tag = "--artist \"$wma_tag->{ALBUMARTIST}\"" if $wma_tag->{ALBUMARTIST}; $mpc_tag = "$mpc_tag --tag \"Title=$wma_tag->{TITLE}\"" if $wma_tag->{TITLE}; $mpc_tag = "$mpc_tag --tag \"Year=$wma_tag->{YEAR}\"" if $wma_tag->{YEAR}; $mpc_tag = "$mpc_tag --tag \"Genre=$wma_tag->{GENRE}\"" if $wma_tag->{GENRE}; $mpc_tag = "$mpc_tag --tag \"Comment=$wma_tag->{DESCRIPTION}\"" if $wma_tag->{DESCRIPTION}; $mpc_tag = "$mpc_tag --tag \"Album=$wma_tag->{ALBUMTITLE}\"" if $wma_tag->{ALBUMTITLE}; $mpc_tag = "$mpc_tag --tag \"Track=$wma_tag->{TRACKNUMBER}\"" if $wma_tag->{TRACKNUMBER}; } system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts \"$new_file.wav\" \"$out_file\""); } # WMA -> Wavpack (WV) if ($enc_opt eq "wmatowv") { my $wv_tag = ''; if ($usetags eq 1) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); $wv_tag = "-w \"Artist=$wma_tag->{ALBUMARTIST}\"" if $wma_tag->{ALBUMARTIST}; $wv_tag = "$wv_tag -w \"Title=$wma_tag->{TITLE}\"" if $wma_tag->{TITLE}; $wv_tag = "$wv_tag -w \"Year=$wma_tag->{YEAR}\"" if $wma_tag->{YEAR}; $wv_tag = "$wv_tag -w \"Genre=$wma_tag->{GENRE}\"" if $wma_tag->{GENRE}; $wv_tag = "$wv_tag -w \"Comment=$wma_tag->{DESCRIPTION}\"" if $wma_tag->{DESCRIPTION}; $wv_tag = "$wv_tag -w \"Album=$wma_tag->{ALBUMTITLE}\"" if $wma_tag->{ALBUMTITLE}; $wv_tag = "$wv_tag -w \"Track=$wma_tag->{TRACKNUMBER}\"" if $wma_tag->{TRACKNUMB}; } system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $wavpack -y $wv_tag $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # WMA -> OptimFrog (OFR) if ($enc_opt eq "wmatoofr") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # WMA -> OptimFrog (OFS) if ($enc_opt eq "wmatoofs") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # WMA -> TTA if ($enc_opt eq "wmatotta") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # WMA -> LPAC if ($enc_opt eq "wmatopac") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # WMA -> Kexis (KXS) if ($enc_opt eq "wmatokxs") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # WMA -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "wmatoaiff") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # WMA -> (MP2/AC3/RA) if ($enc_opt eq "wmatomp2") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # WMA -> Lossless Audio (LA) if ($enc_opt eq "wmatola") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # WMA -> BONK if ($enc_opt eq "wmatobonk") { my $bonk_tag = ''; if ($usetags eq 1) { my $wma_tag = Audio::WMA->new($audio_file)->tags(); $bonk_tag = "$bonk_tag -a \"Artist=$wma_tag->{ALBUMARTIST}\"" if $wma_tag->{ALBUMARTIST}; $bonk_tag = "$bonk_tag -t \"Title=$wma_tag->{TITLE}\"" if $wma_tag->{TITLE}; $bonk_tag = "$bonk_tag -c \"Comment=$wma_tag->{DESCRIPTION}\"" if $wma_tag->{DESCRIPTION}; } system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $bonk encode $bonk_tag $bonk_opts $audio_opts -q $qlevel -d $dratio -s $plevel \"$new_file.wav\" -o \"$out_file\""); } # WMA -> WAV if ($enc_opt eq "wmatowav") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$out_file\" \"$audio_file\""); } ############################### # RealAudio (RA/RAM) -> MP3 if ($enc_opt eq "ratomp3") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $lame $audio_opts --resample $freq -b $bitrate -h \"$new_file.wav\" \"$out_file\""); } # RealAudio (RA/RAM) -> Ogg Vorbis if ($enc_opt eq "ratoogg") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $oggenc $audio_opts --resample $freq -q $quality \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> FLAC if ($enc_opt eq "ratoflac") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $flac $audio_opts -f -$flevel \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> Monkey Audio (APE) if ($enc_opt eq "ratoape") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $mac \"$new_file.wav\" \"$out_file\" -c$alevel $audio_opts"); } # RealAudio (RA/RAM) -> Shorten (SHN) if ($enc_opt eq "ratoshn") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $shorten $audio_opts -c $channels -v $slevel \"$new_file.wav\" \"$out_file\""); } # RealAudio (RA/RAM) -> FAAC (AAC) if ($enc_opt eq "ratoaac") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $faac $audio_opts -q $quality \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> FAAC (M4A/MP4) if ($enc_opt eq "ratomp4") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $faac $audio_opts -w -q $quality \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> Musepack (MPC) if ($enc_opt eq "ratompc") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $mppenc --overwrite --$xlevel $audio_opts \"$new_file.wav\" \"$out_file\""); } # RealAudio (RA/RAM) -> Wavpack (WV) if ($enc_opt eq "ratowv") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $wavpack -y $audio_opts \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> OptimFrog (OFR) if ($enc_opt eq "ratoofr") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # RealAudio (RA/RAM) -> OptimFrog (OFS) if ($enc_opt eq "ratoofs") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize \"$new_file.wav\" --output \"$out_file\""); } # RealAudio (RA/RAM) -> TTA if ($enc_opt eq "ratotta") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ttaenc $audio_opts -e \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> LPAC if ($enc_opt eq "ratopac") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $lpac $audio_opts -v -$plevel \"$new_file.wav\" \"$out_file\""); } # RealAudio (RA/RAM) -> Kexis (KXS) if ($enc_opt eq "ratokxs") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $kexis $audio_opts -p \"$new_file.wav\""); move("$new_file.kxs","$out_file"); } # RealAudio (RA/RAM) -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "ratoaiff") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $sox $sox_opts \"$new_file.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # RealAudio (RA/RAM) -> (MP2/AC3/RA) if ($enc_opt eq "ratomp2") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $ffmpeg -y -i \"$new_file.wav\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # RealAudio (RA/RAM) -> Lossless Audio (LA) if ($enc_opt eq "ratola") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $la -overwrite $audio_opts \"$new_file.wav\" \"$out_file\""); } # RealAudio (RA/RAM) -> BONK if ($enc_opt eq "ratobonk") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$new_file.wav\" \"$audio_file\""); system("$nice $bonk encode $bonk_opts $audio_opts -q $qlevel -d $dratio -s $plevel \"$new_file.wav\" -o \"$out_file\""); } # RealAudio (RA/RAM) -> WAV if ($enc_opt eq "ratowav") { system("$nice $mplayer -vc dummy -vo null -ao pcm:file=\"$out_file\" \"$audio_file\""); } } # Check to see if theres a CD in the CDROM sub checkCdQuery { system("$cdparanoia -q -d $device -Q 1>/dev/null 2>/dev/null"); my $utod = "$lang{$mylang}{unable_to_open_cd}"; $utod =~ s/%dev/$device/; if ($? == 256) { pac_msg("$utod","error"); } } # Accept command line arguments without --file, or --dir if (@ARGV) { foreach my $files (@ARGV) { if (-f $files) { push(@file,$files); } elsif (-d $files) { push(@dir, $files); } } } # Show Tag Information sub tag_info { pac_msg("$lang{$mylang}{missing_file}","error") if not @ARGV; foreach my $file (@ARGV) { pac_msg("$lang{$mylang}{tag_info} ($file)", "notice"); # MP3 if ($file =~ /\.mp3$/i) { my $mp3 = MP3::Tag->new($file); my @id3info = $mp3->autoinfo; print "Artist = ". $id3info[2]. "\n" if $id3info[2]; print "Title = ". $id3info[0]. "\n" if $id3info[0]; print "Genre = ". $id3info[6]. "\n" if $id3info[6]; print "Album = ". $id3info[3]. "\n" if $id3info[3]; print "Year = ". $id3info[5]. "\n" if $id3info[5]; print "Track = ". $id3info[1]. "\n" if $id3info[1]; print "Comment = ". $id3info[4]. "\n" if $id3info[4]; print "\n"; } # Ogg Vorbis elsif ($file =~ /\.ogg$/i) { my $ogg_tag = Ogg::Vorbis::Header->new($file); foreach my $i ($ogg_tag->comment_tags) { if ($i =~ /artist/i) { my $oartist = \$ogg_tag->comment($i); print "Artist = ". ${$oartist}. "\n" if defined(${$oartist}); } if ($i =~ /title/i) { my $otitle = \$ogg_tag->comment($i); print "Title = ". ${$otitle}. "\n" if defined(${$otitle}); } if ($i =~ /genre/i) { my $ogenre = \$ogg_tag->comment($i); print "Genre = ". ${$ogenre}. "\n" if defined(${$ogenre}); } if ($i =~ /album/i) { my $oalbum = \$ogg_tag->comment($i); print "Album = ". ${$oalbum}. "\n" if defined (${$oalbum}); } if ($i =~ /year/i) { my $oyear = \$ogg_tag->comment($i); print "Year = ". ${$oyear}. "\n" if defined (${$oyear}); } if ($i =~ /date/i) { my $odate = \$ogg_tag->comment($i); print "Date = ". ${$odate}. "\n" if defined (${$odate}); } if ($i =~ /track/i) { my $otrack = \$ogg_tag->comment($i); print "Track = ". ${$otrack}. "\n" if defined (${$otrack}); } if ($i =~ /comment/i) { my $ocomment = \$ogg_tag->comment($i); print "Comment = ". ${$ocomment}. "\n" if defined (${$ocomment}); } } print "\n"; } # FLAC/FLA elsif ($file =~ /\.flac$|\.fla$/i) { my $flac_tag = Audio::FLAC::Header->new($file)->tags(); print "Artist = ". $flac_tag->{ARTIST}. "\n" if defined($flac_tag->{ARTIST}); print "Title = ". $flac_tag->{TITLE}. "\n" if defined($flac_tag->{TITLE}); print "Genre = ". $flac_tag->{GENRE}. "\n" if defined($flac_tag->{GENRE}); print "Album = ". $flac_tag->{ALBUM}. "\n" if defined($flac_tag->{ALBUM}); print "Year = ". $flac_tag->{DATE}. "\n" if defined($flac_tag->{DATE}); print "Track = ". $flac_tag->{TRACKNUMBER}. "\n" if defined($flac_tag->{TRACKNUMBER}); print "Comment = ". $flac_tag->{DESCRIPTION}. "\n" if defined($flac_tag->{DESCRIPTION}); print "\n"; } # MP4/M4A/M4P elsif ($file =~ /\.mp4$|\.m4a$|\.m4p$/i) { my $mp4_tag = get_mp4tag($file); print "Artist = ". $mp4_tag->{ARTIST}. "\n" if $mp4_tag->{ARTIST}; print "Title = ". $mp4_tag->{TITLE}. "\n" if $mp4_tag->{TITLE}; print "Genre = ". $mp4_tag->{GENRE}. "\n" if $mp4_tag->{GENRE}; print "Album = ". $mp4_tag->{ALBUM}. "\n" if $mp4_tag->{ALBUM}; print "Year = ". $mp4_tag->{YEAR}. "\n" if $mp4_tag->{YEAR}; print "Track = ". $mp4_tag->{TRACKNUM}. "\n" if $mp4_tag->{TRACK}; print "Comment = ". $mp4_tag->{COMMENT}. "\n" if $mp4_tag->{COMMENT}; print "\n"; } # Musepack (MPC/MPP/MP+) elsif ($file =~ /\.mpc$|\.mpp$|\.mp+/i) { my $mpc_tag = Audio::Musepack->new($file)->tags(); print "Artist = ". $mpc_tag->{Artist}. "\n" if $mpc_tag->{Artist}; print "Title = ". $mpc_tag->{Title}. "\n" if $mpc_tag->{Title}; print "Genre = ". $mpc_tag->{Genre}. "\n" if $mpc_tag->{Genre}; print "Album = ". $mpc_tag->{Album}. "\n" if $mpc_tag->{Album}; print "Year = ". $mpc_tag->{Year}. "\n" if $mpc_tag->{Year}; print "Track = ". $mpc_tag->{Track}. "\n" if $mpc_tag->{Track}; print "Comment = ". $mpc_tag->{Comment}. "\n" if $mpc_tag->{Comment}; print "\n"; } # Wavpack (WV) elsif ($file =~ /\.wv$/i) { my $wv_tag = Audio::APETags->getTags($file)->{'tags'}; print "Artist = ". $wv_tag->{Artist}. "\n" if $wv_tag->{Artist}; print "Title = ". $wv_tag->{Title}. "\n" if $wv_tag->{Title}; print "Genre = ". $wv_tag->{Genre}. "\n" if $wv_tag->{Genre}; print "Album = ". $wv_tag->{Album}. "\n" if $wv_tag->{Album}; print "Year = ". $wv_tag->{Year}. "\n" if $wv_tag->{Year}; print "Track = ". $wv_tag->{Track}. "\n" if $wv_tag->{Track}; print "Comment = ". $wv_tag->{Comment}. "\n" if $wv_tag->{Comment}; print "\n"; } # WMA elsif ($file =~ /\.wma$/i) { my $wma_tag = Audio::WMA->new($file)->tags(); print "Artist = ". $wma_tag->{ALBUMARTIST}. "\n" if $wma_tag->{ALBUMARTIST}; print "Title = ". $wma_tag->{TITLE}. "\n" if $wma_tag->{TITLE}; print "Genre = ". $wma_tag->{GENRE}. "\n" if $wma_tag->{GENRE}; print "Album = ". $wma_tag->{ALBUMTITLE}. "\n" if $wma_tag->{ALBUMTITLE}; print "Year = ". $wma_tag->{YEAR}. "\n" if $wma_tag->{YEAR}; print "Track = ". $wma_tag->{TRACKNUMBER}. "\n" if $wma_tag->{TRACKNUMBER}; print "Comment = ". $wma_tag->{DESCRIPTION}. "\n" if $wma_tag->{DESCRIPTION}; print "\n"; } else { pac_msg("$lang{$mylang}{error_display_tag_info}\n'$file'\n","error"); } } exit(0); } # Write Tag information sub write_tag { pac_msg("$lang{$mylang}{missing_file}","error") if not @ARGV; foreach my $file (@ARGV) { if ($file =~ /\.mp3$/i) { # Write MP3 Tags my $mp3_tag = MP3::Tag->new($file); $mp3_tag->get_tags; my $id3; unless(exists $mp3_tag->{ID3v1}) { $mp3_tag->new_tag("ID3v1"); } unless(exists $mp3_tag->{ID3v2}) { $mp3_tag->new_tag("ID3v2"); } $id3 = $mp3_tag->{ID3v2} if exists $mp3_tag->{$id3v}; pac_msg("$lang{$mylang}{tagging} ($file) - ($id3v)", "notice"); $id3->artist("$artist") and print "Artist = $artist\n" if $artist; $id3->title("$title") and print "Title = $title\n" if $title; $id3->genre("$genre") and print "Genre = $genre\n" if $genre; $id3->album("$album") and print "Album = $album\n" if $album; $id3->year("$year") and print "Year = $year\n" if $year; $id3->track("$track") and print "Track = $track\n" if $track; $id3->comment("$comment") and print "Comment = $comment\n" if $comment; $id3->write_tag; print "\n"; } elsif ($file =~ /\.ogg$/i) { # Write Ogg Vorbis Tags. my $ogg_tag = Ogg::Vorbis::Header->new($file); pac_msg("$lang{$mylang}{tagging} ($file) - (Vorbis)", "notice"); # Remove old tags if we're writing new ones. $ogg_tag->delete_comment("artist") if $artist; $ogg_tag->delete_comment("title") if $title; $ogg_tag->delete_comment("genre") if $genre; $ogg_tag->delete_comment("album") if $album; $ogg_tag->delete_comment("year") if $year; $ogg_tag->delete_comment("date") if $year; $ogg_tag->delete_comment("tracknum") if $track; $ogg_tag->delete_comment("comment") if $comment; # Now write the new tags. $ogg_tag->add_comments("ARTIST", "$artist") and print "Artist = $artist\n" if $artist; $ogg_tag->add_comments("TITLE", "$title") and print "Title = $title\n" if $title; $ogg_tag->add_comments("GENRE", "$genre") and print "Genre = $genre\n" if $genre; $ogg_tag->add_comments("ALBUM", "$album") and print "Album = $album\n" if $album; $ogg_tag->add_comments("YEAR", "$year") and print "Year = $year\n" if $year; $ogg_tag->add_comments("DATE", "$year") and print "Date = $year\n" if $year; $ogg_tag->add_comments("TRACKNUM", "$track") and print "Track = $track\n" if $track; $ogg_tag->add_comments("COMMENT", "$comment") and print "Comment = $comment\n" if $comment; $ogg_tag->write_vorbis; print "\n"; } elsif ($file =~ /\.flac/i) { # Write FLAC Tags. my $flac_head = Audio::FLAC::Header->new($file); my $flac_tag = $flac_head->tags(); pac_msg("$lang{$mylang}{tagging} ($file) - (FLAC)", "notice"); $flac_tag->{ARTIST} = "$artist" and print "Artist = $artist\n" if $artist; $flac_tag->{TITLE} = "$title" and print "Title = $title\n" if $title; $flac_tag->{GENRE} = "$genre" and print "Genre = $genre\n" if $genre; $flac_tag->{ALBUM} = "$album" and print "Album = $album\n" if $album; $flac_tag->{DATE} = "$year" and print "Year = $year\n" if $year; $flac_tag->{TRACKNUMBER} = "$track" and print "Track = $track\n" if $track; $flac_tag->{DESCRIPTION} = "$comment" and print "Comment = $comment\n" if $comment; $flac_head->write(); print "\n"; } else { pac_msg("$lang{$mylang}{error_write_tag}\n\n'$file'\n","error"); } } exit(0); } # Show CDDB Information sub cd_info { if ($noinput) { $config{'CDDB_INPUT'} = 0; } eval("use CDDB_get qw( get_cddb );"); pac_msg("$lang{$mylang}{error_loading} CDDB_get\n$lang{$mylang}{install_mod_or_edit_conf}\n\n$!","error") if $@; $cddb_config{CDDB_HOST} = "$config{'CDDB_HOST'}"; $cddb_config{CDDB_PORT} = "$config{'CDDB_PORT'}"; $cddb_config{CDDB_MODE} = "$config{'CDDB_MODE'}"; $cddb_config{CD_DEVICE} = "$device"; $cddb_config{input} = "$config{'CDDB_INPUT'}"; $cddb_active = 1; %cd=get_cddb(\%cddb_config); unless(defined $cd{title}) { pac_msg("$lang{$mylang}{no_cddb_entry}.","notice"); } print " $name - $version Artist = $cd{artist} Album = $cd{title} Genre = $cd{cat} Tracks = $cd{tno} Year = $cd{year} "; my $n = 1; foreach my $i (@{$cd{track}}) { print "Track $n: $i\n"; $n++; } } # CD Ripping sub pac_rip { checkCdQuery(); my ($enc_opt, $ext, $ulink) = @_; my (%cd, %cddb_config, @cdtrack, $track_total) = (); if ($nocddb) { $config{'USE_CDDB'} = 0; $cddb_active = 0;} if ($noinput) { $config{'CDDB_INPUT'} = 0; } if ($config{'USE_CDDB'} eq 1) { eval("use CDDB_get qw( get_cddb );"); pac_msg("$lang{$mylang}{error_loading} CDDB_get\n$lang{$mylang}{install_mod_or_edit_conf}\n\n$!","error") if $@; $cddb_config{CDDB_HOST} = "$config{'CDDB_HOST'}"; $cddb_config{CDDB_PORT} = "$config{'CDDB_PORT'}"; $cddb_config{CDDB_MODE} = "$config{'CDDB_MODE'}"; $cddb_config{CD_DEVICE} = "$device"; $cddb_config{input} = "$config{'CDDB_INPUT'}"; $cddb_active = 1; %cd=get_cddb(\%cddb_config); unless(defined $cd{title}) { pac_msg("$lang{$mylang}{no_cddb_entry}\n\n$lang{$mylang}{use_no_cddb}","notice"); $cddb_active = 0; } @cdtrack = @{$cd{track}}; $track_total = $cd{tno}; } if ($all and $cddb_active eq 0) { my $count = 1; do { $out_file = "$count.$ext"; if (defined $out_dir and not -d $out_dir) { pac_msg("$lang{$mylang}{could_not_open_dir} '$out_dir':\n\n$!\n","error"); } pac_msg("$lang{$mylang}{ripping_track} $count -> $count.$ext", "notice"); cdCall($enc_opt, $count, $out_file); $count++; } until ($? eq 256); unlink("$count.wav") if $ulink eq 1; exit(0); } if ($all and $cddb_active eq 1) { my $n=1; foreach my $i (@cdtrack) { my $track_name = $n-1; chomp($cdtrack[$track_name]); my $rip_name_string = "$out_string"; $rip_name_string =~ s/%art/$cd{artist}/g; $rip_name_string =~ s/%tit/$cdtrack[$track_name]/g; $rip_name_string =~ s/%alb/$cd{title}/g; $rip_name_string =~ s/%tno/$n/g; $out_file = "$rip_name_string.$ext"; if (defined $out_dir and not -d $out_dir) { pac_msg("$lang{$mylang}{could_not_open_dir} '$out_dir':\n\n$!\n","error"); } pac_msg("$lang{$mylang}{ripping_track} $n -> $out_file","notice"); cdCall($enc_opt, $n, $out_file, $cd{artist}, $cd{title}, $cd{cat}, $cdtrack[$track_name], $cd{year}); $n++; } exit(0); } if (@tracks) { # Comma separated input lists @tracks = split(/,/, join(',',@tracks)); foreach my $count (@tracks) { my $track_name = $count-1; my $rip_name_string = "$out_string"; $rip_name_string =~ s/%art/$cd{artist}/g; $rip_name_string =~ s/%tit/$cdtrack[$track_name]/g; $rip_name_string =~ s/%alb/$cd{title}/g; $rip_name_string =~ s/%tno/$count/g; if ($cddb_active eq 0) { $out_file = "$count.$ext"; } if ($cddb_active eq 1) { $out_file = "$rip_name_string.$ext"; } if (defined $out_dir and not -d $out_dir) { pac_msg("$lang{$mylang}{could_not_open_dir} '$out_dir':\n\n$!\n","error"); } pac_msg("$lang{$mylang}{ripping_track} $count -> $out_file", "notice"); cdCall($enc_opt, $count, $out_file) if $cddb_active eq 0; cdCall($enc_opt, $count, $out_file, $cd{artist}, $cd{title}, $cd{cat}, $cdtrack[$track_name], $cd{year}) if $cddb_active eq 1; unlink("$count.wav") if $ulink eq 1; } } if (not $all and not @tracks) { pac_msg("$lang{$mylang}{please_specify_opt} --all, --tracks","error"); } } sub cdCall { my ($enc_opt, $count, $out_file, @taginfo) = @_; # Remove backslashes from output file name $out_file =~ s/\//_/g; $out_file = "$out_dir/$out_file"; # Use BONK lossless encoding if --lossless option is passed my $bonk_opts = ''; if ($lossless) { $bonk_opts = "-l"; } # CD -> MP3 if ($enc_opt eq "cdtomp3") { system("$nice $cdparanoia -d $device $count \"-\" | $nice $lame $audio_opts --resample $freq -b $bitrate -h - -o \"$out_file\""); if ($usetags eq 1 and @taginfo and -e $out_file) { my $mp3_tag = MP3::Tag->new($out_file); $mp3_tag->new_tag("$id3v"); my $id3; $id3 = $mp3_tag->{$id3v} if exists $mp3_tag->{$id3v}; $id3->artist($taginfo[0]) if $taginfo[0]; $id3->album($taginfo[1]) if $taginfo[1]; $id3->genre($taginfo[2]) if $taginfo[2]; $id3->title($taginfo[3]) if $taginfo[3]; $id3->year($taginfo[4]) if $taginfo[4]; $id3->track($count) if $count; $id3->write_tag; } } # CD -> Ogg Vorbis if ($enc_opt eq "cdtoogg") { system("$nice $cdparanoia -d $device $count \"-\" | $nice $oggenc $audio_opts --resample $freq -q $quality - -o \"$out_file\""); if ($usetags eq 1 and @taginfo and -e $out_file) { my $ogg_tag = Ogg::Vorbis::Header->new($out_file); $ogg_tag->add_comments("ARTIST", "$taginfo[0]") if $taginfo[0]; $ogg_tag->add_comments("ALBUM", "$taginfo[1]") if $taginfo[1]; $ogg_tag->add_comments("GENRE", "$taginfo[2]") if $taginfo[2]; $ogg_tag->add_comments("TITLE", "$taginfo[3]") if $taginfo[3]; $ogg_tag->add_comments("YEAR", "$taginfo[4]") if $taginfo[4]; $ogg_tag->add_comments("DATE", "$taginfo[4]") if $taginfo[4]; $ogg_tag->add_comments("TRACKNUMBER", "$count") if $count; $ogg_tag->write_vorbis; } } # CD -> FLAC if ($enc_opt eq "cdtoflac") { system("$nice $cdparanoia -d $device $count \"-\" | $nice $flac $audio_opts -$flevel - -o \"$out_file\""); if ($usetags eq 1 and @taginfo and -e $out_file) { my $flac_head = Audio::FLAC::Header->new($out_file); my $flac_tag = $flac_head->tags(); $flac_tag->{ARTIST} = "$taginfo[0]" if $taginfo[0]; $flac_tag->{ALBUM} = "$taginfo[1]" if $taginfo[1]; $flac_tag->{GENRE} = "$taginfo[2]" if $taginfo[2]; $flac_tag->{TITLE} = "$taginfo[3]" if $taginfo[3]; $flac_tag->{DATE} = "$taginfo[4]" if $taginfo[4]; $flac_tag->{TRACKNUMBER} = "$count" if $count; $flac_head->write(); } } # CD -> Monkey Audio (APE) if ($enc_opt eq "cdtoape") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $mac $count.wav \"$out_file\" -c$alevel"); } # CD -> Shorten (SHN) if ($enc_opt eq "cdtoshn") { system("$nice $cdparanoia -d $device $count \"-\" | $nice $shorten $audio_opts -c $channels -v $slevel - \"$out_file\""); } # CD -> FAAC (AAC) if ($enc_opt eq "cdtoaac") { system("$nice $cdparanoia -d $device $count \"-\" | $nice $faac $audio_opts -q $quality - -o \"$out_file\""); } # CD -> FAAC (M4A/MP4) if ($enc_opt eq "cdtomp4") { my $mp4_tag = ''; if ($usetags eq 1 and @taginfo) { $mp4_tag = "--artist \"$taginfo[0]\"" if $taginfo[0]; $mp4_tag = "$mp4_tag --album \"$taginfo[1]\"" if $taginfo[1]; $mp4_tag = "$mp4_tag --genre \"$taginfo[2]\"" if $taginfo[2]; $mp4_tag = "$mp4_tag --title \"$taginfo[3]\"" if $taginfo[3]; $mp4_tag = "$mp4_tag --year \"$taginfo[4]\"" if $taginfo[4]; $mp4_tag = "$mp4_tag --track \"$count\"" if $count; } system("$nice $cdparanoia -d $device $count \"-\" | $nice $faac $audio_opts $mp4_tag -w -q $quality - -o \"$out_file\""); } # CD -> Musepack (MPC) if ($enc_opt eq "cdtompc") { my $mpc_tag = ''; if ($usetags eq 1 and @taginfo) { $mpc_tag = "--artist \"$taginfo[0]\"" if $taginfo[0]; $mpc_tag = "$mpc_tag --tag \"Album=$taginfo[1]\"" if $taginfo[1]; $mpc_tag = "$mpc_tag --tag \"Genre=$taginfo[2]\"" if $taginfo[2]; $mpc_tag = "$mpc_tag --tag \"Title=$taginfo[3]\"" if $taginfo[3]; $mpc_tag = "$mpc_tag --tag \"Year=$taginfo[4]\"" if $taginfo[4]; $mpc_tag = "$mpc_tag --tag \"Track=$count\"" if $count; } system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $mppenc --overwrite --$xlevel $mpc_tag $audio_opts $count.wav \"$out_file\""); } # CD -> Wavpack (WV) if ($enc_opt eq "cdtowv") { my $wv_tag = ''; if ($usetags eq 1 and @taginfo) { $wv_tag = "-w \"Artist=$taginfo[0]\"" if $taginfo[0]; $wv_tag = "$wv_tag -w \"Album=$taginfo[1]\"" if $taginfo[1]; $wv_tag = "$wv_tag -w \"Genre=$taginfo[2]\"" if $taginfo[2]; $wv_tag = "$wv_tag -w \"Title=$taginfo[3]\"" if $taginfo[3]; $wv_tag = "$wv_tag -w \"Year=$taginfo[4]\"" if $taginfo[4]; $wv_tag = "$wv_tag -w \"Track=$count\"" if $count; chomp($wv_tag); } system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $wavpack $audio_opts -y $wv_tag $count.wav -o \"$out_file\""); } # CD -> OptimFrog (OFR) if ($enc_opt eq "cdtoofr") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $ofr $audio_opts --overwrite --mode $mode --optimize $optimize $count.wav --output \"$out_file\""); } # CD -> OptimFrog (OFS) if ($enc_opt eq "cdtoofs") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $ofs $audio_opts --overwrite --mode $mode --optimize $optimize $count.wav --output \"$out_file\""); } # CD -> TTA if ($enc_opt eq "cdtotta") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $ttaenc $audio_opts -e \"$count.wav\" -o \"$out_file\""); } # CD -> LPAC if ($enc_opt eq "cdtopac") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $lpac $audio_opts -v -$plevel \"$count.wav\" \"$out_file\""); } # CD -> Kexis (KXS) if ($enc_opt eq "cdtokxs") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $kexis $audio_opts -p \"$count.wav\""); move("$new_file.kxs","$out_file"); } # CD -> (AIFF/AU/SND/RAW/VOC/SMP) if ($enc_opt eq "cdtoaiff") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $sox $sox_opts \"$count.wav\" -r $freq -c $channels $audio_opts \"$out_file\" $effect"); } # CD -> (MP2/AC3/RA) if ($enc_opt eq "cdtomp2") { system("$nice $cdparanoia -d $device $count - | $nice $ffmpeg -y -i \"-\" -ab $bitrate -ar $freq -ac $channels $audio_opts \"$out_file\""); } # CD -> Lossless Audio (LA) if ($enc_opt eq "cdtola") { system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $la -overwrite $audio_opts \"$count.wav\" \"$out_file\""); } # CD -> BONK if ($enc_opt eq "cdtobonk") { my $bonk_tag = ''; if ($usetags eq 1 and @taginfo) { $bonk_tag = "$bonk_tag -a \"$taginfo[0]\"" if $taginfo[0]; $bonk_tag = "$bonk_tag -t \"$taginfo[3]\"" if $taginfo[1]; } system("$nice $cdparanoia -d $device $count $count.wav"); system("$nice $bonk encode $bonk_tag $audio_opts $bonk_opts -q $qlevel -d $dratio -s $plevel \"$count.wav\" -o \"$out_file\""); } # CD -> WAV if ($enc_opt eq "cdtowav") { system("$nice $cdparanoia -d $device $count \"$out_file\""); } } # Encoding Instructions # MP3 if (defined $mp3tomp3) { check_apps($lame); pac_convert("mp3", "mp3", "mp3tomp3", "1"); } elsif (defined $mp3toogg) { check_apps($lame, $oggenc); pac_convert("mp3", "ogg", "mp3toogg", "0"); } elsif (defined $mp3toflac) { check_apps($lame, $flac); pac_convert("mp3", "flac", "mp3toflac", "1"); } elsif (defined $mp3tofla) { check_apps($lame, $flac); pac_convert("mp3", "fla", "mp3toflac", "1"); } elsif (defined $mp3toape) { check_apps($lame, $mac); pac_convert("mp3", "ape", "mp3toape", "1"); } elsif (defined $mp3toshn) { check_apps($lame, $shorten); pac_convert("mp3", "shn", "mp3toshn", "1"); } elsif (defined $mp3toaac) { check_apps($lame, $faac); pac_convert("mp3", "aac", "mp3toaac", "0"); } elsif (defined $mp3tom4a) { check_apps($lame, $faac); pac_convert("mp3", "m4a", "mp3tomp4", "0"); } elsif (defined $mp3tomp4) { check_apps($lame, $faac); pac_convert("mp3", "mp4", "mp3tomp4", "0"); } elsif (defined $mp3tompc) { check_apps($lame, $mppenc); pac_convert("mp3", "mpc", "mp3tompc", "1"); } elsif (defined $mp3tompp) { check_apps($lame, $mppenc); pac_convert("mp3", "mpp", "mp3tompc", "1"); } elsif (defined $mp3towv) { check_apps($lame, $wavpack); pac_convert("mp3", "wv", "mp3towv", "1"); } elsif (defined $mp3toofr) { check_apps($lame, $ofr); pac_convert("mp3", "ofr", "mp3toofr", "1"); } elsif (defined $mp3toofs) { check_apps($lame, $ofs); pac_convert("mp3", "ofs", "mp3toofs", "1"); } elsif (defined $mp3totta) { check_apps($lame, $ttaenc); pac_convert("mp3", "tta", "mp3totta", "1"); } elsif (defined $mp3topac) { check_apps($lame, $lpac); pac_convert("mp3", "pac", "mp3topac", "1"); } elsif (defined $mp3tolpac) { check_apps($lame, $lpac); pac_convert("mp3", "lpac", "mp3topac", "1"); } elsif (defined $mp3tokxs) { check_apps($lame, $kexis); pac_convert("mp3", "kxs", "mp3tokxs", "1"); } elsif (defined $mp3toaiff) { check_apps($lame, $sox); pac_convert("mp3", "aiff", "mp3toaiff", "1"); } elsif (defined $mp3toau) { check_apps($lame, $sox); pac_convert("mp3", "au", "mp3toaiff", "1"); } elsif (defined $mp3tosnd) { check_apps($lame, $sox); pac_convert("mp3", "snd", "mp3toaiff", "1"); } elsif (defined $mp3toraw) { check_apps($lame, $sox); pac_convert("mp3", "raw", "mp3toaiff", "1"); } elsif (defined $mp3tovoc) { check_apps($lame, $sox); pac_convert("mp3", "voc", "mp3toaiff", "1"); } elsif (defined $mp3tosmp) { check_apps($lame, $sox); pac_convert("mp3", "smp", "mp3toaiff", "1"); } elsif (defined $mp3toavr) { check_apps($lame, $sox); pac_convert("mp3", "avr", "mp3toaiff", "1"); } elsif (defined $mp3tocdr) { check_apps($lame, $sox); pac_convert("mp3", "cdr", "mp3toaiff", "1"); } elsif (defined $mp3tomp2) { check_apps($lame, $ffmpeg); pac_convert("mp3", "mp2", "mp3tomp2", "0"); } elsif (defined $mp3toac3) { check_apps($lame, $ffmpeg); pac_convert("mp3", "ac3", "mp3tomp2", "0"); } elsif (defined $mp3tola) { check_apps($lame, $la); pac_convert("mp3", "la", "mp3tola", "1"); } elsif (defined $mp3tobonk) { check_apps($lame, $bonk); pac_convert("mp3", "bonk", "mp3tobonk", "1"); } elsif (defined $mp3towav) { check_apps($lame); pac_convert("mp3", "wav", "mp3towav", "0"); } elsif (defined $mp3tora) { check_apps($lame, $ffmpeg); pac_convert("mp3", "ra", "mp3tomp2", "0"); } # Ogg Vorbis elsif (defined $oggtomp3) { check_apps($oggdec, $lame); pac_convert("ogg", "mp3", "oggtomp3", "0"); } elsif (defined $oggtoogg) { check_apps($oggdec, $oggenc); pac_convert("ogg", "ogg", "oggtoogg", "1"); } elsif (defined $oggtoflac) { check_apps($oggdec, $flac); pac_convert("ogg", "flac", "oggtoflac", "1"); } elsif (defined $oggtofla) { check_apps($oggdec, $flac); pac_convert("ogg", "fla", "oggtoflac", "1"); } elsif (defined $oggtoape) { check_apps($oggdec, $mac); pac_convert("ogg", "ape", "oggtoape", "1"); } elsif (defined $oggtoshn) { check_apps($oggdec, $shorten); pac_convert("ogg", "shn", "oggtoshn", "1"); } elsif (defined $oggtoaac) { check_apps($oggdec, $faac); pac_convert("ogg", "aac", "oggtoaac", "0"); } elsif (defined $oggtom4a) { check_apps($oggdec, $faac); pac_convert("ogg", "m4a", "oggtomp4", "0"); } elsif (defined $oggtomp4) { check_apps($oggdec, $faac); pac_convert("ogg", "mp4", "oggtomp4", "0"); } elsif (defined $oggtompc) { check_apps($oggdec, $mppenc); pac_convert("ogg", "mpc", "oggtompc", "1"); } elsif (defined $oggtompp) { check_apps($oggdec, $mppenc); pac_convert("ogg", "mpp", "oggtompc", "1"); } elsif (defined $oggtowv) { check_apps($oggdec, $wavpack); pac_convert("ogg", "wv", "oggtowv", "1"); } elsif (defined $oggtoofr) { check_apps($oggdec, $ofr); pac_convert("ogg", "ofr", "oggtoofr", "1"); } elsif (defined $oggtoofs) { check_apps($oggdec, $ofs); pac_convert("ogg", "ofs", "oggtoofs", "1"); } elsif (defined $oggtotta) { check_apps($oggdec, $ttaenc); pac_convert("ogg", "tta", "oggtotta", "1"); } elsif (defined $oggtopac) { check_apps($oggdec, $lpac); pac_convert("ogg", "pac", "oggtopac", "1"); } elsif (defined $oggtolpac) { check_apps($oggdec, $lpac); pac_convert("ogg", "lpac", "oggtopac", "1"); } elsif (defined $oggtokxs) { check_apps($oggdec, $kexis); pac_convert("ogg", "kxs", "oggtokxs", "1"); } elsif (defined $oggtoaiff) { check_apps($oggdec, $sox); pac_convert("ogg", "aiff", "oggtoaiff", "1"); } elsif (defined $oggtoau) { check_apps($oggdec, $sox); pac_convert("ogg", "au", "oggtoaiff", "1"); } elsif (defined $oggtosnd) { check_apps($oggdec, $sox); pac_convert("ogg", "snd", "oggtoaiff", "1"); } elsif (defined $oggtoraw) { check_apps($oggdec, $sox); pac_convert("ogg", "raw", "oggtoaiff", "1"); } elsif (defined $oggtovoc) { check_apps($oggdec, $sox); pac_convert("ogg", "voc", "oggtoaiff", "1"); } elsif (defined $oggtosmp) { check_apps($oggdec, $sox); pac_convert("ogg", "smp", "oggtoaiff", "1"); } elsif (defined $oggtoavr) { check_apps($oggdec, $sox); pac_convert("ogg", "avr", "oggtoaiff", "1"); } elsif (defined $oggtocdr) { check_apps($oggdec, $sox); pac_convert("ogg", "cdr", "oggtoaiff", "1"); } elsif (defined $oggtomp2) { check_apps($oggdec, $ffmpeg); pac_convert("ogg", "mp2", "oggtomp2", "1"); } elsif (defined $oggtoac3) { check_apps($oggdec, $ffmpeg); pac_convert("ogg", "ac3", "oggtomp2", "1"); } elsif (defined $oggtola) { check_apps($oggdec, $la); pac_convert("ogg", "la", "oggtola", "1"); } elsif (defined $oggtobonk) { check_apps($oggdec, $bonk); pac_convert("ogg", "bonk", "oggtobonk", "1"); } elsif (defined $oggtowav) { check_apps($oggdec); pac_convert("ogg", "wav", "oggtowav", "0"); } elsif (defined $oggtora) { check_apps($oggdec, $ffmpeg); pac_convert("ogg", "ra", "oggtomp2", "1"); } # FLAC elsif (defined $flactomp3) { check_apps($flac, $lame); pac_convert("flac", "mp3", "flactomp3", "0"); } elsif (defined $flactoogg) { check_apps($flac, $oggenc); pac_convert("flac", "ogg", "flactoogg", "0"); } elsif (defined $flactoflac) { check_apps($flac); pac_convert("flac", "flac", "flactoflac", "1"); } elsif (defined $flactofla) { check_apps($flac); pac_convert("flac", "fla", "flactoflac", "1"); } elsif (defined $flactoape) { check_apps($flac, $mac); pac_convert("flac", "ape", "flactoape", "1"); } elsif (defined $flactoshn) { check_apps($flac, $shorten); pac_convert("flac", "shn", "flactoshn", "0"); } elsif (defined $flactoaac) { check_apps($flac, $faac); pac_convert("flac", "aac", "flactoaac", "0"); } elsif (defined $flactom4a) { check_apps($flac, $faac); pac_convert("flac", "m4a", "flactomp4", "0"); } elsif (defined $flactomp4) { check_apps($flac, $faac); pac_convert("flac", "mp4", "flactomp4", "0"); } elsif (defined $flactompc) { check_apps($flac, $mppenc); pac_convert("flac", "mpc", "flactompc", "0"); } elsif (defined $flactompp) { check_apps($flac, $mppenc); pac_convert("flac", "mpp", "flactompc", "0"); } elsif (defined $flactowv) { check_apps($flac, $wavpack); pac_convert("flac", "wv", "flactowv", "1"); } elsif (defined $flactoofr) { check_apps($flac, $ofr); pac_convert("flac", "ofr", "flactoofr", "1"); } elsif (defined $flactoofs) { check_apps($flac, $ofs); pac_convert("flac", "ofs", "flactoofs", "1"); } elsif (defined $flactotta) { check_apps($flac, $ttaenc); pac_convert("flac", "tta", "flactotta", "1"); } elsif (defined $flactopac) { check_apps($flac, $lpac); pac_convert("flac", "pac", "flactopac", "1"); } elsif (defined $flactolpac) { check_apps($flac, $lpac); pac_convert("flac", "lpac", "flactopac", "1"); } elsif (defined $flactokxs) { check_apps($flac, $kexis); pac_convert("flac", "kxs", "flactokxs", "1"); } elsif (defined $flactoaiff) { check_apps($flac, $sox); pac_convert("flac", "aiff", "flactoaiff", "1"); } elsif (defined $flactoau) { check_apps($flac, $sox); pac_convert("flac", "au", "flactoaiff", "1"); } elsif (defined $flactosnd) { check_apps($flac, $sox); pac_convert("flac", "snd", "flactoaiff", "1"); } elsif (defined $flactoraw) { check_apps($flac, $sox); pac_convert("flac", "raw", "flactoaiff", "1"); } elsif (defined $flactovoc) { check_apps($flac, $sox); pac_convert("flac", "voc", "flactoaiff", "1"); } elsif (defined $flactosmp) { check_apps($flac, $sox); pac_convert("flac", "smp", "flactoaiff", "1"); } elsif (defined $flactoavr) { check_apps($flac, $sox); pac_convert("flac", "avr", "flactoaiff", "1"); } elsif (defined $flactocdr) { check_apps($flac, $sox); pac_convert("flac", "cdr", "flactoaiff", "1"); } elsif (defined $flactomp2) { check_apps($flac, $ffmpeg); pac_convert("flac", "mp2", "flactomp2", "1"); } elsif (defined $flactoac3) { check_apps($flac, $ffmpeg); pac_convert("flac", "ac3", "flactomp2", "1"); } elsif (defined $flactola) { check_apps($flac, $la); pac_convert("flac", "la", "flactola", "1"); } elsif (defined $flactobonk) { check_apps($flac, $bonk); pac_convert("flac", "bonk", "flactobonk", "1"); } elsif (defined $flactowav) { check_apps($flac); pac_convert("flac", "wav", "flactowav", "0"); } elsif (defined $flactora) { check_apps($flac, $ffmpeg); pac_convert("flac", "ra", "flactomp2", "1"); } # FLAC (FLA) elsif (defined $flatomp3) { check_apps($flac, $lame); pac_convert("fla", "mp3", "flactomp3", "0"); } elsif (defined $flatoogg) { check_apps($flac, $oggenc); pac_convert("fla", "ogg", "flactoogg", "0"); } elsif (defined $flatoflac) { check_apps($flac); pac_convert("fla", "flac", "flactoflac", "1"); } elsif (defined $flatofla) { check_apps($flac); pac_convert("fla", "fla", "flactoflac", "1"); } elsif (defined $flatoape) { check_apps($flac, $mac); pac_convert("fla", "ape", "flactoape", "1"); } elsif (defined $flatoshn) { check_apps($flac, $shorten); pac_convert("fla", "shn", "flactoshn", "0"); } elsif (defined $flatoaac) { check_apps($flac, $faac); pac_convert("fla", "aac", "flactoaac", "0"); } elsif (defined $flatom4a) { check_apps($flac, $faac); pac_convert("fla", "m4a", "flactomp4", "0"); } elsif (defined $flatomp4) { check_apps($flac, $faac); pac_convert("fla", "mp4", "flactomp4", "0"); } elsif (defined $flatompc) { check_apps($flac, $mppenc); pac_convert("fla", "mpc", "flactompc", "0"); } elsif (defined $flatompp) { check_apps($flac, $mppenc); pac_convert("fla", "mpp", "flactompc", "0"); } elsif (defined $flatowv) { check_apps($flac, $wavpack); pac_convert("fla", "wv", "flactowv", "1"); } elsif (defined $flatoofr) { check_apps($flac, $ofr); pac_convert("fla", "ofr", "flactoofr", "1"); } elsif (defined $flatoofs) { check_apps($flac, $ofs); pac_convert("fla", "ofs", "flactoofs", "1"); } elsif (defined $flatotta) { check_apps($flac, $ttaenc); pac_convert("fla", "tta", "flactotta", "1"); } elsif (defined $flatopac) { check_apps($flac, $lpac); pac_convert("fla", "pac", "flactopac", "1"); } elsif (defined $flatolpac) { check_apps($flac, $lpac); pac_convert("fla", "lpac", "flactopac", "1"); } elsif (defined $flatokxs) { check_apps($flac, $kexis); pac_convert("fla", "kxs", "flactokxs", "1"); } elsif (defined $flatoaiff) { check_apps($flac, $sox); pac_convert("fla", "aiff", "flactoaiff", "1"); } elsif (defined $flatoau) { check_apps($flac, $sox); pac_convert("fla", "au", "flactoaiff", "1"); } elsif (defined $flatosnd) { check_apps($flac, $sox); pac_convert("fla", "snd", "flactoaiff", "1"); } elsif (defined $flatoraw) { check_apps($flac, $sox); pac_convert("fla", "raw", "flactoaiff", "1"); } elsif (defined $flatovoc) { check_apps($flac, $sox); pac_convert("fla", "voc", "flactoaiff", "1"); } elsif (defined $flatosmp) { check_apps($flac, $sox); pac_convert("fla", "smp", "flactoaiff", "1"); } elsif (defined $flatoavr) { check_apps($flac, $sox); pac_convert("fla", "avr", "flactoaiff", "1"); } elsif (defined $flatocdr) { check_apps($flac, $sox); pac_convert("fla", "cdr", "flactoaiff", "1"); } elsif (defined $flatomp2) { check_apps($flac, $ffmpeg); pac_convert("fla", "mp2", "flactomp2", "1"); } elsif (defined $flatoac3) { check_apps($flac, $ffmpeg); pac_convert("fla", "ac3", "flactomp2", "1"); } elsif (defined $flatola) { check_apps($flac, $la); pac_convert("fla", "la", "flactola", "1"); } elsif (defined $flatobonk) { check_apps($flac, $bonk); pac_convert("fla", "bonk", "flactobonk", "1"); } elsif (defined $flatowav) { check_apps($flac); pac_convert("fla", "wav", "flactowav", "0"); } elsif (defined $flatora) { check_apps($flac, $ffmpeg); pac_convert("fla", "ra", "flactomp2", "1"); } # Monkey Audio (APE) elsif (defined $apetomp3) { check_apps($mac, $lame); pac_convert("ape", "mp3", "apetomp3", "0"); } elsif (defined $apetoogg) { check_apps($mac, $oggenc); pac_convert("ape", "ogg", "apetoogg", "0"); } elsif (defined $apetoflac) { check_apps($mac, $flac); pac_convert("ape", "flac", "apetoflac", "0"); } elsif (defined $apetofla) { check_apps($mac, $flac); pac_convert("ape", "fla", "apetoflac", "0"); } elsif (defined $apetoape) { check_apps($mac); pac_convert("ape", "ape", "apetoape", "1"); } elsif (defined $apetoshn) { check_apps($mac, $shorten); pac_convert("ape", "shn", "apetoshn", "0"); } elsif (defined $apetoaac) { check_apps($mac, $faac); pac_convert("ape", "aac", "apetoaac", "0"); } elsif (defined $apetom4a) { check_apps($mac, $faac); pac_convert("ape", "m4a", "apetomp4", "0"); } elsif (defined $apetomp4) { check_apps($mac, $faac); pac_convert("ape", "mp4", "apetomp4", "0"); } elsif (defined $apetompc) { check_apps($mac, $mppenc); pac_convert("ape", "mpc", "apetompc", "0"); } elsif (defined $apetompp) { check_apps($mac, $mppenc); pac_convert("ape", "mpp", "apetompc", "0"); } elsif (defined $apetowv) { check_apps($mac, $wavpack); pac_convert("ape", "wv", "apetowv", "1"); } elsif (defined $apetoofr) { check_apps($mac, $ofr); pac_convert("ape", "ofr", "apetoofr", "1"); } elsif (defined $apetoofs) { check_apps($mac, $ofs); pac_convert("ape", "ofs", "apetoofs", "1"); } elsif (defined $apetotta) { check_apps($mac, $ttaenc); pac_convert("ape", "tta", "apetotta", "1"); } elsif (defined $apetopac) { check_apps($mac, $lpac); pac_convert("ape", "pac", "apetopac", "1"); } elsif (defined $apetolpac) { check_apps($mac, $lpac); pac_convert("ape", "lpac", "apetopac", "1"); } elsif (defined $apetokxs) { check_apps($mac, $kexis); pac_convert("ape", "kxs", "apetokxs", "1"); } elsif (defined $apetoaiff) { check_apps($mac, $sox); pac_convert("ape", "aiff", "apetoaiff", "1"); } elsif (defined $apetoau) { check_apps($mac, $sox); pac_convert("ape", "au", "apetoaiff", "1"); } elsif (defined $apetosnd) { check_apps($mac, $sox); pac_convert("ape", "snd", "apetoaiff", "1"); } elsif (defined $apetoraw) { check_apps($mac, $sox); pac_convert("ape", "raw", "apetoaiff", "1"); } elsif (defined $apetovoc) { check_apps($mac, $sox); pac_convert("ape", "voc", "apetoaiff", "1"); } elsif (defined $apetosmp) { check_apps($mac, $sox); pac_convert("ape", "smp", "apetoaiff", "1"); } elsif (defined $apetoavr) { check_apps($mac, $sox); pac_convert("ape", "avr", "apetoaiff", "1"); } elsif (defined $apetocdr) { check_apps($mac, $sox); pac_convert("ape", "cdr", "apetoaiff", "1"); } elsif (defined $apetomp2) { check_apps($mac, $ffmpeg); pac_convert("ape", "mp2", "apetomp2", "1"); } elsif (defined $apetoac3) { check_apps($mac, $ffmpeg); pac_convert("ape", "ac3", "apetomp2", "1"); } elsif (defined $apetola) { check_apps($mac, $la); pac_convert("ape", "la", "apetola", "1"); } elsif (defined $apetobonk) { check_apps($mac, $bonk); pac_convert("ape", "bonk", "apetobonk", "1"); } elsif (defined $apetowav) { check_apps($mac); pac_convert("ape", "wav", "apetowav", "0"); } elsif (defined $apetora) { check_apps($mac, $ffmpeg); pac_convert("ape", "ra", "apetomp2", "1"); } # Shorten (SHN) elsif (defined $shntomp3) { check_apps($shorten, $lame); pac_convert("shn", "mp3", "shntomp3", "0"); } elsif (defined $shntoogg) { check_apps($shorten, $oggenc); pac_convert("shn", "ogg", "shntoogg", "0"); } elsif (defined $shntoflac) { check_apps($shorten, $flac); pac_convert("shn", "flac", "shntoflac", "0"); } elsif (defined $shntofla) { check_apps($shorten, $flac); pac_convert("shn", "fla", "shntoflac", "0"); } elsif (defined $shntoape) { check_apps($shorten, $mac); pac_convert("shn", "ape", "shntoape", "1"); } elsif (defined $shntoshn) { check_apps($shorten); pac_convert("shn", "shn", "shntoshn", "1"); } elsif (defined $shntoaac) { check_apps($shorten, $faac); pac_convert("shn", "aac", "shntoaac", "0"); } elsif (defined $shntom4a) { check_apps($shorten, $faac); pac_convert("shn", "m4a", "shntomp4", "0"); } elsif (defined $shntomp4) { check_apps($shorten, $faac); pac_convert("shn", "mp4", "shntomp4", "0"); } elsif (defined $shntompc) { check_apps($shorten, $mppenc); pac_convert("shn", "mpc", "shntompc", "0"); } elsif (defined $shntompp) { check_apps($shorten, $mppenc); pac_convert("shn", "mpp", "shntompc", "0"); } elsif (defined $shntowv) { check_apps($shorten, $wavpack); pac_convert("shn", "wv", "shntowv", "1"); } elsif (defined $shntoofr) { check_apps($shorten, $ofr); pac_convert("shn", "ofr", "shntoofr", "1"); } elsif (defined $shntoofs) { check_apps($shorten, $ofs); pac_convert("shn", "ofs", "shntoofs", "1"); } elsif (defined $shntotta) { check_apps($shorten, $ttaenc); pac_convert("shn", "tta", "shntotta", "1"); } elsif (defined $shntopac) { check_apps($shorten, $lpac); pac_convert("shn", "pac", "shntopac", "1"); } elsif (defined $shntolpac) { check_apps($shorten, $lpac); pac_convert("shn", "lpac", "shntopac", "1"); } elsif (defined $shntokxs) { check_apps($shorten, $kexis); pac_convert("shn", "kxs", "shntokxs", "1"); } elsif (defined $shntoaiff) { check_apps($shorten, $sox); pac_convert("shn", "aiff", "shntoaiff", "1"); } elsif (defined $shntoau) { check_apps($shorten, $sox); pac_convert("shn", "au", "shntoaiff", "1"); } elsif (defined $shntosnd) { check_apps($shorten, $sox); pac_convert("shn", "snd", "shntoaiff", "1"); } elsif (defined $shntoraw) { check_apps($shorten, $sox); pac_convert("shn", "raw", "shntoaiff", "1"); } elsif (defined $shntovoc) { check_apps($shorten, $sox); pac_convert("shn", "voc", "shntoaiff", "1"); } elsif (defined $shntosmp) { check_apps($shorten, $sox); pac_convert("shn", "smp", "shntoaiff", "1"); } elsif (defined $shntoavr) { check_apps($shorten, $sox); pac_convert("shn", "avr", "shntoaiff", "1"); } elsif (defined $shntocdr) { check_apps($shorten, $sox); pac_convert("shn", "cdr", "shntoaiff", "1"); } elsif (defined $shntomp2) { check_apps($shorten, $ffmpeg); pac_convert("shn", "mp2", "shntomp2", "1"); } elsif (defined $shntoac3) { check_apps($shorten, $ffmpeg); pac_convert("shn", "ac3", "shntomp2", "1"); } elsif (defined $shntola) { check_apps($shorten, $la); pac_convert("shn", "la", "shntola", "1"); } elsif (defined $shntobonk) { check_apps($shorten, $bonk); pac_convert("shn", "bonk", "shntobonk", "1"); } elsif (defined $shntowav) { check_apps($shorten); pac_convert("shn", "wav", "shntowav", "0"); } elsif (defined $shntora) { check_apps($shorten, $ffmpeg); pac_convert("shn", "ra", "shntomp2", "1"); } # FAAC (AAC) elsif (defined $aactomp3) { check_apps($faad, $lame); pac_convert("aac", "mp3", "aactomp3", "0"); } elsif (defined $aactoogg) { check_apps($faad, $oggenc); pac_convert("aac", "ogg", "aactoogg", "0"); } elsif (defined $aactoflac) { check_apps($faad, $flac); pac_convert("aac", "flac", "aactoflac", "1"); } elsif (defined $aactofla) { check_apps($faad, $flac); pac_convert("aac", "fla", "aactoflac", "1"); } elsif (defined $aactoape) { check_apps($faad, $mac); pac_convert("aac", "ape", "aactoape", "1"); } elsif (defined $aactoshn) { check_apps($faad, $shorten); pac_convert("aac", "shn", "aactoshn", "0"); } elsif (defined $aactoaac) { check_apps($faad, $faac); pac_convert("aac", "aac", "aactoaac", "1"); } elsif (defined $aactom4a) { check_apps($faad, $faac); pac_convert("aac", "m4a", "aactomp4", "0"); } elsif (defined $aactomp4) { check_apps($faad, $faac); pac_convert("aac", "mp4", "aactomp4", "0"); } elsif (defined $aactompc) { check_apps($faad, $mppenc); pac_convert("aac", "mpc", "aactompc", "1"); } elsif (defined $aactompp) { check_apps($faad, $mppenc); pac_convert("aac", "mpp", "aactompc", "1"); } elsif (defined $aactowv) { check_apps($faad, $wavpack); pac_convert("aac", "wv", "aactowv", "1"); } elsif (defined $aactoofr) { check_apps($faad, $ofr); pac_convert("aac", "ofr", "aactoofr", "1"); } elsif (defined $aactoofs) { check_apps($faad, $ofs); pac_convert("aac", "ofs", "aactoofs", "1"); } elsif (defined $aactotta) { check_apps($faad, $ttaenc); pac_convert("aac", "tta", "aactotta", "1"); } elsif (defined $aactopac) { check_apps($faad, $lpac); pac_convert("aac", "pac", "aactopac", "1"); } elsif (defined $aactolpac) { check_apps($faad, $lpac); pac_convert("aac", "lpac", "aactopac", "1"); } elsif (defined $aactokxs) { check_apps($faad, $kexis); pac_convert("aac", "kxs", "aactokxs", "1"); } elsif (defined $aactoaiff) { check_apps($faad, $sox); pac_convert("aac", "aiff", "aactoaiff", "1"); } elsif (defined $aactoau) { check_apps($faad, $sox); pac_convert("aac", "au", "aactoaiff", "1"); } elsif (defined $aactosnd) { check_apps($faad, $sox); pac_convert("aac", "snd", "aactoaiff", "1"); } elsif (defined $aactoraw) { check_apps($faad, $sox); pac_convert("aac", "raw", "aactoaiff", "1"); } elsif (defined $aactovoc) { check_apps($faad, $sox); pac_convert("aac", "voc", "aactoaiff", "1"); } elsif (defined $aactosmp) { check_apps($faad, $sox); pac_convert("aac", "smp", "aactoaiff", "1"); } elsif (defined $aactoavr) { check_apps($faad, $sox); pac_convert("aac", "avr", "aactoaiff", "1"); } elsif (defined $aactocdr) { check_apps($faad, $sox); pac_convert("aac", "cdr", "aactoaiff", "1"); } elsif (defined $aactomp2) { check_apps($faad, $ffmpeg); pac_convert("aac", "mp2", "aactomp2", "1"); } elsif (defined $aactoac3) { check_apps($faad, $ffmpeg); pac_convert("aac", "ac3", "aactomp2", "1"); } elsif (defined $aactola) { check_apps($faad, $la); pac_convert("aac", "la", "aactola", "1"); } elsif (defined $aactobonk) { check_apps($faad, $bonk); pac_convert("aac", "bonk", "aactobonk", "1"); } elsif (defined $aactowav) { check_apps($faad); pac_convert("aac", "wav", "aactowav", "0"); } elsif (defined $aactora) { check_apps($faad, $ffmpeg); pac_convert("aac", "ra", "aactomp2", "1"); } # FAAC (M4A) elsif (defined $m4atomp3) { check_apps($faad, $lame); pac_convert("m4a", "mp3", "mp4tomp3", "1"); } elsif (defined $m4atoogg) { check_apps($faad, $oggenc); pac_convert("m4a", "ogg", "mp4toogg", "1"); } elsif (defined $m4atoflac) { check_apps($faad, $flac); pac_convert("m4a", "flac", "mp4toflac", "1"); } elsif (defined $m4atofla) { check_apps($faad, $flac); pac_convert("m4a", "fla", "mp4toflac", "1"); } elsif (defined $m4atoape) { check_apps($faad, $mac); pac_convert("m4a", "ape", "mp4toape", "1"); } elsif (defined $m4atoshn) { check_apps($faad, $shorten); pac_convert("m4a", "shn", "mp4toshn", "1"); } elsif (defined $m4atoaac) { check_apps($faad, $faac); pac_convert("m4a", "aac", "mp4toaac", "1"); } elsif (defined $m4atom4a) { check_apps($faad, $faac); pac_convert("m4a", "m4a", "mp4tomp4", "1"); } elsif (defined $m4atomp4) { check_apps($faad, $faac); pac_convert("m4a", "mp4", "mp4tomp4", "1"); } elsif (defined $m4atompc) { check_apps($faad, $mppenc); pac_convert("m4a", "mpc", "mp4tompc", "1"); } elsif (defined $m4atompp) { check_apps($faad, $mppenc); pac_convert("m4a", "mpp", "mp4tompc", "1"); } elsif (defined $m4atowv) { check_apps($faad, $wavpack); pac_convert("m4a", "wv", "mp4towv", "1"); } elsif (defined $m4atoofr) { check_apps($faad, $ofr); pac_convert("m4a", "ofr", "mp4toofr", "1"); } elsif (defined $m4atoofs) { check_apps($faad, $ofs); pac_convert("m4a", "ofs", "mp4toofs", "1"); } elsif (defined $m4atotta) { check_apps($faad, $ttaenc); pac_convert("m4a", "tta", "mp4totta", "1"); } elsif (defined $m4atopac) { check_apps($faad, $lpac); pac_convert("m4a", "pac", "mp4topac", "1"); } elsif (defined $m4atolpac) { check_apps($faad, $lpac); pac_convert("m4a", "lpac", "mp4topac", "1"); } elsif (defined $m4atokxs) { check_apps($faad, $kexis); pac_convert("m4a", "kxs", "mp4tokxs", "1"); } elsif (defined $m4atoaiff) { check_apps($faad, $sox); pac_convert("m4a", "aiff", "mp4toaiff", "1"); } elsif (defined $m4atoau) { check_apps($faad, $sox); pac_convert("m4a", "au", "mp4toaiff", "1"); } elsif (defined $m4atosnd) { check_apps($faad, $sox); pac_convert("m4a", "snd", "mp4toaiff", "1"); } elsif (defined $m4atoraw) { check_apps($faad, $sox); pac_convert("m4a", "raw", "mp4toaiff", "1"); } elsif (defined $m4atovoc) { check_apps($faad, $sox); pac_convert("m4a", "voc", "mp4toaiff", "1"); } elsif (defined $m4atosmp) { check_apps($faad, $sox); pac_convert("m4a", "smp", "mp4toaiff", "1"); } elsif (defined $m4atoavr) { check_apps($faad, $sox); pac_convert("m4a", "avr", "mp4toaiff", "1"); } elsif (defined $m4atocdr) { check_apps($faad, $sox); pac_convert("m4a", "cdr", "mp4toaiff", "1"); } elsif (defined $m4atomp2) { check_apps($faad, $ffmpeg); pac_convert("m4a", "mp2", "mp4tomp2", "1"); } elsif (defined $m4atoac3) { check_apps($faad, $ffmpeg); pac_convert("m4a", "ac3", "mp4tomp2", "1"); } elsif (defined $m4atola) { check_apps($faad, $la); pac_convert("m4a", "la", "mp4tola", "1"); } elsif (defined $m4atobonk) { check_apps($faad, $bonk); pac_convert("m4a", "bonk", "mp4tobonk", "1"); } elsif (defined $m4atowav) { check_apps($faad); pac_convert("m4a", "wav", "mp4towav", "0"); } elsif (defined $m4atora) { check_apps($faad, $ffmpeg); pac_convert("m4a", "ra", "mp4tomp2", "1"); } # FAAC (MP4) elsif (defined $mp4tomp3) { check_apps($faad, $lame); pac_convert("mp4", "mp3", "mp4tomp3", "1"); } elsif (defined $mp4toogg) { check_apps($faad, $oggenc); pac_convert("mp4", "ogg", "mp4toogg", "1"); } elsif (defined $mp4toflac) { check_apps($faad, $flac); pac_convert("mp4", "flac", "mp4toflac", "1"); } elsif (defined $mp4tofla) { check_apps($faad, $flac); pac_convert("mp4", "fla", "mp4toflac", "1"); } elsif (defined $mp4toape) { check_apps($faad, $mac); pac_convert("mp4", "ape", "mp4toape", "1"); } elsif (defined $mp4toshn) { check_apps($faad, $shorten); pac_convert("mp4", "shn", "mp4toshn", "1"); } elsif (defined $mp4toaac) { check_apps($faad, $faac); pac_convert("mp4", "aac", "mp4toaac", "1"); } elsif (defined $mp4tom4a) { check_apps($faad, $faac); pac_convert("mp4", "m4a", "mp4tomp4", "1"); } elsif (defined $mp4tomp4) { check_apps($faad, $faac); pac_convert("mp4", "mp4", "mp4tomp4", "1"); } elsif (defined $mp4tompc) { check_apps($faad, $mppenc); pac_convert("mp4", "mpc", "mp4tompc", "1"); } elsif (defined $mp4tompp) { check_apps($faad, $mppenc); pac_convert("mp4", "mpp", "mp4tompc", "1"); } elsif (defined $mp4towv) { check_apps($faad, $wavpack); pac_convert("mp4", "wv", "mp4towv", "1"); } elsif (defined $mp4toofr) { check_apps($faad, $ofr); pac_convert("mp4", "ofr", "mp4toofr", "1"); } elsif (defined $mp4toofs) { check_apps($faad, $ofs); pac_convert("mp4", "ofs", "mp4toofs", "1"); } elsif (defined $mp4totta) { check_apps($faad, $ttaenc); pac_convert("mp4", "tta", "mp4totta", "1"); } elsif (defined $mp4topac) { check_apps($faad, $lpac); pac_convert("mp4", "pac", "mp4topac", "1"); } elsif (defined $mp4tolpac) { check_apps($faad, $lpac); pac_convert("mp4", "lpac", "mp4topac", "1"); } elsif (defined $mp4tokxs) { check_apps($faad, $kexis); pac_convert("mp4", "kxs", "mp4tokxs", "1"); } elsif (defined $mp4toaiff) { check_apps($faad, $sox); pac_convert("mp4", "aiff", "mp4toaiff", "1"); } elsif (defined $mp4toau) { check_apps($faad, $sox); pac_convert("mp4", "au", "mp4toaiff", "1"); } elsif (defined $mp4tosnd) { check_apps($faad, $sox); pac_convert("mp4", "snd", "mp4toaiff", "1"); } elsif (defined $mp4toraw) { check_apps($faad, $sox); pac_convert("mp4", "raw", "mp4toaiff", "1"); } elsif (defined $mp4tovoc) { check_apps($faad, $sox); pac_convert("mp4", "voc", "mp4toaiff", "1"); } elsif (defined $mp4tosmp) { check_apps($faad, $sox); pac_convert("mp4", "smp", "mp4toaiff", "1"); } elsif (defined $mp4toavr) { check_apps($faad, $sox); pac_convert("mp4", "avr", "mp4toaiff", "1"); } elsif (defined $mp4tocdr) { check_apps($faad, $sox); pac_convert("mp4", "cdr", "mp4toaiff", "1"); } elsif (defined $mp4tomp2) { check_apps($faad, $ffmpeg); pac_convert("mp4", "mp2", "mp4tomp2", "1"); } elsif (defined $mp4toac3) { check_apps($faad, $ffmpeg); pac_convert("mp4", "ac3", "mp4tomp2", "1"); } elsif (defined $mp4tola) { check_apps($faad, $la); pac_convert("mp4", "la", "mp4tola", "1"); } elsif (defined $mp4tobonk) { check_apps($faad, $bonk); pac_convert("mp4", "bonk", "mp4tobonk", "1"); } elsif (defined $mp4towav) { check_apps($faad); pac_convert("mp4", "wav", "mp4towav", "0"); } elsif (defined $mp4tora) { check_apps($faad, $ffmpeg); pac_convert("mp4", "ra", "mp4tomp2", "1"); } # Musepack (MPC) elsif (defined $mpctomp3) { check_apps($mppdec, $lame); pac_convert("mpc", "mp3", "mpctomp3", "1"); } elsif (defined $mpctoogg) { check_apps($mppdec, $oggenc); pac_convert("mpc", "ogg", "mpctoogg", "1"); } elsif (defined $mpctoflac) { check_apps($mppdec, $flac); pac_convert("mpc", "flac", "mpctoflac", "1"); } elsif (defined $mpctofla) { check_apps($mppdec, $flac); pac_convert("mpc", "fla", "mpctoflac", "1"); } elsif (defined $mpctoape) { check_apps($mppdec, $mac); pac_convert("mpc", "ape", "mpctoape", "1"); } elsif (defined $mpctoshn) { check_apps($mppdec, $shorten); pac_convert("mpc", "shn", "mpctoshn", "1"); } elsif (defined $mpctoaac) { check_apps($mppdec, $faac); pac_convert("mpc", "aac", "mpctoaac", "1"); } elsif (defined $mpctom4a) { check_apps($mppdec, $faac); pac_convert("mpc", "m4a", "mpctomp4", "1"); } elsif (defined $mpctomp4) { check_apps($mppdec, $faac); pac_convert("mpc", "mp4", "mpctomp4", "1"); } elsif (defined $mpctompc) { check_apps($mppdec, $mppenc); pac_convert("mpc", "mpc", "mpctompc", "1"); } elsif (defined $mpctompp) { check_apps($mppdec, $mppenc); pac_convert("mpc", "mpp", "mpctompc", "1"); } elsif (defined $mpctowv) { check_apps($mppdec, $wavpack); pac_convert("mpc", "wv", "mpctowv", "1"); } elsif (defined $mpctoofr) { check_apps($mppdec, $ofr); pac_convert("mpc", "ofr", "mpctoofr", "1"); } elsif (defined $mpctoofs) { check_apps($mppdec, $ofs); pac_convert("mpc", "ofs", "mpctoofs", "1"); } elsif (defined $mpctotta) { check_apps($mppdec, $ttaenc); pac_convert("mpc", "tta", "mpctotta", "1"); } elsif (defined $mpctopac) { check_apps($mppdec, $lpac); pac_convert("mpc", "pac", "mpctopac", "1"); } elsif (defined $mpctolpac) { check_apps($mppdec, $lpac); pac_convert("mpc", "lpac", "mpctopac", "1"); } elsif (defined $mpctokxs) { check_apps($mppdec, $kexis); pac_convert("mpc", "kxs", "mpctokxs", "1"); } elsif (defined $mpctoaiff) { check_apps($mppdec, $sox); pac_convert("mpc", "aiff", "mpctoaiff", "1"); } elsif (defined $mpctoau) { check_apps($mppdec, $sox); pac_convert("mpc", "au", "mpctoaiff", "1"); } elsif (defined $mpctosnd) { check_apps($mppdec, $sox); pac_convert("mpc", "snd", "mpctoaiff", "1"); } elsif (defined $mpctoraw) { check_apps($mppdec, $sox); pac_convert("mpc", "raw", "mpctoaiff", "1"); } elsif (defined $mpctovoc) { check_apps($mppdec, $sox); pac_convert("mpc", "voc", "mpctoaiff", "1"); } elsif (defined $mpctosmp) { check_apps($mppdec, $sox); pac_convert("mpc", "smp", "mpctoaiff", "1"); } elsif (defined $mpctoavr) { check_apps($mppdec, $sox); pac_convert("mpc", "avr", "mpctoaiff", "1"); } elsif (defined $mpctocdr) { check_apps($mppdec, $sox); pac_convert("mpc", "cdr", "mpctoaiff", "1"); } elsif (defined $mpctomp2) { check_apps($mppdec, $ffmpeg); pac_convert("mpc", "mp2", "mpctomp2", "1"); } elsif (defined $mpctoac3) { check_apps($mppdec, $ffmpeg); pac_convert("mpc", "ac3", "mpctomp2", "1"); } elsif (defined $mpctola) { check_apps($mppdec, $la); pac_convert("mpc", "la", "mpctola", "1"); } elsif (defined $mpctobonk) { check_apps($mppdec, $bonk); pac_convert("mpc", "bonk", "mpctobonk", "1"); } elsif (defined $mpctowav) { check_apps($mppdec); pac_convert("mpc", "wav", "mpctowav", "0"); } elsif (defined $mpctora) { check_apps($mppdec, $ffmpeg); pac_convert("mpc", "ra", "mpctomp2", "1"); } # Musepack (MPP) elsif (defined $mpptomp3) { check_apps($mppdec, $lame); pac_convert("mpp", "mp3", "mpctomp3", "1"); } elsif (defined $mpptoogg) { check_apps($mppdec, $oggenc); pac_convert("mpp", "ogg", "mpctoogg", "1"); } elsif (defined $mpptoflac) { check_apps($mppdec, $flac); pac_convert("mpp", "flac", "mpctoflac", "1"); } elsif (defined $mpptofla) { check_apps($mppdec, $flac); pac_convert("mpp", "fla", "mpctoflac", "1"); } elsif (defined $mpptoape) { check_apps($mppdec, $mac); pac_convert("mpp", "ape", "mpctoape", "1"); } elsif (defined $mpptoshn) { check_apps($mppdec, $shorten); pac_convert("mpp", "shn", "mpctoshn", "1"); } elsif (defined $mpptoaac) { check_apps($mppdec, $faac); pac_convert("mpp", "aac", "mpctoaac", "1"); } elsif (defined $mpptom4a) { check_apps($mppdec, $faac); pac_convert("mpp", "m4a", "mpctomp4", "1"); } elsif (defined $mpptomp4) { check_apps($mppdec, $faac); pac_convert("mpp", "mp4", "mpctomp4", "1"); } elsif (defined $mpptompc) { check_apps($mppdec, $mppenc); pac_convert("mpp", "mpc", "mpctompc", "1"); } elsif (defined $mpptompp) { check_apps($mppdec, $mppenc); pac_convert("mpp", "mpp", "mpctompc", "1"); } elsif (defined $mpptowv) { check_apps($mppdec, $wavpack); pac_convert("mpp", "wv", "mpctowv", "1"); } elsif (defined $mpptoofr) { check_apps($mppdec, $ofr); pac_convert("mpp", "ofr", "mpctoofr", "1"); } elsif (defined $mpptoofs) { check_apps($mppdec, $ofs); pac_convert("mpp", "ofs", "mpctoofs", "1"); } elsif (defined $mpptotta) { check_apps($mppdec, $ttaenc); pac_convert("mpp", "tta", "mpctotta", "1"); } elsif (defined $mpptopac) { check_apps($mppdec, $lpac); pac_convert("mpp", "pac", "mpctopac", "1"); } elsif (defined $mpptolpac) { check_apps($mppdec, $lpac); pac_convert("mpp", "lpac", "mpctopac", "1"); } elsif (defined $mpptokxs) { check_apps($mppdec, $kexis); pac_convert("mpp", "kxs", "mpctokxs", "1"); } elsif (defined $mpptoaiff) { check_apps($mppdec, $sox); pac_convert("mpp", "aiff", "mpctoaiff", "1"); } elsif (defined $mpptoau) { check_apps($mppdec, $sox); pac_convert("mpp", "au", "mpctoaiff", "1"); } elsif (defined $mpptosnd) { check_apps($mppdec, $sox); pac_convert("mpp", "snd", "mpctoaiff", "1"); } elsif (defined $mpptoraw) { check_apps($mppdec, $sox); pac_convert("mpp", "raw", "mpctoaiff", "1"); } elsif (defined $mpptovoc) { check_apps($mppdec, $sox); pac_convert("mpp", "voc", "mpctoaiff", "1"); } elsif (defined $mpptosmp) { check_apps($mppdec, $sox); pac_convert("mpp", "smp", "mpctoaiff", "1"); } elsif (defined $mpptoavr) { check_apps($mppdec, $sox); pac_convert("mpp", "avr", "mpctoaiff", "1"); } elsif (defined $mpptocdr) { check_apps($mppdec, $sox); pac_convert("mpp", "cdr", "mpctoaiff", "1"); } elsif (defined $mpptomp2) { check_apps($mppdec, $ffmpeg); pac_convert("mpp", "mp2", "mpctomp2", "1"); } elsif (defined $mpptoac3) { check_apps($mppdec, $ffmpeg); pac_convert("mpp", "ac3", "mpctomp2", "1"); } elsif (defined $mpptola) { check_apps($mppdec, $la); pac_convert("mpp", "la", "mpctola", "1"); } elsif (defined $mpptobonk) { check_apps($mppdec, $bonk); pac_convert("mpp", "bonk", "mpctobonk", "1"); } elsif (defined $mpptowav) { check_apps($mppdec); pac_convert("mpp", "wav", "mpctowav", "0"); } elsif (defined $mpptora) { check_apps($mppdec, $ffmpeg); pac_convert("mpp", "ra", "mpctomp2", "1"); } # Wavpack (WV) elsif (defined $wvtomp3) { check_apps($wvunpack, $lame); pac_convert("wv", "mp3", "wvtomp3", "0"); } elsif (defined $wvtoogg) { check_apps($wvunpack, $oggenc); pac_convert("wv", "ogg", "wvtoogg", "0"); } elsif (defined $wvtoflac) { check_apps($wvunpack, $flac); pac_convert("wv", "flac", "wvtoflac", "0"); } elsif (defined $wvtofla) { check_apps($wvunpack, $flac); pac_convert("wv", "fla", "wvtoflac", "0"); } elsif (defined $wvtoape) { check_apps($wvunpack, $mac); pac_convert("wv", "ape", "wvtoape", "1"); } elsif (defined $wvtoshn) { check_apps($wvunpack, $shorten);pac_convert("wv", "shn", "wvtoshn", "1"); } elsif (defined $wvtoaac) { check_apps($wvunpack, $flac); pac_convert("wv", "aac", "wvtoaac", "1"); } elsif (defined $wvtom4a) { check_apps($wvunpack, $flac); pac_convert("wv", "m4a", "wvtomp4", "1"); } elsif (defined $wvtomp4) { check_apps($wvunpack, $flac); pac_convert("wv", "mp4", "wvtomp4", "1"); } elsif (defined $wvtompc) { check_apps($wvunpack, $mppenc); pac_convert("wv", "mpc", "wvtompc", "0"); } elsif (defined $wvtompp) { check_apps($wvunpack, $mppenc); pac_convert("wv", "mpp", "wvtompc", "0"); } elsif (defined $wvtowv) { check_apps($wvunpack, $wavpack);pac_convert("wv", "wv", "wvtowv", "1"); } elsif (defined $wvtoofr) { check_apps($wvunpack, $ofr); pac_convert("wv", "ofr", "wvtoofr", "1"); } elsif (defined $wvtoofs) { check_apps($wvunpack, $ofs); pac_convert("wv", "ofs", "wvtoofs", "1"); } elsif (defined $wvtotta) { check_apps($wvunpack, $ttaenc); pac_convert("wv", "tta", "wvtotta", "1"); } elsif (defined $wvtopac) { check_apps($wvunpack, $lpac); pac_convert("wv", "pac", "wvtopac", "1"); } elsif (defined $wvtolpac) { check_apps($wvunpack, $lpac); pac_convert("wv", "lpac", "wvtopac", "1"); } elsif (defined $wvtokxs) { check_apps($wvunpack, $kexis); pac_convert("wv", "kxs", "wvtokxs", "1"); } elsif (defined $wvtoaiff) { check_apps($wvunpack, $sox); pac_convert("wv", "aiff", "wvtoaiff", "1"); } elsif (defined $wvtoau) { check_apps($wvunpack, $sox); pac_convert("wv", "au", "wvtoaiff", "1"); } elsif (defined $wvtosnd) { check_apps($wvunpack, $sox); pac_convert("wv", "snd", "wvtoaiff", "1"); } elsif (defined $wvtoraw) { check_apps($wvunpack, $sox); pac_convert("wv", "raw", "wvtoaiff", "1"); } elsif (defined $wvtovoc) { check_apps($wvunpack, $sox); pac_convert("wv", "voc", "wvtoaiff", "1"); } elsif (defined $wvtosmp) { check_apps($wvunpack, $sox); pac_convert("wv", "smp", "wvtoaiff", "1"); } elsif (defined $wvtoavr) { check_apps($wvunpack, $sox); pac_convert("wv", "avr", "wvtoaiff", "1"); } elsif (defined $wvtocdr) { check_apps($wvunpack, $sox); pac_convert("wv", "cdr", "wvtoaiff", "1"); } elsif (defined $wvtomp2) { check_apps($wvunpack, $ffmpeg); pac_convert("wv", "mp2", "wvtomp2", "1"); } elsif (defined $wvtoac3) { check_apps($wvunpack, $ffmpeg); pac_convert("wv", "ac3", "wvtomp2", "1"); } elsif (defined $wvtola) { check_apps($wvunpack, $la); pac_convert("wv", "la", "wvtola", "1"); } elsif (defined $wvtobonk) { check_apps($wvunpack, $bonk); pac_convert("wv", "bonk", "wvtobonk", "1"); } elsif (defined $wvtowav) { check_apps($wvunpack); pac_convert("wv", "wav", "wvtowav", "0"); } elsif (defined $wvtora) { check_apps($wvunpack, $ffmpeg); pac_convert("wv", "ra", "wvtomp2", "1"); } # OptimFrog (OFR) elsif (defined $ofrtomp3) { check_apps($ofr, $lame); pac_convert("ofr", "mp3", "ofrtomp3", "0"); } elsif (defined $ofrtoogg) { check_apps($ofr, $oggenc); pac_convert("ofr", "ogg", "ofrtoogg", "0"); } elsif (defined $ofrtoflac) { check_apps($ofr, $flac); pac_convert("ofr", "flac", "ofrtoflac", "0"); } elsif (defined $ofrtofla) { check_apps($ofr, $flac); pac_convert("ofr", "fla", "ofrtoflac", "0"); } elsif (defined $ofrtoape) { check_apps($ofr, $mac); pac_convert("ofr", "ape", "ofrtoape", "1"); } elsif (defined $ofrtoshn) { check_apps($ofr, $shorten); pac_convert("ofr", "shn", "ofrtoshn", "0"); } elsif (defined $ofrtoaac) { check_apps($ofr, $faac); pac_convert("ofr", "aac", "ofrtoaac", "0"); } elsif (defined $ofrtom4a) { check_apps($ofr, $faac); pac_convert("ofr", "m4a", "ofrtomp4", "0"); } elsif (defined $ofrtomp4) { check_apps($ofr, $faac); pac_convert("ofr", "mp4", "ofrtomp4", "0"); } elsif (defined $ofrtompc) { check_apps($ofr, $mppenc); pac_convert("ofr", "mpc", "ofrtompc", "0"); } elsif (defined $ofrtompp) { check_apps($ofr, $mppenc); pac_convert("ofr", "mpp", "ofrtompc", "0"); } elsif (defined $ofrtowv) { check_apps($ofr, $wavpack); pac_convert("ofr", "wv", "ofrtowv", "0"); } elsif (defined $ofrtoofr) { check_apps($ofr); pac_convert("ofr", "ofr", "ofrtoofr", "1"); } elsif (defined $ofrtoofs) { check_apps($ofr, $ofs); pac_convert("ofr", "ofs", "ofrtoofs", "1"); } elsif (defined $ofrtotta) { check_apps($ofr, $ttaenc); pac_convert("ofr", "tta", "ofrtotta", "1"); } elsif (defined $ofrtopac) { check_apps($ofr, $lpac); pac_convert("ofr", "pac", "ofrtopac", "1"); } elsif (defined $ofrtolpac) { check_apps($ofr, $lpac); pac_convert("ofr", "lpac", "ofrtopac", "1"); } elsif (defined $ofrtokxs) { check_apps($ofr, $kexis); pac_convert("ofr", "kxs", "ofrtokxs", "1"); } elsif (defined $ofrtoaiff) { check_apps($ofr, $sox); pac_convert("ofr", "aiff", "ofrtoaiff", "1"); } elsif (defined $ofrtoau) { check_apps($ofr, $sox); pac_convert("ofr", "au", "ofrtoaiff", "1"); } elsif (defined $ofrtosnd) { check_apps($ofr, $sox); pac_convert("ofr", "snd", "ofrtoaiff", "1"); } elsif (defined $ofrtoraw) { check_apps($ofr, $sox); pac_convert("ofr", "raw", "ofrtoaiff", "1"); } elsif (defined $ofrtovoc) { check_apps($ofr, $sox); pac_convert("ofr", "voc", "ofrtoaiff", "1"); } elsif (defined $ofrtosmp) { check_apps($ofr, $sox); pac_convert("ofr", "smp", "ofrtoaiff", "1"); } elsif (defined $ofrtoavr) { check_apps($ofr, $sox); pac_convert("ofr", "avr", "ofrtoaiff", "1"); } elsif (defined $ofrtocdr) { check_apps($ofr, $sox); pac_convert("ofr", "cdr", "ofrtoaiff", "1"); } elsif (defined $ofrtomp2) { check_apps($ofr, $ffmpeg); pac_convert("ofr", "mp2", "ofrtomp2", "0"); } elsif (defined $ofrtoac3) { check_apps($ofr, $ffmpeg); pac_convert("ofr", "ac3", "ofrtomp2", "0"); } elsif (defined $ofrtola) { check_apps($ofr, $la); pac_convert("ofr", "la", "ofrtola", "1"); } elsif (defined $ofrtobonk) { check_apps($ofr, $bonk); pac_convert("ofr", "bonk", "ofrtobonk", "1"); } elsif (defined $ofrtowav) { check_apps($ofr); pac_convert("ofr", "wav", "ofrtowav", "0"); } elsif (defined $ofrtora) { check_apps($ofr, $ffmpeg); pac_convert("ofr", "ra", "ofrtomp2", "0"); } # OptimFrog (OFS) elsif (defined $ofstomp3) { check_apps($ofs, $lame); pac_convert("ofs", "mp3", "ofstomp3", "0"); } elsif (defined $ofstoogg) { check_apps($ofs, $oggenc); pac_convert("ofs", "ogg", "ofstoogg", "0"); } elsif (defined $ofstoflac) { check_apps($ofs, $flac); pac_convert("ofs", "flac", "ofstoflac", "0"); } elsif (defined $ofstofla) { check_apps($ofs, $flac); pac_convert("ofs", "fla", "ofstoflac", "0"); } elsif (defined $ofstoape) { check_apps($ofs, $mac); pac_convert("ofs", "ape", "ofstoape", "1"); } elsif (defined $ofstoshn) { check_apps($ofs, $shorten); pac_convert("ofs", "shn", "ofstoshn", "0"); } elsif (defined $ofstoaac) { check_apps($ofs, $faac); pac_convert("ofs", "aac", "ofstoaac", "0"); } elsif (defined $ofstom4a) { check_apps($ofs, $faac); pac_convert("ofs", "m4a", "ofstomp4", "0"); } elsif (defined $ofstomp4) { check_apps($ofs, $faac); pac_convert("ofs", "mp4", "ofstomp4", "0"); } elsif (defined $ofstompc) { check_apps($ofs, $mppenc); pac_convert("ofs", "mpc", "ofstompc", "0"); } elsif (defined $ofstompp) { check_apps($ofs, $mppenc); pac_convert("ofs", "mpp", "ofstompc", "0"); } elsif (defined $ofstowv) { check_apps($ofs, $wavpack); pac_convert("ofs", "wv", "ofstowv", "0"); } elsif (defined $ofstoofr) { check_apps($ofs, $ofr); pac_convert("ofs", "ofr", "ofstoofr", "1"); } elsif (defined $ofstoofs) { check_apps($ofs); pac_convert("ofs", "ofs", "ofstoofs", "1"); } elsif (defined $ofstotta) { check_apps($ofs, $ttaenc); pac_convert("ofs", "tta", "ofstotta", "1"); } elsif (defined $ofstopac) { check_apps($ofs, $lpac); pac_convert("ofs", "pac", "ofstopac", "1"); } elsif (defined $ofstolpac) { check_apps($ofs, $lpac); pac_convert("ofs", "lpac", "ofstopac", "1"); } elsif (defined $ofstokxs) { check_apps($ofs, $kexis); pac_convert("ofs", "kxs", "ofstokxs", "1"); } elsif (defined $ofstoaiff) { check_apps($ofs, $sox); pac_convert("ofs", "aiff", "ofstoaiff", "1"); } elsif (defined $ofstoau) { check_apps($ofs, $sox); pac_convert("ofs", "au", "ofstoaiff", "1"); } elsif (defined $ofstosnd) { check_apps($ofs, $sox); pac_convert("ofs", "snd", "ofstoaiff", "1"); } elsif (defined $ofstoraw) { check_apps($ofs, $sox); pac_convert("ofs", "raw", "ofstoaiff", "1"); } elsif (defined $ofstovoc) { check_apps($ofs, $sox); pac_convert("ofs", "voc", "ofstoaiff", "1"); } elsif (defined $ofstosmp) { check_apps($ofs, $sox); pac_convert("ofs", "smp", "ofstoaiff", "1"); } elsif (defined $ofstoavr) { check_apps($ofs, $sox); pac_convert("ofs", "avr", "ofstoaiff", "1"); } elsif (defined $ofstocdr) { check_apps($ofs, $sox); pac_convert("ofs", "cdr", "ofstoaiff", "1"); } elsif (defined $ofstomp2) { check_apps($ofs, $ffmpeg); pac_convert("ofs", "mp2", "ofstomp2", "0"); } elsif (defined $ofstoac3) { check_apps($ofs, $ffmpeg); pac_convert("ofs", "ac3", "ofstomp2", "0"); } elsif (defined $ofstola) { check_apps($ofs, $la); pac_convert("ofs", "la", "ofstola", "1"); } elsif (defined $ofstobonk) { check_apps($ofs, $bonk); pac_convert("ofs", "bonk", "ofstobonk", "1"); } elsif (defined $ofstowav) { check_apps($ofs); pac_convert("ofs", "wav", "ofstowav", "0"); } elsif (defined $ofstora) { check_apps($ofs, $ffmpeg); pac_convert("ofs", "ra", "ofstomp2", "0"); } # TTA elsif (defined $ttatomp3) { check_apps($ttaenc, $lame); pac_convert("tta", "mp3", "ttatomp3", "1"); } elsif (defined $ttatoogg) { check_apps($ttaenc, $oggenc); pac_convert("tta", "ogg", "ttatoogg", "1"); } elsif (defined $ttatoflac) { check_apps($ttaenc, $flac); pac_convert("tta", "flac", "ttatoflac", "1"); } elsif (defined $ttatofla) { check_apps($ttaenc, $flac); pac_convert("tta", "fla", "ttatoflac", "1"); } elsif (defined $ttatoape) { check_apps($ttaenc, $mac); pac_convert("tta", "ape", "ttatoape", "1"); } elsif (defined $ttatoshn) { check_apps($ttaenc, $shorten); pac_convert("tta", "shn", "ttatoshn", "1"); } elsif (defined $ttatoaac) { check_apps($ttaenc, $faac); pac_convert("tta", "aac", "ttatoaac", "1"); } elsif (defined $ttatom4a) { check_apps($ttaenc, $faac); pac_convert("tta", "m4a", "ttatomp4", "1"); } elsif (defined $ttatomp4) { check_apps($ttaenc, $faac); pac_convert("tta", "mp4", "ttatomp4", "1"); } elsif (defined $ttatompc) { check_apps($ttaenc, $mppenc); pac_convert("tta", "mpc", "ttatompc", "1"); } elsif (defined $ttatompp) { check_apps($ttaenc, $mppenc); pac_convert("tta", "mpp", "ttatompc", "1"); } elsif (defined $ttatowv) { check_apps($ttaenc, $wavpack); pac_convert("tta", "wv", "ttatowv", "1"); } elsif (defined $ttatoofr) { check_apps($ttaenc, $ofr); pac_convert("tta", "ofr", "ttatoofr", "1"); } elsif (defined $ttatoofs) { check_apps($ttaenc, $ofs); pac_convert("tta", "ofs", "ttatoofs", "1"); } elsif (defined $ttatotta) { check_apps($ttaenc); pac_convert("tta", "tta", "ttatotta", "1"); } elsif (defined $ttatopac) { check_apps($ttaenc, $lpac); pac_convert("tta", "pac", "ttatopac", "1"); } elsif (defined $ttatolpac) { check_apps($ttaenc, $lpac); pac_convert("tta", "lpac", "ttatopac", "1"); } elsif (defined $ttatokxs) { check_apps($ttaenc, $kexis); pac_convert("tta", "kxs", "ttatokxs", "1"); } elsif (defined $ttatoaiff) { check_apps($ttaenc, $sox); pac_convert("tta", "aiff", "ttatoaiff", "1"); } elsif (defined $ttatoau) { check_apps($ttaenc, $sox); pac_convert("tta", "au", "ttatoaiff", "1"); } elsif (defined $ttatosnd) { check_apps($ttaenc, $sox); pac_convert("tta", "snd", "ttatoaiff", "1"); } elsif (defined $ttatoraw) { check_apps($ttaenc, $sox); pac_convert("tta", "raw", "ttatoaiff", "1"); } elsif (defined $ttatovoc) { check_apps($ttaenc, $sox); pac_convert("tta", "voc", "ttatoaiff", "1"); } elsif (defined $ttatosmp) { check_apps($ttaenc, $sox); pac_convert("tta", "smp", "ttatoaiff", "1"); } elsif (defined $ttatoavr) { check_apps($ttaenc, $sox); pac_convert("tta", "avr", "ttatoaiff", "1"); } elsif (defined $ttatocdr) { check_apps($ttaenc, $sox); pac_convert("tta", "cdr", "ttatoaiff", "1"); } elsif (defined $ttatomp2) { check_apps($ttaenc, $ffmpeg); pac_convert("tta", "mp2", "ttatomp2", "1"); } elsif (defined $ttatoac3) { check_apps($ttaenc, $ffmpeg); pac_convert("tta", "ac3", "ttatomp2", "1"); } elsif (defined $ttatola) { check_apps($ttaenc, $la); pac_convert("tta", "la", "ttatola", "1"); } elsif (defined $ttatobonk) { check_apps($ttaenc, $bonk); pac_convert("tta", "bonk", "ttatobonk", "1"); } elsif (defined $ttatowav) { check_apps($ttaenc); pac_convert("tta", "wav", "ttatowav", "0"); } elsif (defined $ttatora) { check_apps($ttaenc, $ffmpeg); pac_convert("tta", "ra", "ttatomp2", "1"); } # LPAC (PAC) elsif (defined $pactomp3) { check_apps($lpac, $lame); pac_convert("pac", "mp3", "pactomp3", "0"); } elsif (defined $pactoogg) { check_apps($lpac, $oggenc); pac_convert("pac", "ogg", "pactoogg", "0"); } elsif (defined $pactoflac) { check_apps($lpac, $flac); pac_convert("pac", "flac", "pactoflac", "0"); } elsif (defined $pactofla) { check_apps($lpac, $flac); pac_convert("pac", "fla", "pactoflac", "0"); } elsif (defined $pactoape) { check_apps($lpac, $mac); pac_convert("pac", "ape", "pactoape", "1"); } elsif (defined $pactoshn) { check_apps($lpac, $shorten); pac_convert("pac", "shn", "pactoshn", "0"); } elsif (defined $pactoaac) { check_apps($lpac, $faac); pac_convert("pac", "aac", "pactoaac", "0"); } elsif (defined $pactom4a) { check_apps($lpac, $faac); pac_convert("pac", "m4a", "pactomp4", "0"); } elsif (defined $pactomp4) { check_apps($lpac, $faac); pac_convert("pac", "mp4", "pactomp4", "0"); } elsif (defined $pactompc) { check_apps($lpac, $mppenc); pac_convert("pac", "mpc", "pactompc", "0"); } elsif (defined $pactompp) { check_apps($lpac, $mppenc); pac_convert("pac", "mpp", "pactompc", "0"); } elsif (defined $pactowv) { check_apps($lpac, $wavpack); pac_convert("pac", "wv", "pactowv", "0"); } elsif (defined $pactoofr) { check_apps($lpac, $ofr); pac_convert("pac", "ofr", "pactoofr", "1"); } elsif (defined $pactoofs) { check_apps($lpac, $ofs); pac_convert("pac", "ofs", "pactoofs", "1"); } elsif (defined $pactotta) { check_apps($lpac, $ttaenc); pac_convert("pac", "tta", "pactotta", "1"); } elsif (defined $pactopac) { check_apps($lpac); pac_convert("pac", "pac", "pactopac", "1"); } elsif (defined $pactolpac) { check_apps($lpac); pac_convert("pac", "lpac", "pactopac", "1"); } elsif (defined $pactokxs) { check_apps($lpac, $kexis); pac_convert("pac", "kxs", "pactokxs", "1"); } elsif (defined $pactoaiff) { check_apps($lpac, $sox); pac_convert("pac", "aiff", "pactoaiff", "1"); } elsif (defined $pactoau) { check_apps($lpac, $sox); pac_convert("pac", "au", "pactoaiff", "1"); } elsif (defined $pactosnd) { check_apps($lpac, $sox); pac_convert("pac", "snd", "pactoaiff", "1"); } elsif (defined $pactoraw) { check_apps($lpac, $sox); pac_convert("pac", "raw", "pactoaiff", "1"); } elsif (defined $pactovoc) { check_apps($lpac, $sox); pac_convert("pac", "voc", "pactoaiff", "1"); } elsif (defined $pactosmp) { check_apps($lpac, $sox); pac_convert("pac", "smp", "pactoaiff", "1"); } elsif (defined $pactoavr) { check_apps($lpac, $sox); pac_convert("pac", "avr", "pactoaiff", "1"); } elsif (defined $pactocdr) { check_apps($lpac, $sox); pac_convert("pac", "cdr", "pactoaiff", "1"); } elsif (defined $pactomp2) { check_apps($lpac, $ffmpeg); pac_convert("pac", "mp2", "pactomp2", "0"); } elsif (defined $pactoac3) { check_apps($lpac, $ffmpeg); pac_convert("pac", "ac3", "pactomp2", "0"); } elsif (defined $pactola) { check_apps($lpac, $la); pac_convert("pac", "la", "pactola", "1"); } elsif (defined $pactobonk) { check_apps($lpac, $bonk); pac_convert("pac", "bonk", "pactobonk", "1"); } elsif (defined $pactowav) { check_apps($lpac); pac_convert("pac", "wav", "pactowav", "0"); } elsif (defined $pactora) { check_apps($lpac, $ffmpeg); pac_convert("pac", "ra", "pactomp2", "0"); } # LPAC elsif (defined $lpactomp3) { check_apps($lpac, $lame); pac_convert("lpac", "mp3", "pactomp3", "0"); } elsif (defined $lpactoogg) { check_apps($lpac, $oggenc); pac_convert("lpac", "ogg", "pactoogg", "0"); } elsif (defined $lpactoflac) { check_apps($lpac, $flac); pac_convert("lpac", "flac", "pactoflac", "0"); } elsif (defined $lpactofla) { check_apps($lpac, $flac); pac_convert("lpac", "fla", "pactoflac", "0"); } elsif (defined $lpactoape) { check_apps($lpac, $mac); pac_convert("lpac", "ape", "pactoape", "1"); } elsif (defined $lpactoshn) { check_apps($lpac, $shorten); pac_convert("lpac", "shn", "pactoshn", "0"); } elsif (defined $lpactoaac) { check_apps($lpac, $faac); pac_convert("lpac", "aac", "pactoaac", "0"); } elsif (defined $lpactom4a) { check_apps($lpac, $faac); pac_convert("lpac", "m4a", "pactomp4", "0"); } elsif (defined $lpactomp4) { check_apps($lpac, $faac); pac_convert("lpac", "mp4", "pactomp4", "0"); } elsif (defined $lpactompc) { check_apps($lpac, $mppenc); pac_convert("lpac", "mpc", "pactompc", "0"); } elsif (defined $lpactompp) { check_apps($lpac, $mppenc); pac_convert("lpac", "mpp", "pactompc", "0"); } elsif (defined $lpactowv) { check_apps($lpac, $wavpack); pac_convert("lpac", "wv", "pactowv", "0"); } elsif (defined $lpactoofr) { check_apps($lpac, $ofr); pac_convert("lpac", "ofr", "pactoofr", "1"); } elsif (defined $lpactoofs) { check_apps($lpac, $ofs); pac_convert("lpac", "ofs", "pactoofs", "1"); } elsif (defined $lpactotta) { check_apps($lpac, $ttaenc); pac_convert("lpac", "tta", "pactotta", "1"); } elsif (defined $lpactopac) { check_apps($lpac); pac_convert("lpac", "pac", "pactopac", "1"); } elsif (defined $lpactolpac) { check_apps($lpac); pac_convert("lpac", "lpac", "pactopac", "1"); } elsif (defined $lpactokxs) { check_apps($lpac, $kexis); pac_convert("lpac", "kxs", "pactokxs", "1"); } elsif (defined $lpactoaiff) { check_apps($lpac, $sox); pac_convert("lpac", "aiff", "pactoaiff", "1"); } elsif (defined $lpactoau) { check_apps($lpac, $sox); pac_convert("lpac", "au", "pactoaiff", "1"); } elsif (defined $lpactosnd) { check_apps($lpac, $sox); pac_convert("lpac", "snd", "pactoaiff", "1"); } elsif (defined $lpactoraw) { check_apps($lpac, $sox); pac_convert("lpac", "raw", "pactoaiff", "1"); } elsif (defined $lpactovoc) { check_apps($lpac, $sox); pac_convert("lpac", "voc", "pactoaiff", "1"); } elsif (defined $lpactosmp) { check_apps($lpac, $sox); pac_convert("lpac", "smp", "pactoaiff", "1"); } elsif (defined $lpactoavr) { check_apps($lpac, $sox); pac_convert("lpac", "avr", "pactoaiff", "1"); } elsif (defined $lpactocdr) { check_apps($lpac, $sox); pac_convert("lpac", "cdr", "pactoaiff", "1"); } elsif (defined $lpactomp2) { check_apps($lpac, $ffmpeg); pac_convert("lpac", "mp2", "pactomp2", "0"); } elsif (defined $lpactoac3) { check_apps($lpac, $ffmpeg); pac_convert("lpac", "ac3", "pactomp2", "0"); } elsif (defined $lpactola) { check_apps($lpac, $la); pac_convert("lpac", "la", "pactola", "1"); } elsif (defined $lpactobonk) { check_apps($lpac, $bonk); pac_convert("lpac", "bonk", "pactobonk", "1"); } elsif (defined $lpactowav) { check_apps($lpac); pac_convert("lpac", "wav", "pactowav", "0"); } elsif (defined $lpactora) { check_apps($lpac, $ffmpeg); pac_convert("lpac", "ra", "pactomp2", "0"); } # Kexis (KXS) elsif (defined $kxstomp3) { check_apps($kexis, $lame); pac_convert("kxs", "mp3", "kxstomp3", "1"); } elsif (defined $kxstoogg) { check_apps($kexis, $oggenc); pac_convert("kxs", "ogg", "kxstoogg", "1"); } elsif (defined $kxstoflac) { check_apps($kexis, $flac); pac_convert("kxs", "flac", "kxstoflac", "1"); } elsif (defined $kxstofla) { check_apps($kexis, $flac); pac_convert("kxs", "fla", "kxstoflac", "1"); } elsif (defined $kxstoape) { check_apps($kexis, $mac); pac_convert("kxs", "ape", "kxstoape", "1"); } elsif (defined $kxstoshn) { check_apps($kexis, $shorten); pac_convert("kxs", "shn", "kxstoshn", "1"); } elsif (defined $kxstoaac) { check_apps($kexis, $faac); pac_convert("kxs", "aac", "kxstoaac", "1"); } elsif (defined $kxstom4a) { check_apps($kexis, $faac); pac_convert("kxs", "m4a", "kxstomp4", "1"); } elsif (defined $kxstomp4) { check_apps($kexis, $faac); pac_convert("kxs", "mp4", "kxstomp4", "1"); } elsif (defined $kxstompc) { check_apps($kexis, $mppenc); pac_convert("kxs", "mpc", "kxstompc", "1"); } elsif (defined $kxstompp) { check_apps($kexis, $mppenc); pac_convert("kxs", "mpp", "kxstompc", "1"); } elsif (defined $kxstowv) { check_apps($kexis, $wavpack); pac_convert("kxs", "wv", "kxstowv", "1"); } elsif (defined $kxstoofr) { check_apps($kexis, $ofr); pac_convert("kxs", "ofr", "kxstoofr", "1"); } elsif (defined $kxstoofs) { check_apps($kexis, $ofs); pac_convert("kxs", "ofs", "kxstoofs", "1"); } elsif (defined $kxstotta) { check_apps($kexis, $ttaenc); pac_convert("kxs", "tta", "kxstotta", "1"); } elsif (defined $kxstopac) { check_apps($kexis, $lpac); pac_convert("kxs", "pac", "kxstopac", "1"); } elsif (defined $kxstolpac) { check_apps($kexis, $lpac); pac_convert("kxs", "lpac", "kxstopac", "1"); } elsif (defined $kxstokxs) { check_apps($kexis); pac_convert("kxs", "kxs", "kxstokxs", "1"); } elsif (defined $kxstoaiff) { check_apps($kexis, $sox); pac_convert("kxs", "aiff", "kxstoaiff", "1"); } elsif (defined $kxstoau) { check_apps($kexis, $sox); pac_convert("kxs", "au", "kxstoaiff", "1"); } elsif (defined $kxstosnd) { check_apps($kexis, $sox); pac_convert("kxs", "snd", "kxstoaiff", "1"); } elsif (defined $kxstoraw) { check_apps($kexis, $sox); pac_convert("kxs", "raw", "kxstoaiff", "1"); } elsif (defined $kxstovoc) { check_apps($kexis, $sox); pac_convert("kxs", "voc", "kxstoaiff", "1"); } elsif (defined $kxstosmp) { check_apps($kexis, $sox); pac_convert("kxs", "smp", "kxstoaiff", "1"); } elsif (defined $kxstoavr) { check_apps($kexis, $sox); pac_convert("kxs", "avr", "kxstoaiff", "1"); } elsif (defined $kxstocdr) { check_apps($kexis, $sox); pac_convert("kxs", "cdr", "kxstoaiff", "1"); } elsif (defined $kxstomp2) { check_apps($kexis, $ffmpeg); pac_convert("kxs", "mp2", "kxstomp2", "1"); } elsif (defined $kxstoac3) { check_apps($kexis, $ffmpeg); pac_convert("kxs", "ac3", "kxstomp2", "1"); } elsif (defined $kxstola) { check_apps($kexis, $la); pac_convert("kxs", "la", "kxstola", "1"); } elsif (defined $kxstobonk) { check_apps($kexis, $bonk); pac_convert("kxs", "bonk", "kxstobonk", "1"); } elsif (defined $kxstowav) { check_apps($kexis); pac_convert("kxs", "wav", "kxstowav", "0"); } elsif (defined $kxstora) { check_apps($kexis, $ffmpeg); pac_convert("kxs", "ra", "kxstomp2", "1"); } # AIFF elsif (defined $aifftomp3) { check_apps($sox, $lame); pac_convert("aiff", "mp3", "aifftomp3", "1"); } elsif (defined $aifftoogg) { check_apps($sox, $oggenc); pac_convert("aiff", "ogg", "aifftoogg", "1"); } elsif (defined $aifftoflac) { check_apps($sox, $flac); pac_convert("aiff", "flac", "aifftoflac", "1"); } elsif (defined $aifftofla) { check_apps($sox, $flac); pac_convert("aiff", "fla", "aifftofla", "1"); } elsif (defined $aifftoape) { check_apps($sox, $mac); pac_convert("aiff", "ape", "aifftoape", "1"); } elsif (defined $aifftoshn) { check_apps($sox, $shorten); pac_convert("aiff", "shn", "aifftoshn", "1"); } elsif (defined $aifftoaac) { check_apps($sox, $faac); pac_convert("aiff", "aac", "aifftoaac", "1"); } elsif (defined $aifftom4a) { check_apps($sox, $faac); pac_convert("aiff", "m4a", "aifftomp4", "1"); } elsif (defined $aifftomp4) { check_apps($sox, $faac); pac_convert("aiff", "mp4", "aifftomp4", "1"); } elsif (defined $aifftompc) { check_apps($sox, $mppenc); pac_convert("aiff", "mpc", "aifftompc", "1"); } elsif (defined $aifftompp) { check_apps($sox, $mppenc); pac_convert("aiff", "mpp", "aifftompc", "1"); } elsif (defined $aifftowv) { check_apps($sox, $wavpack); pac_convert("aiff", "wv", "aifftowv", "1"); } elsif (defined $aifftoofr) { check_apps($sox, $ofr); pac_convert("aiff", "ofr", "aifftoofr", "1"); } elsif (defined $aifftoofs) { check_apps($sox, $ofs); pac_convert("aiff", "ofs", "aifftoofs", "1"); } elsif (defined $aifftotta) { check_apps($sox, $ttaenc); pac_convert("aiff", "tta", "aifftotta", "1"); } elsif (defined $aifftopac) { check_apps($sox, $lpac); pac_convert("aiff", "pac", "aifftopac", "1"); } elsif (defined $aifftolpac) { check_apps($sox, $lpac); pac_convert("aiff", "lpac", "aifftopac", "1"); } elsif (defined $aifftokxs) { check_apps($sox, $kexis); pac_convert("aiff", "kxs", "aifftokxs", "1"); } elsif (defined $aifftoaiff) { check_apps($sox); pac_convert("aiff", "aiff", "aifftoaiff", "1"); } elsif (defined $aifftoau) { check_apps($sox); pac_convert("aiff", "au", "aifftoaiff", "1"); } elsif (defined $aifftosnd) { check_apps($sox); pac_convert("aiff", "snd", "aifftoaiff", "1"); } elsif (defined $aifftoraw) { check_apps($sox); pac_convert("aiff", "raw", "aifftoaiff", "1"); } elsif (defined $aifftovoc) { check_apps($sox); pac_convert("aiff", "voc", "aifftoaiff", "1"); } elsif (defined $aifftosmp) { check_apps($sox); pac_convert("aiff", "smp", "aifftoaiff", "1"); } elsif (defined $aifftoavr) { check_apps($sox); pac_convert("aiff", "avr", "aifftoaiff", "1"); } elsif (defined $aifftocdr) { check_apps($sox); pac_convert("aiff", "cdr", "aifftoaiff", "1"); } elsif (defined $aifftomp2) { check_apps($sox, $ffmpeg); pac_convert("aiff", "mp2", "aifftomp2", "1"); } elsif (defined $aifftoac3) { check_apps($sox, $ffmpeg); pac_convert("aiff", "ac3", "aifftomp2", "1"); } elsif (defined $aifftola) { check_apps($sox, $la); pac_convert("aiff", "la", "aifftola", "1"); } elsif (defined $aifftobonk) { check_apps($sox, $bonk); pac_convert("aiff", "bonk", "aifftobonk", "1"); } elsif (defined $aifftowav) { check_apps($sox); pac_convert("aiff", "wav", "aifftowav", "0"); } elsif (defined $aifftora) { check_apps($sox, $ffmpeg); pac_convert("aiff", "ra", "aifftomp2", "1"); } # AU elsif (defined $automp3) { check_apps($sox, $lame); pac_convert("au", "mp3", "aifftomp3", "1"); } elsif (defined $autoogg) { check_apps($sox, $oggenc); pac_convert("au", "ogg", "aifftoogg", "1"); } elsif (defined $autoflac) { check_apps($sox, $flac); pac_convert("au", "flac", "aifftoflac", "1"); } elsif (defined $autofla) { check_apps($sox, $flac); pac_convert("au", "fla", "aifftoflac", "1"); } elsif (defined $autoape) { check_apps($sox, $mac); pac_convert("au", "ape", "aifftoape", "1"); } elsif (defined $autoshn) { check_apps($sox, $shorten); pac_convert("au", "shn", "aifftoshn", "1"); } elsif (defined $autoaac) { check_apps($sox, $faac); pac_convert("au", "aac", "aifftoaac", "1"); } elsif (defined $autom4a) { check_apps($sox, $faac); pac_convert("au", "m4a", "aifftomp4", "1"); } elsif (defined $automp4) { check_apps($sox, $faac); pac_convert("au", "mp4", "aifftomp4", "1"); } elsif (defined $autompc) { check_apps($sox, $mppenc); pac_convert("au", "mpc", "aifftompc", "1"); } elsif (defined $autompp) { check_apps($sox, $mppenc); pac_convert("au", "mpp", "aifftompc", "1"); } elsif (defined $autowv) { check_apps($sox, $wavpack); pac_convert("au", "wv", "aifftowv", "1"); } elsif (defined $autoofr) { check_apps($sox, $ofr); pac_convert("au", "ofr", "aifftoofr", "1"); } elsif (defined $autoofs) { check_apps($sox, $ofs); pac_convert("au", "ofs", "aifftoofs", "1"); } elsif (defined $autotta) { check_apps($sox, $ttaenc); pac_convert("au", "tta", "aifftotta", "1"); } elsif (defined $autopac) { check_apps($sox, $lpac); pac_convert("au", "pac", "aifftopac", "1"); } elsif (defined $autolpac) { check_apps($sox, $lpac); pac_convert("au", "lpac", "aifftopac", "1"); } elsif (defined $autokxs) { check_apps($sox, $kexis); pac_convert("au", "kxs", "aifftokxs", "1"); } elsif (defined $autoaiff) { check_apps($sox); pac_convert("au", "aiff", "aifftoaiff", "1"); } elsif (defined $autoau) { check_apps($sox); pac_convert("au", "au", "aifftoaiff", "1"); } elsif (defined $autosnd) { check_apps($sox); pac_convert("au", "snd", "aifftoaiff", "1"); } elsif (defined $autoraw) { check_apps($sox); pac_convert("au", "raw", "aifftoaiff", "1"); } elsif (defined $autovoc) { check_apps($sox); pac_convert("au", "voc", "aifftoaiff", "1"); } elsif (defined $autosmp) { check_apps($sox); pac_convert("au", "smp", "aifftoaiff", "1"); } elsif (defined $autoavr) { check_apps($sox); pac_convert("au", "avr", "aifftoaiff", "1"); } elsif (defined $autocdr) { check_apps($sox); pac_convert("au", "cdr", "aifftoaiff", "1"); } elsif (defined $automp2) { check_apps($sox, $ffmpeg); pac_convert("au", "mp2", "aifftomp2", "1"); } elsif (defined $autoac3) { check_apps($sox, $ffmpeg); pac_convert("au", "ac3", "aifftomp2", "1"); } elsif (defined $autola) { check_apps($sox, $la); pac_convert("au", "la", "aifftola", "1"); } elsif (defined $autobonk) { check_apps($sox, $bonk); pac_convert("au", "bonk", "aifftobonk", "1"); } elsif (defined $autowav) { check_apps($sox); pac_convert("au", "wav", "aifftowav", "0"); } elsif (defined $autora) { check_apps($sox, $ffmpeg); pac_convert("au", "ra", "aifftomp2", "1"); } # SND elsif (defined $sndtomp3) { check_apps($sox, $lame); pac_convert("snd", "mp3", "aifftomp3", "1"); } elsif (defined $sndtoogg) { check_apps($sox, $oggenc); pac_convert("snd", "ogg", "aifftoogg", "1"); } elsif (defined $sndtoflac) { check_apps($sox, $flac); pac_convert("snd", "flac", "aifftoflac", "1"); } elsif (defined $sndtofla) { check_apps($sox, $flac); pac_convert("snd", "fla", "aifftoflac", "1"); } elsif (defined $sndtoape) { check_apps($sox, $mac); pac_convert("snd", "ape", "aifftoape", "1"); } elsif (defined $sndtoshn) { check_apps($sox, $shorten); pac_convert("snd", "shn", "aifftoshn", "1"); } elsif (defined $sndtoaac) { check_apps($sox, $faac); pac_convert("snd", "aac", "aifftoaac", "1"); } elsif (defined $sndtom4a) { check_apps($sox, $faac); pac_convert("snd", "m4a", "aifftomp4", "1"); } elsif (defined $sndtomp4) { check_apps($sox, $faac); pac_convert("snd", "mp4", "aifftomp4", "1"); } elsif (defined $sndtompc) { check_apps($sox, $mppenc); pac_convert("snd", "mpc", "aifftompc", "1"); } elsif (defined $sndtompp) { check_apps($sox, $mppenc); pac_convert("snd", "mpp", "aifftompc", "1"); } elsif (defined $sndtowv) { check_apps($sox, $wavpack); pac_convert("snd", "wv", "aifftowv", "1"); } elsif (defined $sndtoofr) { check_apps($sox, $ofr); pac_convert("snd", "ofr", "aifftoofr", "1"); } elsif (defined $sndtoofs) { check_apps($sox, $ofs); pac_convert("snd", "ofs", "aifftoofs", "1"); } elsif (defined $sndtotta) { check_apps($sox, $ttaenc); pac_convert("snd", "tta", "aifftotta", "1"); } elsif (defined $sndtopac) { check_apps($sox, $lpac); pac_convert("snd", "pac", "aifftopac", "1"); } elsif (defined $sndtolpac) { check_apps($sox, $lpac); pac_convert("snd", "lpac", "aifftopac", "1"); } elsif (defined $sndtokxs) { check_apps($sox, $kexis); pac_convert("snd", "kxs", "aifftokxs", "1"); } elsif (defined $sndtoaiff) { check_apps($sox); pac_convert("snd", "aiff", "aifftoaiff", "1"); } elsif (defined $sndtoau) { check_apps($sox); pac_convert("snd", "au", "aifftoaiff", "1"); } elsif (defined $sndtosnd) { check_apps($sox); pac_convert("snd", "snd", "aifftoaiff", "1"); } elsif (defined $sndtoraw) { check_apps($sox); pac_convert("snd", "raw", "aifftoaiff", "1"); } elsif (defined $sndtovoc) { check_apps($sox); pac_convert("snd", "voc", "aifftoaiff", "1"); } elsif (defined $sndtosmp) { check_apps($sox); pac_convert("snd", "smp", "aifftoaiff", "1"); } elsif (defined $sndtoavr) { check_apps($sox); pac_convert("snd", "avr", "aifftoaiff", "1"); } elsif (defined $sndtocdr) { check_apps($sox); pac_convert("snd", "cdr", "aifftoaiff", "1"); } elsif (defined $sndtomp2) { check_apps($sox, $ffmpeg); pac_convert("snd", "mp2", "aifftomp2", "1"); } elsif (defined $sndtoac3) { check_apps($sox, $ffmpeg); pac_convert("snd", "ac3", "aifftomp2", "1"); } elsif (defined $sndtola) { check_apps($sox, $la); pac_convert("snd", "la", "aifftola", "1"); } elsif (defined $sndtobonk) { check_apps($sox, $bonk); pac_convert("snd", "bonk", "aifftobonk", "1"); } elsif (defined $sndtowav) { check_apps($sox); pac_convert("snd", "wav", "aifftowav", "0"); } elsif (defined $sndtora) { check_apps($sox, $ffmpeg); pac_convert("snd", "ra", "aifftomp2", "1"); } # RAW elsif (defined $rawtomp3) { check_apps($sox, $lame); pac_convert("raw", "mp3", "rawtomp3", "1"); } elsif (defined $rawtoogg) { check_apps($sox, $oggenc); pac_convert("raw", "ogg", "rawtoogg", "1"); } elsif (defined $rawtoflac) { check_apps($sox, $flac); pac_convert("raw", "flac", "rawtoflac", "1"); } elsif (defined $rawtofla) { check_apps($sox, $flac); pac_convert("raw", "fla", "rawtoflac", "1"); } elsif (defined $rawtoape) { check_apps($sox, $mac); pac_convert("raw", "ape", "rawtoape", "1"); } elsif (defined $rawtoshn) { check_apps($sox, $shorten); pac_convert("raw", "shn", "rawtoshn", "1"); } elsif (defined $rawtoaac) { check_apps($sox, $faac); pac_convert("raw", "aac", "rawtoaac", "1"); } elsif (defined $rawtom4a) { check_apps($sox, $faac); pac_convert("raw", "m4a", "rawtomp4", "1"); } elsif (defined $rawtomp4) { check_apps($sox, $faac); pac_convert("raw", "mp4", "rawtomp4", "1"); } elsif (defined $rawtompc) { check_apps($sox, $mppenc); pac_convert("raw", "mpc", "rawtompc", "1"); } elsif (defined $rawtompp) { check_apps($sox, $mppenc); pac_convert("raw", "mpp", "rawtompc", "1"); } elsif (defined $rawtowv) { check_apps($sox, $wavpack); pac_convert("raw", "wv", "rawtowv", "1"); } elsif (defined $rawtoofr) { check_apps($sox, $ofr); pac_convert("raw", "ofr", "rawtoofr", "1"); } elsif (defined $rawtoofs) { check_apps($sox, $ofs); pac_convert("raw", "ofs", "rawtoofs", "1"); } elsif (defined $rawtotta) { check_apps($sox, $ttaenc); pac_convert("raw", "tta", "rawtotta", "1"); } elsif (defined $rawtopac) { check_apps($sox, $lpac); pac_convert("raw", "pac", "rawtopac", "1"); } elsif (defined $rawtolpac) { check_apps($sox, $lpac); pac_convert("raw", "lpac", "rawtopac", "1"); } elsif (defined $rawtokxs) { check_apps($sox, $kexis); pac_convert("raw", "kxs", "rawtokxs", "1"); } elsif (defined $rawtoaiff) { check_apps($sox); pac_convert("raw", "aiff", "rawtoaiff", "1"); } elsif (defined $rawtoau) { check_apps($sox); pac_convert("raw", "au", "rawtoaiff", "1"); } elsif (defined $rawtosnd) { check_apps($sox); pac_convert("raw", "snd", "rawtoaiff", "1"); } elsif (defined $rawtoraw) { check_apps($sox); pac_convert("raw", "raw", "rawtoraw", "1"); } elsif (defined $rawtovoc) { check_apps($sox); pac_convert("raw", "voc", "rawtoaiff", "1"); } elsif (defined $rawtosmp) { check_apps($sox); pac_convert("raw", "smp", "rawtoaiff", "1"); } elsif (defined $rawtoavr) { check_apps($sox); pac_convert("raw", "avr", "rawtoaiff", "1"); } elsif (defined $rawtocdr) { check_apps($sox); pac_convert("raw", "cdr", "rawtoaiff", "1"); } elsif (defined $rawtomp2) { check_apps($sox, $ffmpeg); pac_convert("raw", "mp2", "rawtomp2", "1"); } elsif (defined $rawtoac3) { check_apps($sox, $ffmpeg); pac_convert("raw", "ac3", "rawtomp2", "1"); } elsif (defined $rawtola) { check_apps($sox, $la); pac_convert("raw", "la", "rawtola", "1"); } elsif (defined $rawtobonk) { check_apps($sox, $bonk); pac_convert("raw", "bonk", "rawtobonk", "1"); } elsif (defined $rawtowav) { check_apps($sox); pac_convert("raw", "wav", "rawtowav", "0"); } elsif (defined $rawtora) { check_apps($sox, $ffmpeg); pac_convert("raw", "ra", "rawtomp2", "1"); } # VOC elsif (defined $voctomp3) { check_apps($sox, $lame); pac_convert("voc", "mp3", "aifftomp3", "1"); } elsif (defined $voctoogg) { check_apps($sox, $oggenc); pac_convert("voc", "ogg", "aifftoogg", "1"); } elsif (defined $voctoflac) { check_apps($sox, $flac); pac_convert("voc", "flac", "aifftoflac", "1"); } elsif (defined $voctofla) { check_apps($sox, $flac); pac_convert("voc", "fla", "aifftoflac", "1"); } elsif (defined $voctoape) { check_apps($sox, $mac); pac_convert("voc", "ape", "aifftoape", "1"); } elsif (defined $voctoshn) { check_apps($sox, $shorten); pac_convert("voc", "shn", "aifftoshn", "1"); } elsif (defined $voctoaac) { check_apps($sox, $faac); pac_convert("voc", "aac", "aifftoaac", "1"); } elsif (defined $voctom4a) { check_apps($sox, $faac); pac_convert("voc", "m4a", "aifftomp4", "1"); } elsif (defined $voctomp4) { check_apps($sox, $faac); pac_convert("voc", "mp4", "aifftomp4", "1"); } elsif (defined $voctompc) { check_apps($sox, $mppenc); pac_convert("voc", "mpc", "aifftompc", "1"); } elsif (defined $voctompp) { check_apps($sox, $mppenc); pac_convert("voc", "mpp", "aifftompc", "1"); } elsif (defined $voctowv) { check_apps($sox, $wavpack); pac_convert("voc", "wv", "aifftowv", "1"); } elsif (defined $voctoofr) { check_apps($sox, $ofr); pac_convert("voc", "ofr", "aifftoofr", "1"); } elsif (defined $voctoofs) { check_apps($sox, $ofs); pac_convert("voc", "ofs", "aifftoofs", "1"); } elsif (defined $voctotta) { check_apps($sox, $ttaenc); pac_convert("voc", "tta", "aifftotta", "1"); } elsif (defined $voctopac) { check_apps($sox, $lpac); pac_convert("voc", "pac", "aifftopac", "1"); } elsif (defined $voctolpac) { check_apps($sox, $lpac); pac_convert("voc", "lpac", "aifftopac", "1"); } elsif (defined $voctokxs) { check_apps($sox, $kexis); pac_convert("voc", "kxs", "aifftokxs", "1"); } elsif (defined $voctoaiff) { check_apps($sox); pac_convert("voc", "aiff", "aifftoaiff", "1"); } elsif (defined $voctoau) { check_apps($sox); pac_convert("voc", "au", "aifftoaiff", "1"); } elsif (defined $voctosnd) { check_apps($sox); pac_convert("voc", "snd", "aifftoaiff", "1"); } elsif (defined $voctoraw) { check_apps($sox); pac_convert("voc", "raw", "aifftoaiff", "1"); } elsif (defined $voctovoc) { check_apps($sox); pac_convert("voc", "voc", "aifftoaiff", "1"); } elsif (defined $voctosmp) { check_apps($sox); pac_convert("voc", "smp", "aifftoaiff", "1"); } elsif (defined $voctoavr) { check_apps($sox); pac_convert("voc", "avr", "aifftoaiff", "1"); } elsif (defined $voctocdr) { check_apps($sox); pac_convert("voc", "cdr", "aifftoaiff", "1"); } elsif (defined $voctomp2) { check_apps($sox, $ffmpeg); pac_convert("voc", "mp2", "aifftomp2", "1"); } elsif (defined $voctoac3) { check_apps($sox, $ffmpeg); pac_convert("voc", "ac3", "aifftomp2", "1"); } elsif (defined $voctola) { check_apps($sox, $la); pac_convert("voc", "la", "aifftola", "1"); } elsif (defined $voctobonk) { check_apps($sox, $bonk); pac_convert("voc", "bonk", "aifftobonk", "1"); } elsif (defined $voctowav) { check_apps($sox); pac_convert("voc", "wav", "aifftowav", "0"); } elsif (defined $voctora) { check_apps($sox, $ffmpeg); pac_convert("voc", "ra", "aifftomp2", "1"); } # SMP elsif (defined $smptomp3) { check_apps($sox, $lame); pac_convert("smp", "mp3", "aifftomp3", "1"); } elsif (defined $smptoogg) { check_apps($sox, $oggenc); pac_convert("smp", "ogg", "aifftoogg", "1"); } elsif (defined $smptoflac) { check_apps($sox, $flac); pac_convert("smp", "flac", "aifftoflac", "1"); } elsif (defined $smptofla) { check_apps($sox, $flac); pac_convert("smp", "fla", "aifftoflac", "1"); } elsif (defined $smptoape) { check_apps($sox, $mac); pac_convert("smp", "ape", "aifftoape", "1"); } elsif (defined $smptoshn) { check_apps($sox, $shorten); pac_convert("smp", "shn", "aifftoshn", "1"); } elsif (defined $smptoaac) { check_apps($sox, $faac); pac_convert("smp", "aac", "aifftoaac", "1"); } elsif (defined $smptom4a) { check_apps($sox, $faac); pac_convert("smp", "m4a", "aifftomp4", "1"); } elsif (defined $smptomp4) { check_apps($sox, $faac); pac_convert("smp", "mp4", "aifftomp4", "1"); } elsif (defined $smptompc) { check_apps($sox, $mppenc); pac_convert("smp", "mpc", "aifftompc", "1"); } elsif (defined $smptompp) { check_apps($sox, $mppenc); pac_convert("smp", "mpp", "aifftompc", "1"); } elsif (defined $smptowv) { check_apps($sox, $wavpack); pac_convert("smp", "wv", "aifftowv", "1"); } elsif (defined $smptoofr) { check_apps($sox, $ofr); pac_convert("smp", "ofr", "aifftoofr", "1"); } elsif (defined $smptoofs) { check_apps($sox, $ofs); pac_convert("smp", "ofs", "aifftoofs", "1"); } elsif (defined $smptotta) { check_apps($sox, $ttaenc); pac_convert("smp", "tta", "aifftotta", "1"); } elsif (defined $smptopac) { check_apps($sox, $lpac); pac_convert("smp", "pac", "aifftopac", "1"); } elsif (defined $smptolpac) { check_apps($sox, $lpac); pac_convert("smp", "lpac", "aifftopac", "1"); } elsif (defined $smptokxs) { check_apps($sox, $kexis); pac_convert("smp", "kxs", "aifftokxs", "1"); } elsif (defined $smptoaiff) { check_apps($sox); pac_convert("smp", "aiff", "aifftoaiff", "1"); } elsif (defined $smptoau) { check_apps($sox); pac_convert("smp", "au", "aifftoaiff", "1"); } elsif (defined $smptosnd) { check_apps($sox); pac_convert("smp", "snd", "aifftoaiff", "1"); } elsif (defined $smptoraw) { check_apps($sox); pac_convert("smp", "raw", "aifftoaiff", "1"); } elsif (defined $smptovoc) { check_apps($sox); pac_convert("smp", "voc", "aifftoaiff", "1"); } elsif (defined $smptosmp) { check_apps($sox); pac_convert("smp", "smp", "aifftoaiff", "1"); } elsif (defined $smptoavr) { check_apps($sox); pac_convert("smp", "avr", "aifftoaiff", "1"); } elsif (defined $smptocdr) { check_apps($sox); pac_convert("smp", "cdr", "aifftoaiff", "1"); } elsif (defined $smptomp2) { check_apps($sox, $ffmpeg); pac_convert("smp", "mp2", "aifftomp2", "1"); } elsif (defined $smptoac3) { check_apps($sox, $ffmpeg); pac_convert("smp", "ac3", "aifftomp2", "1"); } elsif (defined $smptola) { check_apps($sox, $la); pac_convert("smp", "la", "aifftola", "1"); } elsif (defined $smptobonk) { check_apps($sox, $bonk); pac_convert("smp", "bonk", "aifftobonk", "1"); } elsif (defined $smptowav) { check_apps($sox); pac_convert("smp", "wav", "aifftowav", "0"); } elsif (defined $smptora) { check_apps($sox, $ffmpeg); pac_convert("smp", "ra", "aifftomp2", "1"); } # AVR elsif (defined $avrtomp3) { check_apps($sox, $lame); pac_convert("avr", "mp3", "aifftomp3", "1"); } elsif (defined $avrtoogg) { check_apps($sox, $oggenc); pac_convert("avr", "ogg", "aifftoogg", "1"); } elsif (defined $avrtoflac) { check_apps($sox, $flac); pac_convert("avr", "flac", "aifftoflac", "1"); } elsif (defined $avrtofla) { check_apps($sox, $flac); pac_convert("avr", "fla", "aifftoflac", "1"); } elsif (defined $avrtoape) { check_apps($sox, $mac); pac_convert("avr", "ape", "aifftoape", "1"); } elsif (defined $avrtoshn) { check_apps($sox, $shorten); pac_convert("avr", "shn", "aifftoshn", "1"); } elsif (defined $avrtoaac) { check_apps($sox, $faac); pac_convert("avr", "aac", "aifftoaac", "1"); } elsif (defined $avrtom4a) { check_apps($sox, $faac); pac_convert("avr", "m4a", "aifftomp4", "1"); } elsif (defined $avrtomp4) { check_apps($sox, $faac); pac_convert("avr", "mp4", "aifftomp4", "1"); } elsif (defined $avrtompc) { check_apps($sox, $mppenc); pac_convert("avr", "mpc", "aifftompc", "1"); } elsif (defined $avrtompp) { check_apps($sox, $mppenc); pac_convert("avr", "mpp", "aifftompc", "1"); } elsif (defined $avrtowv) { check_apps($sox, $wavpack); pac_convert("avr", "wv", "aifftowv", "1"); } elsif (defined $avrtoofr) { check_apps($sox, $ofr); pac_convert("avr", "ofr", "aifftoofr", "1"); } elsif (defined $avrtoofs) { check_apps($sox, $ofs); pac_convert("avr", "ofs", "aifftoofs", "1"); } elsif (defined $avrtotta) { check_apps($sox, $ttaenc); pac_convert("avr", "tta", "aifftotta", "1"); } elsif (defined $avrtopac) { check_apps($sox, $lpac); pac_convert("avr", "pac", "aifftopac", "1"); } elsif (defined $avrtolpac) { check_apps($sox, $lpac); pac_convert("avr", "lpac", "aifftopac", "1"); } elsif (defined $avrtokxs) { check_apps($sox, $kexis); pac_convert("avr", "kxs", "aifftokxs", "1"); } elsif (defined $avrtoaiff) { check_apps($sox); pac_convert("avr", "aiff", "aifftoaiff", "1"); } elsif (defined $avrtoau) { check_apps($sox); pac_convert("avr", "au", "aifftoaiff", "1"); } elsif (defined $avrtosnd) { check_apps($sox); pac_convert("avr", "snd", "aifftoaiff", "1"); } elsif (defined $avrtoraw) { check_apps($sox); pac_convert("avr", "raw", "aifftoaiff", "1"); } elsif (defined $avrtovoc) { check_apps($sox); pac_convert("avr", "voc", "aifftoaiff", "1"); } elsif (defined $avrtosmp) { check_apps($sox); pac_convert("avr", "smp", "aifftoaiff", "1"); } elsif (defined $avrtoavr) { check_apps($sox); pac_convert("avr", "avr", "aifftoaiff", "1"); } elsif (defined $avrtocdr) { check_apps($sox); pac_convert("avr", "cdr", "aifftoaiff", "1"); } elsif (defined $avrtomp2) { check_apps($sox, $ffmpeg); pac_convert("avr", "mp2", "aifftomp2", "1"); } elsif (defined $avrtoac3) { check_apps($sox, $ffmpeg); pac_convert("avr", "ac3", "aifftomp2", "1"); } elsif (defined $avrtola) { check_apps($sox, $la); pac_convert("avr", "la", "aifftola", "1"); } elsif (defined $avrtobonk) { check_apps($sox, $bonk); pac_convert("avr", "bonk", "aifftobonk", "1"); } elsif (defined $avrtowav) { check_apps($sox); pac_convert("avr", "wav", "aifftowav", "0"); } elsif (defined $avrtora) { check_apps($sox, $ffmpeg); pac_convert("avr", "ra", "aifftomp2", "1"); } # CDR elsif (defined $cdrtomp3) { check_apps($sox, $lame); pac_convert("cdr", "mp3", "aifftomp3", "1"); } elsif (defined $cdrtoogg) { check_apps($sox, $oggenc); pac_convert("cdr", "ogg", "aifftoogg", "1"); } elsif (defined $cdrtoflac) { check_apps($sox, $flac); pac_convert("cdr", "flac", "aifftoflac", "1"); } elsif (defined $cdrtofla) { check_apps($sox, $flac); pac_convert("cdr", "fla", "aifftoflac", "1"); } elsif (defined $cdrtoape) { check_apps($sox, $mac); pac_convert("cdr", "ape", "aifftoape", "1"); } elsif (defined $cdrtoshn) { check_apps($sox, $shorten); pac_convert("cdr", "shn", "aifftoshn", "1"); } elsif (defined $cdrtoaac) { check_apps($sox, $faac); pac_convert("cdr", "aac", "aifftoaac", "1"); } elsif (defined $cdrtom4a) { check_apps($sox, $faac); pac_convert("cdr", "m4a", "aifftomp4", "1"); } elsif (defined $cdrtomp4) { check_apps($sox, $faac); pac_convert("cdr", "mp4", "aifftomp4", "1"); } elsif (defined $cdrtompc) { check_apps($sox, $mppenc); pac_convert("cdr", "mpc", "aifftompc", "1"); } elsif (defined $cdrtompp) { check_apps($sox, $mppenc); pac_convert("cdr", "mpp", "aifftompc", "1"); } elsif (defined $cdrtowv) { check_apps($sox, $wavpack); pac_convert("cdr", "wv", "aifftowv", "1"); } elsif (defined $cdrtoofr) { check_apps($sox, $ofr); pac_convert("cdr", "ofr", "aifftoofr", "1"); } elsif (defined $cdrtoofs) { check_apps($sox, $ofs); pac_convert("cdr", "ofs", "aifftoofs", "1"); } elsif (defined $cdrtotta) { check_apps($sox, $ttaenc); pac_convert("cdr", "tta", "aifftotta", "1"); } elsif (defined $cdrtopac) { check_apps($sox, $lpac); pac_convert("cdr", "pac", "aifftopac", "1"); } elsif (defined $cdrtolpac) { check_apps($sox, $lpac); pac_convert("cdr", "lpac", "aifftopac", "1"); } elsif (defined $cdrtokxs) { check_apps($sox, $kexis); pac_convert("cdr", "kxs", "aifftokxs", "1"); } elsif (defined $cdrtoaiff) { check_apps($sox); pac_convert("cdr", "aiff", "aifftoaiff", "1"); } elsif (defined $cdrtoau) { check_apps($sox); pac_convert("cdr", "au", "aifftoaiff", "1"); } elsif (defined $cdrtosnd) { check_apps($sox); pac_convert("cdr", "snd", "aifftoaiff", "1"); } elsif (defined $cdrtoraw) { check_apps($sox); pac_convert("cdr", "raw", "aifftoaiff", "1"); } elsif (defined $cdrtovoc) { check_apps($sox); pac_convert("cdr", "voc", "aifftoaiff", "1"); } elsif (defined $cdrtosmp) { check_apps($sox); pac_convert("cdr", "smp", "aifftoaiff", "1"); } elsif (defined $cdrtoavr) { check_apps($sox); pac_convert("cdr", "avr", "aifftoaiff", "1"); } elsif (defined $cdrtocdr) { check_apps($sox); pac_convert("cdr", "cdr", "aifftoaiff", "1"); } elsif (defined $cdrtomp2) { check_apps($sox, $ffmpeg); pac_convert("cdr", "mp2", "aifftomp2", "1"); } elsif (defined $cdrtoac3) { check_apps($sox, $ffmpeg); pac_convert("cdr", "ac3", "aifftomp2", "1"); } elsif (defined $cdrtola) { check_apps($sox, $la); pac_convert("cdr", "la", "aifftola", "1"); } elsif (defined $cdrtobonk) { check_apps($sox, $bonk); pac_convert("cdr", "bonk", "aifftobonk", "1"); } elsif (defined $cdrtowav) { check_apps($sox); pac_convert("cdr", "wav", "aifftowav", "0"); } elsif (defined $cdrtora) { check_apps($sox, $ffmpeg); pac_convert("cdr", "ra", "aifftomp2", "1"); } # MP2 elsif (defined $mp2tomp3) { check_apps($ffmpeg); pac_convert("mp2", "mp3", "mp2tomp3", "0"); } elsif (defined $mp2toogg) { check_apps($ffmpeg); pac_convert("mp2", "ogg", "mp2toogg", "0"); } elsif (defined $mp2toflac) { check_apps($ffmpeg, $flac); pac_convert("mp2", "flac", "mp2toflac", "1"); } elsif (defined $mp2tofla) { check_apps($ffmpeg, $flac); pac_convert("mp2", "fla", "mp2toflac", "1"); } elsif (defined $mp2toape) { check_apps($ffmpeg, $mac); pac_convert("mp2", "ape", "mp2toape", "1"); } elsif (defined $mp2toshn) { check_apps($ffmpeg, $shorten); pac_convert("mp2", "shn", "mp2toshn", "1"); } elsif (defined $mp2toaac) { check_apps($ffmpeg, $faac); pac_convert("mp2", "aac", "mp2toaac", "1"); } elsif (defined $mp2tom4a) { check_apps($ffmpeg, $faac); pac_convert("mp2", "m4a", "mp2tomp4", "1"); } elsif (defined $mp2tomp4) { check_apps($ffmpeg, $faac); pac_convert("mp2", "mp4", "mp2tomp4", "1"); } elsif (defined $mp2tompc) { check_apps($ffmpeg, $mppenc); pac_convert("mp2", "mpc", "mp2tompc", "1"); } elsif (defined $mp2tompp) { check_apps($ffmpeg, $mppenc); pac_convert("mp2", "mpp", "mp2tompc", "1"); } elsif (defined $mp2towv) { check_apps($ffmpeg, $wavpack); pac_convert("mp2", "wv", "mp2towv", "1"); } elsif (defined $mp2toofr) { check_apps($ffmpeg, $ofr); pac_convert("mp2", "ofr", "mp2toofr", "1"); } elsif (defined $mp2toofs) { check_apps($ffmpeg, $ofs); pac_convert("mp2", "ofs", "mp2toofs", "1"); } elsif (defined $mp2totta) { check_apps($ffmpeg, $ttaenc); pac_convert("mp2", "tta", "mp2totta", "1"); } elsif (defined $mp2topac) { check_apps($ffmpeg, $lpac); pac_convert("mp2", "pac", "mp2topac", "1"); } elsif (defined $mp2tolpac) { check_apps($ffmpeg, $lpac); pac_convert("mp2", "lpac", "mp2topac", "1"); } elsif (defined $mp2tokxs) { check_apps($ffmpeg, $kexis); pac_convert("mp2", "kxs", "mp2tokxs", "1"); } elsif (defined $mp2toaiff) { check_apps($ffmpeg, $sox); pac_convert("mp2", "aiff", "mp2toaiff", "1"); } elsif (defined $mp2toau) { check_apps($ffmpeg, $sox); pac_convert("mp2", "au", "mp2toaiff", "1"); } elsif (defined $mp2tosnd) { check_apps($ffmpeg, $sox); pac_convert("mp2", "snd", "mp2toaiff", "1"); } elsif (defined $mp2toraw) { check_apps($ffmpeg, $sox); pac_convert("mp2", "raw", "mp2toaiff", "1"); } elsif (defined $mp2tovoc) { check_apps($ffmpeg, $sox); pac_convert("mp2", "voc", "mp2toaiff", "1"); } elsif (defined $mp2tosmp) { check_apps($ffmpeg, $sox); pac_convert("mp2", "smp", "mp2toaiff", "1"); } elsif (defined $mp2toavr) { check_apps($ffmpeg, $sox); pac_convert("mp2", "avr", "mp2toaiff", "1"); } elsif (defined $mp2tocdr) { check_apps($ffmpeg, $sox); pac_convert("mp2", "cdr", "mp2toaiff", "1"); } elsif (defined $mp2tomp2) { check_apps($ffmpeg); pac_convert("mp2", "mp2", "mp2tomp2", "1"); } elsif (defined $mp2toac3) { check_apps($ffmpeg); pac_convert("mp2", "ac3", "mp2tomp2", "1"); } elsif (defined $mp2tola) { check_apps($ffmpeg, $la); pac_convert("mp2", "la", "mp2tola", "1"); } elsif (defined $mp2tobonk) { check_apps($ffmpeg, $bonk); pac_convert("mp2", "bonk", "mp2tobonk", "1"); } elsif (defined $mp2towav) { check_apps($ffmpeg); pac_convert("mp2", "wav", "mp2towav", "0"); } elsif (defined $mp2tora) { check_apps($ffmpeg); pac_convert("mp2", "ra", "mp2tomp2", "1"); } # AC3 elsif (defined $ac3tomp3) { check_apps($ffmpeg); pac_convert("ac3", "mp3", "mp2tomp3", "0"); } elsif (defined $ac3toogg) { check_apps($ffmpeg); pac_convert("ac3", "ogg", "mp2toogg", "0"); } elsif (defined $ac3toflac) { check_apps($ffmpeg, $flac); pac_convert("ac3", "flac", "mp2toflac", "1"); } elsif (defined $ac3tofla) { check_apps($ffmpeg, $flac); pac_convert("ac3", "fla", "mp2toflac", "1"); } elsif (defined $ac3toape) { check_apps($ffmpeg, $mac); pac_convert("ac3", "ape", "mp2toape", "1"); } elsif (defined $ac3toshn) { check_apps($ffmpeg, $shorten); pac_convert("ac3", "shn", "mp2toshn", "1"); } elsif (defined $ac3toaac) { check_apps($ffmpeg, $faac); pac_convert("ac3", "aac", "mp2toaac", "1"); } elsif (defined $ac3tom4a) { check_apps($ffmpeg, $faac); pac_convert("ac3", "m4a", "mp2tomp4", "1"); } elsif (defined $ac3tomp4) { check_apps($ffmpeg, $faac); pac_convert("ac3", "mp4", "mp2tomp4", "1"); } elsif (defined $ac3tompc) { check_apps($ffmpeg, $mppenc); pac_convert("ac3", "mpc", "mp2tompc", "1"); } elsif (defined $ac3tompp) { check_apps($ffmpeg, $mppenc); pac_convert("ac3", "mpp", "mp2tompc", "1"); } elsif (defined $ac3towv) { check_apps($ffmpeg, $wavpack); pac_convert("ac3", "wv", "mp2towv", "1"); } elsif (defined $ac3toofr) { check_apps($ffmpeg, $ofr); pac_convert("ac3", "ofr", "mp2toofr", "1"); } elsif (defined $ac3toofs) { check_apps($ffmpeg, $ofs); pac_convert("ac3", "ofs", "mp2toofs", "1"); } elsif (defined $ac3totta) { check_apps($ffmpeg, $ttaenc); pac_convert("ac3", "tta", "mp2totta", "1"); } elsif (defined $ac3topac) { check_apps($ffmpeg, $lpac); pac_convert("ac3", "pac", "mp2topac", "1"); } elsif (defined $ac3tolpac) { check_apps($ffmpeg, $lpac); pac_convert("ac3", "lpac", "mp2topac", "1"); } elsif (defined $ac3tokxs) { check_apps($ffmpeg, $kexis); pac_convert("ac3", "kxs", "mp2tokxs", "1"); } elsif (defined $ac3toaiff) { check_apps($ffmpeg, $sox); pac_convert("ac3", "aiff", "mp2toaiff", "1"); } elsif (defined $ac3toau) { check_apps($ffmpeg, $sox); pac_convert("ac3", "au", "mp2toaiff", "1"); } elsif (defined $ac3tosnd) { check_apps($ffmpeg, $sox); pac_convert("ac3", "snd", "mp2toaiff", "1"); } elsif (defined $ac3toraw) { check_apps($ffmpeg, $sox); pac_convert("ac3", "raw", "mp2toaiff", "1"); } elsif (defined $ac3tovoc) { check_apps($ffmpeg, $sox); pac_convert("ac3", "voc", "mp2toaiff", "1"); } elsif (defined $ac3tosmp) { check_apps($ffmpeg, $sox); pac_convert("ac3", "smp", "mp2toaiff", "1"); } elsif (defined $ac3toavr) { check_apps($ffmpeg, $sox); pac_convert("ac3", "avr", "mp2toaiff", "1"); } elsif (defined $ac3tocdr) { check_apps($ffmpeg, $sox); pac_convert("ac3", "cdr", "mp2toaiff", "1"); } elsif (defined $ac3tomp2) { check_apps($ffmpeg); pac_convert("ac3", "mp2", "mp2tomp2", "1"); } elsif (defined $ac3toac3) { check_apps($ffmpeg); pac_convert("ac3", "ac3", "mp2tomp2", "1"); } elsif (defined $ac3tola) { check_apps($ffmpeg, $la); pac_convert("ac3", "la", "mp2tola", "1"); } elsif (defined $ac3tobonk) { check_apps($ffmpeg, $bonk); pac_convert("ac3", "bonk", "mp2tobonk", "1"); } elsif (defined $ac3towav) { check_apps($ffmpeg); pac_convert("ac3", "wav", "mp2towav", "1"); } elsif (defined $ac3tora) { check_apps($ffmpeg); pac_convert("ac3", "ra", "mp2tomp2", "1"); } # Lossless Audio (LA) elsif (defined $latomp3) { check_apps($la, $lame); pac_convert("la", "mp3", "latomp3", "0"); } elsif (defined $latoogg) { check_apps($la, $oggenc); pac_convert("la", "ogg", "latoogg", "0"); } elsif (defined $latoflac) { check_apps($la, $flac); pac_convert("la", "flac", "latoflac", "0"); } elsif (defined $latofla) { check_apps($la, $flac); pac_convert("la", "fla", "latoflac", "0"); } elsif (defined $latoape) { check_apps($la, $mac); pac_convert("la", "ape", "latoape", "1"); } elsif (defined $latoshn) { check_apps($la, $shorten); pac_convert("la", "shn", "latoshn", "0"); } elsif (defined $latoaac) { check_apps($la, $faac); pac_convert("la", "aac", "latoaac", "0"); } elsif (defined $latom4a) { check_apps($la, $faac); pac_convert("la", "m4a", "latomp4", "0"); } elsif (defined $latomp4) { check_apps($la, $faac); pac_convert("la", "mp4", "latomp4", "0"); } elsif (defined $latompc) { check_apps($la, $mppenc); pac_convert("la", "mpc", "latompc", "0"); } elsif (defined $latompp) { check_apps($la, $mppenc); pac_convert("la", "mpp", "latompc", "0"); } elsif (defined $latowv) { check_apps($la, $wavpack); pac_convert("la", "wv", "latowv", "0"); } elsif (defined $latoofr) { check_apps($la, $ofr); pac_convert("la", "ofr", "latoofr", "1"); } elsif (defined $latoofs) { check_apps($la, $ofs); pac_convert("la", "ofs", "latoofs", "1"); } elsif (defined $latotta) { check_apps($la, $ttaenc); pac_convert("la", "tta", "latotta", "1"); } elsif (defined $latopac) { check_apps($la, $lpac); pac_convert("la", "pac", "latopac", "1"); } elsif (defined $latolpac) { check_apps($la, $lpac); pac_convert("la", "lpac", "latopac", "1"); } elsif (defined $latokxs) { check_apps($la, $kexis); pac_convert("la", "kxs", "latokxs", "1"); } elsif (defined $latoaiff) { check_apps($la, $sox); pac_convert("la", "aiff", "latoaiff", "1"); } elsif (defined $latoau) { check_apps($la, $sox); pac_convert("la", "au", "latoaiff", "1"); } elsif (defined $latosnd) { check_apps($la, $sox); pac_convert("la", "snd", "latoaiff", "1"); } elsif (defined $latoraw) { check_apps($la, $sox); pac_convert("la", "raw", "latoaiff", "1"); } elsif (defined $latovoc) { check_apps($la, $sox); pac_convert("la", "voc", "latoaiff", "1"); } elsif (defined $latosmp) { check_apps($la, $sox); pac_convert("la", "smp", "latoaiff", "1"); } elsif (defined $latoavr) { check_apps($la, $sox); pac_convert("la", "avr", "latoaiff", "1"); } elsif (defined $latocdr) { check_apps($la, $sox); pac_convert("la", "cdr", "latoaiff", "1"); } elsif (defined $latomp2) { check_apps($la, $ffmpeg); pac_convert("la", "mp2", "latomp2", "0"); } elsif (defined $latoac3) { check_apps($la, $ffmpeg); pac_convert("la", "ac3", "latomp2", "0"); } elsif (defined $latola) { check_apps($la); pac_convert("la", "la", "latola", "1"); } elsif (defined $latobonk) { check_apps($la, $bonk); pac_convert("la", "bonk", "latobonk", "1"); } elsif (defined $latowav) { check_apps($la); pac_convert("la", "wav", "latowav", "0"); } elsif (defined $latora) { check_apps($la, $ffmpeg); pac_convert("la", "ra", "latomp2", "0"); } # BONK elsif (defined $bonktomp3) { check_apps($bonk, $lame); pac_convert("bonk", "mp3", "bonktomp3", "1"); } elsif (defined $bonktoogg) { check_apps($bonk, $oggenc); pac_convert("bonk", "ogg", "bonktoogg", "1"); } elsif (defined $bonktoflac) { check_apps($bonk, $flac); pac_convert("bonk", "flac", "bonktoflac", "1"); } elsif (defined $bonktofla) { check_apps($bonk, $flac); pac_convert("bonk", "fla", "bonktoflac", "1"); } elsif (defined $bonktoape) { check_apps($bonk, $mac); pac_convert("bonk", "ape", "bonktoape", "1"); } elsif (defined $bonktoshn) { check_apps($bonk, $shorten); pac_convert("bonk", "shn", "bonktoshn", "1"); } elsif (defined $bonktoaac) { check_apps($bonk, $faac); pac_convert("bonk", "aac", "bonktoaac", "1"); } elsif (defined $bonktom4a) { check_apps($bonk, $faac); pac_convert("bonk", "m4a", "bonktomp4", "1"); } elsif (defined $bonktomp4) { check_apps($bonk, $faac); pac_convert("bonk", "mp4", "bonktomp4", "1"); } elsif (defined $bonktompc) { check_apps($bonk, $mppenc); pac_convert("bonk", "mpc", "bonktompc", "1"); } elsif (defined $bonktompp) { check_apps($bonk, $mppenc); pac_convert("bonk", "mpp", "bonktompc", "1"); } elsif (defined $bonktowv) { check_apps($bonk, $wavpack); pac_convert("bonk", "wv", "bonktowv", "1"); } elsif (defined $bonktoofr) { check_apps($bonk, $ofr); pac_convert("bonk", "ofr", "bonktoofr", "1"); } elsif (defined $bonktoofs) { check_apps($bonk, $ofs); pac_convert("bonk", "ofs", "bonktoofs", "1"); } elsif (defined $bonktotta) { check_apps($bonk, $ttaenc); pac_convert("bonk", "tta", "bonktotta", "1"); } elsif (defined $bonktopac) { check_apps($bonk, $lpac); pac_convert("bonk", "pac", "bonktopac", "1"); } elsif (defined $bonktolpac) { check_apps($bonk, $lpac); pac_convert("bonk", "lpac", "bonktopac", "1"); } elsif (defined $bonktokxs) { check_apps($bonk, $kexis); pac_convert("bonk", "kxs", "bonktokxs", "1"); } elsif (defined $bonktoaiff) { check_apps($bonk, $sox); pac_convert("bonk", "aiff", "bonktoaiff", "1"); } elsif (defined $bonktoau) { check_apps($bonk, $sox); pac_convert("bonk", "au", "bonktoaiff", "1"); } elsif (defined $bonktosnd) { check_apps($bonk, $sox); pac_convert("bonk", "snd", "bonktoaiff", "1"); } elsif (defined $bonktoraw) { check_apps($bonk, $sox); pac_convert("bonk", "raw", "bonktoaiff", "1"); } elsif (defined $bonktovoc) { check_apps($bonk, $sox); pac_convert("bonk", "voc", "bonktoaiff", "1"); } elsif (defined $bonktosmp) { check_apps($bonk, $sox); pac_convert("bonk", "smp", "bonktoaiff", "1"); } elsif (defined $bonktoavr) { check_apps($bonk, $sox); pac_convert("bonk", "avr", "bonktoaiff", "1"); } elsif (defined $bonktocdr) { check_apps($bonk, $sox); pac_convert("bonk", "cdr", "bonktoaiff", "1"); } elsif (defined $bonktomp2) { check_apps($bonk, $ffmpeg); pac_convert("bonk", "mp2", "bonktomp2", "1"); } elsif (defined $bonktoac3) { check_apps($bonk, $ffmpeg); pac_convert("bonk", "ac3", "bonktomp2", "1"); } elsif (defined $bonktola) { check_apps($bonk, $la); pac_convert("bonk", "la", "bonktola", "1"); } elsif (defined $bonktobonk) { check_apps($bonk); pac_convert("bonk", "bonk", "bonktobonk", "1"); } elsif (defined $bonktowav) { check_apps($bonk); pac_convert("bonk", "wav", "bonktowav", "0"); } elsif (defined $bonktora) { check_apps($bonk, $ffmpeg); pac_convert("bonk", "ra", "bonktora", "1"); } # WAV elsif (defined $wavtomp3) { check_apps($lame); pac_convert("wav", "mp3", "wavtomp3", "0"); } elsif (defined $wavtoogg) { check_apps($oggenc); pac_convert("wav", "ogg", "wavtoogg", "0"); } elsif (defined $wavtoflac) { check_apps($flac); pac_convert("wav", "flac", "wavtoflac", "0"); } elsif (defined $wavtofla) { check_apps($flac); pac_convert("wav", "fla", "wavtoflac", "0"); } elsif (defined $wavtoape) { check_apps($mac); pac_convert("wav", "ape", "wavtoape", "0"); } elsif (defined $wavtoshn) { check_apps($shorten); pac_convert("wav", "shn", "wavtoshn", "0"); } elsif (defined $wavtoaac) { check_apps($faac); pac_convert("wav", "aac", "wavtoaac", "0"); } elsif (defined $wavtom4a) { check_apps($faac); pac_convert("wav", "m4a", "wavtomp4", "0"); } elsif (defined $wavtomp4) { check_apps($faac); pac_convert("wav", "mp4", "wavtomp4", "0"); } elsif (defined $wavtompc) { check_apps($mppenc); pac_convert("wav", "mpc", "wavtompc", "0"); } elsif (defined $wavtompp) { check_apps($mppenc); pac_convert("wav", "mpp", "wavtompc", "0"); } elsif (defined $wavtowv) { check_apps($wavpack); pac_convert("wav", "wv", "wavtowv", "0"); } elsif (defined $wavtoofr) { check_apps($ofr); pac_convert("wav", "ofr", "wavtoofr", "0"); } elsif (defined $wavtoofs) { check_apps($ofs); pac_convert("wav", "ofs", "wavtoofs", "0"); } elsif (defined $wavtotta) { check_apps($ttaenc); pac_convert("wav", "tta", "wavtotta", "0"); } elsif (defined $wavtopac) { check_apps($lpac); pac_convert("wav", "pac", "wavtopac", "0"); } elsif (defined $wavtolpac) { check_apps($lpac); pac_convert("wav", "lpac", "wavtopac", "0"); } elsif (defined $wavtokxs) { check_apps($kexis); pac_convert("wav", "kxs", "wavtokxs", "0"); } elsif (defined $wavtoaiff) { check_apps($sox); pac_convert("wav", "aiff", "wavtoaiff", "0"); } elsif (defined $wavtoau) { check_apps($sox); pac_convert("wav", "au", "wavtoaiff", "0"); } elsif (defined $wavtosnd) { check_apps($sox); pac_convert("wav", "snd", "wavtoaiff", "0"); } elsif (defined $wavtoraw) { check_apps($sox); pac_convert("wav", "raw", "wavtoaiff", "0"); } elsif (defined $wavtovoc) { check_apps($sox); pac_convert("wav", "voc", "wavtoaiff", "0"); } elsif (defined $wavtosmp) { check_apps($sox); pac_convert("wav", "smp", "wavtoaiff", "0"); } elsif (defined $wavtoavr) { check_apps($sox); pac_convert("wav", "avr", "wavtoaiff", "0"); } elsif (defined $wavtocdr) { check_apps($sox); pac_convert("wav", "cdr", "wavtoaiff", "0"); } elsif (defined $wavtomp2) { check_apps($ffmpeg); pac_convert("wav", "mp2", "wavtomp2", "0"); } elsif (defined $wavtoac3) { check_apps($ffmpeg); pac_convert("wav", "ac3", "wavtomp2", "0"); } elsif (defined $wavtola) { check_apps($la); pac_convert("wav", "la", "wavtola", "0"); } elsif (defined $wavtobonk) { check_apps($bonk); pac_convert("wav", "bonk", "wavtobonk", "0"); } elsif (defined $wavtora) { check_apps($ffmpeg); pac_convert("wav", "ra", "wavtomp2", "0"); } # WMA elsif (defined $wmatomp3) { check_apps($mplayer, $lame); pac_convert("wma", "mp3", "wmatomp3", "1"); } elsif (defined $wmatoogg) { check_apps($mplayer, $oggenc); pac_convert("wma", "ogg", "wmatoogg", "1"); } elsif (defined $wmatoflac) { check_apps($mplayer, $flac); pac_convert("wma", "flac", "wmatoflac", "1"); } elsif (defined $wmatofla) { check_apps($mplayer, $flac); pac_convert("wma", "fla", "wmatoflac", "1"); } elsif (defined $wmatoape) { check_apps($mplayer, $mac); pac_convert("wma", "ape", "wmatoape", "1"); } elsif (defined $wmatoshn) { check_apps($mplayer, $shorten); pac_convert("wma", "shn", "wmatoshn", "1"); } elsif (defined $wmatoaac) { check_apps($mplayer, $faac); pac_convert("wma", "aac", "wmatoaac", "1"); } elsif (defined $wmatom4a) { check_apps($mplayer, $faac); pac_convert("wma", "m4a", "wmatomp4", "1"); } elsif (defined $wmatomp4) { check_apps($mplayer, $faac); pac_convert("wma", "mp4", "wmatomp4", "1"); } elsif (defined $wmatompc) { check_apps($mplayer, $mppenc); pac_convert("wma", "mpc", "wmatompc", "1"); } elsif (defined $wmatompp) { check_apps($mplayer, $mppenc); pac_convert("wma", "mpp", "wmatompc", "1"); } elsif (defined $wmatowv) { check_apps($mplayer, $wavpack); pac_convert("wma", "wv", "wmatowv", "1"); } elsif (defined $wmatoofr) { check_apps($mplayer, $ofr); pac_convert("wma", "ofr", "wmatoofr", "1"); } elsif (defined $wmatoofs) { check_apps($mplayer, $ofs); pac_convert("wma", "ofs", "wmatoofs", "1"); } elsif (defined $wmatotta) { check_apps($mplayer, $ttaenc); pac_convert("wma", "tta", "wmatotta", "1"); } elsif (defined $wmatopac) { check_apps($mplayer, $lpac); pac_convert("wma", "pac", "wmatopac", "1"); } elsif (defined $wmatolpac) { check_apps($mplayer, $lpac); pac_convert("wma", "lpac", "wmatopac", "1"); } elsif (defined $wmatokxs) { check_apps($mplayer, $kexis); pac_convert("wma", "kxs", "wmatokxs", "1"); } elsif (defined $wmatoaiff) { check_apps($mplayer, $sox); pac_convert("wma", "aiff", "wmatoaiff", "1"); } elsif (defined $wmatoau) { check_apps($mplayer, $sox); pac_convert("wma", "au", "wmatoaiff", "1"); } elsif (defined $wmatosnd) { check_apps($mplayer, $sox); pac_convert("wma", "snd", "wmatoaiff", "1"); } elsif (defined $wmatoraw) { check_apps($mplayer, $sox); pac_convert("wma", "raw", "wmatoaiff", "1"); } elsif (defined $wmatovoc) { check_apps($mplayer, $sox); pac_convert("wma", "voc", "wmatoaiff", "1"); } elsif (defined $wmatosmp) { check_apps($mplayer, $sox); pac_convert("wma", "smp", "wmatoaiff", "1"); } elsif (defined $wmatoavr) { check_apps($mplayer, $sox); pac_convert("wma", "avr", "wmatoaiff", "1"); } elsif (defined $wmatocdr) { check_apps($mplayer, $sox); pac_convert("wma", "cdr", "wmatoaiff", "1"); } elsif (defined $wmatomp2) { check_apps($mplayer, $ffmpeg); pac_convert("wma", "mp2", "wmatomp2", "1"); } elsif (defined $wmatoac3) { check_apps($mplayer, $ffmpeg); pac_convert("wma", "ac3", "wmatomp2", "1"); } elsif (defined $wmatola) { check_apps($mplayer, $la); pac_convert("wma", "la", "wmatola", "1"); } elsif (defined $wmatobonk) { check_apps($mplayer, $bonk); pac_convert("wma", "bonk", "wmatobonk", "1"); } elsif (defined $wmatowav) { check_apps($mplayer); pac_convert("wma", "wav", "wmatowav", "0"); } elsif (defined $wmatora) { check_apps($mplayer, $ffmpeg); pac_convert("wma", "ra", "wmatomp2", "1"); } # RealAudio (RA) elsif (defined $ratomp3) { check_apps($mplayer, $lame); pac_convert("ra", "mp3", "ratomp3", "1"); } elsif (defined $ratoogg) { check_apps($mplayer, $oggenc); pac_convert("ra", "ogg", "ratoogg", "1"); } elsif (defined $ratoflac) { check_apps($mplayer, $flac); pac_convert("ra", "flac", "ratoflac", "1"); } elsif (defined $ratofla) { check_apps($mplayer, $flac); pac_convert("ra", "fla", "ratoflac", "1"); } elsif (defined $ratoape) { check_apps($mplayer, $mac); pac_convert("ra", "ape", "ratoape", "1"); } elsif (defined $ratoshn) { check_apps($mplayer, $shorten); pac_convert("ra", "shn", "ratoshn", "1"); } elsif (defined $ratoaac) { check_apps($mplayer, $faac); pac_convert("ra", "aac", "ratoaac", "1"); } elsif (defined $ratom4a) { check_apps($mplayer, $faac); pac_convert("ra", "m4a", "ratomp4", "1"); } elsif (defined $ratomp4) { check_apps($mplayer, $faac); pac_convert("ra", "mp4", "ratomp4", "1"); } elsif (defined $ratompc) { check_apps($mplayer, $mppenc); pac_convert("ra", "mpc", "ratompc", "1"); } elsif (defined $ratompp) { check_apps($mplayer, $mppenc); pac_convert("ra", "mpp", "ratompc", "1"); } elsif (defined $ratowv) { check_apps($mplayer, $wavpack); pac_convert("ra", "wv", "ratowv", "1"); } elsif (defined $ratoofr) { check_apps($mplayer, $ofr); pac_convert("ra", "ofr", "ratoofr", "1"); } elsif (defined $ratoofs) { check_apps($mplayer, $ofs); pac_convert("ra", "ofs", "ratoofs", "1"); } elsif (defined $ratotta) { check_apps($mplayer, $ttaenc); pac_convert("ra", "tta", "ratotta", "1"); } elsif (defined $ratopac) { check_apps($mplayer, $lpac); pac_convert("ra", "pac", "ratopac", "1"); } elsif (defined $ratolpac) { check_apps($mplayer, $lpac); pac_convert("ra", "lpac", "ratopac", "1"); } elsif (defined $ratokxs) { check_apps($mplayer, $kexis); pac_convert("ra", "kxs", "ratokxs", "1"); } elsif (defined $ratoaiff) { check_apps($mplayer, $sox); pac_convert("ra", "aiff", "ratoaiff", "1"); } elsif (defined $ratoau) { check_apps($mplayer, $sox); pac_convert("ra", "au", "ratoaiff", "1"); } elsif (defined $ratosnd) { check_apps($mplayer, $sox); pac_convert("ra", "snd", "ratoaiff", "1"); } elsif (defined $ratoraw) { check_apps($mplayer, $sox); pac_convert("ra", "raw", "ratoaiff", "1"); } elsif (defined $ratovoc) { check_apps($mplayer, $sox); pac_convert("ra", "voc", "ratoaiff", "1"); } elsif (defined $ratosmp) { check_apps($mplayer, $sox); pac_convert("ra", "smp", "ratoaiff", "1"); } elsif (defined $ratoavr) { check_apps($mplayer, $sox); pac_convert("ra", "avr", "ratoaiff", "1"); } elsif (defined $ratocdr) { check_apps($mplayer, $sox); pac_convert("ra", "cdr", "ratoaiff", "1"); } elsif (defined $ratomp2) { check_apps($ffmpeg); pac_convert("ra", "mp2", "ratomp2", "1"); } elsif (defined $ratoac3) { check_apps($ffmpeg); pac_convert("ra", "ac3", "ratomp2", "1"); } elsif (defined $ratola) { check_apps($mplayer, $la); pac_convert("ra", "la", "ratola", "1"); } elsif (defined $ratobonk) { check_apps($mplayer, $bonk); pac_convert("ra", "bonk", "ratobonk", "1"); } elsif (defined $ratowav) { check_apps($mplayer); pac_convert("ra", "wav", "ratowav", "0"); } elsif (defined $ratora) { check_apps($ffmpeg); pac_convert("ra", "ra", "ratomp2", "1"); } # RealAudio (RAM) elsif (defined $ramtomp3) { check_apps($mplayer, $lame); pac_convert("ram", "mp3", "ratomp3", "1"); } elsif (defined $ramtoogg) { check_apps($mplayer, $oggenc); pac_convert("ram", "ogg", "ratoogg", "1"); } elsif (defined $ramtoflac) { check_apps($mplayer, $flac); pac_convert("ram", "flac", "ratoflac", "1"); } elsif (defined $ramtofla) { check_apps($mplayer, $flac); pac_convert("ram", "fla", "ratoflac", "1"); } elsif (defined $ramtoape) { check_apps($mplayer, $mac); pac_convert("ram", "ape", "ratoape", "1"); } elsif (defined $ramtoshn) { check_apps($mplayer, $shorten); pac_convert("ram", "shn", "ratoshn", "1"); } elsif (defined $ramtoaac) { check_apps($mplayer, $faac); pac_convert("ram", "aac", "ratoaac", "1"); } elsif (defined $ramtom4a) { check_apps($mplayer, $faac); pac_convert("ram", "m4a", "ratomp4", "1"); } elsif (defined $ramtomp4) { check_apps($mplayer, $faac); pac_convert("ram", "mp4", "ratomp4", "1"); } elsif (defined $ramtompc) { check_apps($mplayer, $mppenc); pac_convert("ram", "mpc", "ratompc", "1"); } elsif (defined $ramtompp) { check_apps($mplayer, $mppenc); pac_convert("ram", "mpp", "ratompc", "1"); } elsif (defined $ramtowv) { check_apps($mplayer, $wavpack); pac_convert("ram", "wv", "ratowv", "1"); } elsif (defined $ramtoofr) { check_apps($mplayer, $ofr); pac_convert("ram", "ofr", "ratoofr", "1"); } elsif (defined $ramtoofs) { check_apps($mplayer, $ofs); pac_convert("ram", "ofs", "ratoofs", "1"); } elsif (defined $ramtotta) { check_apps($mplayer, $ttaenc); pac_convert("ram", "tta", "ratotta", "1"); } elsif (defined $ramtopac) { check_apps($mplayer, $lpac); pac_convert("ram", "pac", "ratopac", "1"); } elsif (defined $ramtolpac) { check_apps($mplayer, $lpac); pac_convert("ram", "lpac", "ratopac", "1"); } elsif (defined $ramtokxs) { check_apps($mplayer, $kexis); pac_convert("ram", "kxs", "ratokxs", "1"); } elsif (defined $ramtoaiff) { check_apps($mplayer, $sox); pac_convert("ram", "aiff", "ratoaiff", "1"); } elsif (defined $ramtoau) { check_apps($mplayer, $sox); pac_convert("ram", "au", "ratoaiff", "1"); } elsif (defined $ramtosnd) { check_apps($mplayer, $sox); pac_convert("ram", "snd", "ratoaiff", "1"); } elsif (defined $ramtoraw) { check_apps($mplayer, $sox); pac_convert("ram", "raw", "ratoaiff", "1"); } elsif (defined $ramtovoc) { check_apps($mplayer, $sox); pac_convert("ram", "voc", "ratoaiff", "1"); } elsif (defined $ramtosmp) { check_apps($mplayer, $sox); pac_convert("ram", "smp", "ratoaiff", "1"); } elsif (defined $ramtoavr) { check_apps($mplayer, $sox); pac_convert("ram", "avr", "ratoaiff", "1"); } elsif (defined $ramtocdr) { check_apps($mplayer, $sox); pac_convert("ram", "cdr", "ratoaiff", "1"); } elsif (defined $ramtomp2) { check_apps($mplayer, $ffmpeg); pac_convert("ram", "mp2", "ratomp2", "1"); } elsif (defined $ramtoac3) { check_apps($mplayer, $ffmpeg); pac_convert("ram", "ac3", "ratomp2", "1"); } elsif (defined $ramtola) { check_apps($mplayer, $la); pac_convert("ram", "la", "ratola", "1"); } elsif (defined $ramtobonk) { check_apps($mplayer, $bonk); pac_convert("ram", "bonk", "ratobonk", "1"); } elsif (defined $ramtowav) { check_apps($mplayer); pac_convert("ram", "wav", "ratowav", "0"); } elsif (defined $ramtora) { check_apps($mplayer, $ffmpeg); pac_convert("ram", "ra", "ratomp2", "1"); } # CD Encoding Instructions elsif (defined $cdtomp3) { check_apps($cdparanoia, $lame); pac_rip("cdtomp3", "mp3", "0"); } elsif (defined $cdtoogg) { check_apps($cdparanoia, $oggenc); pac_rip("cdtoogg", "ogg", "0"); } elsif (defined $cdtoflac) { check_apps($cdparanoia, $flac); pac_rip("cdtoflac", "flac", "0"); } elsif (defined $cdtofla) { check_apps($cdparanoia, $flac); pac_rip("cdtoflac", "fla", "0"); } elsif (defined $cdtoape) { check_apps($cdparanoia, $mac); pac_rip("cdtoape", "ape", "1"); } elsif (defined $cdtoshn) { check_apps($cdparanoia, $shorten); pac_rip("cdtoshn", "shn", "0"); } elsif (defined $cdtoaac) { check_apps($cdparanoia, $faac); pac_rip("cdtoaac", "aac", "0"); } elsif (defined $cdtom4a) { check_apps($cdparanoia, $ofs); pac_rip("cdtom4a", "m4a", "0"); } elsif (defined $cdtomp4) { check_apps($cdparanoia, $faac); pac_rip("cdtomp4", "mp4", "0"); } elsif (defined $cdtompc) { check_apps($cdparanoia, $mppenc); pac_rip("cdtompc", "mpc", "1"); } elsif (defined $cdtompp) { check_apps($cdparanoia, $mppenc); pac_rip("cdtompc", "mpp", "1"); } elsif (defined $cdtowv) { check_apps($cdparanoia, $wavpack); pac_rip("cdtowv", "wv", "1"); } elsif (defined $cdtoofr) { check_apps($cdparanoia, $ofr); pac_rip("cdtoofr", "ofr", "1"); } elsif (defined $cdtoofs) { check_apps($cdparanoia, $ofs); pac_rip("cdtoofs", "ofs", "1"); } elsif (defined $cdtotta) { check_apps($cdparanoia, $ttaenc); pac_rip("cdtotta", "tta", "1"); } elsif (defined $cdtopac) { check_apps($cdparanoia, $lpac); pac_rip("cdtopac", "pac", "1"); } elsif (defined $cdtolpac) { check_apps($cdparanoia, $lpac); pac_rip("cdtopac", "lpac", "1"); } elsif (defined $cdtokxs) { check_apps($cdparanoia, $kexis); pac_rip("cdtokxs", "kxs", "1"); } elsif (defined $cdtoaiff) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "aiff", "1"); } elsif (defined $cdtoau) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "au", "1"); } elsif (defined $cdtosnd) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "snd", "1"); } elsif (defined $cdtoraw) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "raw", "1"); } elsif (defined $cdtovoc) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "voc", "1"); } elsif (defined $cdtosmp) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "smp", "1"); } elsif (defined $cdtoavr) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "avr", "1"); } elsif (defined $cdtocdr) { check_apps($cdparanoia, $sox); pac_rip("cdtoaiff", "cdr", "1"); } elsif (defined $cdtomp2) { check_apps($cdparanoia, $ffmpeg); pac_rip("cdtomp2", "mp2", "1"); } elsif (defined $cdtoac3) { check_apps($cdparanoia, $ffmpeg); pac_rip("cdtomp2", "ac3", "1"); } elsif (defined $cdtola) { check_apps($cdparanoia, $la); pac_rip("cdtola", "la", "1"); } elsif (defined $cdtobonk) { check_apps($cdparanoia, $bonk); pac_rip("cdtobonk", "bonk", "1"); } elsif (defined $cdtowav) { check_apps($cdparanoia); pac_rip("cdtowav", "wav", "0"); } elsif (defined $cdtora) { check_apps($cdparanoia, $ffmpeg); pac_rip("cdtomp2", "ra", "1"); } # Get CD Information from CDDB elsif (defined $cdinfo) { cd_info(); } # Help & Misc elsif (defined $riphelp) { if ($mylang eq "FR") { rip_help_FR(); } elsif ($mylang eq "PT") { rip_help_PT(); } else { rip_help(); }} elsif (defined $taghelp) { if ($mylang eq "FR") { tag_help_FR(); } elsif ($mylang eq "PT") { tag_help_PT(); } else { tag_help(); }} elsif (defined $help) { if ($mylang eq "FR") { help_FR(); } elsif ($mylang eq "PT") { help_PT(); } else { help(); }} elsif (defined $longhelp) { if ($mylang eq "FR") { long_help_FR(); } elsif ($mylang eq "PT") { long_help_PT(); } else { long_help(); }} elsif (defined $videohelp) { if ($mylang eq "FR") { video_help_FR(); } elsif ($mylang eq "PT") { video_help_PT(); } else { video_help(); }} elsif (defined $ver) { version(); } elsif (defined $daemon) { start_daemon(); } elsif ($conv_to) { batch_convert(); } elsif ($artist or $title or $genre or $album or $track or $year or $comment) { write_tag(); } elsif ($taginfo) { tag_info(); } elsif ($play) { my ($play_file, $play_dir, $play_sfx) = fileparse("$play", qr/\.[^.]*/); $play_sfx =~ s/\.//; pac_play("$play_sfx"); } elsif ($url) { if ($app_location{$url}) { print "\n$name - $version\n\n$url = $app_location{$url}\n\n"; exit(0); } else { print "\n$name - $version\n\nNo recored of URL for: '$url'\n\n"; exit(1); } } else { if ($mylang eq "FR") { help_FR(); } elsif ($mylang eq "PT") { help_PT(); } else { help(); } } # CD Ripping Help sub rip_help { print " $name - $version - (CD Ripping) Supported Formats: mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, aiff, au, snd, ac3, raw, voc, smp, avr, cdr, la, bonk, wav, ra -t, --tracks Tracks to be ripped (--tracks=1,2,3,4) -a, --all Encode all tracks -o, --outdir Output directory -dev, --device Default (/dev/cdrom) --nocddb Disable CDDB --noinput Disable CDDB user input --cdinfo CD CDDB information --outstring %art = Artist, %tit = Song Title %alb = Album, %tno = Track Number Ex: --outstring=\"%tno-%art-%alb-%tit\" Usage: pacpl --[cdtoformat] [--tracks/--all] Examples: pacpl --cdtomp3 --tracks=1,5,10 pacpl --cdtoflac --all --noinput "; } sub tag_help { print " $name - $version (Tagging Options) Read/Write Formats: MP3, FLAC, FLA, OGG Read Only Formats: MP4, M4A, M4P, MPC, MPP, MP+, WV, WMA --artist Set the artist information --title Set the title information --genre Set the genre --album Set the album title information --year Set the year --track Set the track number --comment Set the comment information --taginfo Show tag information Usage: pacpl [options] [file] or pacpl --taginfo [file] "; } # Long Help sub long_help { print " $name - $version Supported formats: mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, aiff, au, snd, ac3, la, bonk, raw, voc, smp, avr, cdr, wav, wma, ra, ram, Options: -f --file=f Input file (can be used multiple times) -d --dir=d Input directory (can be used multiple times) -re --recursive Recursively scan directory (use with --dir) -pd --presdir Preserve directory structure (use with --recursive) -ct --convertto=s Convert dir(s)/file(s)/playlist(s) to -o --outdir=d Output directory (--dir) -p --outfile=f Output file (--file) (single file only) -b --bitrate=n Audio bitrate (default 128) -ar --arate=n Audio sample rate (in Hz - default 44100) -ac --channels=n Number of audio channels (default 2) -q --quality=n Ogg/FAAC encoding quality (default=3) -z --alevel=n APE compression (1000 = fast 5000 = insane) -c --flevel=n FLAC compression (1 = fast 8 = best) -i --slevel=n Shorten (SHN) compression (1 = fast 3 = best) -x --xlevel=n Musepack (MPC) comp. (thumb/radio/standard/xtreme) -e --plevel=n LPAC compression (1 to 5) -ql --qlevel=n BONK quantization level (default 1.00) -dr --dratio=n BONK downsample ratio (default 2) -ps --psize=n BONK predictor size (default 128, use 10 for speech) -ll --lossless Use BONK lossless encoding -m --mode=s OptimFrog compression (fast|normal*|high|extra|best) -op --optimize=s OptimFrog compression (none|fast*|normal|high|best) -ro --rawopts=s SoX options for RAW input -so --soxopts=s SoX options (AIFF/AU/SND/VOC/SMP) output -ef --effect=s SoX effect -u --uopts=s User supplied encoder options --delete Remove source file after encoding -v --version Display current version & author information -py --play=f Play audio file -pl --playlist=s Convert files in playlist -ov --overwrite Overwrite existing destination file --daemon Monitor directories specified in pacpl.conf --man Show man page --url=s Display URL for encoder/decoder -th --taghelp Tag reading / writing options -rh --riphelp CD ripping options -vh --videohelp List of supported video input -h --help Brief help menu -lh --longhelp Complete list of options Usage: pacpl --[formattoformat] [options] [--file/--dir] [files/dirs] pacpl --convertto [format] [options] [--file/--dir] [files/dirs] format to format = --mp3toogg, --oggtoflac, --bonktola, etc. "; exit(0); } sub help { print "$name - $version Supported formats: mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, aiff, au, snd, ac3, la, bonk, raw, voc, smp, avr, cdr, wav, wma, ra, ram, Options: -f --file=f Input file (can be used multiple times) -d --dir=d Input directory (can be used multiple times) -o --outdir=d Output directory (--dir) -p --outfile=f Output file (--file) (single file only) -re --recursive Recursively scan directory (use with --dir) -pd --presdir Preserve directory structure (use with --recursive) -ct --convertto=s Convert dir(s)/file(s)/playlist(s) to -u --uopts=s User supplied encoder options -pl --playlist=s Convert files in playlist -ov --overwrite Overwrite existing destination file -th --taghelp Tag reading / writing options -rh --riphelp CD ripping options -vh --videohelp List of supported video codecs -lh --longhelp Complete list of options Usage: pacpl --[formattoformat] [options] [--file/--dir] [files/dirs] pacpl --convertto [format] [options] [--file/--dir] [files/dirs] "; exit(0); } sub video_help { print "$name - $version Supported formats: rm, rv, asf, avi, divx, mpg, mkv mpeg, mov, ogm, qt, vcd, vob, wmv, flv All video audio must be converted with the --convertto option. Examples: pacpl --convertto ogg --file=\"Some Movie.avi\" pacpl --convertto flac --playlist movielist (must be in /path/to/file format) pacpl --convertto aiff --dir=Movies/ --recursive Note: Converting 'to' any of the video formats shown above is not supported. "; exit(0); } sub version { print "$name - $version - Philip Lyons (viiron\@gmail.com)\n"; } __END__ =head1 NAME Perl Audio Converter =head1 SYNOPSIS pacpl --[formattoformat] [--file/--dir] [files/dirs] pacpl --convertto [format] [--file/--dir] [files/dirs] =head1 DESCRIPTION Perl Audio Converter is a tool for converting multiple audio types from one format to another. It supports MP2, MP3, Ogg Vorbis, FLAC, Shorten, Monkey Audio, FAAC (AAC/M4A/MP4), Musepack (MPC), Wavpack (WV), OptimFrog (OFR/OFS), TTA, LPAC, Kexis (KXS), AIFF, AC3, Lossless Audio (LA), BONK, AU, SND, RAW, VOC, SMP, AVR, CDR, RealAudio (RA/RAM), WAV, and WMA. It can also convert audio from the following video formats/extensions: RM, RV, ASF, DivX, MPG, MKV, MPEG, AVI, MOV, OGM, QT, VCD, VOB, FLV and WMV. A CD ripping function with CDDB support, batch and playlist conversion, daemon mode for converting files on the fly, tag preservation for most supported formats, independent tag reading/writing, and extensions for Konqueror and amaroK are also provided. =head1 ENCODING OPTIONS When transcoding a file, you can use one of two options: B<--formattoformat (Audio Only)> Example: --mp3toaiff --file=File.mp3 --oggtoflac --playlist=oggplaylist --mpctoape --dir=/home/shared/mpcs The --formattoformat options will convert from the selected input format to the selected output format. WMA/RAM (output), and Video (input/output) are the only exceptions. B<-ct format, --convertto format (Audio/Video)> The --convertto option can batch convert from any supported source format (Audio & Video) to any supported output format (Audio). Example: pacpl --convertto mp3 --file=Song.ape --file=Movie.avi pacpl --convertto ogg --playlist myplaylist pacpl --convertto kxs --dir=/home/shared/oggs However, You can NOT convert TO WMA or any of the supported Video codecs. Although converting from these formats is prefectly acceptable. Below is a complete list of supported encode/decode formats: Supported Encode Formats: mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, wav, aiff, au, snd, raw, voc, smp, avr, cdr, ac3, la, bonk, ra Supported Decode Formats: mp2, mp3, ogg, flac, fla, ape, shn, aac, m4a, mp4, mpc, mpp, wv, ofr, ofs, tta, pac, lpac, kxs, wav, aiff, au, snd, raw, voc, smp, avr, cdr, ac3, la, bonk, wma, ra, ram =head1 OTHER OPTIONS B<-h, --help> General usage B<-l, --longhelp> Complete option list B<-g, --taghelp> Tag reading/writing help menu B<-r, --riphelp> CD ripping help menu B<-vh, --videohelp> Video option help menu B<-v, --version> Version information B<-c n, --flevel=n> Set compression level when encoding FLAC files Default: 8 1-8 (0 = fastest & 8 = highest ) B<-b n, --bitrate=n> Average Bitrate voice = 56kbps/mono fm/radio/tape = 112kbps mp3 = 128kbps (default) hifi = 160kbps cd = 192kbps studio = 256kbps B<-ar n, --arate=n> Audio sampling rate B<-ac n, --channels=n> Number of audio channels B<-z n, --alevel=n> Ape compression level Compress (fast): '--alevel=1000' Compress (normal): '--alevel=2000' Compress (high): '--alevel=3000' Compress (extra high): '--alevel=4000' Compress (insane): '--alevel=5000' B<-i n, --slevel=n> Shorten (SHN) format version number (2: no seek info; 3: default) B<-x s, --xlevel=s> Musepack (MPC) compression level thumb low quality/internet, (typ. 58... 86 kbps) radio medium (MP3) quality, (typ. 112...152 kbps) standard high quality (dflt), (typ. 142...184 kbps) xtreme extreme high quality, (typ. 168...212 kbps) insane extreme high quality, (typ. 232...268 kbps) braindead extreme high quality, (typ. 232...278 kbps) B<-e n, --plevel=n> LPAC (PAC) predefined compression level 1 = Fast, 2 = Simple, 3 = Medium (default), 4 = High, 5 = Extra High B<-q n, --quality=n> Sets encoding quality to n, between -1 (low) and 10 (high). This is the default mode of operation, with a default quality level of 3. Fractional quality levels such as 2.5 are permitted. Normal quality range is 0 - 10. B<-m s, --mode=s> OptimFrog (OFR/OFS) Compression mode (fast,normal,high,extra,best,highnew,extranew,bestnew) specify the compression mode to be used. The default value is normal. For general use, I recommend the normal, extra, and extranew modes B<-op s, --optimize=s> OptimFrog (OFR/OFS) Compression level (none,fast,normal,high,best) specify the optimization level in the engine. In order to achieve optimal compression at all sample types, sample rates, and audio content, the core compression engine has the possibility to find the optimal values for its parameters, at the cost of slightly increased compression time only. The default recommended value is fast. Do not use normal (or even high or best) for this parameter unless encoding time does not matter and you want to obtain the smallest possible file for a given compression mode. The difference between the optimize levels fast and best (which is up to three times slower than fast) is very small, generally under 0.05%, but may be also larger in some rare cases. Note that the none optimize level is forced by the encoder to fast optimize level for the extra, best, highnew, extranew, and bestnew modes B<-ql n, --qlevel=n> BONK quantization level (default 1.00) B<-dr n, --dratio=n> BONK downsample ratio (default 2) B<-ps n, --psize=n> BONK predictor size (default 128, use 10 for speech) B<-ll, --lossless> Use BONK lossless encoding B<-u s, --uopts=s> User supplied encoder options Since implementing every single option from every *encoder/decoder isn't quite feasible, --uopts was added to allow for greater flexibility for the more advanced users. Example: pacpl --mp3tomp4 --file=My_File.mp3 --uopts="-c 44100 -I 1,2" pacpl --convertto flac --file=File.wav --uopts="--replay-gain" *uopts applys the added options to the encoder only. B<-ro s, --rawopts=s> User supplied SoX encoder options for raw input When converting from RAW input a few options must be specified such as rate, channels, size, data size, etc. See 'man sox' for a list of options. PAC's current configuration is as follows: sox -r $rate -c $channels $rawopts $uopts or sox -r 44100 -c 2 -w -s (other options) $rawopts defaults to '-w -s' (-w = 16 bit words / -s = signed linear) B<-so s, --soxopts=s> SoX encoder options (AIFF/AU/SND/VOC/SMP) This option will allow you to specify special SoX options when transcoding to the above formats. sox -so "-c 2 -s" -uo "-c 1 -r 22500" B<-ef s, --effect=s> SoX effects (see 'man sox') B<-py s, --play=s> Play file. Supported formats are: mp2, mp3, mp4, m4a, m4p, ogg, flac, mpc, mpp, wma, bonk, wav, aiff, au, snd, voc, smp, avr, cdr, ac3, ra, ram B<-pl s, --playlist=s> Convert files in playlist. Supported formats are (XMMS & PATH/FILE) Playlists should be in the following format /path/to/Song.ogg /path/to/Song2.ogg Or a real example (playlist contains the following): /home/shared/oggs/Dance/Technotronic - Move This.ogg XMMS playlist.m3u format is also supported pacpl --oggtomp3 --playlist myplaylist pacpl --flactotta --playlist xmms.m3u Creating a playlist is simple using the find command. find /path/to/audio_files/ -name *.audiotype > playlist find /home/shared/oggs/ -name *.ogg > ogglist B<--delete> Remove source file after encoding. Example: pacpl --mp3toogg --dir=/home/mp3s/Rock --delete After encoding the mp3s to ogg, all the mp3s in that directory would be deleted. This works with all type to type options. Note: if you accidently start encoding a directory and abort the process with ^C (control-c) it will stop the current process and move on to the next file, leaving you with a partially encoded audio file and no original file. To end this madness you would need to 'killall -9 pacpl' or 'kill -9 ' So I warn... B B<-f file, --file=file> Can be used multiple times to encode one or more files with any of the above encoding options as shown below. pacpl --mp3tompc -f file.mp3 pacpl --mp3toogg -f file1.mp3 -f file2.mp3 -f file3.mp3 pacpl --convertto flac *.mp3 B<-d dir, --dir=dir> Can be used multiple times to encode one or more directories with any of the above encoding options as shown below. pacpl --mp3tompc -d dir/ pacpl --mp3toogg -d dir_one/ -d dir_two/ -d dir_three/ B<-o dir, --outdir=dir> Output directory to place the encoded files. B<-p file, --outfile=file> Write file to (does not apply when encoding multiple files) B<-re, --recursive> Recursively scan and convert directory specified by --dir B<-pd, --presdir> Preserve directory structure when recursively converting a directory using --dir --recursive Example: pacpl --mp3toogg --dir MP3s/ --outdir Oggs/ --recursive --presdir pacpl -ct flac --recursive --presdir --dir Wavs/ --outdir Flacs/ B<-ov, --overwrite> Overwrite existing destination file B<--daemon> Daemon Mode: This function allows you to monitor directories specified in pacpl.conf. Once a file is placed in one of the monitored directories, it will be converted to your specified collection type. =head1 Ripping Options B<--cdtomp3,> CD to MP3 B<--cdtoogg,> CD to Ogg Vorbis B<--cdtoflac,> CD to FLAC B<--cdtofla,> CD to FLAC (FLA) B<--cdtoape,> CD to Monkey Audio (APE) B<--cdtoshn,> CD to Shorten (SHN) B<--cdtoaac,> CD to FAAC (AAC) B<--cdtom4a,> CD to FAAC (M4A) B<--cdtomp4,> CD to FAAC (MP4) B<--cdtompc,> CD to Musepack (MPC) B<--cdtompp,> CD to Musepack (MPP) B<--cdtowv,> CD to Wavpack (WV) B<--cdtoofr,> CD to OptimFrog (OFR) B<--cdtoofs,> CD to OptimFrog (OFS) B<--cdtotta,> CD to TTA B<--cdtopac,> CD to LPAC B<--cdtokxs,> CD to Kexis (KXS) B<--cdtoaiff,> CD to AIFF B<--cdtoau,> CD to AU B<--cdtosnd,> CD to SND B<--cdtoraw,> CD to RAW B<--cdtovoc,> CD to VOC B<--cdtosmp,> CD to SMP B<--cdtoavr,> CD to AVR B<--cdtocdr,> CD to CDR B<--cdtomp2,> CD to MP2 B<--cdtoac3,> CD to AC3 B<--cdtola,> CD to Lossless Audio (LA) B<--cdtobonk,> CD to BONK B<--cdtowav,> CD to WAV B<--cdtora,> CD to RealAudio (RA) B<-t n, --tracks> Tracks to be ripped ('-t 1,4,7,10') B<-a, --all> Encode all tracks B<--nocddb> Disable CDDB B<--noinput> Disable CDDB user input B<--cdinfo> CD CDDB information B<--dev, --device> Default is (/dev/cdrom) B<--outstring> Naming scheme for ripped output files. Default is (%art - %tit) Options: %art = Artist %tit = Song Title %alb = Album %tno = Track Number Ex: pacpl --cdtoogg --all --outstring="(%tno)-%tit" All encoder options such as bitrate, quality, etc., can be utilized when converting CD audio. =head1 Example (Ripping Options) pacpl --cdtomp3 --tracks=1,13 (Encode tracks 1 and 13 to MP3) pacpl --cdtoflac --all (Encode entire CD to FLAC) =head1 Tag Reading/Writing Read/Write Formats: MP3, FLAC, FLA, OGG Read Only Formats: MP4, M4A, M4P, MPC, MPP, MP+, WV, WMA Tag Options: B<--artist> Set the artist information B<--title> Set the title information B<--genre> Set the genre B<--album> Set the album title information B<--year> Set the year B<--track> Set the track number B<--comment> Set the comment information pacpl [options] [file] B<--taginfo> Show tag information for [file] pacpl --taginfo [file] =head1 LICENSING 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA =head1 AUTHOR =over 4 Copyright (C) 2005-2007 Philip Lyons (viiron@gmail.com) =back =cut