hearken 0.1.1 → 0.1.2
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 +7 -0
- data/bin/hearken_scrobble +35 -0
- data/bin/hearken_tags +11 -0
- data/hearken.gemspec +2 -2
- data/lib/hearken.rb +1 -1
- data/lib/hearken/colour.rb +3 -1
- data/lib/hearken/console.rb +6 -5
- data/lib/hearken/indexing/ffmpeg_file.rb +7 -0
- data/lib/hearken/indexing/file.rb +3 -1
- data/lib/hearken/player.rb +6 -2
- data/lib/hearken/preferences.rb +3 -0
- data/lib/hearken/scrobbler.rb +6 -1
- data/lib/hearken/track.rb +4 -2
- data/spec/hearken/command/enqueue_spec.rb +5 -5
- data/spec/hearken/command/list_spec.rb +7 -7
- data/spec/hearken/command/reload_spec.rb +4 -3
- data/spec/hearken/command/shuffle_spec.rb +15 -13
- data/spec/hearken/player_spec.rb +14 -14
- data/spec/hearken/range_expander_spec.rb +5 -5
- data/spec/spec_helper.rb +12 -1
- metadata +47 -57
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 15943a5107f579fc0766e685b8d792414e7a9c0e
|
4
|
+
data.tar.gz: 434056523b9daed4ff637fba7c47dc111eb88761
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7bd1fe7362205feee7edec57999a948cd9b1cff4c43a38f1a75fbf76e9cff33fb413a80cce4b3f5bc56db117d9ba90ff60c7f00b59353a65e61f29d3db6bb9d6
|
7
|
+
data.tar.gz: bc4a16fe354735aff6645b75a07a9c9d33a2c286c62a6ddb7e21d14c1aa773116ee6edd0d67b3b89076d6f5ac0f42deb7060ab8384ad6241fbe0a4a773ac412b
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$: << File.dirname(__FILE__)+'/../lib'
|
4
|
+
|
5
|
+
command = ARGV.shift
|
6
|
+
|
7
|
+
unless %w{setup start finish}.include? command
|
8
|
+
puts 'usage:'
|
9
|
+
puts ' hearken_scrobble setup'
|
10
|
+
puts ' hearken_scrobble start PATH_TO_AUDIO_FILE'
|
11
|
+
puts ' hearken_scrobble finish PATH_TO_AUDIO_FILE'
|
12
|
+
exit 0
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'hearken/indexing/ffmpeg_file'
|
16
|
+
require 'hearken/scrobbler'
|
17
|
+
|
18
|
+
scrobbler = Hearken::Scrobbler.new
|
19
|
+
scrobbler.enabled = true
|
20
|
+
|
21
|
+
if command == 'setup'
|
22
|
+
scrobbler.setup
|
23
|
+
exit 0
|
24
|
+
end
|
25
|
+
|
26
|
+
file = ARGV.shift
|
27
|
+
track = Hearken::Indexing::FfmpegFile.from_file file
|
28
|
+
|
29
|
+
if command == 'start'
|
30
|
+
scrobbler.started track
|
31
|
+
elsif command == 'finish'
|
32
|
+
scrobbler.finished track
|
33
|
+
else
|
34
|
+
puts 'unknown command'
|
35
|
+
end
|
data/bin/hearken_tags
ADDED
data/hearken.gemspec
CHANGED
@@ -40,9 +40,9 @@ EOF
|
|
40
40
|
s.required_ruby_version = '>= 1.9.2'
|
41
41
|
|
42
42
|
s.add_dependency 'shell_shock', '~>0'
|
43
|
-
s.add_dependency 'rainbow', '~>
|
43
|
+
s.add_dependency 'rainbow', '~> 2'
|
44
44
|
s.add_dependency 'nokogiri', '~> 1'
|
45
45
|
|
46
46
|
s.add_development_dependency 'rake', '~>0'
|
47
|
-
s.add_development_dependency 'rspec', '~>
|
47
|
+
s.add_development_dependency 'rspec', '~>3'
|
48
48
|
end
|
data/lib/hearken.rb
CHANGED
data/lib/hearken/colour.rb
CHANGED
data/lib/hearken/console.rb
CHANGED
@@ -26,12 +26,13 @@ module Hearken
|
|
26
26
|
at_exit { @player.stop }
|
27
27
|
@prompt = "hearken > "
|
28
28
|
with :status, "'"
|
29
|
-
with :restart, 'next'
|
29
|
+
with :restart, 'next', 'k'
|
30
30
|
with :list, 'ls'
|
31
|
-
with :enqueue, 'add'
|
32
|
-
with :remove, 'rm'
|
33
|
-
with :start, 'play'
|
34
|
-
|
31
|
+
with :enqueue, 'add', '+'
|
32
|
+
with :remove, 'rm', '-'
|
33
|
+
with :start, 'play', 'go'
|
34
|
+
with :search, 'find'
|
35
|
+
with_all *%w{reload stop scrobbling shuffle setup_scrobbling recent love profile}
|
35
36
|
end
|
36
37
|
end
|
37
38
|
end
|
@@ -1,9 +1,16 @@
|
|
1
|
+
require 'hearken/indexing/file'
|
1
2
|
require 'hearken/indexing/executor'
|
2
3
|
require 'hearken/monkey_violence'
|
4
|
+
require 'pathname'
|
3
5
|
|
4
6
|
class Hearken::Indexing::FfmpegFile
|
5
7
|
include Hearken::Indexing::Executor
|
6
8
|
|
9
|
+
def self.from_file path
|
10
|
+
file = Hearken::Indexing::File.new Pathname.new path
|
11
|
+
Hearken::Indexing::FfmpegFile.new file
|
12
|
+
end
|
13
|
+
|
7
14
|
def initialize path
|
8
15
|
extract_file_attributes path
|
9
16
|
content = execute "ffmpeg -i #{@path.escape_for_sh}"
|
data/lib/hearken/player.rb
CHANGED
@@ -29,7 +29,7 @@ module Hearken
|
|
29
29
|
timing = "(#{c track.time.to_i-played, :yellow} remaining)" if track.time
|
30
30
|
puts "#{c Time.at(track.started).strftime("%H:%M:%S %d/%m/%Y"), :blue}: #{track} #{timing}"
|
31
31
|
else
|
32
|
-
puts 'not playing'
|
32
|
+
puts c 'not playing', :yellow
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -63,7 +63,11 @@ module Hearken
|
|
63
63
|
@notifiers.each {|notifier| notifier.finished track if notifier.respond_to? :finished}
|
64
64
|
end
|
65
65
|
|
66
|
-
def scrobbling
|
66
|
+
def scrobbling
|
67
|
+
@scrobbler.enabled
|
68
|
+
end
|
69
|
+
|
70
|
+
def scrobbling= tf
|
67
71
|
@scrobbler.enabled = tf
|
68
72
|
end
|
69
73
|
|
data/lib/hearken/preferences.rb
CHANGED
data/lib/hearken/scrobbler.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'hearken/preferences'
|
1
2
|
require 'hearken/simple_scrobbler'
|
2
3
|
require 'hearken/debug'
|
3
4
|
|
@@ -8,10 +9,14 @@ module Hearken
|
|
8
9
|
SECRET = 'ab77019c84eef8bc16bcfd5ba8db0c5d'
|
9
10
|
include Debug
|
10
11
|
|
11
|
-
def initialize preferences
|
12
|
+
def initialize preferences=Hearken::Preferences.new
|
12
13
|
@preferences = preferences
|
13
14
|
end
|
14
15
|
|
16
|
+
def enabled
|
17
|
+
!!@scrobbler
|
18
|
+
end
|
19
|
+
|
15
20
|
def enabled= tf
|
16
21
|
@scrobbler = nil
|
17
22
|
if @preferences['lastfm'] and tf
|
data/lib/hearken/track.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require 'hearken/tagged'
|
2
|
-
require '
|
2
|
+
require 'hearken/colour'
|
3
3
|
|
4
4
|
class Hearken::Track
|
5
5
|
include Hearken::Tagged
|
6
|
+
include Hearken::Colour
|
7
|
+
|
6
8
|
attr_accessor :id, :started
|
7
9
|
|
8
10
|
def initialize id=nil
|
@@ -34,6 +36,6 @@ class Hearken::Track
|
|
34
36
|
end
|
35
37
|
|
36
38
|
def my field, colour
|
37
|
-
self.send(field).to_s
|
39
|
+
c self.send(field).to_s, colour
|
38
40
|
end
|
39
41
|
end
|
@@ -8,16 +8,16 @@ describe Hearken::Command::Enqueue do
|
|
8
8
|
with_help 'enqueues the list of songs with the specified ids'
|
9
9
|
|
10
10
|
before do
|
11
|
-
@player =
|
11
|
+
@player = double 'player'
|
12
12
|
@command = Hearken::Command::Enqueue.new @player
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'should enqueue whatever is returned from the expander' do
|
16
|
-
expander =
|
17
|
-
Hearken::RangeExpander.
|
18
|
-
expander.
|
16
|
+
expander = double 'expander'
|
17
|
+
allow(Hearken::RangeExpander).to receive(:new) { expander }
|
18
|
+
allow(expander).to receive(:expand).with('some text') { [1,2,3] }
|
19
19
|
|
20
|
-
[1,2,3].each {|id| @player.
|
20
|
+
[1,2,3].each {|id| expect(@player).to receive(:enqueue).with(id) }
|
21
21
|
|
22
22
|
@command.execute "some text"
|
23
23
|
end
|
@@ -11,21 +11,21 @@ when playing, approximate times for each track will be displayed
|
|
11
11
|
EOF
|
12
12
|
|
13
13
|
before do
|
14
|
-
@player =
|
14
|
+
@player = double 'player'
|
15
15
|
@command = Hearken::Command::List.new @player
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'should display nothing when there is no current track and nothing enqueued' do
|
19
|
-
@player.
|
20
|
-
@player.
|
19
|
+
allow(@player).to receive(:current) { nil }
|
20
|
+
allow(@player).to receive(:each)
|
21
21
|
@command.execute ''
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should display queue contents with no times when there is no current track' do
|
25
|
-
track =
|
26
|
-
@player.
|
27
|
-
@player.
|
28
|
-
@command.
|
25
|
+
track = double 'track'
|
26
|
+
allow(@player).to receive(:current) { nil }
|
27
|
+
allow(@player).to receive(:each).and_yield track
|
28
|
+
expect(@command).to receive(:puts).with(track)
|
29
29
|
@command.execute ''
|
30
30
|
end
|
31
31
|
end
|
@@ -8,13 +8,14 @@ describe Hearken::Command::Reload do
|
|
8
8
|
with_help 'reloads the contents of the music library for fast searching'
|
9
9
|
|
10
10
|
before do
|
11
|
-
@library =
|
12
|
-
@player =
|
11
|
+
@library = double 'library'
|
12
|
+
@player = double 'player'
|
13
|
+
allow(@player).to receive(:library) { @library }
|
13
14
|
@command = Hearken::Command::Reload.new @player
|
14
15
|
end
|
15
16
|
|
16
17
|
it 'should reload the library' do
|
17
|
-
@library.
|
18
|
+
expect(@library).to receive(:reload)
|
18
19
|
@command.execute '123'
|
19
20
|
end
|
20
21
|
end
|
@@ -8,23 +8,25 @@ describe Hearken::Command::Shuffle do
|
|
8
8
|
with_help 'shuffles the current queue'
|
9
9
|
|
10
10
|
before do
|
11
|
-
@player =
|
11
|
+
@player = double 'player'
|
12
12
|
@command = Hearken::Command::Shuffle.new @player
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'should dequeue all tracks, shuffle then enqueue them' do
|
16
|
-
track =
|
17
|
-
|
18
|
-
track.
|
19
|
-
track.
|
20
|
-
|
21
|
-
|
22
|
-
@player.
|
23
|
-
@player.
|
24
|
-
|
25
|
-
@player.
|
26
|
-
|
27
|
-
@player.
|
16
|
+
track = double 'track'
|
17
|
+
|
18
|
+
expect(track).to receive(:id) { 1 }
|
19
|
+
expect(track).to receive(:id) { 2 }
|
20
|
+
expect(track).to receive(:id) { 3 }
|
21
|
+
|
22
|
+
expect(@player).to receive(:dequeue) { track }
|
23
|
+
expect(@player).to receive(:dequeue) { track }
|
24
|
+
expect(@player).to receive(:dequeue) { track }
|
25
|
+
expect(@player).to receive(:dequeue) { nil }
|
26
|
+
|
27
|
+
expect(@player).to receive(:enqueue) { 1 }
|
28
|
+
expect(@player).to receive(:enqueue) { 2 }
|
29
|
+
expect(@player).to receive(:enqueue) { 3 }
|
28
30
|
|
29
31
|
@command.execute
|
30
32
|
end
|
data/spec/hearken/player_spec.rb
CHANGED
@@ -6,33 +6,33 @@ describe Hearken::Player do
|
|
6
6
|
let(:player) { Hearken::Player.new preferences }
|
7
7
|
|
8
8
|
before do
|
9
|
-
scrobbler =
|
10
|
-
library =
|
11
|
-
Hearken::Scrobbler.
|
12
|
-
Hearken::Library.
|
13
|
-
library.
|
14
|
-
scrobbler.
|
9
|
+
scrobbler = double 'scrobbler'
|
10
|
+
library = double 'library'
|
11
|
+
allow(Hearken::Scrobbler).to receive(:new) { scrobbler }
|
12
|
+
allow(Hearken::Library).to receive(:new) { library }
|
13
|
+
allow(library).to receive(:reload)
|
14
|
+
allow(scrobbler).to receive(:enabled=)
|
15
15
|
end
|
16
16
|
|
17
17
|
describe '#current' do
|
18
18
|
it 'should return current_track when player has pid and file is present' do
|
19
19
|
player.instance_eval { @pid = 1 }
|
20
|
-
hash =
|
21
|
-
File.
|
22
|
-
YAML.
|
23
|
-
player.current.
|
20
|
+
hash = double 'hash'
|
21
|
+
allow(File).to receive(:exist?).with('current_song') { true }
|
22
|
+
allow(YAML).to receive(:load_file).with('current_song') { hash }
|
23
|
+
expect(player.current).to eq(hash)
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'should return nil when player has no pid and file is present' do
|
27
27
|
player.instance_eval { @pid = nil }
|
28
|
-
File.
|
29
|
-
player.current.
|
28
|
+
allow(File).to receive(:exist?).with('current_song') { true }
|
29
|
+
expect(player.current).to be_nil
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'should return nil when has pid and file is not present' do
|
33
33
|
player.instance_eval { @pid = 1 }
|
34
|
-
File.
|
35
|
-
player.current.
|
34
|
+
allow(File).to receive(:exist?).with('current_song') { false }
|
35
|
+
expect(player.current).to be_nil
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -7,22 +7,22 @@ describe Hearken::RangeExpander do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should expand single values' do
|
10
|
-
@expander.expand('123').
|
10
|
+
expect(@expander.expand('123')).to eq([1371])
|
11
11
|
end
|
12
12
|
|
13
13
|
it 'should expand multiple values separated by any non digit' do
|
14
|
-
@expander.expand("123 \t 456 , 789 ").
|
14
|
+
expect(@expander.expand("123 \t 456 , 789 ")).to eq([1371, 5370, 9369])
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should expand a fully specified range' do
|
18
|
-
@expander.expand(" 456-45i ").
|
18
|
+
expect(@expander.expand(" 456-45i ")).to eq((5370..5382).to_a)
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should expand an abbreviated range' do
|
22
|
-
@expander.expand(" 456-i ").
|
22
|
+
expect(@expander.expand(" 456-i ")).to eq((5370..5382).to_a)
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should expand ids for a range' do
|
26
|
-
@expander.expand_to_ids(" s-z ").
|
26
|
+
expect(@expander.expand_to_ids(" s-z ")).to eq(%w{s t u v w x y z})
|
27
27
|
end
|
28
28
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,4 +2,15 @@ $: << File.expand_path('../../lib', __FILE__)
|
|
2
2
|
|
3
3
|
require 'bundler/setup'
|
4
4
|
require 'rspec'
|
5
|
-
|
5
|
+
|
6
|
+
module ShellShock
|
7
|
+
module CommandSpec
|
8
|
+
def with_usage text
|
9
|
+
it('should display usage') { expect(@command.usage).to eq(text) }
|
10
|
+
end
|
11
|
+
|
12
|
+
def with_help text
|
13
|
+
it('should display help') { expect(@command.help).to eq(text) }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,123 +1,110 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hearken
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mark Ryall
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-09-09 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: shell_shock
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rainbow
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: '
|
33
|
+
version: '2'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: '
|
40
|
+
version: '2'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: nokogiri
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '1'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '1'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rspec
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version: '
|
75
|
+
version: '3'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
94
|
-
description:
|
95
|
-
|
82
|
+
version: '3'
|
83
|
+
description: |
|
84
|
+
A command line tool to enqueue and play music tracks.
|
96
85
|
|
97
86
|
This also extracts the tags from a collection of folders.
|
98
87
|
|
99
|
-
|
100
|
-
This replaces and combines the functionality from a couple of other gems (audio_library
|
101
|
-
and songbirdsh).
|
102
|
-
|
103
|
-
'
|
88
|
+
This replaces and combines the functionality from a couple of other gems (audio_library and songbirdsh).
|
104
89
|
email:
|
105
90
|
- mark@ryall.name
|
106
91
|
executables:
|
107
92
|
- hearken
|
108
93
|
- hearken_index
|
94
|
+
- hearken_scrobble
|
95
|
+
- hearken_tags
|
109
96
|
extensions: []
|
110
97
|
extra_rdoc_files: []
|
111
98
|
files:
|
112
|
-
- .cards/4d6da46f-8838-488f-997b-9ec873092d5d
|
113
|
-
- .cards/68695ed3-ef6c-4c65-939e-48695a4511c8
|
114
|
-
- .cards/6ed72945-35a4-4372-97d8-13b357d8c7c0
|
115
|
-
- .cards/91de072e-4427-48dc-89ad-0b03756eb689
|
116
|
-
- .cards/9242c879-a66f-4144-8f24-b05f7c5a49f3
|
117
|
-
- .cards/94f23de2-4e0c-417a-aa82-3147908e2481
|
118
|
-
- .cards/a5be50c4-2117-4ecf-bc64-e9977f4d52c1
|
119
|
-
- .cards/f742a9f4-36af-43e5-a7cb-480049a43821
|
120
|
-
- .gitignore
|
99
|
+
- ".cards/4d6da46f-8838-488f-997b-9ec873092d5d"
|
100
|
+
- ".cards/68695ed3-ef6c-4c65-939e-48695a4511c8"
|
101
|
+
- ".cards/6ed72945-35a4-4372-97d8-13b357d8c7c0"
|
102
|
+
- ".cards/91de072e-4427-48dc-89ad-0b03756eb689"
|
103
|
+
- ".cards/9242c879-a66f-4144-8f24-b05f7c5a49f3"
|
104
|
+
- ".cards/94f23de2-4e0c-417a-aa82-3147908e2481"
|
105
|
+
- ".cards/a5be50c4-2117-4ecf-bc64-e9977f4d52c1"
|
106
|
+
- ".cards/f742a9f4-36af-43e5-a7cb-480049a43821"
|
107
|
+
- ".gitignore"
|
121
108
|
- Gemfile
|
122
109
|
- HISTORY.rdoc
|
123
110
|
- MIT-LICENSE
|
@@ -125,6 +112,8 @@ files:
|
|
125
112
|
- Rakefile
|
126
113
|
- bin/hearken
|
127
114
|
- bin/hearken_index
|
115
|
+
- bin/hearken_scrobble
|
116
|
+
- bin/hearken_tags
|
128
117
|
- hearken.gemspec
|
129
118
|
- lib/hearken.rb
|
130
119
|
- lib/hearken/colour.rb
|
@@ -179,34 +168,35 @@ files:
|
|
179
168
|
homepage: http://github.com/markryall/hearken
|
180
169
|
licenses:
|
181
170
|
- MIT
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
171
|
+
metadata: {}
|
172
|
+
post_install_message: |
|
173
|
+
Hey - thanks for installing hearken.
|
174
|
+
|
175
|
+
Before doing anything else, you should index your music collection by running:
|
176
|
+
|
177
|
+
hearken_index path_to_your_music_collection
|
178
|
+
|
179
|
+
This could take a while if you have a large collection - you should hear some applause when it's done
|
180
|
+
|
181
|
+
After that just run hearken to start playing, queueing and rocking out.
|
187
182
|
rdoc_options: []
|
188
183
|
require_paths:
|
189
184
|
- lib
|
190
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
186
|
requirements:
|
193
|
-
- -
|
187
|
+
- - ">="
|
194
188
|
- !ruby/object:Gem::Version
|
195
189
|
version: 1.9.2
|
196
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
|
-
none: false
|
198
191
|
requirements:
|
199
|
-
- -
|
192
|
+
- - ">="
|
200
193
|
- !ruby/object:Gem::Version
|
201
194
|
version: '0'
|
202
|
-
segments:
|
203
|
-
- 0
|
204
|
-
hash: 2801778265441540950
|
205
195
|
requirements: []
|
206
196
|
rubyforge_project: hearken
|
207
|
-
rubygems_version:
|
197
|
+
rubygems_version: 2.2.2
|
208
198
|
signing_key:
|
209
|
-
specification_version:
|
199
|
+
specification_version: 4
|
210
200
|
summary: command line music player
|
211
201
|
test_files:
|
212
202
|
- spec/hearken/command/enqueue_spec.rb
|