cultome_player 2.0.0 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -79
  3. data/Rakefile +38 -4
  4. data/bin/cultome_player +16 -4
  5. data/config/environment.yml +4 -0
  6. data/cultome_player.gemspec +8 -1
  7. data/lib/cultome_player.rb +45 -19
  8. data/lib/cultome_player/command/language.rb +3 -4
  9. data/lib/cultome_player/command/processor.rb +9 -7
  10. data/lib/cultome_player/command/reader.rb +11 -2
  11. data/lib/cultome_player/environment.rb +21 -13
  12. data/lib/cultome_player/events.rb +7 -7
  13. data/lib/cultome_player/objects/album.rb +9 -2
  14. data/lib/cultome_player/objects/artist.rb +9 -2
  15. data/lib/cultome_player/objects/command.rb +10 -1
  16. data/lib/cultome_player/objects/drive.rb +4 -1
  17. data/lib/cultome_player/objects/genre.rb +4 -1
  18. data/lib/cultome_player/objects/parameter.rb +21 -1
  19. data/lib/cultome_player/objects/response.rb +5 -1
  20. data/lib/cultome_player/objects/song.rb +9 -4
  21. data/lib/cultome_player/player/adapter/mpg123.rb +3 -4
  22. data/lib/cultome_player/player/interactive.rb +67 -11
  23. data/lib/cultome_player/player/interface/basic.rb +13 -9
  24. data/lib/cultome_player/player/interface/extended.rb +26 -12
  25. data/lib/cultome_player/player/interface/helper.rb +73 -9
  26. data/lib/cultome_player/plugins.rb +44 -18
  27. data/lib/cultome_player/plugins/alias.rb +85 -0
  28. data/lib/cultome_player/plugins/gestures.rb +90 -0
  29. data/lib/cultome_player/plugins/help.rb +4 -4
  30. data/lib/cultome_player/plugins/keyboard_special_keys.rb +22 -0
  31. data/lib/cultome_player/plugins/points.rb +51 -0
  32. data/lib/cultome_player/utils.rb +117 -7
  33. data/lib/cultome_player/version.rb +1 -1
  34. data/xbindkeys/xbindkeysrc +12 -0
  35. metadata +37 -89
  36. data/.coveralls.yml +0 -1
  37. data/.gitignore +0 -24
  38. data/.rspec +0 -2
  39. data/.travis.yml +0 -7
  40. data/db/001_create_schema.rb +0 -58
  41. data/spec/config.yml +0 -0
  42. data/spec/cultome_player/command/processor_spec.rb +0 -168
  43. data/spec/cultome_player/command/reader_spec.rb +0 -45
  44. data/spec/cultome_player/cultome_player_spec.rb +0 -17
  45. data/spec/cultome_player/environment_spec.rb +0 -65
  46. data/spec/cultome_player/events_spec.rb +0 -22
  47. data/spec/cultome_player/media_spec.rb +0 -41
  48. data/spec/cultome_player/player/adapter/mpg123_spec.rb +0 -82
  49. data/spec/cultome_player/player/interface/basic_spec.rb +0 -168
  50. data/spec/cultome_player/player/interface/extended/connect_spec.rb +0 -117
  51. data/spec/cultome_player/player/interface/extended/search_spec.rb +0 -90
  52. data/spec/cultome_player/player/interface/extended/show_spec.rb +0 -36
  53. data/spec/cultome_player/player/interface/extended/shuffle_spec.rb +0 -26
  54. data/spec/cultome_player/player/interface/extended_spec.rb +0 -136
  55. data/spec/cultome_player/player/interface/helper_spec.rb +0 -63
  56. data/spec/cultome_player/player/interface_spec.rb +0 -17
  57. data/spec/cultome_player/player/playlist_spec.rb +0 -301
  58. data/spec/cultome_player/plugins/help_spec.rb +0 -21
  59. data/spec/cultome_player/plugins_spec.rb +0 -19
  60. data/spec/cultome_player/utils_spec.rb +0 -15
  61. data/spec/spec_helper.rb +0 -108
  62. data/spec/test/uno/dos/dos.mp3 +0 -0
  63. data/spec/test/uno/dos/tres/tres.mp3 +0 -0
  64. data/spec/test/uno/uno.mp3 +0 -0
  65. data/tasks/console.rake +0 -19
  66. data/tasks/db.rake +0 -19
  67. data/tasks/run.rake +0 -7
@@ -0,0 +1,90 @@
1
+ module CultomePlayer
2
+ module Plugins
3
+ module Gestures
4
+
5
+ include CultomePlayer::Objects
6
+
7
+ def init_plugin_gestures
8
+ register_listener(:after_command){|cmd, res| check_gesture(cmd) }
9
+ end
10
+
11
+ private
12
+
13
+ def actions_history
14
+ @history ||= []
15
+ end
16
+
17
+ def check_gesture(cmd)
18
+ if cmd.history?
19
+ actions_history << [cmd, Time.new]
20
+ check_looking_for_something
21
+ end
22
+ end
23
+
24
+ def recents(secs)
25
+ return actions_history.select{|cmd, time| time >= Time.new - secs}
26
+ end
27
+
28
+ def check_looking_for_something
29
+ if recents(60).count{|cmd, time| cmd.action == "next"} >= 5
30
+ delete_from_history "next"
31
+ suggest_songs
32
+ end
33
+ end
34
+
35
+ def delete_from_history(cmd)
36
+ actions_history.delete_if {|cmd, time| cmd.action == "next"}
37
+ end
38
+
39
+ def suggest_songs
40
+ display "Hey! cant find anything? Try one of these:"
41
+ suggestions = get_suggestions
42
+ display to_display_list(suggestions)
43
+ playlists[:focus] <= suggestions
44
+ return suggestions
45
+ end
46
+
47
+ def select_suggestion
48
+ return (1..10).to_a.sample(1).first
49
+ end
50
+
51
+ def get_suggestions
52
+ id = select_suggestion
53
+ if (1..7).cover?(id)
54
+ criteria = case id
55
+ when 1 # los que tienen mas puntos
56
+ "points desc"
57
+ when 2 # los que tienen menos puntos
58
+ "points"
59
+ when 3 # las mas tocadas
60
+ "plays desc"
61
+ when 4 # los menos tocados
62
+ "plays"
63
+ when 5 # los agregados recientemente
64
+ "created_at desc"
65
+ when 6 # los recientemente tocados
66
+ "last_played_at"
67
+ when 7 # los recientemente tocados
68
+ "points desc, plays desc"
69
+ end
70
+
71
+ return Song.order(criteria).limit(5).to_a
72
+
73
+ else # mas complejos
74
+ case (id)
75
+ when 8 # Por artista popular
76
+ artist = Artist.order("points desc").limit(5).sample(1).first
77
+ return [] if artist.nil?
78
+ return artist.songs.sample(5)
79
+ when 9 # Por album popular
80
+ album = Album.order("points desc").limit(5).sample(1).first
81
+ return [] if album.nil?
82
+ return album.songs.sample(5)
83
+ else
84
+ return Song.all.sample(5)
85
+ end
86
+ end
87
+ end #sugestions
88
+ end
89
+ end
90
+ end
@@ -14,15 +14,15 @@ module CultomePlayer
14
14
  else
15
15
  help = send("usage_#{cmd.params.first.value}")
16
16
  if help.nil?
17
- failure("No help is available for '#{cmd.first.value}'.")
17
+ failure("No help is available for '#{cmd.params.first.value}'.")
18
18
  else
19
19
  success(message: help)
20
20
  end
21
21
  end
22
22
  end
23
23
 
24
- def sintaxis_help
25
- return /^literal (literal)$/
24
+ def sintax_help
25
+ /^literal (literal)$/
26
26
  end
27
27
 
28
28
  # Description of the action help.
@@ -55,4 +55,4 @@ To see the usage for play command:
55
55
  end
56
56
  end
57
57
  end
58
- end
58
+ end
@@ -0,0 +1,22 @@
1
+ module CultomePlayer
2
+ module Plugins
3
+ module KeyboardSpecialKeys
4
+ def init_plugin_keyboard_special_keys
5
+ Thread.new do
6
+ start_cmd = "tail -f #{command_pipe}"
7
+ pipe = IO.popen(start_cmd, "rw")
8
+ pipe.each do |line|
9
+ #IO.popen(start_cmd).each do |line|
10
+ # planchamos el prompt...
11
+ display_over("")
12
+ # ejecutamos el comando
13
+ execute_interactively line
14
+ # y luego lo regeneramos
15
+ display_over c5(CultomePlayer::Interactive::PROMPT)
16
+ end # IO
17
+ end # Thread
18
+ end
19
+ end # module
20
+ end
21
+ end
22
+
@@ -0,0 +1,51 @@
1
+ module CultomePlayer
2
+ module Plugins
3
+ module Points
4
+ def init_plugin_points
5
+ register_listener(:playback_finish){|song| on_playback_finish(song) }
6
+ register_listener(:before_command_next){|cmd, res| on_before_change(cmd) }
7
+ register_listener(:before_command_prev){|cmd, res| on_before_change(cmd) }
8
+ register_listener(:after_command_prev){|cmd, res| on_after_prev(cmd, res) }
9
+ end
10
+
11
+ private
12
+
13
+ def on_before_change(cmd)
14
+ # current_song => the old song
15
+ return if current_song.nil?
16
+
17
+ percent_played = playback_position * 100 / playback_length
18
+ gain = case percent_played
19
+ when (10..50) then -1
20
+ when (81..100) then 1
21
+ else 0
22
+ end
23
+
24
+ update_points(gain)
25
+ end
26
+
27
+ def on_after_prev(cmd, response)
28
+ # # current_song => the new song
29
+ return if current_song.nil?
30
+
31
+ if response.success?
32
+ update_points(1)
33
+ end
34
+ end
35
+
36
+ def on_playback_finish(song)
37
+ update_points(1)
38
+ end
39
+
40
+ def update_points(diff)
41
+ if current_song
42
+ current_song.update(points: current_song.points + diff)
43
+ current_song.artist.update(points: current_song.artist.points + diff) unless current_song.artist.nil?
44
+ current_song.album.update(points: current_song.album.points + diff) unless current_song.album.nil?
45
+ current_song.genres.each{|g| g.update(points: g.points + diff) } unless current_song.genres.nil?
46
+ end
47
+ end
48
+
49
+ end
50
+ end
51
+ end
@@ -1,8 +1,16 @@
1
+ require 'cultome_player/objects'
1
2
  require 'active_record'
3
+ require 'colorize'
2
4
 
3
5
  module CultomePlayer
4
6
  module Utils
5
7
 
8
+ def to_display_list(list)
9
+ return list.collect.with_index do |elem, idx|
10
+ c4("#{(idx + 1).to_s.ljust(3)} | ") + elem.to_s
11
+ end.join("\n")
12
+ end
13
+
6
14
  # Check if a string value can be a positive boolean value.
7
15
  #
8
16
  # @param value [String] String to check if can be a positive boolean value.
@@ -17,7 +25,7 @@ module CultomePlayer
17
25
  # @return [String] The value printed.
18
26
  def display(msg)
19
27
  stdout.puts msg
20
- return msg
28
+ return "#{msg}\n"
21
29
  end
22
30
 
23
31
  # Print a string into stdout (not STDOUT) but before insert a carriage return and dont append a newline character at the end.
@@ -25,14 +33,34 @@ module CultomePlayer
25
33
  # @param msg [String] The value to be printed.
26
34
  # @return [String] The value printed.
27
35
  def display_over(msg)
28
- stdout.print "\r#{msg}"
36
+ msg = "\r#{msg}"
37
+ stdout.print msg
29
38
  return msg
30
39
  end
31
40
 
32
- # Define the 15 colors allowed in my console scheme
33
- (1..15).each do |idx|
41
+ # Define the 18 colors allowed in my console scheme
42
+ (1..18).each do |idx|
34
43
  define_method :"c#{idx}" do |str|
35
- str
44
+ case idx
45
+ when 1 then str.colorize(:blue)
46
+ when 2 then str.colorize(:black)
47
+ when 3 then str.colorize(:red)
48
+ when 4 then str.colorize(:green)
49
+ when 5 then str.colorize(:yellow)
50
+ when 6 then str.colorize(:blue)
51
+ when 7 then str.colorize(:magenta)
52
+ when 8 then str.colorize(:cyan)
53
+ when 9 then str.colorize(:white)
54
+ when 10 then str.colorize(:default)
55
+ when 11 then str.colorize(:light_black)
56
+ when 12 then str.colorize(:light_red)
57
+ when 13 then str.colorize(:light_green)
58
+ when 14 then str.colorize(:light_yellow)
59
+ when 15 then str.colorize(:light_blue)
60
+ when 16 then str.colorize(:light_magenta)
61
+ when 17 then str.colorize(:light_cyan)
62
+ when 18 then str.colorize(:light_white)
63
+ end
36
64
  end
37
65
  end
38
66
 
@@ -45,11 +73,11 @@ module CultomePlayer
45
73
  def arrange_in_columns(cols, widths, border)
46
74
  row = ""
47
75
  idxs = cols.collect{|c| 0 }
48
-
76
+
49
77
  while cols.zip(idxs).any?{|col| col[0].length > col[1] }
50
78
  cols.each.with_index do |col, idx|
51
79
  slice_width = widths[idx]
52
-
80
+
53
81
  slice = col.slice(idxs[idx], slice_width) || "" # sacamos el pedazo de la columna
54
82
  row << slice.ljust(slice_width) # concatenamos a la fila
55
83
  idxs[idx] += slice_width # recorremos el indice
@@ -91,5 +119,87 @@ module CultomePlayer
91
119
 
92
120
  ActiveRecord::Base.connection_pool.with_connection(&db_logic)
93
121
  end
122
+
123
+ def ensure_db_schema
124
+ begin
125
+ # hacemos una simple query a la base de datos para verificar
126
+ with_connection{ CultomePlayer::Objects::Song.first }
127
+ rescue
128
+ # si la query no funciona recreamos el esquema
129
+ recreate_db_schema
130
+ end
131
+ end
132
+
133
+ def recreate_db_schema
134
+ with_connection do
135
+ swallow_stdout do
136
+ begin
137
+ ActiveRecord::Schema.drop_table('songs')
138
+ ActiveRecord::Schema.drop_table('albums')
139
+ ActiveRecord::Schema.drop_table('artists')
140
+ ActiveRecord::Schema.drop_table('genres')
141
+ ActiveRecord::Schema.drop_table('genres_songs')
142
+ ActiveRecord::Schema.drop_table('drives')
143
+ rescue
144
+ end
145
+
146
+ begin
147
+ ActiveRecord::Schema.define do
148
+ create_table :songs do |t|
149
+ t.string :name # If I Had A Gun
150
+ t.integer :artist_id, default: 0 # Noel Gallagher
151
+ t.integer :album_id, default: 0 # High Flying Birds
152
+ t.integer :year # 2011
153
+ t.integer :track # 3
154
+ t.integer :duration # 210 sec
155
+ t.integer :drive_id
156
+ t.string :relative_path
157
+ t.integer :points, default: 0
158
+ t.integer :plays, default: 0
159
+ t.datetime :last_played_at
160
+ t.timestamps
161
+ end
162
+
163
+ create_table :albums do |t|
164
+ t.string :name
165
+ t.integer :points, default: 0
166
+ t.timestamps
167
+ end
168
+
169
+ create_table :artists do |t|
170
+ t.string :name
171
+ t.integer :points, default: 0
172
+ t.timestamps
173
+ end
174
+
175
+ create_table :genres do |t|
176
+ t.integer :points, default: 0
177
+ t.string :name
178
+ end
179
+
180
+ create_table :genres_songs, id: false do |t|
181
+ t.integer :song_id
182
+ t.integer :genre_id
183
+ end
184
+
185
+ create_table :drives do |t|
186
+ t.string :name
187
+ t.string :path
188
+ t.boolean :connected, default: true
189
+ t.timestamps
190
+ end
191
+ end
192
+ rescue
193
+ end # begin
194
+ end # swallow_stdout
195
+
196
+ # Default and required values
197
+ CultomePlayer::Objects::Album.find_or_create_by(id: 0, name: 'Unknown')
198
+ CultomePlayer::Objects::Artist.find_or_create_by(id: 0, name: 'Unknown')
199
+
200
+ return true
201
+ end
202
+ end
203
+
94
204
  end
95
205
  end
@@ -1,3 +1,3 @@
1
1
  module CultomePlayer
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.2"
3
3
  end
@@ -0,0 +1,12 @@
1
+ # Next
2
+ "cultome_player --signal next"
3
+ Mod2 + XF86Forward
4
+ # Prev
5
+ "cultome_player --signal prev"
6
+ Mod2 + XF86Back
7
+ # Toggle pause
8
+ "cultome_player --signal pause"
9
+ Mod2 + Cancel
10
+ # Repeat
11
+ "cultome_player --signal repeat"
12
+ Mod2 + XF86Reload
metadata CHANGED
@@ -1,195 +1,195 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cultome_player
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Soria
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-24 00:00:00.000000000 Z
11
+ date: 2016-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: taglib-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rb-readline
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: colorize
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: coveralls
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: bundler
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: database_cleaner
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: pry
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - '>='
171
+ - - ">="
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: yard
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '>='
185
+ - - ">="
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  description: A console music library explorer and player
@@ -199,10 +199,6 @@ executables:
199
199
  extensions: []
200
200
  extra_rdoc_files: []
201
201
  files:
202
- - .coveralls.yml
203
- - .gitignore
204
- - .rspec
205
- - .travis.yml
206
202
  - Gemfile
207
203
  - LICENSE.txt
208
204
  - README.md
@@ -210,7 +206,6 @@ files:
210
206
  - bin/cultome_player
211
207
  - config/environment.yml
212
208
  - cultome_player.gemspec
213
- - db/001_create_schema.rb
214
209
  - lib/cultome_player.rb
215
210
  - lib/cultome_player/command.rb
216
211
  - lib/cultome_player/command/language.rb
@@ -239,37 +234,15 @@ files:
239
234
  - lib/cultome_player/player/interface/helper.rb
240
235
  - lib/cultome_player/player/playlist.rb
241
236
  - lib/cultome_player/plugins.rb
237
+ - lib/cultome_player/plugins/alias.rb
238
+ - lib/cultome_player/plugins/gestures.rb
242
239
  - lib/cultome_player/plugins/help.rb
240
+ - lib/cultome_player/plugins/keyboard_special_keys.rb
241
+ - lib/cultome_player/plugins/points.rb
243
242
  - lib/cultome_player/state_checker.rb
244
243
  - lib/cultome_player/utils.rb
245
244
  - lib/cultome_player/version.rb
246
- - spec/config.yml
247
- - spec/cultome_player/command/processor_spec.rb
248
- - spec/cultome_player/command/reader_spec.rb
249
- - spec/cultome_player/cultome_player_spec.rb
250
- - spec/cultome_player/environment_spec.rb
251
- - spec/cultome_player/events_spec.rb
252
- - spec/cultome_player/media_spec.rb
253
- - spec/cultome_player/player/adapter/mpg123_spec.rb
254
- - spec/cultome_player/player/interface/basic_spec.rb
255
- - spec/cultome_player/player/interface/extended/connect_spec.rb
256
- - spec/cultome_player/player/interface/extended/search_spec.rb
257
- - spec/cultome_player/player/interface/extended/show_spec.rb
258
- - spec/cultome_player/player/interface/extended/shuffle_spec.rb
259
- - spec/cultome_player/player/interface/extended_spec.rb
260
- - spec/cultome_player/player/interface/helper_spec.rb
261
- - spec/cultome_player/player/interface_spec.rb
262
- - spec/cultome_player/player/playlist_spec.rb
263
- - spec/cultome_player/plugins/help_spec.rb
264
- - spec/cultome_player/plugins_spec.rb
265
- - spec/cultome_player/utils_spec.rb
266
- - spec/spec_helper.rb
267
- - spec/test/uno/dos/dos.mp3
268
- - spec/test/uno/dos/tres/tres.mp3
269
- - spec/test/uno/uno.mp3
270
- - tasks/console.rake
271
- - tasks/db.rake
272
- - tasks/run.rake
245
+ - xbindkeys/xbindkeysrc
273
246
  homepage: https://github.com/cultome/cultome_player
274
247
  licenses:
275
248
  - MIT
@@ -280,43 +253,18 @@ require_paths:
280
253
  - lib
281
254
  required_ruby_version: !ruby/object:Gem::Requirement
282
255
  requirements:
283
- - - '>='
256
+ - - ">="
284
257
  - !ruby/object:Gem::Version
285
258
  version: '0'
286
259
  required_rubygems_version: !ruby/object:Gem::Requirement
287
260
  requirements:
288
- - - '>='
261
+ - - ">="
289
262
  - !ruby/object:Gem::Version
290
263
  version: '0'
291
264
  requirements: []
292
265
  rubyforge_project:
293
- rubygems_version: 2.2.2
266
+ rubygems_version: 2.5.1
294
267
  signing_key:
295
268
  specification_version: 4
296
269
  summary: CulToMe Player
297
- test_files:
298
- - spec/config.yml
299
- - spec/cultome_player/command/processor_spec.rb
300
- - spec/cultome_player/command/reader_spec.rb
301
- - spec/cultome_player/cultome_player_spec.rb
302
- - spec/cultome_player/environment_spec.rb
303
- - spec/cultome_player/events_spec.rb
304
- - spec/cultome_player/media_spec.rb
305
- - spec/cultome_player/player/adapter/mpg123_spec.rb
306
- - spec/cultome_player/player/interface/basic_spec.rb
307
- - spec/cultome_player/player/interface/extended/connect_spec.rb
308
- - spec/cultome_player/player/interface/extended/search_spec.rb
309
- - spec/cultome_player/player/interface/extended/show_spec.rb
310
- - spec/cultome_player/player/interface/extended/shuffle_spec.rb
311
- - spec/cultome_player/player/interface/extended_spec.rb
312
- - spec/cultome_player/player/interface/helper_spec.rb
313
- - spec/cultome_player/player/interface_spec.rb
314
- - spec/cultome_player/player/playlist_spec.rb
315
- - spec/cultome_player/plugins/help_spec.rb
316
- - spec/cultome_player/plugins_spec.rb
317
- - spec/cultome_player/utils_spec.rb
318
- - spec/spec_helper.rb
319
- - spec/test/uno/dos/dos.mp3
320
- - spec/test/uno/dos/tres/tres.mp3
321
- - spec/test/uno/uno.mp3
322
- has_rdoc:
270
+ test_files: []