Class: FilterRename::Mp3Filename
- Inherits:
-
Filename
- Object
- Filename
- FilterRename::Mp3Filename
show all
- Defined in:
- lib/filter_rename/filetype/mp3_filename.rb
Instance Attribute Summary
Attributes inherited from Filename
#original
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Filename
#!=, #calculate_hash, #custom?, #exists?, #filename, #full_filename, #full_path, #get_string, #has_target?, #pretty_size, #set_string, #targets, #values, #writable?
Constructor Details
#initialize(fname, cfg) ⇒ Mp3Filename
Returns a new instance of Mp3Filename.
11
12
13
14
15
|
# File 'lib/filter_rename/filetype/mp3_filename.rb', line 11
def initialize(fname, cfg)
super fname, cfg
load_mp3_data(fname)
end
|
Class Method Details
7
8
9
|
# File 'lib/filter_rename/filetype/mp3_filename.rb', line 7
def self.has_writable_tags
true
end
|
Instance Method Details
#==(dest) ⇒ Object
17
18
19
20
21
22
|
# File 'lib/filter_rename/filetype/mp3_filename.rb', line 17
def ==(dest)
super &&
([ @title, @artist, @album, @track, , @year, @genre, @genre_s ] ==
[ 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), dest.get_string(:genre_s) ])
end
|
#diff(dest) ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
|
# 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)}
GenreS: #{Differ.diff_by_word(dest.get_string(:genre_s).to_s, @genre_s.to_s)}
"
end
|
#rename!(dest) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# 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,
track: mp3.tag.tracknum, comments: mp3.tag., year: mp3.tag.year,
genre: mp3.tag.genre, 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. = dest.get_string(:comments).to_s
mp3.tag.year = dest.get_string(:year)
mp3.tag.genre = dest.get_string(:genre).to_i % 256
mp3.tag.genre_s = dest.get_string(:genre_s)
end
load_mp3_data(full_filename)
old_data
end
|