Module: Vnehm::PlaylistManager

Defined in:
lib/vnehm/playlist_manager.rb

Overview

Playlist manager works with iTunes playlists

Class Method Summary collapse

Class Method Details

.default_playlistObject



11
12
13
# File 'lib/vnehm/playlist_manager.rb', line 11

def self.default_playlist
  default_user_playlist || music_master_library if OS.mac?
end

.default_user_playlistObject



54
55
56
# File 'lib/vnehm/playlist_manager.rb', line 54

def default_user_playlist
  Playlist.new(Cfg[:playlist]) unless Cfg[:playlist].nil?
end

.get_playlist(playlist_name) ⇒ Object

Checks path for existence and returns it if exists



18
19
20
21
22
23
24
# File 'lib/vnehm/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 'Такого плейлиста не существует. Введите корректное название'
  end
end

.music_master_libraryObject

Music master library is main iTunes music library



61
62
63
# File 'lib/vnehm/playlist_manager.rb', line 61

def music_master_library
  Playlist.new(AppleScript.music_master_library)
end

.set_playlistObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/vnehm/playlist_manager.rb', line 26

def self.set_playlist
  loop do
    playlist = UI.ask('Введите имя плейлиста iTunes, в который вы ' \
                      'хотите добавлять треки (нажмите Enter, чтобы ' \
                      'не добавлять аудиозаписи в плейлист, ' \
                      'а в музыкальную медиатеку iTunes)')

    # If entered nothing, unset iTunes playlist
    if playlist == ''
      Cfg[:playlist] = nil
      UI.success 'Треки будут добавляться в музыкальную медиатеку iTunes'
      break
    end

    if AppleScript.list_of_playlists.include? playlist
      Cfg[:playlist] = playlist
      UI.say 'Аудиозаписи будут добавляться в плейлист '.green +
                                                          playlist.magenta
      break
    else
      UI.error 'Такого плейлиста не существует. Введите корректное название'
    end
  end
end