tl1

Перекуём обезьян на пушки

Jun 20, 2007 01:56

Буду краток. Monkey Audio сакс: коммерческий протокол, коммерческое ПО, жрёт много проца (декодирование занимает больше времени, чем кодирование в FLAC!) Да ещё и не играется в mplayer и Amarok. Но виндузятники его любят. Поэтому изготовил такой скрипт для перегона MAC (.ape) в FLAC, как обычно, на PHP, потому что на всякие перлы у меня моск с большим трудом переключается.

#!/usr/bin/php -Cq
3) && ctype_digit($noext{0}) && ctype_digit($noext{1}) && $noext{2}=="-")
      $noext=substr($noext, 3);

$parts=explode(" ", $noext, 2);
    if(sizeof($parts)>1) 
      if(strval(intval($parts[0]))==strval($parts[0]) || $parts[0]=="00")
        $noext=$parts[1];
    return trim($noext);
  }

for($i=4; $i<$argc; $i++){

$fn=$argv[$i];

echo "Processing \"$fn\"...\n";

$dot=strrpos($fn, ".");
    if(!$dot) die("ERROR: Filename extension not detected!\n");

$noext=trim(substr($fn, 0, $dot));
    $track=fn2name($noext);
    echo "Track name: \"$track\"\n";    
    $oldext=strtolower(substr($fn, $dot+1));
    if($oldext!="ape") die("ERROR: Filename extension is not '.ape'!\n");
    $wav=$noext.".wav";
    echo "Wav name: \"$wav\"\n";
    if(file_exists($wav)) die("Wav file already exists!\n");
    if(file_exists($noext."flac")) die("FLAC file already exists!\n");
    if(file_exists($noext."mp3")) die("MP3 file already exists!\n");
    $cmd1="nice -n19 mac \"$fn\" \"$wav\" -d";
    echo "Decompressing: $cmd1\n";
    echo `$cmd1`;

$cmd2="nice -n19 flac \"--tag=title=$track\" \"--tag=artist=$artist\" \"--tag=album=$album\" \"--tag=date=$year\" --best \"$wav\"";
    echo "Compressing FLAC: $cmd2\n";
    echo `$cmd2`;

// Uncomment the 3 lines below for MP3 encoding    
//   $cmd3="nice -n19 lame -q 9 --cbr -b 320 -k -m s --tt \"$track\" --ta \"$artist\" --tl \"$album\" --ty \"$year\" \"$wav\" \"$noext.mp3\"";
//   echo "Compressing MP3: $cmd3\n";
//   echo `$cmd3`;

echo "Deleting wav file...\n";
    unlink($wav);

}
  echo "I'm done with it.\n";

?>

open source, компьютерное, музыка, программирование, linux

Previous post Next post
Up