Module: Id3Taginator::Frames::LyricsFrames
Instance Method Summary collapse
-
#remove_unsync_lyrics(language, descriptor) ⇒ Object
removes an unsync lyrics for the specific language and descriptor.
-
#unsync_lyrics ⇒ Array<Frames::Lyrics::Entities::UnsyncLyrics>
extracts the unsync lyrics (USLT/ULT).
-
#unsync_lyrics=(lyrics) ⇒ Object
(also: #add_unsync_lyrics)
adds an unsync lyrics.
Methods included from Frameable
#find_frame, #find_frames, #set_frame_fields, #set_frame_fields_by_selector, #unsupported_frame
Instance Method Details
#remove_unsync_lyrics(language, descriptor) ⇒ Object
removes an unsync lyrics for the specific language and descriptor
34 35 36 37 38 39 |
# File 'lib/id3taginator/frames/lyrics_frames.rb', line 34 def remove_unsync_lyrics(language, descriptor) @frames.delete_if do |f| f.frame_id == Lyrics::UnsyncLyricsFrame.frame_id(@major_version, @options) && f.language == language && f.descriptor == descriptor end end |
#unsync_lyrics ⇒ Array<Frames::Lyrics::Entities::UnsyncLyrics>
extracts the unsync lyrics (USLT/ULT)
11 12 13 14 15 16 |
# File 'lib/id3taginator/frames/lyrics_frames.rb', line 11 def unsync_lyrics frame = find_frames(Lyrics::UnsyncLyricsFrame.frame_id(@major_version, @options)) return [] if frame.nil? || frame.empty? frame.map { |f| Lyrics::Entities::UnsyncLyrics.new(f.language, f.descriptor, f.lyrics) } end |
#unsync_lyrics=(lyrics) ⇒ Object Also known as: add_unsync_lyrics
adds an unsync lyrics. (USLT/ULT) Lyrics with the same language and descriptor will be updated.
22 23 24 25 26 |
# File 'lib/id3taginator/frames/lyrics_frames.rb', line 22 def unsync_lyrics=(lyrics) set_frame_fields_by_selector(Lyrics::UnsyncLyricsFrame, %i[@language @descriptor @lyrics], ->(f) { f.language == lyrics.language && f.descriptor == lyrics.descriptor }, lyrics.language, lyrics.descriptor, lyrics.lyrics) end |