jimmy_jukebox 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
data/lib/jimmy_jukebox.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'jimmy_jukebox/user_config'
2
2
  require 'jimmy_jukebox/song'
3
3
  require 'jimmy_jukebox/jukebox'
4
+ require 'jimmy_jukebox/music_player_detector'
4
5
 
5
6
  include JimmyJukebox
6
7
 
@@ -41,10 +41,12 @@ module Artists
41
41
  mr: { genre: 'CLASSICAL', name: "maurice_ravel"},
42
42
  odjb: { genre: 'JAZZ', name: "original_dixieland_jazz_band"},
43
43
  op: { genre: 'JAZZ', name: "oscar_peterson"},
44
+ pw: { genre: 'JAZZ', name: "paul_whiteman"},
44
45
  rt: { genre: 'JAZZ', name: "ragtime"},
45
46
  rn: { genre: 'JAZZ', name: "red_norvo"},
46
47
  fs: { genre: 'CLASSICAL', name: "franz_schubert"},
47
48
  sb: { genre: 'JAZZ', name: "sidney_bechet"},
49
+ sj: { genre: 'JAZZ', name: "scott_joplin"},
48
50
  v: { genre: 'CLASSICAL', name: "vivaldi"},
49
51
  wam: { genre: 'CLASSICAL', name: "mozart"}
50
52
  }
@@ -0,0 +1,123 @@
1
+ module JimmyJukebox
2
+
3
+ class MusicPlayerDetector
4
+
5
+ def ogg_player
6
+ if ogg123_exists?
7
+ "ogg123"
8
+ elsif music123_exists?
9
+ "music123"
10
+ elsif afplay_exists?
11
+ "afplay"
12
+ elsif mplayer_exists?
13
+ "mplayer -nolirc -noconfig all"
14
+ elsif play_exists?
15
+ "play"
16
+ elsif cvlc_exists?
17
+ "cvlc --play-and-exit -q"
18
+ elsif amarok_exists?
19
+ "amarok"
20
+ end
21
+ end
22
+
23
+ def mp3_player
24
+ if mpg123_exists?
25
+ "mpg123"
26
+ elsif mpg321_exists?
27
+ "mpg321"
28
+ elsif music123_exists?
29
+ "music123"
30
+ elsif afplay_exists?
31
+ "afplay"
32
+ elsif mplayer_exists?
33
+ "mplayer -nolirc -noconfig all"
34
+ elsif play_exists?
35
+ "play"
36
+ elsif cvlc_exists?
37
+ "cvlc --play-and-exit -q"
38
+ elsif amarok_exists?
39
+ "amarok"
40
+ end
41
+ end
42
+
43
+ def aac_player
44
+ end
45
+
46
+ def wma_player
47
+ end
48
+
49
+ def wav_player
50
+ if cvlc_exists?
51
+ "cvlc --play-and-exit -q"
52
+ elsif play_exists?
53
+ "play"
54
+ elsif mplayer_exists?
55
+ "mplayer -nolirc -noconfig all"
56
+ elsif aplay_exists?
57
+ "aplay"
58
+ elsif amarok_exists?
59
+ "amarok"
60
+ end
61
+ end
62
+
63
+ def flac_player
64
+ if cvlc_exists?
65
+ "cvlc --play-and-exit -q"
66
+ elsif play_exists?
67
+ "play"
68
+ elsif mplayer_exists?
69
+ "mplayer -nolirc -noconfig all"
70
+ end
71
+ end
72
+
73
+ # can't figure out how to play just one song
74
+ def mpc_exists?
75
+ `which mpc`.match(/.*\/mpc$/) ? true : false
76
+ end
77
+
78
+ # other players possibly worth enabling
79
+ # https://xmms2.org/wiki/Using_the_application
80
+
81
+ def cvlc_exists?
82
+ `which cvlc`.match(/.*\/cvlc$/) ? true : false
83
+ end
84
+
85
+ def aplay_exists?
86
+ `which aplay`.match(/.*\/aplay$/) ? true : false
87
+ end
88
+
89
+ def ogg123_exists?
90
+ `which ogg123`.match(/.*\/ogg123$/) ? true : false
91
+ end
92
+
93
+ def mpg123_exists?
94
+ `which mpg123`.match(/.*\/mpg123$/) ? true : false
95
+ end
96
+
97
+ def music123_exists?
98
+ `which music123`.match(/.*\/music123$/) ? true : false
99
+ end
100
+
101
+ def mpg321_exists?
102
+ `which mpg321`.match(/.*\/mpg321$/) ? true : false
103
+ end
104
+
105
+ def afplay_exists?
106
+ `which afplay`.match(/.*\/afplay$/) ? true : false
107
+ end
108
+
109
+ def mplayer_exists?
110
+ `which mplayer`.match(/.*\/mplayer$/) ? true : false
111
+ end
112
+
113
+ def play_exists?
114
+ `which play`.match(/.*\/play$/) ? true : false
115
+ end
116
+
117
+ def amarok_exists?
118
+ `which amarok`.match(/.*\/amarok$/) ? true : false
119
+ end
120
+
121
+ end
122
+
123
+ end
@@ -31,10 +31,10 @@ module JimmyJukebox
31
31
  end
32
32
 
33
33
  def set_music_file(in_music_file)
34
- if in_music_file =~ /\.mp3$/i || in_music_file =~ /\.ogg$/i
34
+ if in_music_file =~ /\.mp3$/i || in_music_file =~ /\.ogg$/i || in_music_file =~ /\.wav$/i || in_music_file =~ /.flac$/i
35
35
  @music_file = File.expand_path(in_music_file)
36
36
  else
37
- raise InvalidSongFormatException, "JimmyJukebox plays only .mp3/.ogg files. #{in_music_file} is not valid"
37
+ raise InvalidSongFormatException, "JimmyJukebox plays only .mp3/.ogg/.flac/.wav files. #{in_music_file} is not valid"
38
38
  end
39
39
  end
40
40
 
@@ -96,6 +96,10 @@ module JimmyJukebox
96
96
  self.player = user_config.mp3_player
97
97
  elsif music_file =~ /\.ogg$/i
98
98
  self.player = user_config.ogg_player
99
+ elsif music_file =~ /\.wav$/i
100
+ self.player = user_config.wav_player
101
+ elsif music_file =~ /\.flac$/i
102
+ self.player = user_config.flac_player
99
103
  else
100
104
  raise UnsupportedSongFormatException, "Attempted to play a file format this program cannot play"
101
105
  end
@@ -0,0 +1,2 @@
1
+ ---
2
+ - http://archive.org/download/JazzInspirationHoraceSilver/345678.mp3
@@ -0,0 +1,5 @@
1
+ ---
2
+ - http://archive.org/download/PaulWhiteman-4UneditedWavFiles-TwoUncommon/InaBoat.wav
3
+ - http://archive.org/download/PaulWhiteman-4UneditedWavFiles-TwoUncommon/Sweetheart.wav
4
+ - http://archive.org/download/PaulWhiteman-4UneditedWavFiles-TwoUncommon/TheJapaneseSandman.wav
5
+ - http://archive.org/download/PaulWhiteman-4UneditedWavFiles-TwoUncommon/Whispering.wav
@@ -0,0 +1,11 @@
1
+ ---
2
+ - http://archive.org/download/ScottJoplinsMapleLeafRag/MapleLeafRag.mp3
3
+ - http://archive.org/download/WeepingWillowRagScottJoplin1903/weepingWillowRagScottJoplin1903RagtimePianoRollLegend.mp3
4
+ - http://archive.org/download/ScottJoplin-01-06/ScottJoplin-JosephLamb1908.mp3
5
+ - http://archive.org/download/ScottJoplin-01-06/ScottJoplin-OriginalRagspianoRoll1900.mp3
6
+ - http://archive.org/download/ScottJoplin-01-06/ScottJoplin-PianoRollBlues1900.mp3
7
+ - http://archive.org/download/ScottJoplin-01-06/ScottJoplin-PineappleRag1908.mp3
8
+ - http://archive.org/download/ScottJoplin-01-06/ScottJoplin-RagtimeDance1906.mp3
9
+ - http://archive.org/download/ScottJoplin-TheEntertainer1902/ScottJoplin-TheEntertainer1902.mp3
10
+ - http://archive.org/download/MapleLeafRag/MapleLeafRag_vbr.mp3
11
+ - http://archive.org/download/MapleLeafRag/MapleLeafRag.mp3
@@ -1,6 +1,7 @@
1
1
  require 'fileutils'
2
2
 
3
3
  require 'jimmy_jukebox/artists'
4
+ require 'jimmy_jukebox/music_player_detector'
4
5
  include Artists
5
6
 
6
7
  module JimmyJukebox
@@ -21,7 +22,7 @@ module JimmyJukebox
21
22
  class UserConfig
22
23
 
23
24
  attr_writer :music_directories
24
- attr_accessor :songs, :ogg_player, :mp3_player
25
+ attr_accessor :songs, :ogg_player, :mp3_player, :wav_player, :flac_player
25
26
 
26
27
  DEFAULT_PLAYLIST_DIR = File.expand_path(File.join("~",".jimmy_jukebox"))
27
28
 
@@ -71,88 +72,24 @@ module JimmyJukebox
71
72
  end
72
73
 
73
74
  def set_music_players
74
- set_ogg_player
75
- set_mp3_player
75
+ detector = MusicPlayerDetector.new
76
+ self.ogg_player = detector.ogg_player
77
+ self.mp3_player = detector.mp3_player
78
+ self.wav_player = detector.wav_player
79
+ self.flac_player = detector.flac_player
76
80
  no_player_configured unless ogg_player || mp3_player
77
81
  warn_about_partial_functionality if !ogg_player || !mp3_player
78
82
  end
79
83
 
80
84
  def no_player_configured
81
- puts "*** YOU CANNOT PLAY MP3S OR OGG FILES -- YOU MIGHT WANT TO INSTALL ogg123 AND mpg123/mpg321 BEFORE USING JIMMYJUKEBOX ***"
85
+ puts "*** YOU CANNOT PLAY MP3S OR OGG FILES -- YOU'LL PROBABLY NEED TO INSTALL AN OGG PLAYER (like ogg123) AND AN MP3 PLAYER (like mpg123) BEFORE USING JIMMYJUKEBOX ***"
82
86
  exit
83
87
  end
84
88
 
85
89
  def warn_about_partial_functionality
86
- if ogg_player && !mp3_player
87
- puts "*** YOU CANNOT PLAY MP3S -- YOU MIGHT WANT TO INSTALL MPG123 OR MPG321 ***"
88
- elsif mp3_player && !ogg_player
89
- puts "*** YOU CANNOT PLAY OGG FILES -- YOU MIGHT WANT TO INSTALL OGG123 ***"
90
- end
91
- end
92
-
93
- def set_ogg_player
94
- if ogg123_exists?
95
- self.ogg_player = "ogg123"
96
- return
97
- elsif music123_exists?
98
- self.ogg_player = "music123"
99
- return
100
- elsif afplay_exists?
101
- self.ogg_player = "afplay"
102
- return
103
- elsif mplayer_exists?
104
- self.ogg_player = "mplayer -nolirc -noconfig all"
105
- elsif play_exists?
106
- self.ogg_player = "play"
107
- end
108
- end
109
-
110
- def set_mp3_player
111
- if mpg123_exists?
112
- self.mp3_player = "mpg123"
113
- return
114
- elsif mpg321_exists?
115
- self.mp3_player = "mpg321"
116
- return
117
- elsif music123_exists?
118
- self.mp3_player = "music123"
119
- return
120
- elsif afplay_exists?
121
- self.mp3_player = "afplay"
122
- return
123
- elsif mplayer_exists?
124
- self.mp3_player = "mplayer -nolirc -noconfig all"
125
- elsif play_exists?
126
- self.mp3_player = "play"
127
- end
128
- end
129
-
130
- def ogg123_exists?
131
- `which ogg123`.match(/.*\/ogg123$/) ? true : false
132
- end
133
-
134
- def mpg123_exists?
135
- `which mpg123`.match(/.*\/mpg123$/) ? true : false
136
- end
137
-
138
- def music123_exists?
139
- `which music123`.match(/.*\/music123$/) ? true : false
140
- end
141
-
142
- def mpg321_exists?
143
- `which mpg321`.match(/.*\/mpg321$/) ? true : false
144
- end
145
-
146
- def afplay_exists?
147
- `which afplay`.match(/.*\/afplay$/) ? true : false
148
- end
149
-
150
- def mplayer_exists?
151
- `which mplayer`.match(/.*\/mplayer$/) ? true : false
152
- end
153
-
154
- def play_exists?
155
- `which play`.match(/.*\/play$/) ? true : false
90
+ puts "*** YOU CANNOT PLAY MP3S -- YOU MIGHT WANT TO INSTALL AN MP3 PLAYER (like mpg123 OR mpg321) ***" if !mp3_player
91
+ puts "*** YOU CANNOT PLAY OGG FILES -- YOU MIGHT WANT TO INSTALL AN OGG PLAYER (like ogg123) ***" if !ogg_player
92
+ puts "*** YOU CANNOT PLAY WAV FILES -- YOU MIGHT WANT TO INSTALL A WAV PLAYER (like vlc) ***" if !wav_player
156
93
  end
157
94
 
158
95
  def set_music_directories_from_file
@@ -185,10 +122,10 @@ module JimmyJukebox
185
122
  music_directories << dir
186
123
  elsif ARTISTS.keys.include?(ARGV[0].to_sym)
187
124
  music_directories << default_music_dir + artist_key_to_subdir_name(ARGV[0].to_sym)
188
- elsif is_a_txt_file?(ARGV[0])
125
+ elsif is_a_txt_file?(ARGV[0].strip)
189
126
  set_music_directories_from_file
190
- elsif is_a_directory?(ARGV[0])
191
- music_directories << File.expand_path(ARGV[0])
127
+ elsif is_a_directory?(ARGV[0].strip)
128
+ music_directories << File.expand_path(ARGV[0].strip)
192
129
  else
193
130
  music_directories << default_music_dir
194
131
  end
@@ -241,7 +178,7 @@ module JimmyJukebox
241
178
  if "".respond_to?(:force_encoding) # Ruby 1.8 doesn't have string encoding or String#force_encoding
242
179
  files.delete_if { |f| !f.force_encoding("UTF-8").valid_encoding? } # avoid "invalid byte sequence in UTF-8 (ArgumentError)"
243
180
  end
244
- files.delete_if { |f| !f.match(/.*\.mp3/i) && !f.match(/.*\.ogg/i) }
181
+ files.delete_if { |f| !f.match(/.*\.mp3/i) && !f.match(/.*\.ogg/i) && !f.match(/.*\.wav/i) && !f.match(/.*\.flac/i) }
245
182
  files.map! { |f| File.expand_path(music_dir) + '/' + f }
246
183
  files.each { |f| songs << f }
247
184
  end
@@ -1,4 +1,4 @@
1
1
  module JimmyJukebox
2
- VERSION = '0.5.7'
2
+ VERSION = '0.5.8'
3
3
  DATE = '2013-03-13'
4
4
  end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+ require File.dirname(__FILE__) + '/../lib/jimmy_jukebox/music_player_detector'
3
+ include JimmyJukebox
4
+
5
+ describe MusicPlayerDetector do
6
+
7
+ include FakeFS::SpecHelpers
8
+
9
+ let(:detector) { MusicPlayerDetector.new }
10
+
11
+ before(:all) do
12
+ ARGV.clear
13
+ end
14
+
15
+ describe "#ogg_player" do
16
+
17
+ it "does not find ogg123 when not present" do
18
+ detector.should_receive(:`).with("which ogg123").and_return("")
19
+ detector.should_receive(:`).with("which music123").and_return("/usr/bin/music123")
20
+ detector.ogg_player.should == 'music123'
21
+ end
22
+
23
+ it "finds ogg123 when present" do
24
+ detector.should_receive(:`).with("which ogg123").and_return("/usr/bin/ogg123")
25
+ detector.ogg_player.should == 'ogg123'
26
+ end
27
+
28
+ it "finds afplay when present" do
29
+ detector.should_receive(:`).with("which ogg123").and_return("")
30
+ detector.should_receive(:`).with("which music123").and_return("")
31
+ detector.should_receive(:`).with("which afplay").and_return("/usr/bin/afplay")
32
+ detector.ogg_player.should == 'afplay'
33
+ end
34
+
35
+ it "finds mplayer when present" do
36
+ detector.should_receive(:`).with("which ogg123").and_return("")
37
+ detector.should_receive(:`).with("which music123").and_return("")
38
+ detector.should_receive(:`).with("which afplay").and_return("")
39
+ detector.should_receive(:`).with("which mplayer").and_return("/usr/bin/mplayer")
40
+ detector.ogg_player.should == 'mplayer -nolirc -noconfig all'
41
+ end
42
+
43
+ end
44
+
45
+ describe "#mp3_player" do
46
+
47
+ it "does not find mpg123 when not present" do
48
+ detector.should_receive(:`).with("which mpg123").and_return("")
49
+ detector.should_receive(:`).with("which mpg321").and_return("/usr/bin/mpg321")
50
+ detector.mp3_player.should == 'mpg321'
51
+ end
52
+
53
+ it "finds mpg123 when present" do
54
+ detector.should_receive(:`).with("which mpg123").and_return("/usr/bin/mpg123")
55
+ detector.mp3_player.should == 'mpg123'
56
+ end
57
+
58
+ it "finds music123 when present" do
59
+ detector.should_receive(:`).with("which mpg123").and_return("")
60
+ detector.should_receive(:`).with("which mpg321").and_return("")
61
+ detector.should_receive(:`).with("which music123").and_return("/usr/bin/music123")
62
+ detector.mp3_player.should == 'music123'
63
+ end
64
+
65
+ it "finds mplayer when present" do
66
+ detector.should_receive(:`).with("which mpg123").and_return("")
67
+ detector.should_receive(:`).with("which mpg321").and_return("")
68
+ detector.should_receive(:`).with("which music123").and_return("")
69
+ detector.should_receive(:`).with("which afplay").and_return("")
70
+ detector.should_receive(:`).with("which mplayer").and_return("/usr/bin/mplayer")
71
+ detector.mp3_player.should == 'mplayer -nolirc -noconfig all'
72
+ end
73
+
74
+ end
75
+
76
+ end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'fileutils'
2
3
  require File.dirname(__FILE__) + '/../lib/jimmy_jukebox/user_config'
3
4
  include JimmyJukebox
4
5
 
@@ -24,6 +25,14 @@ describe UserConfig do
24
25
  #
25
26
  #end
26
27
 
28
+ describe "#is_a_directory?" do
29
+ it "accepts relative paths" do
30
+ dir = '~/Music/JAZZ/Art_Tatum'
31
+ FileUtils.mkdir_p(File.expand_path(dir))
32
+ UserConfig.new.is_a_directory?(dir).should be_true
33
+ end
34
+ end
35
+
27
36
  describe "#shortcuts" do
28
37
 
29
38
  it "finds dirs based on regex keys" do
@@ -109,88 +118,6 @@ describe UserConfig do
109
118
 
110
119
  end
111
120
 
112
- it "does not complain when ogg123 & mpg123 both installed" do
113
- uc.should_receive(:`).with("which ogg123").and_return("/usr/bin/ogg123")
114
- uc.should_receive(:`).with("which mpg123").and_return("/usr/bin/mpg123")
115
- uc.should_not_receive(:puts)
116
- uc.send(:set_music_players)
117
- uc.instance_variable_get(:@ogg_player).should == "ogg123"
118
- uc.instance_variable_get(:@mp3_player).should == "mpg123"
119
- end
120
-
121
- it "does not complain when ogg123 & mpg321 both installed but not mpg123" do
122
- uc.should_receive(:`).with("which ogg123").and_return("/usr/bin/ogg123")
123
- uc.should_receive(:`).with("which mpg123").and_return("")
124
- uc.should_receive(:`).with("which mpg321").and_return("/usr/bin/mpg321")
125
- uc.should_not_receive(:puts)
126
- uc.send(:set_music_players)
127
- uc.instance_variable_get(:@ogg_player).should == "ogg123"
128
- uc.instance_variable_get(:@mp3_player).should == "mpg321"
129
- end
130
-
131
- it "complains when ogg123 installed but mpg123, mpg321, music123, afplay & play not installed" do
132
- uc.instance_variable_set(:@ogg_player, nil)
133
- uc.instance_variable_set(:@mp3_player, nil)
134
- uc.should_receive(:`).at_least(:once).with("which ogg123").and_return("/usr/bin/ogg123")
135
- uc.should_receive(:`).at_least(:once).with("which mpg123").and_return("")
136
- uc.should_receive(:`).at_least(:once).with("which mpg321").and_return("")
137
- uc.should_receive(:`).at_least(:once).with("which music123").and_return("")
138
- uc.should_receive(:`).at_least(:once).with("which afplay").and_return("")
139
- uc.should_receive(:`).at_least(:once).with("which mplayer").and_return("")
140
- uc.should_receive(:`).at_least(:once).with("which play").and_return("")
141
- uc.should_receive(:puts).with("*** YOU CANNOT PLAY MP3S -- YOU MIGHT WANT TO INSTALL MPG123 OR MPG321 ***")
142
- uc.send(:set_music_players)
143
- uc.instance_variable_get(:@ogg_player).should == "ogg123"
144
- uc.instance_variable_get(:@mp3_player).should be_false
145
- end
146
-
147
- it "complains when mpg123 installed but ogg123, mpg321, music123, afplay & play not installed" do
148
- uc.instance_variable_set(:@ogg_player, nil)
149
- uc.instance_variable_set(:@mp3_player, nil)
150
- uc.should_receive(:`).at_least(:once).with("which ogg123").and_return("")
151
- uc.should_receive(:`).at_least(:once).with("which music123").and_return("")
152
- uc.should_receive(:`).at_least(:once).with("which mpg123").and_return("/usr/bin/mpg123")
153
- uc.should_receive(:`).at_least(:once).with("which afplay").and_return("")
154
- uc.should_receive(:`).at_least(:once).with("which mplayer").and_return("")
155
- uc.should_receive(:`).at_least(:once).with("which play").and_return("")
156
- uc.should_receive(:puts).with("*** YOU CANNOT PLAY OGG FILES -- YOU MIGHT WANT TO INSTALL OGG123 ***")
157
- uc.send(:set_music_players)
158
- uc.instance_variable_get(:@ogg_player).should be_false
159
- uc.instance_variable_get(:@mp3_player).should == "mpg123"
160
- end
161
-
162
- it "complains when mpg321 installed but mpg123, music123, ogg123, afplay & play not installed" do
163
- uc.instance_variable_set(:@ogg_player, nil)
164
- uc.instance_variable_set(:@mp3_player, nil)
165
- uc.should_receive(:`).at_least(:once).with("which ogg123").and_return("")
166
- uc.should_receive(:`).at_least(:once).with("which mpg123").and_return("")
167
- uc.should_receive(:`).at_least(:once).with("which music123").and_return("")
168
- uc.should_receive(:`).at_least(:once).with("which mpg321").and_return("/usr/bin/mpg321")
169
- uc.should_receive(:`).at_least(:once).with("which afplay").and_return("")
170
- uc.should_receive(:`).at_least(:once).with("which mplayer").and_return("")
171
- uc.should_receive(:`).at_least(:once).with("which play").and_return("")
172
- uc.should_receive(:puts).with("*** YOU CANNOT PLAY OGG FILES -- YOU MIGHT WANT TO INSTALL OGG123 ***")
173
- uc.send(:set_music_players)
174
- uc.instance_variable_get(:@ogg_player).should be_false
175
- uc.instance_variable_get(:@mp3_player).should == "mpg321"
176
- end
177
-
178
- it "prints message and exits when mpg123, mpg321, ogg123, music123, afplay & play all not installed" do
179
- uc.instance_variable_set(:@ogg_player, nil)
180
- uc.instance_variable_set(:@mp3_player, nil)
181
- uc.should_receive(:`).at_least(:once).with("which ogg123").and_return("")
182
- uc.should_receive(:`).at_least(:once).with("which mpg123").and_return("")
183
- uc.should_receive(:`).at_least(:once).with("which music123").and_return("")
184
- uc.should_receive(:`).at_least(:once).with("which mpg321").and_return("")
185
- uc.should_receive(:`).at_least(:once).with("which afplay").and_return("")
186
- uc.should_receive(:`).at_least(:once).with("which mplayer").and_return("")
187
- uc.should_receive(:`).at_least(:once).with("which play").and_return("")
188
- error_msg = "*** YOU CANNOT PLAY MP3S OR OGG FILES -- YOU MIGHT WANT TO INSTALL ogg123 AND mpg123/mpg321 BEFORE USING JIMMYJUKEBOX ***"
189
- uc.should_receive(:puts).with(error_msg)
190
- lambda { uc.send(:set_music_players) }.should raise_error SystemExit
191
- end
192
-
193
121
  end
194
122
 
195
123
  end
196
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jimmy_jukebox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -124,6 +124,7 @@ files:
124
124
  - lib/jimmy_jukebox/song.rb
125
125
  - lib/jimmy_jukebox/jukebox.rb
126
126
  - lib/jimmy_jukebox/display_options.rb
127
+ - lib/jimmy_jukebox/music_player_detector.rb
127
128
  - lib/jimmy_jukebox/user_config.rb
128
129
  - lib/jimmy_jukebox/user_interface.rb
129
130
  - lib/jimmy_jukebox/song_loader.rb
@@ -147,13 +148,16 @@ files:
147
148
  - lib/jimmy_jukebox/songs/DjangoReinhardt.yml
148
149
  - lib/jimmy_jukebox/songs/RedNorvo.yml
149
150
  - lib/jimmy_jukebox/songs/Mendelssohn.yml
151
+ - lib/jimmy_jukebox/songs/ScottJoplin.yml
150
152
  - lib/jimmy_jukebox/songs/LionelHampton.yml
151
153
  - lib/jimmy_jukebox/songs/ArtTatum.yml
152
154
  - lib/jimmy_jukebox/songs/BixBeiderbecke.yml
153
155
  - lib/jimmy_jukebox/songs/ArtieShaw.yml
154
156
  - lib/jimmy_jukebox/songs/MilesDavis.yml
157
+ - lib/jimmy_jukebox/songs/HoraceSilver.yml
155
158
  - lib/jimmy_jukebox/songs/BudPowell.yml
156
159
  - lib/jimmy_jukebox/songs/ChuckBerry.yml
160
+ - lib/jimmy_jukebox/songs/PaulWhiteman.yml
157
161
  - lib/jimmy_jukebox/songs/CliffordHayesJugBlowers.yml
158
162
  - lib/jimmy_jukebox/songs/CannonballAdderley.yml
159
163
  - lib/jimmy_jukebox/songs/DizzyGillespie.yml
@@ -182,6 +186,7 @@ files:
182
186
  - spec/song_loader_spec.rb
183
187
  - spec/user_config_spec.rb
184
188
  - spec/artists_spec.rb
189
+ - spec/music_player_detector_spec.rb
185
190
  - spec/song_spec.rb
186
191
  - spec/spec_helper.rb
187
192
  - bin/play_jukebox
@@ -216,6 +221,7 @@ test_files:
216
221
  - spec/song_loader_spec.rb
217
222
  - spec/user_config_spec.rb
218
223
  - spec/artists_spec.rb
224
+ - spec/music_player_detector_spec.rb
219
225
  - spec/song_spec.rb
220
226
  - spec/spec_helper.rb
221
227
  has_rdoc: