Updates for packages
This commit is contained in:
		
							
								
								
									
										48
									
								
								roles/Yggdrasil/package/yggdrasil-set-music-data
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								roles/Yggdrasil/package/yggdrasil-set-music-data
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
parser="$(echo $PWD | rev)"
 | 
			
		||||
IFS="
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
partist="$(echo $parser | cut -f 2 -d '/' | rev)"
 | 
			
		||||
palbum="$(echo $parser | cut -f 1 -d '/' | rev)"
 | 
			
		||||
pgenre="$(echo $parser | cut -f 3 -d '/' | rev)"
 | 
			
		||||
 | 
			
		||||
if [ "$partist" == "" ] || [ "$palbum" == "" ] || [ "$pgenre" == "" ]; then
 | 
			
		||||
    echo "This script expects a format of "'$MUSICBASEPATH'"/Genre/Artist/Album/Song.ext"
 | 
			
		||||
    exit;
 | 
			
		||||
fi
 | 
			
		||||
echo Expected metadata:
 | 
			
		||||
echo Artist: $partist
 | 
			
		||||
echo Album: $palbum
 | 
			
		||||
echo Genre: $pgenre
 | 
			
		||||
echo
 | 
			
		||||
 | 
			
		||||
for i in $@; do
 | 
			
		||||
    if [ ! -f "$i" ]; then
 | 
			
		||||
        echo File doesn\'t exist. $i
 | 
			
		||||
        continue;
 | 
			
		||||
    fi
 | 
			
		||||
    ffartist="$(ffprobe -hide_banner -i $i 2>&1 | grep artist | grep -v 'album_artist' | cut -f 2 -d ':' | sed -e 's/^[[:space:]]*//' | sed -e 's/*[[:space:]]$//')"
 | 
			
		||||
    ffalbum="$(ffprobe -hide_banner -i $i 2>&1 | grep album | grep -v 'album_artist' | cut -f 2 -d ':' | sed -e 's/^[[:space:]]*//' | sed -e 's/*[[:space:]]$//')"
 | 
			
		||||
    ffgenre="$(ffprobe -hide_banner -i $i 2>&1 | grep genre | head -n 1 | cut -f 2 -d ':' | sed -e 's/^[[:space:]]*//' | sed -e 's/*[[:space:]]$//')"
 | 
			
		||||
    echo For \[$i\]...
 | 
			
		||||
    unset tags
 | 
			
		||||
    echo Found artist \[$ffartist\]
 | 
			
		||||
    if [ "$partist" != "$ffartist" ]; then
 | 
			
		||||
        export tags=$tags" -metadata artist=\"$partist\""
 | 
			
		||||
    fi
 | 
			
		||||
    echo Found album \[$ffalbum\]
 | 
			
		||||
    if [ "$ffalbum" != "$palbum" ]; then
 | 
			
		||||
        export tags=$tags" -metadata album=\"$palbum\""
 | 
			
		||||
    fi
 | 
			
		||||
    echo Found genre \[$ffgenre\]
 | 
			
		||||
    if [ "$ffgenre" != "$pgenre" ]; then
 | 
			
		||||
        export tags=$tags" -metadata genre=\"$pgenre\""
 | 
			
		||||
    fi
 | 
			
		||||
    if [ "$tags" != "" ]; then
 | 
			
		||||
        bash -c "ffmpeg -hide_banner -i \"$i\"$tags \"$i.ffmpeg.mp3\""
 | 
			
		||||
        mv "$i.ffmpeg.mp3" "$i"
 | 
			
		||||
    fi
 | 
			
		||||
    echo
 | 
			
		||||
done
 | 
			
		||||
		Reference in New Issue
	
	Block a user