[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: APE



,-------------[Sun, Oct 11, 2009 at 16:25 +0300, Feata`lion Nyere``:]
|никто в общем-то больше и не умеет, на сколько я знаю, я перегонял во flac.
|
|2009/10/11 Mikhail Ramendik <mr@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_inside@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_inside@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_need[@]}; 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

Reply to: