rupeepeethree 0.0.2 → 0.0.3
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 +4 -4
- data/lib/rupeepeethree.rb +10 -7
- data/lib/rupeepeethree/tagger.rb +13 -1
- data/lib/rupeepeethree/version.rb +1 -1
- data/spec/fixtures/test.mp3 +0 -0
- data/spec/rupeepeethree/tagger_spec.rb +1 -1
- data/spec/rupeepeethree_spec.rb +8 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c246d6bf55b54ae1c32dc4859aa1f4c359a985e3
|
4
|
+
data.tar.gz: bcc7b3d8a968f9c6e8ab7a7bf73b2617a7c56198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47f8c56abde949079168870ab8daf4c49cef89579516670825948baeb518ae1683a843eb10f165d7c23ffd0412c020c4171658566b468f065a6943922ef07dda
|
7
|
+
data.tar.gz: 332bb70f0f688daeae19d6fa18bc821592db91245232becb0ea044bccb916a6a481b0007bcf87319f1549223839562c7b4b406a6879e1314736a1cfe9df44c53
|
data/lib/rupeepeethree.rb
CHANGED
@@ -17,6 +17,7 @@ You thought your mp3s were cool. Turns out you were wrong. Your mp3s have no tag
|
|
17
17
|
opt :title, "title", type: String, short: 't'
|
18
18
|
opt :artist, "artist", type: String, short: 'a'
|
19
19
|
opt :year, "track year", type: String, short: 'Y'
|
20
|
+
opt :track, "track number", type: String, short: 'n'
|
20
21
|
opt :album, "album title", type: String, short: 'A'
|
21
22
|
opt :picture, "artwork", type: String, short: 'p'
|
22
23
|
opt :clear, "clear all tags!"
|
@@ -27,15 +28,17 @@ You thought your mp3s were cool. Turns out you were wrong. Your mp3s have no tag
|
|
27
28
|
p.parse ARGV
|
28
29
|
end
|
29
30
|
|
30
|
-
|
31
|
-
if
|
31
|
+
mp3s = ARGV
|
32
|
+
if mp3s.empty?
|
32
33
|
abort("no mp3 specified...")
|
33
34
|
end
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
35
|
+
mp3s.each do |mp3|
|
36
|
+
if opts[:clear]
|
37
|
+
Tagger.clear(mp3)
|
38
|
+
else
|
39
|
+
Tagger.tag(mp3,opts)
|
40
|
+
puts Tagger.print_tags(mp3)
|
41
|
+
end
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
data/lib/rupeepeethree/tagger.rb
CHANGED
@@ -17,6 +17,9 @@ class Tagger
|
|
17
17
|
if tags[:year]
|
18
18
|
t.year = tags[:year].to_i
|
19
19
|
end
|
20
|
+
if tags[:track]
|
21
|
+
t.track = tags[:track].to_i
|
22
|
+
end
|
20
23
|
if tags[:picture]
|
21
24
|
image_file = File.expand_path(tags[:picture])
|
22
25
|
# delete old frame if it exists
|
@@ -49,17 +52,26 @@ class Tagger
|
|
49
52
|
result << "title: #{t.title}\n"
|
50
53
|
result << "artist: #{t.artist}\n"
|
51
54
|
result << "album: #{t.album}\n"
|
55
|
+
result << "track number: #{t.track}\n"
|
52
56
|
result << "year: #{t.year}\n"
|
53
57
|
|
54
58
|
t.frame_list('APIC').each do |cover|
|
55
59
|
result << "image: [#{cover.mime_type}] [#{cover.picture.length} bytes]\n"
|
56
60
|
end
|
61
|
+
|
62
|
+
prop = f.audio_properties
|
63
|
+
if prop
|
64
|
+
result << "Bitrate: #{prop.bitrate}\n"
|
65
|
+
result << "Channels: #{prop.channels}\n"
|
66
|
+
result << "Sample Rate: #{prop.sample_rate}\n"
|
67
|
+
result << "Length: #{sprintf("%.2f", prop.length/60.0)}\n"
|
68
|
+
end
|
57
69
|
end
|
58
70
|
return result
|
59
71
|
end
|
60
72
|
|
61
73
|
private
|
62
74
|
def self.mime_type(file)
|
63
|
-
MIME::Types.type_for(file).to_s
|
75
|
+
MIME::Types.type_for(file).first.simplified.to_s
|
64
76
|
end
|
65
77
|
end
|
data/spec/fixtures/test.mp3
CHANGED
Binary file
|
@@ -7,7 +7,7 @@ describe Tagger do
|
|
7
7
|
end
|
8
8
|
it "edits the existing cover art frame instead of creating a new one" do
|
9
9
|
tags = {picture: "spec/fixtures/cover_art.jpg"}
|
10
|
-
image_string = /image: \[
|
10
|
+
image_string = /image: \[image\/jpeg\] \[59562 bytes\]\n/
|
11
11
|
Tagger.tag(mp3, tags)
|
12
12
|
result = Tagger.print_tags(mp3)
|
13
13
|
result.should match(image_string)
|
data/spec/rupeepeethree_spec.rb
CHANGED
@@ -23,17 +23,22 @@ describe Rupeepeethree do
|
|
23
23
|
it "sets an album tag" do
|
24
24
|
line = Cocaine::CommandLine.new(@rp3, "-A :album :mp3")
|
25
25
|
result = line.run(album: "purplerain", mp3: "spec/fixtures/test.mp3")
|
26
|
-
result.should match(/purplerain/)
|
26
|
+
result.should match(/purplerain/)
|
27
27
|
end
|
28
28
|
it "sets a year tag" do
|
29
29
|
line = Cocaine::CommandLine.new(@rp3, "-Y :year :mp3")
|
30
30
|
result = line.run(year: "1987", mp3: "spec/fixtures/test.mp3")
|
31
|
-
result.should match(/1987/)
|
31
|
+
result.should match(/1987/)
|
32
32
|
end
|
33
33
|
it "sets album art tag" do
|
34
34
|
line = Cocaine::CommandLine.new(@rp3, "-p :pic :mp3")
|
35
35
|
result = line.run(pic: "spec/fixtures/cover_art.jpg", mp3: "spec/fixtures/test.mp3")
|
36
|
-
result.should match(/image\/jpeg/)
|
36
|
+
result.should match(/image\/jpeg/)
|
37
37
|
result.should match(/59562 bytes/)
|
38
38
|
end
|
39
|
+
it "sets track number" do
|
40
|
+
line = Cocaine::CommandLine.new(@rp3, "-n :num :mp3")
|
41
|
+
result = line.run(num: "3", mp3: "spec/fixtures/test.mp3")
|
42
|
+
result.should match(/track number: 3/)
|
43
|
+
end
|
39
44
|
end
|