playa 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
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