APE2FLAC (А давайте добьем таки этот замечательный скрипт)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

APE2FLAC

Сообщение BaBL »

Встала проблема предо мною, перегнать несколько сотен ape в flac, так как поддержка ape в Linux ужасна. Даже xine не может взять, а xmms и bmp мне не нравятся.

Скрипт слегка пофиксен, теперь, вроде бы, корректно работает. Тестировал его в довольно жестких условиях, сконвертировал все файлы.

Создан для рекурсивной конвертации APE в FLAC, использует flac и mac, первый скорее всего есть в репозитории дистрибутива
http://flac.sourceforge.net/
http://sourceforge.net/projects/mac-port/

идет от директории в которой был запущен, либо от переданной ему вглубь и конвертирует в flac все найденные ape, удаляя ape.

надо добавить проверку на доступность flac и mac, а то порежет и не сконвертирует, кому не влом, допишите.


Использование:
a2f /path/to/music/folder

Код:

#!/bin/sh # # @(#) ape2flac 0.1b 23/01/2007 by BaBL # Checking for mac & flac # Checking for input directory # # @(#) ape2flac 0.1a 14/01/2007 by BaBL # Fixed a bug identifying filenames with more then one "." symbol # # @(#) ape2flac 0.1 26/09/2003 by Peo Karlsson # # Recursively convert APE-files to FLAC. # Directory recursion adapted from the 'tree' script by Jordi Sanfeliu (see below). # # # @(#) tree 1.1 30/11/1995 by Jordi Sanfeliu (mikaku@fiwix.org) # # Initial version: 1.0 30/11/95 # Next version : 1.1 24/02/97 Now, with symbolic links # # which extension to look for when browsing the tree myext="ape" declare -a prog_needed=(mac flac) search () { xx=0 for dir in * do if [ -f "$dir" ]; then ext=`echo "$dir" | sed -ne 's!^.*\.!!p' | tr '[:upper:]' '[:lower:]'` &> /dev/null base=`echo "$dir" | sed -e 's!\.[^.]*$!!'` &> /dev/null if [ "$ext" = "$myext" ]; then echo -n "."; mac "$dir" - -d | flac - -o "$base.flac" &> /dev/null rm -f "$dir" &> /dev/null xx=`expr $xx + 1` numfiles=`expr $numfiles + 1` fi else if [ $xx > 0 ]; then echo " -> [$xx files converted]" xx=0 fi fi if [ -d "$dir" ]; then zz=0 while [ $zz != $deep ] do echo -n "| " zz=`expr $zz + 1` done if [ -L "$dir" ]; then echo -n "+---$dir" `ls -l $dir | sed 's/^.*'$dir' //'` else echo -n "+---$dir" if cd "$dir"; then deep=`expr $deep + 1` search numdirs=`expr $numdirs + 1` fi fi fi done cd .. if [ "$deep" ]; then swfi=1 fi deep=`expr $deep - 1` } if [ $# = 0 ]; then cd `pwd` elif [ -e "$1" ]; then cd $1 else echo "Path \"$1\" not found" exit 0 fi for i in ${prog_needed[@]} do echo -n "Checking for $i..... " if which "$i" &> /dev/null; then echo "Yes" else echo "No" echo "Programm $i is not installed. Please install $i first" exit 0 fi done echo echo "ape2flac 0.1b" echo echo "bash script to convert files compressed by Monkey's Audio into FLAC files." echo echo "Converting all files in directory = `pwd` and recurse indefinitely." echo swfi=0 deep=0 numdirs=0 numfiles=0 zz=0 xx=0 while [ "$swfi" != 1 ] do search done echo echo "Summary:" echo echo "Total directories = $numdirs" echo "Total files converted = $numfiles" echo exit 0
Спасибо сказали:

Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: APE2FLAC

Сообщение BlackStar »

Встала проблема предо мною, перегнать несколько сотен ape в flac


Я извиняюсь, может тогда все-таки APE2FLAC ?
LightLang Team
Спасибо сказали:

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: APE2FLAC

Сообщение BaBL »

да, сорри, поправил.
Спасибо сказали:

Аватара пользователя
Eaglevil
Сообщения: 60
ОС: Arch Linux

Re: APE2FLAC

Сообщение Eaglevil »

По-идее следующее должно работать :) по крайней мере "с именами файлов, имеющих 2 точки" вроде будет что-то делать ;) И если я правильно понял задачу, то это даже по теме ;)

Код: Выделить всё

#!/bin/bash
for ape in $(find -type f -name "*.ape"); do
    mac "$ape" - -d | flac - -o "`echo "$ape" | sed "s/\.ape/\.flac/"`" &> /dev/null
done

P.S. Ну если хочешь убивать оригинальные файлы, то добавь в конце цикла что-то типа:
rm -f "$ape" &> /dev/null
Здесь могла быть ваша реклама
Спасибо сказали:

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: APE2FLAC

Сообщение BaBL »

я уже седом поправил, ща дотестирую и опубликую


в первом посте измененная версия.
Спасибо сказали:

Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: APE2FLAC

Сообщение elide »

по крайней мере "с именами файлов, имеющих 2 точки" вроде что-то делает
с именами файлов, имеющих пробелы тоже что-то делает. и это что-то - ужасно.
и почему никто не использует read...
кстати, а зачем в нашем просвещенном веке такие извраты с sed ?

Код: Выделить всё

#!/bin/bash
find . -type f -name "*.ape" | while read ape
do
        mac "$ape" - -d | flac - -o "${ape//.ape/.flac}"
done
слава роботам!
Спасибо сказали:

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: APE2FLAC

Сообщение BaBL »

elide писал(а):
14.01.2007 03:22
по крайней мере "с именами файлов, имеющих 2 точки" вроде что-то делает
с именами файлов, имеющих пробелы тоже что-то делает. и это что-то - ужасно.
и почему никто не использует read...
кстати, а зачем в нашем просвещенном веке такие извраты с sed ?

Код: Выделить всё

#!/bin/bash
find . -type f -name "*.ape" | while read ape
do
        mac "$ape" - -d | flac - -o "${ape//.ape/.flac}"
done


а с пробелами что!? у меня нормально все теперь отображает. Правильно определяет расширения файлов, имена не коверкает, меняется только .ape на .flac после кодирования. Ходит рекурсивно по папкам, все найденные ape конвертирует, имена папок тоже извращал, все схавал.
Спасибо сказали:

Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: APE2FLAC

Сообщение elide »

BaBL
про пробелы это я для Eaglevil писал, потому как его "for ape in $(find -type f -name "*.ape");" на пробелах рвет имена файлов. в результате нихрена работать не будет.
слава роботам!
Спасибо сказали:

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: APE2FLAC

Сообщение BaBL »

Добавил проверку на установленность mac и flac, в принципе теперь можно безопасно использовать.
Спасибо сказали:

Ossip
Сообщения: 1
ОС: Ubuntu 7.10

Re: APE2FLAC

Сообщение Ossip »

Возникла проблема: скрипт при запуске возвращает " 27: Syntax error: "(" unexpected
" Никто с этим не сталкивался?
Спасибо сказали:

RogerZ
Сообщения: 49
ОС: openSUSE 11.2 x86-64

Re: APE2FLAC

Сообщение RogerZ »

Пригодился скрипт, большое спасибо!
Сработано чисто и без ошибок :drinks:
Спасибо сказали:

Аватара пользователя
gelios_oleg
Сообщения: 202
ОС: kubuntu 19.10

Re: APE2FLAC

Сообщение gelios_oleg »

Код: Выделить всё

[gelios@localhost 2006_east_l.a._breeze]$ a2f
Checking for mac..... Yes
Checking for flac..... Yes

ape2flac 0.1b

bash script to convert files compressed by Monkey's Audio into FLAC files.

Converting all files in directory = /windows/gelios/downloads/torrent/music/Brazzaville/2006_east_l.a._breeze and recurse indefinitely.

.
Error: -1: undefined


Summary:

Total directories = 0
Total files converted = 1

при этом удаляется образ ape и все, конвентированных файлов нет
Спасибо сказали:

Аватара пользователя
gelios_oleg
Сообщения: 202
ОС: kubuntu 19.10

Re: APE2FLAC

Сообщение gelios_oleg »

проблема решилась установкой mac из исходников
Спасибо сказали:

Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: APE2FLAC

Сообщение rm_ »

http://www.legroom.net/files/software/convtoflac.sh - более функциональный, безопасный и вообще, более внятный скрипт.
Даже - вы не поверите! - с отступами в исходном коде, и с использованием функций.
Подробности о нём и его использовании:
http://www.legroom.net/software/convtoflac
http://ubuntuzer.blogspot.com/2007/10/ape-flac.html
Спасибо сказали:

BaBL
Сообщения: 767
ОС: Debian GNU/Linux SID

Re: APE2FLAC

Сообщение BaBL »

gelios_oleg писал(а):
23.02.2008 10:07

Код: Выделить всё

[gelios@localhost 2006_east_l.a._breeze]$ a2f
Checking for mac..... Yes
Checking for flac..... Yes

ape2flac 0.1b

bash script to convert files compressed by Monkey's Audio into FLAC files.

Converting all files in directory = /windows/gelios/downloads/torrent/music/Brazzaville/2006_east_l.a._breeze and recurse indefinitely.

.
Error: -1: undefined


Summary:

Total directories = 0
Total files converted = 1

при этом удаляется образ ape и все, конвентированных файлов нет

МАС кривой видать.

rm_ Вы меня, конечно, простите, но:
1. тебе больше года.
2. это совсем разные скрипты и приведенный Вами этот вообще никак не заменяет. Только в частном случае.
Спасибо сказали:

Аватара пользователя
DZhon
Сообщения: 191
Статус: above zero*
ОС: Gentoo AMD64-PC | x86-Laptop

Re: APE2FLAC

Сообщение DZhon »

Блин, огромный респект тебе, BaBL =)
Опыт - единственная вещь, которой люди охотно делятся
Спасибо сказали:

axon
Сообщения: 5
ОС: openSUSE 10.3

Re: APE2FLAC

Сообщение axon »

А где найти этот mac??? По ссылке http://sourceforge.net/projects/mac-port/ говорят что нет такого проекта!! Нашел что то кажется похожее http://mac.sourceforge.net/ но там исходники на Borland Delphi 7
Спасибо сказали:

xen
Сообщения: 5
ОС: Ubuntu 8.04 Hardy Heron

Re: APE2FLAC

Сообщение xen »

Не работает у меня скрипт, предоставленный BaBL'ом. Первый запуск:

Код: Выделить всё

/usr/bin/a2f: 27: Syntax error: "(" unexpected


Запуск после комментирования строк 27 и 86-96 (думаю что так отключается проверка на наличие программ):

Код: Выделить всё

Summary:

Total directories = 0
Total files converted = 0


Файл в директории есть. Если создать вложенную директорию и в неё положить файл, то он так же не обнаруживается программой.

2 axon:

под i386: http://members.iinet.net.au/~aidanjm/mac-3...4_b3-1_i386.deb
под x86_64 в аттаче (компилил, собирал сам (Ubuntu 8.04). После скачки удалить .gz).

update

Просьба к тем, кто сечёт в написании bash-скриптов: добавиьте пожалуйста автоматическую резалку flac на куски, исходя из данных cue. Вот код скрипта (рабочий), который делает это индивидуально для каждого файла:

Код:

#!/usr/bin/perl # # spltflac.pl # Copyright © 2007 AgBr <jabber:agbr@jabber.ru> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # use strict; # # usage: ./splitflac.pl image.flac image.cue # my ($filename, $cuefile) = @ARGV; open(C,$cuefile); my @cue = <C>; close©; my %tracks; my ($performer,$title,$track,$track_performer,$track_title,$track_start,$next_track); while( (scalar @cue) ){ my $next = shift @cue; if( $next =~ /PERFORMER \"(.*?)\"/ ){ $performer = $1; } if( $next =~ /TITLE \"(.*?)\"/ ){ $title = $1; } if( $next =~ /TRACK (\d+) AUDIO/ ){ $track = $1; while( !( ($next_track) = ($cue[0] =~ /TRACK (\d+) AUDIO/) ) && (scalar @cue) ){ $next = shift @cue; if( $next =~ /PERFORMER \"(.*?)\"/ ){ $track_performer = $1; } if( $next =~ /TITLE \"(.*?)\"/ ){ $track_title = $1; } if( $next =~ /INDEX 01 (\d{2}):(\d{2}):(\d{2})/ ){ $track_start = "$1:$2.$3"; } } $tracks{$track}={ title => $track_title, performer => $track_performer, album => $title, offset => $track_start, next_track => $next_track }; } } foreach my $t ( keys %tracks ){ my $cmd; print "--------------------------------\n"; $cmd = "flac -d --skip=".$tracks{$t}->{offset}.($tracks{$t}->{next_track} ? " --until=".$tracks{$tracks{$t}->{next_track}}->{offset} : "" ). " -o _track_$t.wav $filename"; print "+ $cmd\n"; system($cmd); $cmd = "flac -8 --no-lax _track_$t.wav"; print "+ $cmd\n"; system($cmd); $cmd = "rm _track_$t.wav"; print "+ $cmd\n"; system($cmd); $cmd = "metaflac --set-tag=\"ALBUM=".$tracks{$t}->{album}."\" --set-tag=\"TITLE=".$tracks{$t}->{title}."\" --set-tag=\"ARTIST=".$tracks{$t}->{performer}."\" _track_$t.flac"; print "+ $cmd\n"; system($cmd); $cmd = "mv _track_$t.flac \"$t - ".$tracks{$t}->{title}.".flac\""; print "+ $cmd\n"; system($cmd); }


Т.е. в моём представлении итоговый скрипт должен уметь ходить по папкам, конвертить всё на своём пути (обезьяний формат имеется в виду :) ) во flac и опционально если имеются данные cue для файла (от ape к flac тоже подходят), то использовать их для шинкования трека. Возможно нужны исключения преобразования/нарезки, например если файл/каталог начинается на, скажен, noflc_/nospl_. Оригинальные файлы по умолчанию должны оставаться.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo

Re: APE2FLAC

Сообщение Mellon »

Код:

#! /bin/bash # @(#) ape2flac 0.2 18/10/2008 by Mellon # Refactoring. # # now script can convert ape to splited flacs, # smartly recode russian cuesheets # embed tags from cuesheet to splited flacs # delete unnecessary ape file by promt # # Usage ape2flac.sh [-d|-p] [-s] [target directory] # # -d force deleteing ape-files # -p prompt deleteing ape-files # -s convert ape to splited flacs # # # Dependencies: # # media-sound/mac # Homepage: http://sourceforge.net/projects/mac-port # Description: unix port of Monkey's Audio # # app-i18n/enca # Homepage: http://trific.ath.cx/software/enca/ # Description: ENCA detects the character coding of a file and converts it if desired # # media-libs/flac # Homepage: http://flac.sourceforge.net # Description: free lossless audio encoder and decoder # # media-sound/shntool # Homepage: http://shnutils.freeshell.org/shntool/ # Description: shntool is a multi-purpose WAVE data processing and reporting utility # # app-cdr/cuetools # Homepage: http://developer.berlios.de/projects/cuetools/ # Description: Utilities to manipulate and convert cue and toc files # # # TODO: # # Fix tree building # @(#) ape2flac 0.1b 23/01/2007 by BaBL # Checking for mac & flac # Checking for input directory # # @(#) ape2flac 0.1a 14/01/2007 by BaBL # Fixed a bug identifying filenames with more then one "." symbol # # @(#) ape2flac 0.1 26/09/2003 by Peo Karlsson # # Recursively convert APE-files to FLAC. # Directory recursion adapted from the 'tree' script by Jordi Sanfeliu (see below). # # # # @(#) tree 1.1 30/11/1995 by Jordi Sanfeliu (mikaku@fiwix.org) # # Initial version: 1.0 30/11/95 # Next version : 1.1 24/02/97 Now, with symbolic links # SPLIT="" CUE_FILE="" PROG=`basename $0` declare -a prog_needed=(mac flac shnsplit enca cueprint) # which extension to look for when browsing the tree MYEXT="ape" # Process arguments while [ $# -ne 0 ]; do [ "$1" == "-d" ] && DELETE=force [ "$1" == "-p" ] && DELETE=prompt [ "$1" == "-s" ] && SPLIT=1 TARGET_DIRECTORY=$1 shift done findcuefile() { k="$(find "$(dirname "$TARGET")" -maxdepth 1 -type f -iname "$BASE.ape.cue" -printf "%f\n")" [[ "x$k" == "x" ]] && k="$(find "$(dirname "$TARGET")" -maxdepth 1 -type f -iname "$BASE.cue" -printf "%f\n")" echo "$k" } convert() { mac "$TARGET" - -d | flac -V -8 -e -p -o "$BASE.flac" - } convertandsplit() { shnsplit -i ape -o 'flac flac -V -8 -e -p -o %f -' -t %n "$TARGET" < "$TEMPCUE" } recodecue() { CHARSET="$(enca -i "$TEMPCUE")" if [[ "$CHARSET" == "CP1251" || "$CHARSET" == "KOI8-R" || "$CHARSET" == "UTF-8" ]]; then enconv -L ru -x utf8 "$TEMPCUE" fi } # embed tags into tracks, rename tracks embedtags() { for (( i=1; i <= $(cueprint -d '%N' "$TEMPCUE"); ++i )); do NN=$(printf '%02d' $i) [ -s "$NN.flac" ] && { # prepare track tags, filter out empty tags, embed the rest cueprint -n $i -t 'ARRANGER=%A\nCOMPOSER=%C\nGENRE=%G\nMESSAGE=%M\nTRACKNUMBER=%n\nARTIST=%p\nTITLE=%t\nALBUM=%T\n' "$TEMPCUE" |egrep -v '=$' | metaflac --import-tags-from=- $NN.flac # rename NN.flac to "NN - TrackTitle.flac" mv $NN.flac "$NN - $(cueprint -n $i -t %t "$TEMPCUE").flac" } done } # Delete old file delold() { case "$DELETE" in "prompt" ) echo -ne "\nDelete \"$FILE\"? " read -e DELPROMPT if [[ "$DELPROMPT" == "y" || "$DELPROMPT" == "Y" ]]; then DELETE=force fi ;; "force" ) rm -f "$TARGET" &> /dev/null echo -ne "deleted" ;; * ) echo -ne "kept" esac } search () { xx=0 for TARGET in * do if [ -f "$TARGET" ]; then EXT=`echo "$TARGET" | sed -ne 's!^.*\.!!p' | tr '[:upper:]' '[:lower:]'` &> /dev/null BASE=`echo "$TARGET" | sed -e 's!\.[^.]*$!!'` &> /dev/null if [ "$EXT" = "$MYEXT" ]; then echo -n "."; [[ "x$SPLIT" == "x1" ]] || convert &> /dev/null CUE_FILE="$(findcuefile)" if [[ -n "$CUE_FILE" ]]; then TEMPCUE="/tmp/$PROG.$RANDOM.cue" cp "$CUE_FILE" "$TEMPCUE" recodecue &>/dev/null if [[ "x$SPLIT" == "x1" ]]; then convertandsplit embedtags fi sed s/"\.ape"/"\.flac"/ -i "$TEMPCUE" if echo "${CUE_FILE}" | grep -q "\.ape\.cue"; then cp "$TEMPCUE" "${CUE_FILE//.ape/.flac}" else cp "$TEMPCUE" "${CUE_FILE//.cue/.flac.cue}" fi fi xx=`expr $xx + 1` numfiles=`expr $numfiles + 1` delold rm -f "$TEMPCUE" &> /dev/null fi else if [[ $xx > 0 ]]; then echo " -> [$xx files converted]" xx=0 fi fi if [ -d "$TARGET" ]; then zz=0 while [ $zz != $deep ] do echo -n "| " zz=`expr $zz + 1` done if [ -L "$TARGET" ]; then echo "+---$TARGET" `ls -l $TARGET | sed 's/^.*'$TARGET' //'` else echo "+---$TARGET" if cd "$TARGET"; then deep=`expr $deep + 1` search numdirs=`expr $numdirs + 1` fi fi fi done cd .. if [ "$deep" ]; then swfi=1 fi deep=`expr $deep - 1` } if [ "x$TARGET_DIRECTORY" == "x" ]; then cd `pwd` elif [ -e "$TARGET_DIRECTORY" ]; then cd "$TARGET_DIRECTORY" else echo "Path \"$TARGET_DIRECTORY\" not found" exit 0 fi for i in ${prog_needed[@]} do echo -n "Checking for $i..... " if which "$i" &> /dev/null; then echo "Yes" else echo "No" echo "Programm $i is not installed. Please install $i first" exit 0 fi done echo echo "ape2flac 0.1b" echo echo "bash script to convert files compressed by Monkey's Audio into FLAC files." echo echo "Converting all files in directory = `pwd` and recurse indefinitely." echo swfi=0 deep=0 numdirs=0 numfiles=0 zz=0 xx=0 while [ "$swfi" != 1 ] do search done echo echo "Summary:" echo echo "Total directories = $numdirs" echo "Total files converted = $numfiles" echo exit 0
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
Спасибо сказали:

xen
Сообщения: 5
ОС: Ubuntu 8.04 Hardy Heron

Re: APE2FLAC

Сообщение xen »

Эх, где же вы были пару дней назад :) Пользовался скриптом, который конвертил и резал рекурсивно, но вот каталоги приходилось руками выбирать. А их много было... Ну да ладно, теперь будет удобнее :) Спасибо. Только в качестве интерпритатора bash нужен.
Спасибо сказали:

Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: APE2FLAC

Сообщение Portnov »

Переношу в Проекты.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:

Mellon
Сообщения: 655
Статус: Powered by Gentoo
ОС: Gentoo

Re: APE2FLAC

Сообщение Mellon »

отредачил чуток, вроде немного проще стало.

xen, а вот фигали ждать?
гуглишь 3-4 скрипта, смотришь, что люди пишут и собираешь то, что ТЕБЕ нужно. всё.

вчера качнул апешек, попытался сначала gst-plugins-monkeysaudio собрать, но там с 2005 всё мхом поросло, несобралось с актуальным gstreamerом.
ну и как выше описал, взял да и переписал скрипт.
Некоммерческий файлообмен не может сравниваться с кражей, так как кража лишает кого-то возможности использовать украденный объект. ©
--------------------
Переворачиватель пингвинов
Спасибо сказали:

xen
Сообщения: 5
ОС: Ubuntu 8.04 Hardy Heron

Re: APE2FLAC

Сообщение xen »

Mellon писал(а):
19.10.2008 00:54
<...>
xen, а вот фигали ждать?
<...>


Для того чтобы что-то там изменить, нужно сначала изучить сам шелл, на что время никак не выделю :) Ни то, чтобы я совсем ничего не понимаю что там написано, с программированием немного знаком (C в инсте + Питон сам). Короче как только, так сразу.
Спасибо сказали:

Аватара пользователя
greak
Сообщения: 485
Статус: debian user
ОС: Debian Lenny/Sid

Re: APE2FLAC

Сообщение greak »

Спасибо сказали:

xstream
Сообщения: 1

Re: APE2FLAC

Сообщение xstream »

BaBL, Mellon, огромное спасибо!
Скрипт работает на Ура без лишних телодвижений! Единственное неудобство, это то, что его сначала надо найти. Предлагаю создать проект "ape2flac" на sourceforge.net, выложить туда исходники этого скрипта, исходники mac для linux (кстати, не в курсе почему удалил mac-port с sf.net ?) и deb пакет со скриптом ape2flac и соблюдением всех зависимостей. Еще создать небольшую страничку на том же sf.net с разъяснением предназначения этого пакета и самое главное для того чтобы поисковикам было что индексировать, чтобы люди могли легко найти то что им нужно.

По поводу функционала:
- Надо бы добавить возможность конвертить только 1 файл, а не весь каталог

Код: Выделить всё

  Usage ape2flac [-d|-p] [-s] [target file | target directory]

- При запуске скрипта без параметров (или с -h) должна выводиться справка по применению

Код: Выделить всё

  $ape2flac -h
  Usage ape2flac.sh [-d|-p] [-s] [target file | target directory]

  -d    force deleteing ape-files
  -p    prompt deleteing ape-files
  -s    convert ape to splited flacs
Спасибо сказали:

SuperJackal
Сообщения: 1
ОС: Linux

Re: APE2FLAC

Сообщение SuperJackal »

Ребята, на предмет разрезания 700-метрового ape-файла на несколько flac согласно тэгам cue и определения meta-flac - гляньте сюда:
http://forum.ubuntu.ru/index.php?topic=10050.msg88980
any2flac-album2tracks.sh заработал у меня безупречно, хотя он и маленький %).
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: APE2FLAC

Сообщение sspphheerraa »

Код: Выделить всё

# Dependencies:
#
# media-sound/mac
# Homepage: http://sourceforge.net/projects/mac-port
# Description: unix port of Monkey's Audio

Формат записи зависимости смахивает на гентушный... но только вот в портежах нет такого пакета :(
исправьте

/с другой стороны, последние версии ffmpeg играют обезьяну "из каробки", следовательно могут перегонять ее во фляк, правда на счет cue листов не в курсе
Sspphheerraa
Спасибо сказали:

Torvinson
Сообщения: 425
ОС: Gentoo ~amd64

Re: APE2FLAC

Сообщение Torvinson »

sspphheerraa писал(а):
10.04.2009 23:05

Код: Выделить всё

# Dependencies:
#
# media-sound/mac
# Homepage: http://sourceforge.net/projects/mac-port
# Description: unix port of Monkey's Audio

Формат записи зависимости смахивает на гентушный... но только вот в портежах нет такого пакета :(
исправьте

/с другой стороны, последние версии ffmpeg играют обезьяну "из каробки", следовательно могут перегонять ее во фляк, правда на счет cue листов не в курсе
Есть в оверлеях, а имеено в roslin и в gentoo-taiwan, о чем нам может поведать eix.

ape ныне много чего играет - те же vlc и mplayer играют. Лично я пользуюсь vlc.
Спасибо сказали:

Аватара пользователя
sspphheerraa
Сообщения: 1375
ОС: Gentoo

Re: APE2FLAC

Сообщение sspphheerraa »

Torvinson писал(а):
10.04.2009 23:35
Есть в оверлеях, а имеено в roslin и в gentoo-taiwan, о чем нам может поведать eix.

не все пользуют eix,
про оверлеи хорошо было бы указать в самом скрипте
Torvinson писал(а):
10.04.2009 23:35
ape ныне много чего играет - те же vlc и mplayer играют

с cue листами?
Sspphheerraa
Спасибо сказали:

-sanches-
Сообщения: 333
ОС: Gentoo

Re: APE2FLAC

Сообщение -sanches- »

Имнеет смымсл заменить cd $1 на cd "$1", что бы можно было указать директорию с пробелом в имени.
Спасибо сказали: