taglib-ruby 1.0.0 → 1.1.1
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/.rubocop.yml +33 -0
- data/.yardopts +1 -1
- data/{CHANGES.md → CHANGELOG.md} +35 -14
- data/Gemfile +2 -0
- data/Guardfile +4 -2
- data/README.md +56 -38
- data/Rakefile +8 -8
- data/docs/taglib/aiff.rb +0 -3
- data/docs/taglib/base.rb +0 -4
- data/docs/taglib/flac.rb +1 -3
- data/docs/taglib/id3v2.rb +1 -1
- data/docs/taglib/mp4.rb +2 -4
- data/docs/taglib/mpeg.rb +0 -1
- data/docs/taglib/ogg.rb +0 -4
- data/docs/taglib/vorbis.rb +0 -1
- data/docs/taglib/wav.rb +0 -4
- data/ext/extconf_common.rb +24 -28
- data/ext/taglib_aiff/extconf.rb +2 -0
- data/ext/taglib_aiff/taglib_aiff_wrap.cxx +217 -178
- data/ext/taglib_base/extconf.rb +2 -0
- data/ext/taglib_base/includes.i +25 -0
- data/ext/taglib_base/taglib_base.i +18 -0
- data/ext/taglib_base/taglib_base_wrap.cxx +233 -191
- data/ext/taglib_flac/extconf.rb +2 -0
- data/ext/taglib_flac/taglib_flac.i +7 -0
- data/ext/taglib_flac/taglib_flac_wrap.cxx +235 -189
- data/ext/taglib_flac_picture/extconf.rb +2 -0
- data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +210 -168
- data/ext/taglib_id3v1/extconf.rb +2 -0
- data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +223 -182
- data/ext/taglib_id3v2/extconf.rb +2 -0
- data/ext/taglib_id3v2/taglib_id3v2.i +17 -0
- data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +2922 -993
- data/ext/taglib_mp4/extconf.rb +2 -0
- data/ext/taglib_mp4/taglib_mp4_wrap.cxx +295 -260
- data/ext/taglib_mpeg/extconf.rb +2 -0
- data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +243 -206
- data/ext/taglib_ogg/extconf.rb +2 -0
- data/ext/taglib_ogg/taglib_ogg_wrap.cxx +214 -171
- data/ext/taglib_vorbis/extconf.rb +2 -0
- data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +217 -178
- data/ext/taglib_wav/extconf.rb +2 -0
- data/ext/taglib_wav/taglib_wav_wrap.cxx +217 -178
- data/lib/taglib/aiff.rb +2 -0
- data/lib/taglib/base.rb +3 -1
- data/lib/taglib/flac.rb +2 -0
- data/lib/taglib/id3v1.rb +2 -0
- data/lib/taglib/id3v2.rb +2 -0
- data/lib/taglib/mp4.rb +10 -13
- data/lib/taglib/mpeg.rb +2 -0
- data/lib/taglib/ogg.rb +2 -0
- data/lib/taglib/version.rb +4 -2
- data/lib/taglib/vorbis.rb +2 -0
- data/lib/taglib/wav.rb +2 -1
- data/lib/taglib.rb +4 -3
- data/taglib-ruby.gemspec +165 -162
- data/tasks/docs_coverage.rake +10 -8
- data/tasks/ext.rake +26 -25
- data/tasks/gemspec_check.rake +7 -5
- data/tasks/swig.rake +10 -11
- data/test/aiff_examples_test.rb +8 -13
- data/test/aiff_file_test.rb +29 -29
- data/test/aiff_file_write_test.rb +19 -20
- data/test/base_test.rb +4 -2
- data/test/data/add-relative-volume.cpp +7 -3
- data/test/data/flac-create.cpp +15 -5
- data/test/data/flac_nopic.flac +0 -0
- data/test/data/get_picture_data.cpp +5 -1
- data/test/data/id3v1-create.cpp +6 -3
- data/test/data/mp4-create.cpp +12 -4
- data/test/data/vorbis-create.cpp +12 -5
- data/test/data/wav-create.cpp +18 -3
- data/test/file_test.rb +7 -5
- data/test/fileref_open_test.rb +12 -10
- data/test/fileref_properties_test.rb +6 -4
- data/test/fileref_write_test.rb +14 -13
- data/test/flac_file_test.rb +32 -27
- data/test/flac_file_write_test.rb +17 -18
- data/test/flac_picture_memory_test.rb +39 -0
- data/test/helper.rb +3 -1
- data/test/id3v1_genres_test.rb +14 -12
- data/test/id3v1_tag_test.rb +7 -5
- data/test/id3v2_frames_test.rb +98 -34
- data/test/id3v2_header_test.rb +14 -13
- data/test/id3v2_memory_test.rb +21 -20
- data/test/id3v2_relative_volume_test.rb +11 -9
- data/test/id3v2_tag_test.rb +16 -14
- data/test/id3v2_unicode_test.rb +12 -10
- data/test/id3v2_unknown_frames_test.rb +7 -5
- data/test/id3v2_write_test.rb +28 -29
- data/test/mp4_file_test.rb +27 -26
- data/test/mp4_file_write_test.rb +12 -13
- data/test/mp4_items_test.rb +78 -79
- data/test/mpeg_file_test.rb +32 -30
- data/test/tag_test.rb +5 -3
- data/test/unicode_filename_test.rb +7 -7
- data/test/vorbis_file_test.rb +14 -12
- data/test/vorbis_tag_test.rb +46 -44
- data/test/wav_examples_test.rb +8 -16
- data/test/wav_file_test.rb +29 -29
- data/test/wav_file_write_test.rb +22 -23
- metadata +26 -23
data/test/wav_file_write_test.rb
CHANGED
@@ -1,27 +1,26 @@
|
|
1
|
+
# frozen-string-literal: true
|
2
|
+
|
1
3
|
require File.join(File.dirname(__FILE__), 'helper')
|
2
4
|
|
3
5
|
class WAVFileWriteTest < Test::Unit::TestCase
|
6
|
+
SAMPLE_FILE = 'test/data/wav-sample.wav'
|
7
|
+
OUTPUT_FILE = 'test/data/_output.wav'
|
8
|
+
PICTURE_FILE = 'test/data/globe_east_90.jpg'
|
4
9
|
|
5
|
-
|
6
|
-
|
7
|
-
PICTURE_FILE = "test/data/globe_east_90.jpg"
|
8
|
-
|
9
|
-
def reloaded
|
10
|
-
TagLib::RIFF::WAV::File.open(OUTPUT_FILE, false) do |file|
|
11
|
-
yield file
|
12
|
-
end
|
10
|
+
def reloaded(&block)
|
11
|
+
TagLib::RIFF::WAV::File.open(OUTPUT_FILE, false, &block)
|
13
12
|
end
|
14
13
|
|
15
|
-
context
|
14
|
+
context 'TagLib::RIFF::WAV::File' do
|
16
15
|
setup do
|
17
16
|
FileUtils.cp SAMPLE_FILE, OUTPUT_FILE
|
18
17
|
@file = TagLib::RIFF::WAV::File.new(OUTPUT_FILE, false)
|
19
18
|
end
|
20
19
|
|
21
|
-
should
|
20
|
+
should 'be able to save the title' do
|
22
21
|
tag = @file.tag
|
23
22
|
assert_not_nil tag
|
24
|
-
tag.title =
|
23
|
+
tag.title = 'New Title'
|
25
24
|
success = @file.save
|
26
25
|
assert success
|
27
26
|
@file.close
|
@@ -30,14 +29,14 @@ class WAVFileWriteTest < Test::Unit::TestCase
|
|
30
29
|
written_title = reloaded do |file|
|
31
30
|
file.tag.title
|
32
31
|
end
|
33
|
-
assert_equal
|
32
|
+
assert_equal 'New Title', written_title
|
34
33
|
end
|
35
34
|
|
36
|
-
should
|
35
|
+
should 'have one picture frame' do
|
37
36
|
assert_equal 2, @file.tag.frame_list('APIC').size
|
38
37
|
end
|
39
38
|
|
40
|
-
should
|
39
|
+
should 'be able to remove all picture frames' do
|
41
40
|
@file.tag.remove_frames('APIC')
|
42
41
|
success = @file.save
|
43
42
|
assert success
|
@@ -49,12 +48,12 @@ class WAVFileWriteTest < Test::Unit::TestCase
|
|
49
48
|
end
|
50
49
|
end
|
51
50
|
|
52
|
-
should
|
51
|
+
should 'be able to add a picture frame' do
|
53
52
|
picture_data = File.open(PICTURE_FILE, 'rb') { |f| f.read }
|
54
53
|
|
55
54
|
apic = TagLib::ID3v2::AttachedPictureFrame.new
|
56
|
-
apic.mime_type =
|
57
|
-
apic.description =
|
55
|
+
apic.mime_type = 'image/jpeg'
|
56
|
+
apic.description = 'desc'
|
58
57
|
apic.text_encoding = TagLib::String::UTF8
|
59
58
|
apic.picture = picture_data
|
60
59
|
apic.type = TagLib::ID3v2::AttachedPictureFrame::BackCover
|
@@ -70,9 +69,9 @@ class WAVFileWriteTest < Test::Unit::TestCase
|
|
70
69
|
end
|
71
70
|
|
72
71
|
reloaded do |file|
|
73
|
-
written_apic = file.tag.frame_list(
|
74
|
-
assert_equal
|
75
|
-
assert_equal
|
72
|
+
written_apic = file.tag.frame_list('APIC')[2]
|
73
|
+
assert_equal 'image/jpeg', written_apic.mime_type
|
74
|
+
assert_equal 'desc', written_apic.description
|
76
75
|
assert_equal picture_data, written_apic.picture
|
77
76
|
end
|
78
77
|
end
|
@@ -86,18 +85,18 @@ class WAVFileWriteTest < Test::Unit::TestCase
|
|
86
85
|
end
|
87
86
|
end
|
88
87
|
|
89
|
-
context
|
88
|
+
context 'TagLib::RIFF::WAV::File.strip' do
|
90
89
|
setup do
|
91
90
|
FileUtils.cp SAMPLE_FILE, OUTPUT_FILE
|
92
91
|
@file = TagLib::RIFF::WAV::File.new(OUTPUT_FILE)
|
93
92
|
end
|
94
93
|
|
95
|
-
should
|
94
|
+
should 'update the file immediately' do
|
96
95
|
assert @file.id3v2_tag?
|
97
96
|
|
98
97
|
@file.strip(TagLib::RIFF::WAV::File::ID3v2)
|
99
98
|
|
100
|
-
reloaded do |
|
99
|
+
reloaded do |_file|
|
101
100
|
refute @file.id3v2_tag?
|
102
101
|
end
|
103
102
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taglib-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robin Stocker
|
8
8
|
- Jacob Vosmaer
|
9
9
|
- Thomas Chevereau
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2022-04-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -33,75 +33,75 @@ dependencies:
|
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '3'
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: kramdown
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
41
|
+
version: 2.3.0
|
42
42
|
type: :development
|
43
43
|
prerelease: false
|
44
44
|
version_requirements: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 2.3.0
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
50
|
+
name: rake-compiler
|
51
51
|
requirement: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '0.9'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
58
|
version_requirements: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
62
|
+
version: '0.9'
|
63
63
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
64
|
+
name: shoulda-context
|
65
65
|
requirement: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0
|
69
|
+
version: '2.0'
|
70
70
|
type: :development
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0
|
76
|
+
version: '2.0'
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
78
|
+
name: test-unit
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
83
|
+
version: '3.5'
|
84
84
|
type: :development
|
85
85
|
prerelease: false
|
86
86
|
version_requirements: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
90
|
+
version: '3.5'
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
92
|
+
name: yard
|
93
93
|
requirement: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
97
|
+
version: 0.9.26
|
98
98
|
type: :development
|
99
99
|
prerelease: false
|
100
100
|
version_requirements: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
104
|
+
version: 0.9.26
|
105
105
|
description: |
|
106
106
|
Ruby interface for the taglib C++ library, for reading and writing
|
107
107
|
meta-data (tags) of many audio formats.
|
@@ -124,12 +124,13 @@ extensions:
|
|
124
124
|
- ext/taglib_aiff/extconf.rb
|
125
125
|
- ext/taglib_wav/extconf.rb
|
126
126
|
extra_rdoc_files:
|
127
|
-
-
|
127
|
+
- CHANGELOG.md
|
128
128
|
- LICENSE.txt
|
129
129
|
- README.md
|
130
130
|
files:
|
131
|
+
- ".rubocop.yml"
|
131
132
|
- ".yardopts"
|
132
|
-
-
|
133
|
+
- CHANGELOG.md
|
133
134
|
- Gemfile
|
134
135
|
- Guardfile
|
135
136
|
- LICENSE.txt
|
@@ -213,6 +214,7 @@ files:
|
|
213
214
|
- test/data/crash.mp3
|
214
215
|
- test/data/flac-create.cpp
|
215
216
|
- test/data/flac.flac
|
217
|
+
- test/data/flac_nopic.flac
|
216
218
|
- test/data/get_picture_data.cpp
|
217
219
|
- test/data/globe_east_540.jpg
|
218
220
|
- test/data/globe_east_90.jpg
|
@@ -234,6 +236,7 @@ files:
|
|
234
236
|
- test/fileref_write_test.rb
|
235
237
|
- test/flac_file_test.rb
|
236
238
|
- test/flac_file_write_test.rb
|
239
|
+
- test/flac_picture_memory_test.rb
|
237
240
|
- test/helper.rb
|
238
241
|
- test/id3v1_genres_test.rb
|
239
242
|
- test/id3v1_tag_test.rb
|
@@ -260,7 +263,7 @@ homepage: http://robinst.github.io/taglib-ruby/
|
|
260
263
|
licenses:
|
261
264
|
- MIT
|
262
265
|
metadata: {}
|
263
|
-
post_install_message:
|
266
|
+
post_install_message:
|
264
267
|
rdoc_options: []
|
265
268
|
require_paths:
|
266
269
|
- lib
|
@@ -276,8 +279,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
276
279
|
version: '0'
|
277
280
|
requirements:
|
278
281
|
- taglib (libtag1-dev in Debian/Ubuntu, taglib-devel in Fedora/RHEL)
|
279
|
-
rubygems_version: 3.0.
|
280
|
-
signing_key:
|
282
|
+
rubygems_version: 3.4.0.dev
|
283
|
+
signing_key:
|
281
284
|
specification_version: 4
|
282
285
|
summary: Ruby interface for the taglib C++ library
|
283
286
|
test_files: []
|