Method: DTAS::Source::Mp3gain#mp3gain_comments
- Defined in:
- lib/dtas/source/mp3gain.rb
#mp3gain_comments ⇒ Object
massage mp3gain(1) output
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/dtas/source/mp3gain.rb', line 14 def mp3gain_comments tmp = {} case @infile when String @infile =~ /\.mp[g23]\z/in or return qx(%W(mp3gain -s c #@infile)).split("\n").each do |line| case line when /^Recommended "(Track|Album)" dB change:\s*(\S+)/ tmp["REPLAYGAIN_#{$1.upcase}_GAIN"] = $2 when /^Max PCM sample at current gain: (\S+)/ tmp["REPLAYGAIN_TRACK_PEAK"] = __mp3gain_peak($1) when /^Max Album PCM sample at current gain: (\S+)/ tmp["REPLAYGAIN_ALBUM_PEAK"] = __mp3gain_peak($1) end end tmp else raise TypeError, "unsupported type: #{@infile.inspect}" end rescue => e $DEBUG and warn("mp3gain(#{@infile.inspect}) failed: #{e.message} (#{e.class})") end |