mediafile 0.2.12 → 0.3.0
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/mediafile/mediafile.rb +20 -13
- data/lib/mediafile/version.rb +1 -1
- metadata +10 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d13b07db004204da62e828da733ff2e350adea5340efd5dc53d6e6adbf2d8b9
|
4
|
+
data.tar.gz: 8a085e9ac0f79ba5a31538531a4f36537ddf295d413039b8d844e452bbe3f960
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc9392f337144ff23223e9703abca1d3702158088a16d1ae435a8e08b1948b3bed5e6dfa358644ccf77619e34c05bfd8cabb4ecb97bf62fcb01729599576fc89
|
7
|
+
data.tar.gz: 6c338249dc18475cd4bd4ae415b376929cb11be6bd8361c350d43145df663f2f944d5c60409fecaec1076dbd7aa699ac235eb997fe83528b4b59d6d3574b51d9
|
data/lib/mediafile/mediafile.rb
CHANGED
@@ -50,11 +50,13 @@ class MediaFile
|
|
50
50
|
temp_dest = tmp_path base_dir: dest, typ: transcode_table[@type]
|
51
51
|
debug "temp dest is '#{temp_dest}'"
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
53
|
+
lock {
|
54
|
+
if File.exist?(destination) || File.exist?(temp_dest)
|
55
|
+
@noop = true
|
56
|
+
info("File already exists at destination: #{@source} => #{destination}")
|
57
|
+
end
|
58
|
+
}
|
59
|
+
return if @noop
|
58
60
|
|
59
61
|
unless check_transfer(temp_dest)
|
60
62
|
error "Another file is already getting " +
|
@@ -63,7 +65,10 @@ class MediaFile
|
|
63
65
|
error "This file: #{@source} => #{temp_dest}"
|
64
66
|
return
|
65
67
|
end
|
68
|
+
really_copy(temp_dest, destination, transcode_table)
|
69
|
+
end
|
66
70
|
|
71
|
+
def really_copy(temp_dest, destination, transcode_table)
|
67
72
|
debug("Create parent directories at '#{File.dirname destination}'.")
|
68
73
|
FileUtils.mkdir_p File.dirname destination
|
69
74
|
FileUtils.touch temp_dest
|
@@ -287,7 +292,7 @@ class MediaFile
|
|
287
292
|
case typ
|
288
293
|
when :m4a
|
289
294
|
TagLib::MP4::File.open(file) do |f|
|
290
|
-
return true if f.tag.
|
295
|
+
return true if f.tag.item_map['covr'].to_cover_art_list.find do |p|
|
291
296
|
p.format == TagLib::MP4::CoverArt::JPEG
|
292
297
|
end
|
293
298
|
end
|
@@ -324,7 +329,7 @@ class MediaFile
|
|
324
329
|
case @type
|
325
330
|
when :m4a
|
326
331
|
TagLib::MP4::File.open(@source) do |f|
|
327
|
-
p = f.tag.
|
332
|
+
p = f.tag.item_map['covr'].to_cover_art_list.first
|
328
333
|
p.data if p
|
329
334
|
end
|
330
335
|
when :flac
|
@@ -355,7 +360,7 @@ class MediaFile
|
|
355
360
|
TagLib::MP4::File.open(file) do
|
356
361
|
c = TagLib::MP4::CoverArt.new(TagLib::MP4::CoverArt::JPEG, cover_art)
|
357
362
|
item = TagLib::MP4::Item.from_cover_art_list([c])
|
358
|
-
file.tag.
|
363
|
+
file.tag.item_map.insert('covr', item)
|
359
364
|
file.save
|
360
365
|
end
|
361
366
|
when :flac
|
@@ -396,7 +401,7 @@ class MediaFile
|
|
396
401
|
case typ
|
397
402
|
when :m4a
|
398
403
|
TagLib::MP4::File.open(file) do |f|
|
399
|
-
f.tag.
|
404
|
+
f.tag.item_map.insert("aART",
|
400
405
|
TagLib::MP4::Item.from_string_list([@force_album_artist]))
|
401
406
|
f.save
|
402
407
|
end
|
@@ -440,8 +445,10 @@ class MediaFile
|
|
440
445
|
tag.comment = "#{@comment}"
|
441
446
|
tag.title = (@title || @name.tr('_',' ')) unless tag.title && tag.title != ""
|
442
447
|
if (typ == :mp3)
|
448
|
+
debug("saving tags as id3v2")
|
443
449
|
f.save(TagLib::MPEG::File::ID3v2)
|
444
450
|
else
|
451
|
+
debug("NOT saving tages as id3v2")
|
445
452
|
f.save
|
446
453
|
end
|
447
454
|
end
|
@@ -474,11 +481,11 @@ class MediaFile
|
|
474
481
|
case @type
|
475
482
|
when :m4a
|
476
483
|
TagLib::MP4::File.open(@source) do |file|
|
477
|
-
@disc_number = file.tag.
|
478
|
-
file.tag.
|
484
|
+
@disc_number = file.tag.item_map["disk"] ?
|
485
|
+
file.tag.item_map["disk"].to_int_pair[0] :
|
479
486
|
nil
|
480
|
-
@album_artist = file.tag.
|
481
|
-
file.tag.
|
487
|
+
@album_artist = file.tag.item_map["aART"] ?
|
488
|
+
file.tag.item_map["aART"].to_string_list[0] :
|
482
489
|
@album_artist
|
483
490
|
end
|
484
491
|
when :flac
|
data/lib/mediafile/version.rb
CHANGED
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediafile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Harvey-Smith
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: taglib-ruby
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.6.0
|
20
17
|
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: 1.1.2
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 0.6.0
|
30
24
|
- - "~>"
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: 1.1.2
|
33
27
|
description: Parse media file metadata, copy or transcode mediafiles.
|
34
28
|
email:
|
35
29
|
- jharveysmith@gmail.com
|
@@ -48,23 +42,23 @@ homepage: https://github.com/seginoviax/mediafile
|
|
48
42
|
licenses:
|
49
43
|
- MIT
|
50
44
|
metadata: {}
|
51
|
-
post_install_message:
|
45
|
+
post_install_message:
|
52
46
|
rdoc_options: []
|
53
47
|
require_paths:
|
54
48
|
- lib
|
55
49
|
required_ruby_version: !ruby/object:Gem::Requirement
|
56
50
|
requirements:
|
57
|
-
- - "
|
51
|
+
- - ">="
|
58
52
|
- !ruby/object:Gem::Version
|
59
|
-
version: '2'
|
53
|
+
version: '2.7'
|
60
54
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
55
|
requirements:
|
62
56
|
- - ">="
|
63
57
|
- !ruby/object:Gem::Version
|
64
58
|
version: '0'
|
65
59
|
requirements: []
|
66
|
-
rubygems_version: 3.
|
67
|
-
signing_key:
|
60
|
+
rubygems_version: 3.4.3
|
61
|
+
signing_key:
|
68
62
|
specification_version: 4
|
69
63
|
summary: Parse media file metadata.
|
70
64
|
test_files: []
|