Module: FancyAudio::Operations

Includes:
PrettyPrinter
Defined in:
lib/fancy_audio.rb

Constant Summary collapse

IMAGE_NOT_FOUND =
'File Not Found'

Instance Method Summary collapse

Methods included from PrettyPrinter

#colorize, #green, #print_error, #print_info, #print_success, #red, #yellow

Instance Method Details

#add_image(audio_file, image) ⇒ Object



10
11
12
13
14
15
16
17
18
# 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) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/fancy_audio.rb', line 20

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