mediafile 0.2.12 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|