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.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +33 -0
  3. data/.yardopts +1 -1
  4. data/{CHANGES.md → CHANGELOG.md} +35 -14
  5. data/Gemfile +2 -0
  6. data/Guardfile +4 -2
  7. data/README.md +56 -38
  8. data/Rakefile +8 -8
  9. data/docs/taglib/aiff.rb +0 -3
  10. data/docs/taglib/base.rb +0 -4
  11. data/docs/taglib/flac.rb +1 -3
  12. data/docs/taglib/id3v2.rb +1 -1
  13. data/docs/taglib/mp4.rb +2 -4
  14. data/docs/taglib/mpeg.rb +0 -1
  15. data/docs/taglib/ogg.rb +0 -4
  16. data/docs/taglib/vorbis.rb +0 -1
  17. data/docs/taglib/wav.rb +0 -4
  18. data/ext/extconf_common.rb +24 -28
  19. data/ext/taglib_aiff/extconf.rb +2 -0
  20. data/ext/taglib_aiff/taglib_aiff_wrap.cxx +217 -178
  21. data/ext/taglib_base/extconf.rb +2 -0
  22. data/ext/taglib_base/includes.i +25 -0
  23. data/ext/taglib_base/taglib_base.i +18 -0
  24. data/ext/taglib_base/taglib_base_wrap.cxx +233 -191
  25. data/ext/taglib_flac/extconf.rb +2 -0
  26. data/ext/taglib_flac/taglib_flac.i +7 -0
  27. data/ext/taglib_flac/taglib_flac_wrap.cxx +235 -189
  28. data/ext/taglib_flac_picture/extconf.rb +2 -0
  29. data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +210 -168
  30. data/ext/taglib_id3v1/extconf.rb +2 -0
  31. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +223 -182
  32. data/ext/taglib_id3v2/extconf.rb +2 -0
  33. data/ext/taglib_id3v2/taglib_id3v2.i +17 -0
  34. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +2922 -993
  35. data/ext/taglib_mp4/extconf.rb +2 -0
  36. data/ext/taglib_mp4/taglib_mp4_wrap.cxx +295 -260
  37. data/ext/taglib_mpeg/extconf.rb +2 -0
  38. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +243 -206
  39. data/ext/taglib_ogg/extconf.rb +2 -0
  40. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +214 -171
  41. data/ext/taglib_vorbis/extconf.rb +2 -0
  42. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +217 -178
  43. data/ext/taglib_wav/extconf.rb +2 -0
  44. data/ext/taglib_wav/taglib_wav_wrap.cxx +217 -178
  45. data/lib/taglib/aiff.rb +2 -0
  46. data/lib/taglib/base.rb +3 -1
  47. data/lib/taglib/flac.rb +2 -0
  48. data/lib/taglib/id3v1.rb +2 -0
  49. data/lib/taglib/id3v2.rb +2 -0
  50. data/lib/taglib/mp4.rb +10 -13
  51. data/lib/taglib/mpeg.rb +2 -0
  52. data/lib/taglib/ogg.rb +2 -0
  53. data/lib/taglib/version.rb +4 -2
  54. data/lib/taglib/vorbis.rb +2 -0
  55. data/lib/taglib/wav.rb +2 -1
  56. data/lib/taglib.rb +4 -3
  57. data/taglib-ruby.gemspec +165 -162
  58. data/tasks/docs_coverage.rake +10 -8
  59. data/tasks/ext.rake +26 -25
  60. data/tasks/gemspec_check.rake +7 -5
  61. data/tasks/swig.rake +10 -11
  62. data/test/aiff_examples_test.rb +8 -13
  63. data/test/aiff_file_test.rb +29 -29
  64. data/test/aiff_file_write_test.rb +19 -20
  65. data/test/base_test.rb +4 -2
  66. data/test/data/add-relative-volume.cpp +7 -3
  67. data/test/data/flac-create.cpp +15 -5
  68. data/test/data/flac_nopic.flac +0 -0
  69. data/test/data/get_picture_data.cpp +5 -1
  70. data/test/data/id3v1-create.cpp +6 -3
  71. data/test/data/mp4-create.cpp +12 -4
  72. data/test/data/vorbis-create.cpp +12 -5
  73. data/test/data/wav-create.cpp +18 -3
  74. data/test/file_test.rb +7 -5
  75. data/test/fileref_open_test.rb +12 -10
  76. data/test/fileref_properties_test.rb +6 -4
  77. data/test/fileref_write_test.rb +14 -13
  78. data/test/flac_file_test.rb +32 -27
  79. data/test/flac_file_write_test.rb +17 -18
  80. data/test/flac_picture_memory_test.rb +39 -0
  81. data/test/helper.rb +3 -1
  82. data/test/id3v1_genres_test.rb +14 -12
  83. data/test/id3v1_tag_test.rb +7 -5
  84. data/test/id3v2_frames_test.rb +98 -34
  85. data/test/id3v2_header_test.rb +14 -13
  86. data/test/id3v2_memory_test.rb +21 -20
  87. data/test/id3v2_relative_volume_test.rb +11 -9
  88. data/test/id3v2_tag_test.rb +16 -14
  89. data/test/id3v2_unicode_test.rb +12 -10
  90. data/test/id3v2_unknown_frames_test.rb +7 -5
  91. data/test/id3v2_write_test.rb +28 -29
  92. data/test/mp4_file_test.rb +27 -26
  93. data/test/mp4_file_write_test.rb +12 -13
  94. data/test/mp4_items_test.rb +78 -79
  95. data/test/mpeg_file_test.rb +32 -30
  96. data/test/tag_test.rb +5 -3
  97. data/test/unicode_filename_test.rb +7 -7
  98. data/test/vorbis_file_test.rb +14 -12
  99. data/test/vorbis_tag_test.rb +46 -44
  100. data/test/wav_examples_test.rb +8 -16
  101. data/test/wav_file_test.rb +29 -29
  102. data/test/wav_file_write_test.rb +22 -23
  103. metadata +26 -23
@@ -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
- SAMPLE_FILE = "test/data/wav-sample.wav"
6
- OUTPUT_FILE = "test/data/_output.wav"
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 "TagLib::RIFF::WAV::File" do
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 "be able to save the title" do
20
+ should 'be able to save the title' do
22
21
  tag = @file.tag
23
22
  assert_not_nil tag
24
- tag.title = "New 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 "New Title", written_title
32
+ assert_equal 'New Title', written_title
34
33
  end
35
34
 
36
- should "have one picture frame" do
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 "be able to remove all picture frames" do
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 "be able to add a picture frame" do
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 = "image/jpeg"
57
- apic.description = "desc"
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("APIC")[2]
74
- assert_equal "image/jpeg", written_apic.mime_type
75
- assert_equal "desc", written_apic.description
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 "TagLib::RIFF::WAV::File.strip" do
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 "update the file immediately" do
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 |file|
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.0.0
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: 2020-01-07 00:00:00.000000000 Z
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: rake-compiler
36
+ name: kramdown
37
37
  requirement: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0.9'
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: '0.9'
48
+ version: 2.3.0
49
49
  - !ruby/object:Gem::Dependency
50
- name: shoulda-context
50
+ name: rake-compiler
51
51
  requirement: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '1.0'
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: '1.0'
62
+ version: '0.9'
63
63
  - !ruby/object:Gem::Dependency
64
- name: yard
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.9.12
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.9.12
76
+ version: '2.0'
77
77
  - !ruby/object:Gem::Dependency
78
- name: kramdown
78
+ name: test-unit
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '1.0'
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: '1.0'
90
+ version: '3.5'
91
91
  - !ruby/object:Gem::Dependency
92
- name: test-unit
92
+ name: yard
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '3.1'
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: '3.1'
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
- - CHANGES.md
127
+ - CHANGELOG.md
128
128
  - LICENSE.txt
129
129
  - README.md
130
130
  files:
131
+ - ".rubocop.yml"
131
132
  - ".yardopts"
132
- - CHANGES.md
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.3
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: []