got_mp3 0.1.0

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
+ SHA256:
3
+ metadata.gz: ba5c71c2a3dd150c8be5e6f1d370c6437145e8b6dd95f139647f67ddba469a1f
4
+ data.tar.gz: c267589160c6a9ba438b997ccec0365c6c069766947fdf5bc802a9f8f1687e9d
5
+ SHA512:
6
+ metadata.gz: 988db3e77e2d5695efaf0a47f27f84f5c34c774dd49d81ee63ff095221b1cf641e9f827f79b22c84e88c8c2734c02ef8add3314a2d0da87a25f6ebf989e76763
7
+ data.tar.gz: eb1e2afa7793029dc227c55476138bc6aa02664ddf92a57afabe2b3f6d24d219a55e0609905a374d2b762fa8469578f44a9c3a13ba11d50339139d6280721102
checksums.yaml.gz.sig ADDED
Binary file
data/lib/got_mp3.rb ADDED
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env ruby
2
+ # file: got_mp3.rb
3
+
4
+ require "mp3info"
5
+
6
+
7
+ class GotMP3
8
+
9
+ def initialize(dir: '.', debug: false)
10
+ @dir, @debug = dir, debug
11
+ end
12
+
13
+
14
+ # Example usage:
15
+ # gotmp3 = GotMP3.new(dir: '/tmp/tree/Da Fustra - Over The Waves To Shetland')
16
+ # gotmp3.add_jpg
17
+ #
18
+ def add_jpg()
19
+
20
+ a = Dir[File.join(@dir, "**", "*.jpg")]
21
+ puts 'a: ' + a.inspect if @debug
22
+ directories = a.inject({}) {|r, x| r[File.dirname(x)] = File.basename(x); r }
23
+
24
+ directories.each do |directory, img_filename|
25
+ add_image directory, img_filename
26
+ end
27
+
28
+ end
29
+
30
+ private
31
+
32
+ # adds album art to each mp3 file in a file directory
33
+ #
34
+ def add_image(directory, img_filename)
35
+
36
+ image_file = File.new(File.join(directory, img_filename),'rb')
37
+ img = image_file.read
38
+
39
+ each_mp3(directory) do |mp3|
40
+
41
+ mp3.tag2.remove_pictures
42
+ mp3.tag2.add_picture img
43
+
44
+ end
45
+
46
+ end
47
+
48
+ def each_mp3(directory, &blk)
49
+
50
+ Dir[File.join(directory, "*.mp3")].each do |mp3_filepath|
51
+
52
+ Mp3Info.open mp3_filepath do |mp3|
53
+ blk.call mp3
54
+ end
55
+
56
+ end
57
+
58
+ end
59
+
60
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: got_mp3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjExMTI0MjIyOTEwWhcN
15
+ MjIxMTI0MjIyOTEwWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDIHObW
17
+ wv4lCgVqw29krTYICPiHROwUFptlLobT80hd6IxK05+mEnJZuKSkQpxTwlyswm/J
18
+ doPk8CF8uH+sfcp331/9rXc1RONqyBc0SU7TYnyuWn5ZCIBRdJqLJvj5FzBF6J7W
19
+ eMjuJUwlIw4qFxTG4VB5Mv4TgM7gKbOFmDyqIvKW5ENJv52D9Zuz5jjviD62T7qM
20
+ u9qvaFIOCN9zwgpT6h4hxR0/4qqW+ib2FukgBZXGL3E4bbzSR0+2/fxmyF0A9akn
21
+ qzQfFZZTY1cGx5jTy9eg+TtN16RtR8P7nRulqdfbl4ETwaCYPGN5wsSg87z5INyc
22
+ Jzedqi/D0CHQlZNrDyEvLzL3nEJa19NnUaeftjuiA1wvsiW2J2yzy08cQj0pZoIm
23
+ +gMc7dmu/hMzUgvfUbVjQsw/pCU5Ce+QMUePVuhAQ/pvAj5Rs9OXYOOmXvBaXM61
24
+ UkIEVt+HhRCTQpXfemzFVeZSs/XybXrrM4D3rJ1GaC8svRxoxxGTY4zmq1UCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUVgfcbsRU
26
+ ZIk8I58GDoLXzVAIkOkwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAunEBh7SJdCCgCoeYr8FgK+9vh2Wlmw/+rfXreUsw
29
+ BEkACQrKYWaIKbxxZP0VYH2SGldLMzCJAVc2/3C3/ButlSKfZpIEe1yuQys1rbpo
30
+ cudzemB2/gtmsS/aWdq/LL243r2e+VkEmYr0EjM6o6WA+KNl099RljVycj0FEsnj
31
+ 4i9fOZR72xza9XEGeF3oMusOaupNukW9I8tvM1aQgflAnYusNK51LIy8grTUsBKg
32
+ aztsW5sj8WOQuYZOcAdGwJ6Vdp+Y1ptdCCJAqAWRnBsOgeifV/elaLUNL5QCj8Qw
33
+ B9YlfIA69AVc8aqcyVzaTiCZ2gtuhloEgdK6kssV1nZuxSFfhBpT1QCfgZtXw/ml
34
+ kXZ2MmcuSLNMdQGmnBIt9JE+YkdXCuDtRqI+EDJshxtnrit9k8JRnsrzaUOXB66J
35
+ RFrZsrDO1Cwk4v03qCUvuZ8H/nCojYYJGMrJE1JhBBJNJXCAULivh/zlOYcDhG69
36
+ uPtZOD7YKrG45OftX8aNxlNv
37
+ -----END CERTIFICATE-----
38
+ date: 2021-11-24 00:00:00.000000000 Z
39
+ dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: ruby-mp3info
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.8'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 0.8.10
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0.8'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.8.10
60
+ description:
61
+ email: digital.robertson@gmail.com
62
+ executables: []
63
+ extensions: []
64
+ extra_rdoc_files: []
65
+ files:
66
+ - lib/got_mp3.rb
67
+ homepage: https://github.com/jrobertson/got_mp3
68
+ licenses:
69
+ - MIT
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubyforge_project:
87
+ rubygems_version: 2.7.10
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: A ruby-mp3info wrapper to make it convenient to update the metadata of multiple
91
+ MP3 files at once.
92
+ test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ B?����# c�6��^bf��鳈�6�2%�F�9���&k�Z9���jL�O�׽�[
2
+ ��Z���@��
3
+ ��~�ogF�> S�qc�Zq���U���y+���<�@̹�]��8l�r���5dTR�!��ũ����hQ�:��@#e"vڬ�ε��f��L���"����ݜ��У.:x0���;����k&H�yg���у�BZ�ҩsjE2���_��j:OM=ez��2�VU92NkB�h�