mediafile 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/music_cp +6 -1
- data/lib/mediafile/bulkmediacopy.rb +7 -1
- data/lib/mediafile/mediafile.rb +16 -6
- data/lib/mediafile/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a7bcf6ac66198cbc1ced8c4dad57a421b972dcd
|
4
|
+
data.tar.gz: 67ca3e8a2a6d9faf352238812ff16c437a41e95f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26bdcdbea2842a5d3567cee06019d6a26dccbf3548ac6e14d674a7c4eaa4e2da7440eee7d2a6c77a797ec8238fefb9f04f4899d2c67e9c71381a9be3360d2790
|
7
|
+
data.tar.gz: c68c42c8ebb3ad8260b2dc54a93d05bac6f7803ecef6d0c9a94b06d026de08551f4b7223e8bf39de0e368c8aaff6d058fa17e795c9cf99190699333cafa8dcb9
|
data/bin/music_cp
CHANGED
@@ -23,6 +23,7 @@ progress = true
|
|
23
23
|
count = `grep -c '^processor' /proc/cpuinfo`.strip.to_i/2|1
|
24
24
|
transcode = { flac: :mp3, wav: :mp3 }
|
25
25
|
exclude_patterns = []
|
26
|
+
album_artist = nil
|
26
27
|
file_types = "{flac,mp3,MP3,FLAC,wav,WAV,m4a,M4A}"
|
27
28
|
|
28
29
|
opts = OptionParser.new do |opt|
|
@@ -61,6 +62,9 @@ opts = OptionParser.new do |opt|
|
|
61
62
|
"Number of threads to spawn, useful for transcoding. Default: #{count}" ) do |n|
|
62
63
|
count = n.to_i
|
63
64
|
end
|
65
|
+
opt.on("--set-aa ALBUM_ARTIST", String, "Set the album_artist for all tracks") do |a|
|
66
|
+
album_artist = a
|
67
|
+
end
|
64
68
|
opt.on("-V", "--version", "Disply the version and exit") do
|
65
69
|
puts MediaFile::VERSION
|
66
70
|
exit 0
|
@@ -140,7 +144,8 @@ copier = MediaFile::BulkMediaCopy.new(
|
|
140
144
|
destination_root: dest,
|
141
145
|
verbose: verbose,
|
142
146
|
transcode: transcode,
|
143
|
-
progress: progress
|
147
|
+
progress: progress,
|
148
|
+
album_artist: album_artist
|
144
149
|
)
|
145
150
|
|
146
151
|
copier.run count
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module MediaFile; class BulkMediaCopy
|
2
|
-
def initialize(
|
2
|
+
def initialize(source,
|
3
|
+
album_artist: nil,
|
4
|
+
destination_root: ".",
|
5
|
+
progress: false,
|
6
|
+
transcode: {},
|
7
|
+
verbose: false)
|
3
8
|
source = case source
|
4
9
|
when String
|
5
10
|
[source]
|
@@ -16,6 +21,7 @@ module MediaFile; class BulkMediaCopy
|
|
16
21
|
@work = source.map { |s|
|
17
22
|
MediaFile.new(s,
|
18
23
|
base_dir: @destination_root,
|
24
|
+
force_album_artist: album_artist,
|
19
25
|
verbose: @verbose,
|
20
26
|
printer: proc{ |msg| self.safe_print( msg ) }
|
21
27
|
)
|
data/lib/mediafile/mediafile.rb
CHANGED
@@ -5,14 +5,19 @@ module MediaFile; class MediaFile
|
|
5
5
|
|
6
6
|
attr_reader :source, :type, :name, :base_dir
|
7
7
|
|
8
|
-
def initialize(path,
|
9
|
-
|
8
|
+
def initialize(path,
|
9
|
+
base_dir: '.',
|
10
|
+
force_album_artist: nil,
|
11
|
+
printer: proc {|msg| puts msg},
|
12
|
+
verbose: false)
|
10
13
|
@base_dir = base_dir
|
11
|
-
@verbose = verbose
|
12
|
-
@name = File.basename( @source, File.extname( @source ) )
|
13
|
-
@type = path[/(\w+)$/].downcase.to_sym
|
14
|
-
@printer = printer
|
15
14
|
@destinations = Hash.new{ |k,v| k[v] = {} }
|
15
|
+
@force_album_artist = force_album_artist
|
16
|
+
@name = File.basename( path, File.extname( path ) )
|
17
|
+
@printer = printer
|
18
|
+
@source = path
|
19
|
+
@type = path[/(\w+)$/].downcase.to_sym
|
20
|
+
@verbose = verbose
|
16
21
|
end
|
17
22
|
|
18
23
|
def source_md5
|
@@ -289,6 +294,11 @@ module MediaFile; class MediaFile
|
|
289
294
|
end
|
290
295
|
end
|
291
296
|
end
|
297
|
+
if @force_album_artist
|
298
|
+
@album_artist = @force_album_artist
|
299
|
+
else
|
300
|
+
@album_artist ||= @artist
|
301
|
+
end
|
292
302
|
@red = true
|
293
303
|
end
|
294
304
|
end; end
|
data/lib/mediafile/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediafile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Harvey-Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: taglib-ruby
|
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
64
|
version: '0'
|
65
65
|
requirements: []
|
66
66
|
rubyforge_project:
|
67
|
-
rubygems_version: 2.6.
|
67
|
+
rubygems_version: 2.6.6
|
68
68
|
signing_key:
|
69
69
|
specification_version: 4
|
70
70
|
summary: Parse media file metadata.
|