lib/airplayer/app.rb in airplayer-1.0.1 vs lib/airplayer/app.rb in airplayer-1.1.0
- old
+ new
@@ -1,18 +1,23 @@
require 'thor'
module AirPlayer
class App < Thor
+ class_option :youtube_dl, desc: 'path to youtube-dl', default: YoutubeDl.default_path
+
desc 'play <URI|PATH> [-r|--repeat] [-s|--shuffle] [-d=|--device=]', 'Play video(URI[Podcast URI, YouTube] or Path[local video file, directory])'
method_option :repeat, aliases: '-r', desc: 'Repeat play', type: :boolean
method_option :shuffle, aliases: '-s', desc: 'Shuffle play', type: :boolean
method_option :device, aliases: '-d', desc: 'Device number', type: :numeric
def play(target)
+ YoutubeDl.path = options[:youtube_dl]
controller = Controller.new(device: options.fetch('device', 0))
+
Playlist.new(options).add(target).entries do |media|
controller.play(media)
controller.pause
end
+ rescue Interrupt # capture Ctrl-C
end
desc 'devices', 'Show AirPlay devices'
def devices
Device.devices.each_with_index do |device, number|