muzak 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/muzak +1 -1
- data/bin/muzakd +1 -1
- data/lib/muzak/cmd/player.rb +10 -0
- data/lib/muzak/const.rb +1 -1
- data/lib/muzak/index.rb +6 -0
- data/lib/muzak/instance.rb +5 -0
- data/lib/muzak/player/mpv.rb +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2083f3ba445039c9dea5b52f8bd2383238eb4ea7
|
4
|
+
data.tar.gz: c3b1aaca1e968d7da6c104549c63cd8adfb23a3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62a18069ad690e2c07fe3a87840a32b3d02c0f82f041c05dca890db1a0637c0d5c935d06665c03276f2878f2eadbda1fec7bd0a2db0173cfa1fc94cde522fda6
|
7
|
+
data.tar.gz: 7f147ea2f6002c33e3e8fd6a996b0d4a136408e7dc556ca8d44510befd67514cbdae541bd98f5c64142d3ede5370d0fe5e38a72e74d4f0b7d1fa238c9a8c125e
|
data/bin/muzak
CHANGED
@@ -45,5 +45,5 @@ trap("INT", "SIG_IGN")
|
|
45
45
|
while line = Readline.readline("muzak> ", true)
|
46
46
|
cmd_argv = Shellwords.split(line) rescue next
|
47
47
|
next if cmd_argv.empty? || cmd_argv.any?(&:empty?)
|
48
|
-
muzak.
|
48
|
+
muzak.command cmd_argv.shift, *cmd_argv
|
49
49
|
end
|
data/bin/muzakd
CHANGED
@@ -21,7 +21,7 @@ File.open(fifo_path, "r") do |fifo|
|
|
21
21
|
loop do
|
22
22
|
cmd_argv = Shellwords.split(fifo.readline) rescue next
|
23
23
|
next if cmd_argv.empty? || cmd_argv.any?(&:empty?)
|
24
|
-
muzak.
|
24
|
+
muzak.command cmd_argv.shift, *cmd_argv
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
data/lib/muzak/cmd/player.rb
CHANGED
@@ -68,6 +68,14 @@ module Muzak
|
|
68
68
|
@player.enqueue_album album
|
69
69
|
end
|
70
70
|
|
71
|
+
def jukebox(*args)
|
72
|
+
count = args.shift || @config["jukebox-size"]
|
73
|
+
|
74
|
+
songs = @index.jukebox(count.to_i).map { |s| Song.new(s) }
|
75
|
+
|
76
|
+
songs.each { |s| @player.enqueue_song s }
|
77
|
+
end
|
78
|
+
|
71
79
|
def list_queue
|
72
80
|
puts @player.list_queue.map(&:title)
|
73
81
|
end
|
@@ -81,6 +89,8 @@ module Muzak
|
|
81
89
|
end
|
82
90
|
|
83
91
|
def now_playing
|
92
|
+
return unless @player.playing?
|
93
|
+
|
84
94
|
info @player.now_playing.full_title
|
85
95
|
end
|
86
96
|
end
|
data/lib/muzak/const.rb
CHANGED
data/lib/muzak/index.rb
CHANGED
@@ -69,6 +69,12 @@ module Muzak
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
def jukebox(count = 50)
|
73
|
+
@all_albums ||= @hash["artists"].map { |_, a| a["albums"] }.flatten
|
74
|
+
@all_songs ||= @all_albums.map { |aa| aa.map { |_, a| a["songs"] } }.flatten
|
75
|
+
@all_songs.sample(count)
|
76
|
+
end
|
77
|
+
|
72
78
|
def songs_by(artist)
|
73
79
|
error "no such artist: '#{artist}'" unless @hash["artists"].key?(artist)
|
74
80
|
|
data/lib/muzak/instance.rb
CHANGED
@@ -3,6 +3,10 @@ module Muzak
|
|
3
3
|
include Cmd
|
4
4
|
include Utils
|
5
5
|
|
6
|
+
def command(cmd, *args)
|
7
|
+
send Cmd.resolve_command(cmd), *args
|
8
|
+
end
|
9
|
+
|
6
10
|
def method_missing(meth, *args)
|
7
11
|
warn "unknown command: #{Cmd.resolve_method(meth)}"
|
8
12
|
help
|
@@ -27,6 +31,7 @@ module Muzak
|
|
27
31
|
@plugins = initialize_plugins!
|
28
32
|
|
29
33
|
playlist_load @config["default-playlist"] if @config["default-playlist"]
|
34
|
+
enqueue_playlist if _playlist_loaded? && @config["autoplay"]
|
30
35
|
end
|
31
36
|
|
32
37
|
def initialize_plugins!
|
data/lib/muzak/player/mpv.rb
CHANGED
@@ -130,14 +130,20 @@ module Muzak
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def shuffle_queue
|
133
|
+
return unless running?
|
134
|
+
|
133
135
|
command "playlist-shuffle"
|
134
136
|
end
|
135
137
|
|
136
138
|
def clear_queue
|
139
|
+
return unless running?
|
140
|
+
|
137
141
|
command "playlist-clear"
|
138
142
|
end
|
139
143
|
|
140
144
|
def now_playing
|
145
|
+
return unless running? && playing?
|
146
|
+
|
141
147
|
Song.new(get_property "path")
|
142
148
|
end
|
143
149
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muzak
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Woodruff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: taglib-ruby
|