playa 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/playa/controller.rb +3 -3
- data/lib/playa/views/playlist_view.rb +33 -0
- data/lib/playa/views/progress_view.rb +78 -0
- data/lib/playa/views/status_view.rb +64 -0
- data/lib/playa.rb +2 -2
- data/playa.gemspec +1 -1
- data/test/lib/playa/{playlist_view.rb → views/playlist_view_test.rb} +1 -1
- data/test/lib/playa/{progress_view_test.rb → views/progress_view_test.rb} +1 -1
- data/test/lib/playa/{status_view_test.rb → views/status_view_test.rb} +1 -1
- metadata +11 -14
- data/lib/playa/playlist_view.rb +0 -19
- data/lib/playa/progress_view.rb +0 -49
- data/lib/playa/status_view.rb +0 -31
- data/lib/playa/views/playlist.erb +0 -0
- data/lib/playa/views/status.erb +0 -1
- data/lib/playa/views/status_copy.erb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e33baff6fbf21a8320be1bdbe56eda3449c5924
|
4
|
+
data.tar.gz: 5282c77482a2a00d5bd78266aae920cc04e98354
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5891878f72df393c7d047adae11057797f10c9d7f82198a2ed3a07bb6454df965e5fe34230e8abb5856dda78085cb7f93e1612472a24497d6a88d1d0f641016
|
7
|
+
data.tar.gz: 0183b6a9797e3293baf9674cf7405778b14bc6df0dbe620990c7cfebd2b19c56299b212a91ec4f077df1539bba75b1dc99166f15b27a066f22665e35768b574a
|
data/lib/playa/controller.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'playa/view'
|
2
|
+
|
3
|
+
module Playa
|
4
|
+
class PlaylistView < View
|
5
|
+
include Vedeu
|
6
|
+
|
7
|
+
private
|
8
|
+
|
9
|
+
def type
|
10
|
+
:dsl
|
11
|
+
end
|
12
|
+
|
13
|
+
def output
|
14
|
+
view 'playlist' do
|
15
|
+
self.object.view.each do |sel, cur, item|
|
16
|
+
if sel && cur
|
17
|
+
line { text "\u{25B6}> #{item.title}" }
|
18
|
+
|
19
|
+
elsif cur
|
20
|
+
line { text " > #{item.title}" }
|
21
|
+
|
22
|
+
elsif sel
|
23
|
+
line { text "\u{25B6} #{item.title}" }
|
24
|
+
|
25
|
+
else
|
26
|
+
line { text " #{item.title}" }
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'playa/view'
|
2
|
+
|
3
|
+
module Playa
|
4
|
+
class ProgressView < View
|
5
|
+
include Vedeu
|
6
|
+
|
7
|
+
private
|
8
|
+
|
9
|
+
def type
|
10
|
+
:dsl
|
11
|
+
end
|
12
|
+
|
13
|
+
def output
|
14
|
+
if object.track
|
15
|
+
track_loaded
|
16
|
+
|
17
|
+
else
|
18
|
+
no_track_loaded
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def track_loaded
|
24
|
+
view 'progress' do
|
25
|
+
line do
|
26
|
+
stream do
|
27
|
+
width progress_width
|
28
|
+
text progress_bar
|
29
|
+
end
|
30
|
+
|
31
|
+
stream do
|
32
|
+
width timer_width
|
33
|
+
text timer
|
34
|
+
align :right
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def no_track_loaded
|
41
|
+
view 'progress' do
|
42
|
+
line do
|
43
|
+
stream do
|
44
|
+
width view_width
|
45
|
+
text ' '
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def progress_width
|
52
|
+
view_width - timer_width - 1
|
53
|
+
end
|
54
|
+
|
55
|
+
def progress_bar
|
56
|
+
"\u{25FC}" * (object.progress * progress_width).ceil
|
57
|
+
end
|
58
|
+
|
59
|
+
def timer_width
|
60
|
+
timer.size + 1
|
61
|
+
end
|
62
|
+
|
63
|
+
def timer
|
64
|
+
remaining = (object.track.duration - object.counter).floor
|
65
|
+
mm, ss = remaining.divmod(60)
|
66
|
+
hh, mm = mm.divmod(60)
|
67
|
+
mins = mm.to_s.rjust(2, '0')
|
68
|
+
secs = ss.to_s.rjust(2, '0')
|
69
|
+
|
70
|
+
[mins, secs].join(":")
|
71
|
+
end
|
72
|
+
|
73
|
+
# TODO: playa knows too much here...
|
74
|
+
def view_width
|
75
|
+
@_width ||= Vedeu.with('progress').geometry.width
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'playa/view'
|
2
|
+
|
3
|
+
module Playa
|
4
|
+
class StatusView < View
|
5
|
+
include Vedeu
|
6
|
+
|
7
|
+
private
|
8
|
+
|
9
|
+
def type
|
10
|
+
:dsl
|
11
|
+
end
|
12
|
+
|
13
|
+
def output
|
14
|
+
view 'status' do
|
15
|
+
line do
|
16
|
+
stream do
|
17
|
+
colour foreground: '#ff0000'
|
18
|
+
text "\u{25B2}"
|
19
|
+
end
|
20
|
+
stream do
|
21
|
+
colour foreground: '#ffffff'
|
22
|
+
text ' Prev '
|
23
|
+
end
|
24
|
+
|
25
|
+
stream do
|
26
|
+
colour foreground: '#ff0000'
|
27
|
+
text "\u{25BC}"
|
28
|
+
end
|
29
|
+
stream do
|
30
|
+
colour foreground: '#ffffff'
|
31
|
+
text ' Next '
|
32
|
+
end
|
33
|
+
|
34
|
+
stream do
|
35
|
+
colour foreground: '#ff0000'
|
36
|
+
text "\u{21B2}"
|
37
|
+
end
|
38
|
+
stream do
|
39
|
+
colour foreground: '#ffffff'
|
40
|
+
text ' Select '
|
41
|
+
end
|
42
|
+
|
43
|
+
stream do
|
44
|
+
colour foreground: '#ff0000'
|
45
|
+
text "\u{2395}"
|
46
|
+
end
|
47
|
+
stream do
|
48
|
+
colour foreground: '#ffffff'
|
49
|
+
text ' Pause '
|
50
|
+
end
|
51
|
+
|
52
|
+
stream do
|
53
|
+
colour foreground: '#ff0000'
|
54
|
+
text "Q"
|
55
|
+
end
|
56
|
+
stream do
|
57
|
+
colour foreground: '#ffffff'
|
58
|
+
text ' Quit '
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
data/lib/playa.rb
CHANGED
@@ -20,14 +20,14 @@ module Playa
|
|
20
20
|
end
|
21
21
|
|
22
22
|
interface 'progress' do
|
23
|
-
colour foreground: '#
|
23
|
+
colour foreground: '#005aff', background: '#000000'
|
24
24
|
cursor false
|
25
25
|
width 60
|
26
26
|
height 1
|
27
27
|
y playlist.geometry.top - 2
|
28
28
|
x playlist.geometry.left
|
29
29
|
centred false
|
30
|
-
delay 0
|
30
|
+
delay 1.0
|
31
31
|
end
|
32
32
|
|
33
33
|
interface 'status' do
|
data/playa.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'playa'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.10'
|
8
8
|
spec.authors = ['Gavin Laking']
|
9
9
|
spec.email = ['gavinlaking@gmail.com']
|
10
10
|
spec.summary = 'Plays mp3s from a directory.'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -197,25 +197,22 @@ files:
|
|
197
197
|
- lib/playa.rb
|
198
198
|
- lib/playa/controller.rb
|
199
199
|
- lib/playa/player.rb
|
200
|
-
- lib/playa/playlist_view.rb
|
201
|
-
- lib/playa/progress_view.rb
|
202
|
-
- lib/playa/status_view.rb
|
203
200
|
- lib/playa/track.rb
|
204
201
|
- lib/playa/track_collection.rb
|
205
202
|
- lib/playa/view.rb
|
206
|
-
- lib/playa/views/
|
207
|
-
- lib/playa/views/
|
208
|
-
- lib/playa/views/
|
203
|
+
- lib/playa/views/playlist_view.rb
|
204
|
+
- lib/playa/views/progress_view.rb
|
205
|
+
- lib/playa/views/status_view.rb
|
209
206
|
- playa.gemspec
|
210
207
|
- screenshot.png
|
211
208
|
- test/lib/playa/controller_test.rb
|
212
209
|
- test/lib/playa/player_test.rb
|
213
|
-
- test/lib/playa/playlist_view.rb
|
214
|
-
- test/lib/playa/progress_view_test.rb
|
215
|
-
- test/lib/playa/status_view_test.rb
|
216
210
|
- test/lib/playa/track_collection_test.rb
|
217
211
|
- test/lib/playa/track_test.rb
|
218
212
|
- test/lib/playa/view_test.rb
|
213
|
+
- test/lib/playa/views/playlist_view_test.rb
|
214
|
+
- test/lib/playa/views/progress_view_test.rb
|
215
|
+
- test/lib/playa/views/status_view_test.rb
|
219
216
|
- test/lib/playa_test.rb
|
220
217
|
- test/support/parkwalk.mp3
|
221
218
|
- test/test_helper.rb
|
@@ -246,12 +243,12 @@ summary: Plays mp3s from a directory.
|
|
246
243
|
test_files:
|
247
244
|
- test/lib/playa/controller_test.rb
|
248
245
|
- test/lib/playa/player_test.rb
|
249
|
-
- test/lib/playa/playlist_view.rb
|
250
|
-
- test/lib/playa/progress_view_test.rb
|
251
|
-
- test/lib/playa/status_view_test.rb
|
252
246
|
- test/lib/playa/track_collection_test.rb
|
253
247
|
- test/lib/playa/track_test.rb
|
254
248
|
- test/lib/playa/view_test.rb
|
249
|
+
- test/lib/playa/views/playlist_view_test.rb
|
250
|
+
- test/lib/playa/views/progress_view_test.rb
|
251
|
+
- test/lib/playa/views/status_view_test.rb
|
255
252
|
- test/lib/playa_test.rb
|
256
253
|
- test/support/parkwalk.mp3
|
257
254
|
- test/test_helper.rb
|
data/lib/playa/playlist_view.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'playa/view'
|
2
|
-
|
3
|
-
module Playa
|
4
|
-
class PlaylistView < View
|
5
|
-
private
|
6
|
-
|
7
|
-
def output
|
8
|
-
[ 'playlist', playlist ]
|
9
|
-
end
|
10
|
-
|
11
|
-
def type
|
12
|
-
:menu
|
13
|
-
end
|
14
|
-
|
15
|
-
def playlist
|
16
|
-
object.view.map { |sel, cur, item| [ sel, cur, item.title ] }
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/playa/progress_view.rb
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
require 'playa/view'
|
2
|
-
|
3
|
-
module Playa
|
4
|
-
class ProgressView < View
|
5
|
-
private
|
6
|
-
|
7
|
-
def output
|
8
|
-
{ 'progress' => [ progress ] }
|
9
|
-
end
|
10
|
-
|
11
|
-
def type
|
12
|
-
:raw
|
13
|
-
end
|
14
|
-
|
15
|
-
def progress
|
16
|
-
if object.track
|
17
|
-
remaining = (object.track.duration - object.counter).floor
|
18
|
-
mm, ss = remaining.divmod(60)
|
19
|
-
hh, mm = mm.divmod(60)
|
20
|
-
mins = mm.to_s.rjust(2, '0')
|
21
|
-
secs = ss.to_s.rjust(2, '0')
|
22
|
-
time = [mins, secs].join(":")
|
23
|
-
pwidth = view_width - time.size - 1
|
24
|
-
pbar = '|' * (object.progress * pwidth).ceil
|
25
|
-
|
26
|
-
{
|
27
|
-
streams: [
|
28
|
-
{
|
29
|
-
text: pbar,
|
30
|
-
width: pwidth,
|
31
|
-
align: :left
|
32
|
-
}, {
|
33
|
-
text: time,
|
34
|
-
width: time.size + 1,
|
35
|
-
align: :right
|
36
|
-
}
|
37
|
-
]
|
38
|
-
}
|
39
|
-
else
|
40
|
-
{ streams: [{ text: ' ', width: view_width }] }
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
# TODO: playa knows too much here...
|
45
|
-
def view_width
|
46
|
-
@_width ||= Vedeu.with('progress').geometry.width
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
data/lib/playa/status_view.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'playa/view'
|
2
|
-
|
3
|
-
module Playa
|
4
|
-
class StatusView < View
|
5
|
-
# def interface
|
6
|
-
# 'status'
|
7
|
-
# end
|
8
|
-
|
9
|
-
# def path
|
10
|
-
# File.expand_path('../views/status.erb', __FILE__)
|
11
|
-
# end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
# def output
|
16
|
-
# self
|
17
|
-
# end
|
18
|
-
|
19
|
-
def output
|
20
|
-
{ 'status' => status }
|
21
|
-
end
|
22
|
-
|
23
|
-
def type
|
24
|
-
:raw
|
25
|
-
end
|
26
|
-
|
27
|
-
def status
|
28
|
-
[ "\u{25B2} Prev \u{25BC} Next \u{21B2} Select \u{2395} Pause Q Quit" ]
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
File without changes
|
data/lib/playa/views/status.erb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
<%= foreground('#ffff00') { "\u{25B2}" } -%> Prev <%= foreground('#ffff00') { "\u{25BC}" } -%> Next <%= foreground('#ffff00') { "\u{21B2}" } -%> Select <%= foreground('#ffff00') { "\u{2395}" } -%> Pause <%= foreground('#ffff00') { "Q" } -%> Quit
|
@@ -1,7 +0,0 @@
|
|
1
|
-
<%- line do -%>
|
2
|
-
<%= foreground('#ffff00') { "\u{25B2}" } -%> Prev
|
3
|
-
<%= foreground('#ffff00') { "\u{25BC}" } -%> Next
|
4
|
-
<%= foreground('#ffff00') { "\u{21B2}" } -%> Select
|
5
|
-
<%= foreground('#ffff00') { "\u{2395}" } -%> Pause
|
6
|
-
<%= foreground('#ffff00') { "Q" } -%> Quit
|
7
|
-
<%- end -%>
|