taglib-ruby 1.1.2 → 2.0.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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/CHANGELOG.md +22 -0
  4. data/README.md +16 -12
  5. data/docs/taglib/mpeg.rb +1 -9
  6. data/ext/extconf_common.rb +21 -12
  7. data/ext/taglib_aiff/taglib_aiff.i +5 -0
  8. data/ext/taglib_aiff/taglib_aiff_wrap.cxx +327 -111
  9. data/ext/taglib_base/includes.i +14 -14
  10. data/ext/taglib_base/taglib_base.i +37 -4
  11. data/ext/taglib_base/taglib_base_wrap.cxx +414 -422
  12. data/ext/taglib_flac/taglib_flac.i +8 -3
  13. data/ext/taglib_flac/taglib_flac_wrap.cxx +356 -406
  14. data/ext/taglib_flac_picture/taglib_flac_picture.i +4 -0
  15. data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +229 -122
  16. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +196 -102
  17. data/ext/taglib_id3v2/taglib_id3v2.i +5 -0
  18. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +727 -568
  19. data/ext/taglib_mp4/taglib_mp4.i +22 -18
  20. data/ext/taglib_mp4/taglib_mp4_wrap.cxx +2141 -1493
  21. data/ext/taglib_mpeg/taglib_mpeg.i +6 -0
  22. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +546 -379
  23. data/ext/taglib_ogg/taglib_ogg.i +0 -2
  24. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +162 -107
  25. data/ext/taglib_vorbis/taglib_vorbis.i +1 -0
  26. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +141 -109
  27. data/ext/taglib_wav/taglib_wav.i +6 -2
  28. data/ext/taglib_wav/taglib_wav_wrap.cxx +290 -147
  29. data/lib/taglib/version.rb +3 -3
  30. data/taglib-ruby.gemspec +1 -0
  31. data/tasks/ext.rake +23 -39
  32. data/tasks/swig.rake +14 -4
  33. data/test/id3v2_write_test.rb +1 -1
  34. data/test/wav_examples_test.rb +1 -1
  35. data/test/wav_file_test.rb +1 -1
  36. data/test/wav_file_write_test.rb +6 -6
  37. metadata +4 -3
@@ -5,8 +5,6 @@
5
5
  #include <taglib/mp4properties.h>
6
6
  #include <taglib/mp4tag.h>
7
7
  #include <taglib/mp4atom.h>
8
- // To resolve some symbols, like AtomDataType in Item.
9
- using namespace TagLib::MP4;
10
8
  %}
11
9
 
12
10
  %include "../taglib_base/includes.i"
@@ -77,6 +75,8 @@ namespace TagLib {
77
75
 
78
76
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::begin;
79
77
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::end;
78
+ %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::cbegin;
79
+ %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::cend;
80
80
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::insert;
81
81
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::find;
82
82
  // We will create a safe version of these below in an %extend
@@ -84,16 +84,6 @@ namespace TagLib {
84
84
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::erase(Iterator);
85
85
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::erase(const TagLib::String &);
86
86
 
87
- %ignore TagLib::MP4::Tag::itemListMap; // Deprecated.
88
-
89
- %rename("__getitem__") TagLib::MP4::Tag::item;
90
-
91
- // We will create a safe version of these below in an %extend
92
- // TagLib::MP4::Tag::item does not need to be reimplemented as it return an Item by value.
93
- %ignore TagLib::MP4::Tag::setItem;
94
- %ignore TagLib::MP4::Tag::removeItem;
95
-
96
- %include <taglib/mp4tag.h>
97
87
 
98
88
  %typemap(out) TagLib::MP4::CoverArtList {
99
89
  $result = taglib_cover_art_list_to_ruby_array($1);
@@ -117,15 +107,35 @@ namespace TagLib {
117
107
  %ignore TagLib::MP4::Item::setAtomDataType;
118
108
 
119
109
  %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) IntPair;
110
+ %ignore ItemMap;
120
111
  %include <taglib/mp4item.h>
121
112
 
113
+ namespace TagLib {
114
+ namespace MP4 {
115
+ %template(ItemMap) ::TagLib::Map<String, Item>;
116
+ }
117
+ }
118
+
119
+ %ignore TagLib::MP4::Tag::itemListMap; // Deprecated.
120
+
121
+ %rename("__getitem__") TagLib::MP4::Tag::item;
122
+
123
+ // We will create a safe version of these below in an %extend
124
+ // TagLib::MP4::Tag::item does not need to be reimplemented as it return an Item by value.
125
+ %ignore TagLib::MP4::Tag::setItem;
126
+ %ignore TagLib::MP4::Tag::removeItem;
127
+
128
+ %include <taglib/mp4tag.h>
129
+
122
130
  %freefunc TagLib::MP4::File "free_taglib_mp4_file";
123
131
 
124
132
  // Ignore IOStream and all the constructors using it.
125
133
  %ignore IOStream;
126
134
  %ignore TagLib::MP4::File::File(IOStream *, bool, Properties::ReadStyle);
135
+ %ignore TagLib::MP4::File::File(IOStream *, bool, Properties::ReadStyle, ItemFactory *);
127
136
  %ignore TagLib::MP4::File::File(IOStream *, bool);
128
137
  %ignore TagLib::MP4::File::File(IOStream *);
138
+ %ignore TagLib::MP4::File::isSupported(IOStream *);
129
139
 
130
140
  // Ignore the unified property interface.
131
141
  %ignore TagLib::MP4::File::properties;
@@ -135,12 +145,6 @@ namespace TagLib {
135
145
  %rename("mp4_tag?") TagLib::MP4::File::hasMP4Tag;
136
146
  %include <taglib/mp4file.h>
137
147
 
138
- namespace TagLib {
139
- namespace MP4 {
140
- %template(ItemMap) ::TagLib::Map<String, Item>;
141
- }
142
- }
143
-
144
148
  // Unlink Ruby objects from the deleted C++ objects. Otherwise Ruby code
145
149
  // that calls a method on a tag after the file is deleted segfaults.
146
150
  %begin %{