#!/usr/bin/env bash
getInfosffmpeg_version='ffmpeg-10'
tagreaders+=( "$getInfosffmpeg_version" )
getInfos::ffmpeg() {
	tagreader="$getInfosffmpeg_version"
	local			\
		infos		\

	infos=$(
		ffprobe -v error					\
			-show_entries "					\
				format_tags=				\
					album_artist,			\
					album,				\
					artist,				\
					composer,			\
					disc,				\
					fmps_rating,
					genre,				\
					TOPE,				\
					releasecountry,			\
					'MusicBrainz Album Release Country',\
					title,				\
					track,				\
					date,				\
					replaygain_track_gain,		\
					replaygain_album_gain		\
				:stream=				\
					bit_rate,			\
					channels,			\
					sample_rate,			\
				"					\
			-of default=noprint_wrappers=1			\
			-i "$sourcepath/$filename"			\
		| egrep -v '=N/A$'
	)
	albumartist=$(gettag TAG:album_artist)
	album=$(gettag TAG:album)
	artist=$(gettag TAG:artist)
	composer=$(gettag TAG:composer)
	disc=$(gettag TAG:disc)
	genre=$(gettag TAG:genre)
	performer=$(gettag TAG:TOPE)
	rating=$((gettag fmps_rationg))
	releasecountry=$(gettag TAG:releasecountry)
	[[ -z "$releasecountry" ]]					\
	&& releasecountry=$(gettag "TAG:MusicBrainz Album Release Country")
	replaygain_alb=$(gettag TAG:replaygain_album_gain)
	replaygain_trk=$(gettag TAG:replaygain_track_gain)
	title=$(gettag TAG:title)
	tracknum=$(gettag TAG:track)
	year=$(gettag TAG:date)
	expr='^[0-9]*$'
	if [ -n "$genre" ] && [[ $genre =~ $expr ]]
	then
		genre="${id3genres[$genre]}"
	fi
	channels=$(gettag channels)
	rate=$(gettag 'sample_rate')
	case $rate in
		96) rate=96000;;
		48) rate=48000;;
		441) rate=44100;;
		32) rate=32000;;
		24) rate=24000;;
		225) rate=22500;;
	esac
	bitrate=$(gettag 'bit_rate')
	depth=$(gettag 'sample_fmt')
	depth=${depth//[A-z]/}
	if [[ $bitrate == N/A ]]
	then
		unset bitrate
	else
		bitrate=$((bitrate / 1000))
	fi
}
