playa 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d88b2e0a2af60ed003e3ca5bc18d95d406be0533
4
- data.tar.gz: 093d9cc23a42dd2cca5f70c2aa539f16780099e6
3
+ metadata.gz: f2598609b2bbafca074f45c864ceaaa6c5db48c3
4
+ data.tar.gz: 2ba8a4b27ff708b6e27c1fe98a50ad753ce05bd5
5
5
  SHA512:
6
- metadata.gz: 0b4b7213271270d99c25141699aef79a0b4cd4bd9960827b3aaa60821f7faa83dc8a166649bfd4c417a185e409fede898d2a1785543db5672cece17e742fb9b8
7
- data.tar.gz: 982b686d92fc31bfcb8457adbc49864573a5300ec399eaf6db6ba747197d043e0049832e323519f2a1b7915e540c607caed62e26ac4133c197462ea885fee883
6
+ metadata.gz: c4157bc6c7716a345e77839bb30740b5d474cb9e1154b4c11199a3f7062258dbeacfd3fb3b089a8b7c09b3fa0afdf644ab6cb350d345231918f12732bf5b6dea
7
+ data.tar.gz: 9f674d0a2c1673a63a306d2fbf25a0b54474500de26ed63904906d0b8d3935a6c9e4f6d4f8316d2edaf1cb5edf0eee636c87c92a31117664c98968b9d8e0ae28
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ gem 'vedeu', path: '~/source/vedeu'
@@ -11,7 +11,6 @@ module Playa
11
11
 
12
12
  event :update do
13
13
  PlaylistView.render(menu)
14
- StatusView.render
15
14
  end
16
15
 
17
16
  event :progress_update, 0.5 do
@@ -25,7 +24,9 @@ module Playa
25
24
 
26
25
  event :complete do
27
26
  trigger(:menu_next)
27
+ trigger(:menu_select)
28
28
  trigger(:select, menu.current_item)
29
+ trigger(:update)
29
30
  end
30
31
 
31
32
  event :key do |key|
data/lib/playa/player.rb CHANGED
@@ -65,6 +65,10 @@ module Playa
65
65
  player.events
66
66
  end
67
67
 
68
+ def track
69
+ @track
70
+ end
71
+
68
72
  private
69
73
 
70
74
  def open(track)
@@ -13,11 +13,37 @@ module Playa
13
13
  end
14
14
 
15
15
  def progress
16
- '|' * (object.progress * view_width).ceil
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
17
42
  end
18
43
 
44
+ # TODO: playa knows too much here...
19
45
  def view_width
20
- @_width ||= Vedeu.view('progress').width
46
+ @_width ||= Vedeu.view('progress').geometry.width
21
47
  end
22
48
  end
23
49
  end
@@ -2,8 +2,20 @@ require 'playa/view'
2
2
 
3
3
  module Playa
4
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
+
5
13
  private
6
14
 
15
+ # def output
16
+ # self
17
+ # end
18
+
7
19
  def output
8
20
  { 'status' => status }
9
21
  end
@@ -13,7 +25,7 @@ module Playa
13
25
  end
14
26
 
15
27
  def status
16
- [ "\u{25B2} Previous \u{25BC} Next \u{21B2} Select \u{2395} Pause Q Quit" ]
28
+ [ "\u{25B2} Prev \u{25BC} Next \u{21B2} Select \u{2395} Pause Q Quit" ]
17
29
  end
18
30
  end
19
31
  end
data/lib/playa/view.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  module Playa
2
+ NotImplemented = Class.new(StandardError)
3
+
2
4
  class View
3
5
  def self.render(object = nil)
4
6
  new(object).render
@@ -1,3 +1 @@
1
- <%- colour(foreground: '#a5f500', background: '#000000') do -%>
2
- <%- menu.item -%>
3
- <%- end -%>
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
@@ -0,0 +1,7 @@
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 -%>
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'
7
+ spec.version = '0.0.8'
8
8
  spec.authors = ['Gavin Laking']
9
9
  spec.email = ['gavinlaking@gmail.com']
10
10
  spec.summary = 'Plays mp3s from a directory.'
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.add_dependency 'audite', '0.3.0'
31
31
  spec.add_dependency 'ruby-mp3info', '0.8.4'
32
- spec.add_dependency 'vedeu', '0.1.2'
32
+ spec.add_dependency 'vedeu', '0.1.3'
33
33
  end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+ require 'playa/playlist_view'
3
+
4
+ module Playa
5
+ describe PlaylistView do
6
+
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+ require 'playa/progress_view'
3
+
4
+ module Playa
5
+ describe ProgressView do
6
+
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+ require 'playa/status_view'
3
+
4
+ module Playa
5
+ describe StatusView do
6
+
7
+ end
8
+ end
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.7
4
+ version: 0.0.8
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-01 00:00:00.000000000 Z
11
+ date: 2014-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - '='
172
172
  - !ruby/object:Gem::Version
173
- version: 0.1.2
173
+ version: 0.1.3
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - '='
179
179
  - !ruby/object:Gem::Version
180
- version: 0.1.2
180
+ version: 0.1.3
181
181
  description: An example app using Vedeu.
182
182
  email:
183
183
  - gavinlaking@gmail.com
@@ -206,9 +206,13 @@ files:
206
206
  - lib/playa/view.rb
207
207
  - lib/playa/views/playlist.erb
208
208
  - lib/playa/views/status.erb
209
+ - lib/playa/views/status_copy.erb
209
210
  - playa.gemspec
210
211
  - test/lib/playa/controller_test.rb
211
212
  - 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
212
216
  - test/lib/playa/track_collection_test.rb
213
217
  - test/lib/playa/track_test.rb
214
218
  - test/lib/playa/view_test.rb
@@ -242,6 +246,9 @@ summary: Plays mp3s from a directory.
242
246
  test_files:
243
247
  - test/lib/playa/controller_test.rb
244
248
  - 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
245
252
  - test/lib/playa/track_collection_test.rb
246
253
  - test/lib/playa/track_test.rb
247
254
  - test/lib/playa/view_test.rb