class FilterRename::Mp3Filename
Public Class Methods
new(fname, cfg)
click to toggle source
Calls superclass method
FilterRename::Filename::new
# File lib/filter_rename/filetype/mp3_filename.rb, line 11 def initialize(fname, cfg) super fname, cfg load_mp3_data(fname) end
Public Instance Methods
==(dest)
click to toggle source
Calls superclass method
FilterRename::Filename#==
# File lib/filter_rename/filetype/mp3_filename.rb, line 17 def ==(dest) super && ([ @title, @artist, @album, @track, @comments, @year, @genre ] == [ dest.get_string(:title), dest.get_string(:artist), dest.get_string(:album), dest.get_string(:track), dest.get_string(:comments), dest.get_string(:year), dest.get_string(:genre) ]) end
diff(dest)
click to toggle source
Calls superclass method
FilterRename::Filename#diff
# File lib/filter_rename/filetype/mp3_filename.rb, line 47 def diff(dest) super(dest) + " Title: #{Differ.diff_by_word(dest.get_string(:title).to_s, @title.to_s)} Artist: #{Differ.diff_by_word(dest.get_string(:artist).to_s, @artist.to_s)} Album: #{Differ.diff_by_word(dest.get_string(:album).to_s, @album.to_s)} Track: #{Differ.diff_by_word(dest.get_string(:track).to_s, @track.to_s)} Comments: #{Differ.diff_by_word(dest.get_string(:comments).to_s, @comments.to_s)} Year: #{Differ.diff_by_word(dest.get_string(:year).to_s, @year.to_s)} Genre: #{Differ.diff_by_word(dest.get_string(:genre).to_s, @genre.to_s)} " end
rename!(dest)
click to toggle source
Calls superclass method
FilterRename::Filename#rename!
# File lib/filter_rename/filetype/mp3_filename.rb, line 24 def rename!(dest) old_data = super dest Mp3Info.open(full_filename) do |mp3| old_data.merge!({ title: mp3.tag.title, artist: mp3.tag.artist, album: mp3.tag.album, tracknum: mp3.tag.tracknum, comments: mp3.tag.comments, year: mp3.tag.year, genre_s: mp3.tag.genre_s }) mp3.tag.title = dest.get_string(:title) mp3.tag.artist = dest.get_string(:artist) mp3.tag.album = dest.get_string(:album) mp3.tag.tracknum = dest.get_string(:track) mp3.tag.comments = dest.get_string(:comments).to_s mp3.tag.year = dest.get_string(:year) mp3.tag.genre_s = dest.get_string(:genre) end load_mp3_data(full_filename) old_data end
Private Instance Methods
load_mp3_data(fname)
click to toggle source
# File lib/filter_rename/filetype/mp3_filename.rb, line 62 def load_mp3_data(fname) mp3info = Mp3Info.new(fname) @title = mp3info.tag.title.to_s @artist = mp3info.tag.artist.to_s @album = mp3info.tag.album.to_s @track = mp3info.tag.tracknum.to_i @comments = mp3info.tag.comments.to_s @year = mp3info.tag.year.to_i @genre = mp3info.tag.genre_s.to_s # read only stuff @vbr = (mp3info.tag.vbr ? 'vbr' : '') @samplerate = mp3info.samplerate.to_s @bitrate = mp3info.bitrate.to_s [@vbr, @samplerate, @bitrate].map(&:readonly!) end