module FancyAudio::Operations

Constants

IMAGE_NOT_FOUND

Public Instance Methods

add_image(audio_file, image) click to toggle source
# File lib/fancy_audio.rb, line 10
def add_image(audio_file, image)
  return unless files_present(audio_file, image)

  image_file = File.new(image, 'rb')
  Mp3Info.open(audio_file) do |audio|
    audio.tag2.remove_pictures
    audio.tag2.add_picture(image_file.read)
  end
end
add_image_smartly(dir = `pwd`.chop) click to toggle source
# File lib/fancy_audio.rb, line 29
def add_image_smartly(dir = `pwd`.chop)
  unavialble_images = []
  changed_audio_files = {}
  audio_files = Dir[dir + "/*.mp3"]

  audio_files.each do |audio_file|
    file_name_without_ext = dir + "/#{File.basename(audio_file, '.mp3')}"
    image_file = get_image_file(file_name_without_ext)

    if(image_file == IMAGE_NOT_FOUND)
      unavialble_images << audio_file
    else
      add_image(audio_file, image_file)
      changed_audio_files[audio_file] = image_file
    end
  end

  print_modified_files changed_audio_files
  print "\n\n"
  print_unmodified_files unavialble_images
  print_info "No audio files found!!" if audio_files.empty?
end
add_image_to_all(dir = `pwd`.chop, image) click to toggle source
# File lib/fancy_audio.rb, line 20
def add_image_to_all(dir = `pwd`.chop, image)
  audio_files = Dir[dir + "/*.mp3"]

  audio_files.each do |audio_file|
    add_image(audio_file, image)
  end
  print_info "done!"
end

Private Instance Methods

files_present(audio_file, image_file) click to toggle source
# File lib/fancy_audio.rb, line 53
def files_present(audio_file, image_file)
  audio_file_exists = File.exist?(audio_file)
  image_file_exists = File.exist?(image_file)

  if !audio_file_exists
    print_error "#{audio_file} does not exists!\n"
  elsif !image_file_exists
    print_error "#{image_file} does not exists!\n"
  end

  audio_file_exists && image_file_exists
end
get_image_file(file) click to toggle source
# File lib/fancy_audio.rb, line 79
def get_image_file(file)
  return (file + ".jpeg") if File.exist?(file + ".jpeg")
  return (file + ".jpg") if File.exist?(file + ".jpg")
  return (file + ".png") if File.exist?(file + ".png")

  IMAGE_NOT_FOUND
end
print_modified_files(files) click to toggle source
print_unmodified_files(files) click to toggle source