taglib-ruby 1.1.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 %{