hearken 0.0.5 → 0.0.6

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.
@@ -1,3 +1,3 @@
1
1
  module Hearken
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -0,0 +1,5 @@
1
+ module Hearken::Colour
2
+ def c text,colour
3
+ text.to_s.foreground colour
4
+ end
5
+ end
@@ -1,7 +1,10 @@
1
1
  require 'hearken/command'
2
+ require 'hearken/colour'
2
3
 
3
4
  class Hearken::Command::List
4
5
  include Hearken::Command
6
+ include Hearken::Colour
7
+
5
8
  usage '*<word>'
6
9
  help <<EOF
7
10
  lists the contents of the track queue
@@ -24,6 +27,6 @@ EOF
24
27
 
25
28
  def show time, track
26
29
  return unless @terms.empty? or @terms.all? {|term| track.search_string.include? term }
27
- puts time ? "#{time.to_s.foreground(:blue)}\n\t#{track}" : track
30
+ puts time ? "#{c time.strftime("%H:%M:%S %d/%m/%Y"), :blue} #{track}" : track
28
31
  end
29
32
  end
@@ -1,13 +1,20 @@
1
1
  require 'hearken/command'
2
+ require 'hearken/colour'
2
3
 
3
4
  class Hearken::Command::Recent
4
5
  include Hearken::Command
6
+ include Hearken::Colour
7
+
5
8
  usage '<count>'
6
9
  help 'lists the specified number of recently added albums'
7
10
  execute do |text|
8
11
  @player.library.reload unless @player.library.tracks
12
+ all_tracks = @player.library.tracks.sort do |a, b|
13
+ tc = a.timestamp <=> b.timestamp
14
+ tc == 0 ? a.id <=> b.id : tc
15
+ end
9
16
  maximum, current_album, tracks, total_count = text.to_i, nil, [], 0
10
- @player.library.tracks.reverse.each do |track|
17
+ all_tracks.reverse.each do |track|
11
18
  unless current_album
12
19
  current_album = track.album
13
20
  tracks = [track]
@@ -16,7 +23,7 @@ class Hearken::Command::Recent
16
23
  if current_album==track.album
17
24
  tracks << track
18
25
  else
19
- puts "#{current_album} - #{extract_artist tracks} - #{tracks.size} tracks (#{tracks.last.search_id}-#{tracks.first.search_id})"
26
+ puts "#{c extract_artist(tracks), :yellow} #{c current_album, :cyan} #{tracks.size} tracks [#{tracks.last.search_id}-#{tracks.first.search_id}]"
20
27
  current_album = track.album
21
28
  tracks = [track]
22
29
  total_count += 1
@@ -38,10 +38,6 @@ class Hearken::Library
38
38
  @tracks << track
39
39
  id += 1
40
40
  end
41
- @tracks.sort! do |a, b|
42
- tc = a.timestamp <=> b.timestamp
43
- tc == 0 ? a.id <=> b.id : tc
44
- end
45
41
  end if File.exist? index_path
46
42
  end
47
43
  end
@@ -5,10 +5,12 @@ require 'hearken/queue'
5
5
  require 'hearken/scrobbler'
6
6
  require 'hearken/notification/growl_notifier'
7
7
  require 'hearken/library'
8
+ require 'hearken/colour'
8
9
 
9
10
  module Hearken
10
11
  class Player
11
12
  include Queue
13
+ include Colour
12
14
  attr_reader :library, :scrobbler
13
15
 
14
16
  def initialize preferences
@@ -21,16 +23,12 @@ module Hearken
21
23
  create_paths
22
24
  end
23
25
 
24
- def c text,colour
25
- text.to_s.foreground colour
26
- end
27
-
28
26
  def status
29
27
  if @pid
30
28
  track = self.current
31
- puts "Since #{c Time.at(track.started), :cyan}\n\t#{track}"
32
29
  played = Time.now.to_i-track.started
33
- puts "#{c played, :yellow} seconds (#{c track.time.to_i-played, :yellow} remaining)" if track.time
30
+ timing = "(#{c track.time.to_i-played, :yellow} remaining)" if track.time
31
+ puts "#{c Time.at(track.started).strftime("%H:%M:%S %d/%m/%Y"), :blue}: #{track} #{timing}"
34
32
  else
35
33
  puts 'not playing'.foreground(:yellow)
36
34
  end
@@ -26,7 +26,7 @@ class Hearken::Track
26
26
  end
27
27
 
28
28
  def to_s
29
- "#{my(:search_id,:white)}: #{my(:artist, :yellow)} - #{my(:album,:cyan)} - #{my(:track,:magenta)} #{my(:title,:green)} (#{my(:time,:white)})"
29
+ "[#{my(:search_id,:white)}] #{my(:artist, :yellow)} #{my(:album,:cyan)} #{my(:track,:magenta)} #{my(:title,:green)} (#{my(:time,:white)})"
30
30
  end
31
31
 
32
32
  def to_short_s
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: hearken
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.5
5
+ version: 0.0.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mark Ryall
@@ -128,6 +128,7 @@ files:
128
128
  - hearken.gemspec
129
129
  - lib/hearken.rb
130
130
  - lib/hearken/cli.rb
131
+ - lib/hearken/colour.rb
131
132
  - lib/hearken/command.rb
132
133
  - lib/hearken/command/enqueue.rb
133
134
  - lib/hearken/command/flush.rb