module Nehm::PlaylistManager

Playlist manager works with iTunes playlists

Public Class Methods

default_playlist() click to toggle source
# File lib/nehm/playlist_manager.rb, line 11
def self.default_playlist
  default_user_playlist || music_master_library if OS.mac?
end
get_playlist(playlist_name) click to toggle source

Checks path for existence and returns it if exists

# File lib/nehm/playlist_manager.rb, line 18
def self.get_playlist(playlist_name)
  if AppleScript.list_of_playlists.include? playlist_name
    Playlist.new(playlist_name)
  else
    UI.term 'Invalid playlist name. Please enter correct name'
  end
end
set_playlist() click to toggle source
# File lib/nehm/playlist_manager.rb, line 26
def self.set_playlist
  loop do
    playlist = UI.ask('Enter name of iTunes playlist to that you want ' \
                      'add tracks (press Enter to set it to ' \
                      'default iTunes Music library):')

    # If entered nothing, unset iTunes playlist
    if playlist == ''
      Cfg[:playlist] = nil
      UI.success 'Default iTunes playlist unset'
      break
    end

    if AppleScript.list_of_playlists.include? playlist
      Cfg[:playlist] = playlist
      UI.say "#{'Default iTunes playlist set up to'.green} #{playlist.magenta}"
      break
    else
      UI.error 'Invalid playlist name. Please enter correct name'
    end
  end
end

Public Instance Methods

default_user_playlist() click to toggle source
# File lib/nehm/playlist_manager.rb, line 52
def default_user_playlist
  Playlist.new(Cfg[:playlist]) unless Cfg[:playlist].nil?
end
music_master_library() click to toggle source

Music master library is main iTunes music library

# File lib/nehm/playlist_manager.rb, line 59
def music_master_library
  Playlist.new(AppleScript.music_master_library)
end