,-------------[Sun, Oct 11, 2009 at 16:25 +0300, Feata`lion Nyere``:]
|никто в общем-то больше и не умеет, на сколько я знаю, я перегонял во flac.
|
|2009/10/11 Mikhail Ramendik <m...@ramendik.ru>
|
|    Всем привет!
|
|    Что-то у меня ничего, кроме mplayer/smplayer, не играет ape. Ни
|    kaffeine, ни vlc, ни даже монстр amarok.
|
|    Это так должно быть или надо что-то установить?
|
|    (Lenny)
|
|    --
|    Yours, Mikhail Ramendik
|
|
|
|
|--
|Rgds,
|----Feata`lion

я тоже)
даже вот себе приделал для разгребания завалов музыки:
<вложение>

-- 
__________
mpd status:     [playing]
L.A. Guns - Until I Get You
**************************************
*  jabber:  devil_ins...@jabber.ru   *
*   Registered linux user #450844    *
**************************************
#!/bin/sh
#script for converting any other lossless formats to flac and split long audio 
track song by song
#with autodetecting needful .cue (hi, musiccooders!) and converting it in 
comp's locale.
#(c) Devil_InSide <devil_ins...@mail.ru> 
#v 0.1

##we need some progs
declare -a progs_we_need=(shntool mac wvunpack flac oggenc enca lltag) 

#               NUMCUE=`ls -1 "$DIR"/* | grep \.cue$ | wc -l 2> /dev/null`

num_cue ()      {
        echo num_cue dir "$DIR"
        if ! ls -1 "$DIR"/*.[Cc][Uu][Ee] 2> /dev/null; then
                NUMCUE=0
        else
                if [ -d "$DIR" ]; then  
                NUMCUE=0
                for wv_cue in "$DIR"/*.[Cc][Uu][Ee] ; do
                        NUMCUE=`expr $NUMCUE + 1`
                done
                fi
        fi
                }

f_tag () {
        lltag  -F %n---%a---%A---%t---%d --rename %a/[%d]-%A/[%n]-%t   
--rename-sep _ --yes  "$1"
        }

f_split () {
        FILE="$1"
        DIR=`dirname "$FILE"`
        NAME=`basename "$FILE" "$EXT"`
        echo f_split file "$FILE"
        echo f_split dir "$DIR"
        echo f_split name "$NAME"
        if [ ! -d "$DIR"/"$NAME" ]; then 
        mkdir "$DIR"/"$NAME" 
        fi
        
        if ! grep DATE "$CUE_FILE" ; then 
                date_tag=1970
        else 
                date_tag=`grep DATE "$CUE_FILE" | sed 's/REM\ DATE\ //g' | tr 
-d [:cntrl:]` 
        fi
        
        RSLT_DIR="$DIR"/"$NAME"  
        shnsplit -f "$CUE_FILE" -d "$RSLT_DIR"  -t 
"%n---%p---%a---%t"---$date_tag -o flac "$FILE" -P spin &&\
        mv "$FILE" "$FILE".bak &&\
        mv "$CUE_FILE" "$CUE_FILE".bak

        }

get_ext ()      {
        EXT=`echo $( basename "$1" ) | sed -e 's/^.*\.//g'`
                }


test_m_cue ()   {
        for i  in "$DIR"/*.[Cc][Uu][Ee] ; do
        grep "$NAME" "$i" 2> /dev/null
               if [ $? -eq 0 ];then 
                        echo "$i"
                        CUE_FILE="$i"
                else 
                        echo "хуй в" "$i" 
                        enca -c "$i" 2>/dev/null
                        grep "$NAME" "$i" 2> /dev/null
                                if [ $? -ne 0 ]; then
                                        tmp_cue="$DIR"/`basename "$i" cue`
                                        echo tmp-cue is "$tmp_cue"
                                        if [ "$NAME" != "$tmp_cue" ]; then
                                        CUE_FILE="$i"
                                        echo 3d cuefile is "$i"
                                        fi
                                        echo хуй второй раз в  "$i"
                                else 
                                        CUE_FILE="$i"
                                fi
                        
                fi
        done

                }


wv_extract ()   {
                FILE="$1"
                wvunpack -cc -o "$DIR"/"$NAME"-new -d -y "$FILE"  
                CUE_FILE="$DIR"/"$NAME"-new.cue
                FILE="$DIR"/"$NAME"-new.wav
                }

for n in ${progs_we_ne...@]}; do
        if ! which $n > /dev/null; then 
        echo Install program $n\!
        exit 13
        fi
done


for i in "$@" ; do
if [ -f "$i" ]; then
        DIR=`dirname "$i"`
        FILE="$i"
        NAME=`basename "$i" "$EXT"`
elif [ -d "$i" ];then  
        DIR="$i"
else 
        :
fi

num_cue "$FILE"
echo numcue is $NUMCUE
echo dir is "$DIR"

#if ! ls "$DIR"/*.[Cc][Uu][Ee] 2> /dev/null ; then
#    exit 14
#fi


get_ext "$FILE" 

case "$EXT" in 
iso|ISO|wv|WV ) 
        wv_extract "$FILE" &&\ 
        get_ext "$FILE" &&\
        #test_m_cue "$FILE" && \ 
        f_split "$FILE" 
                cur_dir=`pwd`
                cd "$RSLT_DIR"
                rename 'y/\ /_/' *
                for f in *.flac; do
                f_tag "$f"
                done
                cd "$cur_dir"
                NUMCUE=0
        ;;
ape|APE|flac|FLAC|wav|WAV)
        :

        if [ $NUMCUE -lt 1 ]; then
                exit 1
        else
                : 
        fi

        test_m_cue "$FILE" &&\

        f_split "$FILE"


        cur_dir=`pwd`
        cd "$RSLT_DIR"
        rename 'y/\ /_/' *
        for f in *.flac; do
        f_tag "$f"
        done
        cd "$cur_dir"

        echo file is "$FILE"
        #echo last operation is $?
        echo cue_file "$CUE_FILE"
        NUMCUE=0
        ;;
*)
        echo not in ext
        :
        ;;
esac

done

exit 0

Ответить