mr_eko 0.7.1 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ee828540f7a9075b57f7b23a94b76fb605ecc658
4
+ data.tar.gz: 3a90456471ec7b2f824b1e072504981980f2ff7d
5
+ SHA512:
6
+ metadata.gz: b728e01a72fc32f327981c6d0a0e96c4bf3398b6bbccfc8363f52fb3adf3ed005f794d1aca198b63d6066421c161f900d4ebf5e2e9918a83b478fbe0a1a263f3
7
+ data.tar.gz: fc7c520ae74e75f624248ce6d465670dc9997085b8fe0cad92781975d8e2b4e081223042679b521480a8fa672ec55d8b6f396215f040b363927983b009de527b
data/TODO CHANGED
@@ -1,2 +1,5 @@
1
1
  * Figure out how to get FFMPEG included in gem (possible w/ licensing?)
2
+
2
3
  * Create a 'setup' routine that migrates the DB, creates the ~/.mr_eko dir, etc. Doing it every time mr_eko runs is lame.
4
+
5
+ * Support file formats other than MP3. In most places it's supported, but a few tweaks are needed.
data/lib/mr_eko.rb CHANGED
@@ -9,7 +9,7 @@ require 'sequel/extensions/migration'
9
9
  require "logger"
10
10
  require "hashie"
11
11
  require "digest/md5"
12
- require 'taglib'
12
+ require 'mp3info'
13
13
  require "echonest"
14
14
  begin
15
15
  require 'debugger'
@@ -22,7 +22,7 @@ EKO_ENV = ENV['EKO_ENV'] || 'development'
22
22
  Sequel.default_timezone = :utc
23
23
 
24
24
  module MrEko
25
- VERSION = '0.7.1'
25
+ VERSION = '0.7.3'
26
26
  USER_DIR = File.join(ENV['HOME'], ".mreko")
27
27
  FINGERPRINTS_DIR = File.join(USER_DIR, 'fingerprints')
28
28
  LOG_DIR = File.join(USER_DIR, 'logs')
@@ -4,7 +4,7 @@ class MrEko::Playlist < Sequel::Model
4
4
  include MrEko::Presets
5
5
 
6
6
  plugin :validation_helpers
7
- many_to_many :songs, :join_table => :playlist_entries, :order => :playlist_entries__position.asc
7
+ many_to_many :songs, :join_table => :playlist_entries, :order => "playlist_entries__position asc"
8
8
  FORMATS = [:pls, :m3u, :text].freeze
9
9
  DEFAULT_OPTIONS = [ {:tempo => 0..500}, {:duration => 10..1200} ].freeze
10
10
 
@@ -1,12 +1,11 @@
1
1
  class MrEko::TagParser
2
2
 
3
3
  def self.parse(filename)
4
- TagLib::FileRef.open(filename, false) do |file|
5
- tag = file.tag
4
+ Mp3Info.open(filename) do |file|
6
5
  result = Result.new
7
- result.artist = tag.artist
8
- result.title = tag.title
9
- result.album = tag.album
6
+ result.artist = file.tag.artist
7
+ result.title = file.tag.title
8
+ result.album = file.tag.album
10
9
 
11
10
  result
12
11
  end
data/mr_eko.gemspec CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'mr_eko'
16
- s.version = '0.7.1'
17
- s.date = '2013-12-30'
16
+ s.version = '0.7.3'
17
+ s.date = '2014-09-18'
18
18
  s.rubyforge_project = 'mr_eko'
19
19
  s.license = 'MIT'
20
20
 
@@ -52,7 +52,7 @@ Gem::Specification.new do |s|
52
52
  s.add_dependency('httpclient')
53
53
  s.add_dependency('bassnode-ruby-echonest')
54
54
  s.add_dependency('json')
55
- s.add_dependency('taglib-ruby')
55
+ s.add_dependency('ruby-mp3info')
56
56
 
57
57
  ## List your development dependencies here. Development dependencies are
58
58
  ## those that are only needed during development
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mr_eko
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
5
- prerelease:
4
+ version: 0.7.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ed Hickey
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-30 00:00:00.000000000 Z
11
+ date: 2014-09-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: sequel
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
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
@@ -30,209 +27,183 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: sqlite3-ruby
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
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
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: hashie
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
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: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: httpclient
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: :runtime
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: bassnode-ruby-echonest
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :runtime
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
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: json
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
- name: taglib-ruby
98
+ name: ruby-mp3info
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: mocha
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: shoulda
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - '>='
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - '>='
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: test-unit
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - '>='
164
144
  - !ruby/object:Gem::Version
165
145
  version: '0'
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - '>='
172
151
  - !ruby/object:Gem::Version
173
152
  version: '0'
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: debugger
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
- - - ! '>='
157
+ - - '>='
180
158
  - !ruby/object:Gem::Version
181
159
  version: '0'
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
- - - ! '>='
164
+ - - '>='
188
165
  - !ruby/object:Gem::Version
189
166
  version: '0'
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: autotest
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
- - - ! '>='
171
+ - - '>='
196
172
  - !ruby/object:Gem::Version
197
173
  version: '0'
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
- - - ! '>='
178
+ - - '>='
204
179
  - !ruby/object:Gem::Version
205
180
  version: '0'
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: pry
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
- - - ! '>='
185
+ - - '>='
212
186
  - !ruby/object:Gem::Version
213
187
  version: '0'
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
- - - ! '>='
192
+ - - '>='
220
193
  - !ruby/object:Gem::Version
221
194
  version: '0'
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: yard
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
- - - ! '>='
199
+ - - '>='
228
200
  - !ruby/object:Gem::Version
229
201
  version: '0'
230
202
  type: :development
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
- - - ! '>='
206
+ - - '>='
236
207
  - !ruby/object:Gem::Version
237
208
  version: '0'
238
209
  description: Catalogs music file data and exposes a playlist interface
@@ -292,26 +263,25 @@ files:
292
263
  homepage: http://github.com/bassnode/mreko
293
264
  licenses:
294
265
  - MIT
266
+ metadata: {}
295
267
  post_install_message:
296
268
  rdoc_options:
297
269
  - --charset=UTF-8
298
270
  require_paths:
299
271
  - lib
300
272
  required_ruby_version: !ruby/object:Gem::Requirement
301
- none: false
302
273
  requirements:
303
- - - ! '>='
274
+ - - '>='
304
275
  - !ruby/object:Gem::Version
305
276
  version: '0'
306
277
  required_rubygems_version: !ruby/object:Gem::Requirement
307
- none: false
308
278
  requirements:
309
- - - ! '>='
279
+ - - '>='
310
280
  - !ruby/object:Gem::Version
311
281
  version: '0'
312
282
  requirements: []
313
283
  rubyforge_project: mr_eko
314
- rubygems_version: 1.8.25
284
+ rubygems_version: 2.0.2
315
285
  signing_key:
316
286
  specification_version: 2
317
287
  summary: Detailed music playlist generator