def read_all_tags(taglib, id3v2_frames, id3v1_tag = nil, **opts)
      frames = []
      id3v2_frames.each { |frame_id| frames += id3v2_frames(taglib, frame_id) }

      data = []
      # only check id3v1 if no id3v2 frames found
      if frames.empty?
        data << id3v1_tag(taglib, id3v1_tag) unless id3v1_tag.nil?
      else
        frames.each { |frame| data << data_from_frame(frame, **opts) }
      end

      data.compact
    end
def read_all_tags(taglib, id3v2_frames, id3v1_tag = nil, **opts)
      frames = []
      id3v2_frames.each { |frame_id| frames += id3v2_frames(taglib, frame_id) }

      data = []
      # only check id3v1 if no id3v2 frames found
      if frames.empty?
        data << id3v1_tag(taglib, id3v1_tag) unless id3v1_tag.nil?
      else
        frames.each { |frame| data << data_from_frame(frame, **opts) }
      end

      data.compact
    end
gets data from each frame id given only falls back
 to the id3v1 tag if no id3v2 frames were found