taglib-ruby 0.7.1 → 1.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 (66) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +7 -0
  3. data/README.md +25 -10
  4. data/Rakefile +11 -1
  5. data/docs/taglib/aiff.rb +35 -3
  6. data/docs/taglib/base.rb +8 -1
  7. data/docs/taglib/flac.rb +60 -4
  8. data/docs/taglib/id3v1.rb +29 -0
  9. data/docs/taglib/id3v2.rb +1 -1
  10. data/docs/taglib/mp4.rb +124 -13
  11. data/docs/taglib/mpeg.rb +30 -1
  12. data/docs/taglib/ogg.rb +47 -5
  13. data/docs/taglib/vorbis.rb +1 -1
  14. data/docs/taglib/wav.rb +56 -3
  15. data/ext/extconf_common.rb +9 -2
  16. data/ext/taglib_aiff/taglib_aiff.i +16 -0
  17. data/ext/taglib_aiff/taglib_aiff_wrap.cxx +228 -58
  18. data/ext/taglib_base/includes.i +4 -4
  19. data/ext/taglib_base/taglib_base.i +24 -2
  20. data/ext/taglib_base/taglib_base_wrap.cxx +76 -51
  21. data/ext/taglib_flac/taglib_flac.i +14 -18
  22. data/ext/taglib_flac/taglib_flac_wrap.cxx +341 -799
  23. data/ext/taglib_flac_picture/extconf.rb +4 -0
  24. data/ext/taglib_flac_picture/includes.i +15 -0
  25. data/ext/taglib_flac_picture/taglib_flac_picture.i +15 -0
  26. data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +3087 -0
  27. data/ext/taglib_id3v1/taglib_id3v1.i +19 -0
  28. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +241 -58
  29. data/ext/taglib_id3v2/taglib_id3v2.i +52 -1
  30. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +152 -155
  31. data/ext/taglib_mp4/taglib_mp4.i +100 -19
  32. data/ext/taglib_mp4/taglib_mp4_wrap.cxx +939 -148
  33. data/ext/taglib_mpeg/taglib_mpeg.i +11 -16
  34. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +522 -208
  35. data/ext/taglib_ogg/taglib_ogg.i +11 -0
  36. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +328 -57
  37. data/ext/taglib_vorbis/taglib_vorbis.i +8 -0
  38. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +53 -22
  39. data/ext/taglib_wav/taglib_wav.i +24 -0
  40. data/ext/taglib_wav/taglib_wav_wrap.cxx +543 -198
  41. data/lib/taglib/mp4.rb +2 -1
  42. data/lib/taglib/version.rb +3 -3
  43. data/lib/taglib/wav.rb +4 -0
  44. data/taglib-ruby.gemspec +15 -9
  45. data/tasks/ext.rake +36 -15
  46. data/tasks/swig.rake +26 -2
  47. data/test/aiff_examples_test.rb +1 -1
  48. data/test/aiff_file_test.rb +12 -3
  49. data/test/data/vorbis-create.cpp +20 -1
  50. data/test/data/vorbis.oga +0 -0
  51. data/test/fileref_properties_test.rb +1 -1
  52. data/test/flac_file_test.rb +45 -30
  53. data/test/id3v1_genres_test.rb +23 -0
  54. data/test/id3v1_tag_test.rb +1 -0
  55. data/test/id3v2_tag_test.rb +6 -6
  56. data/test/id3v2_write_test.rb +10 -13
  57. data/test/mp4_file_test.rb +33 -4
  58. data/test/mp4_file_write_test.rb +5 -5
  59. data/test/mp4_items_test.rb +83 -29
  60. data/test/mpeg_file_test.rb +120 -7
  61. data/test/vorbis_file_test.rb +2 -2
  62. data/test/vorbis_tag_test.rb +61 -7
  63. data/test/wav_examples_test.rb +1 -1
  64. data/test/wav_file_test.rb +53 -41
  65. data/test/wav_file_write_test.rb +25 -0
  66. metadata +19 -9
@@ -5,23 +5,24 @@
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;
8
10
  %}
9
11
 
10
- %ignore TagLib::List::operator!=;
11
12
  %include "../taglib_base/includes.i"
12
13
  %import(module="taglib_base") "../taglib_base/taglib_base.i"
13
14
 
14
15
  %{
15
- static void unlink_taglib_mp4_item_list_map_iterator(TagLib::MP4::ItemListMap::Iterator &it) {
16
- TagLib::MP4::Item *item = &(it->second);
16
+ static void unlink_taglib_mp4_item_map_iterator(const TagLib::MP4::ItemMap::ConstIterator &it) {
17
+ const TagLib::MP4::Item *item = &(it->second);
17
18
  TagLib::MP4::CoverArtList list = item->toCoverArtList();
18
19
  for (TagLib::MP4::CoverArtList::ConstIterator it = list.begin(); it != list.end(); it++) {
19
20
  void *cover_art = (void *) &(*it);
20
21
  SWIG_RubyUnlinkObjects(cover_art);
21
22
  SWIG_RubyRemoveTracking(cover_art);
22
23
  }
23
- SWIG_RubyUnlinkObjects(item);
24
- SWIG_RubyRemoveTracking(item);
24
+ SWIG_RubyUnlinkObjects((void *)item);
25
+ SWIG_RubyRemoveTracking((void *)item);
25
26
  }
26
27
 
27
28
  VALUE taglib_mp4_item_int_pair_to_ruby_array(const TagLib::MP4::Item::IntPair &int_pair) {
@@ -53,12 +54,17 @@ TagLib::MP4::CoverArtList ruby_array_to_taglib_cover_art_list(VALUE ary) {
53
54
  }
54
55
  %}
55
56
 
57
+ // Ignore useless types that SWIG picks up globally.
58
+ %ignore Iterator;
59
+ %ignore ConstIterator;
60
+
56
61
  %ignore TagLib::Map::operator[];
57
62
  %ignore TagLib::Map::operator=;
58
63
  %alias TagLib::Map::contains "include?,has_key?";
59
64
  %include <taglib/tmap.h>
60
65
 
61
66
  namespace TagLib {
67
+ class ByteVectorList;
62
68
  namespace MP4 {
63
69
  class Item;
64
70
  class CoverArtList;
@@ -66,6 +72,7 @@ namespace TagLib {
66
72
  }
67
73
  }
68
74
 
75
+ %ignore TagLib::MP4::Properties::length; // Deprecated.
69
76
  %include <taglib/mp4properties.h>
70
77
 
71
78
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::begin;
@@ -76,6 +83,16 @@ namespace TagLib {
76
83
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::clear;
77
84
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::erase(Iterator);
78
85
  %ignore TagLib::Map<TagLib::String, TagLib::MP4::Item>::erase(const TagLib::String &);
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
+
79
96
  %include <taglib/mp4tag.h>
80
97
 
81
98
  %typemap(out) TagLib::MP4::CoverArtList {
@@ -87,23 +104,40 @@ namespace TagLib {
87
104
  }
88
105
  %apply TagLib::MP4::CoverArtList { TagLib::MP4::CoverArtList &, const TagLib::MP4::CoverArtList & };
89
106
  %ignore TagLib::MP4::CoverArt::operator=;
107
+ %ignore TagLib::MP4::CoverArt::swap;
90
108
  %include <taglib/mp4coverart.h>
91
109
 
92
110
  %typemap(out) TagLib::MP4::Item::IntPair {
93
111
  $result = taglib_mp4_item_int_pair_to_ruby_array($1);
94
112
  }
95
113
  %ignore TagLib::MP4::Item::operator=;
114
+ %ignore TagLib::MP4::Item::swap;
115
+
116
+ %ignore TagLib::MP4::Item::atomDataType;
117
+ %ignore TagLib::MP4::Item::setAtomDataType;
96
118
 
97
119
  %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) IntPair;
98
120
  %include <taglib/mp4item.h>
99
121
 
100
122
  %freefunc TagLib::MP4::File "free_taglib_mp4_file";
101
123
 
124
+ // Ignore IOStream and all the constructors using it.
125
+ %ignore IOStream;
126
+ %ignore TagLib::MP4::File::File(IOStream *, bool, Properties::ReadStyle);
127
+ %ignore TagLib::MP4::File::File(IOStream *, bool);
128
+ %ignore TagLib::MP4::File::File(IOStream *);
129
+
130
+ // Ignore the unified property interface.
131
+ %ignore TagLib::MP4::File::properties;
132
+ %ignore TagLib::MP4::File::setProperties;
133
+ %ignore TagLib::MP4::File::removeUnsupportedProperties;
134
+
135
+ %rename("mp4_tag?") TagLib::MP4::File::hasMP4Tag;
102
136
  %include <taglib/mp4file.h>
103
137
 
104
138
  namespace TagLib {
105
139
  namespace MP4 {
106
- %template(ItemListMap) ::TagLib::Map<String, Item>;
140
+ %template(ItemMap) ::TagLib::Map<String, Item>;
107
141
  }
108
142
  }
109
143
 
@@ -118,10 +152,10 @@ namespace TagLib {
118
152
 
119
153
  TagLib::MP4::Tag *tag = file->tag();
120
154
  if (tag) {
121
- TagLib::Map<TagLib::String, TagLib::MP4::Item> *item_list_map = &(tag->itemListMap());
155
+ TagLib::MP4::ItemMap *item_list_map = const_cast<TagLib::MP4::ItemMap *>(&(tag->itemMap()));
122
156
  if (item_list_map) {
123
- for (TagLib::MP4::ItemListMap::Iterator it = item_list_map->begin(); it != item_list_map->end(); it++) {
124
- unlink_taglib_mp4_item_list_map_iterator(it);
157
+ for (TagLib::MP4::ItemMap::Iterator it = item_list_map->begin(); it != item_list_map->end(); it++) {
158
+ unlink_taglib_mp4_item_map_iterator(it);
125
159
  }
126
160
 
127
161
  SWIG_RubyUnlinkObjects(item_list_map);
@@ -149,7 +183,7 @@ namespace TagLib {
149
183
  %extend Map<String, MP4::Item> {
150
184
  VALUE to_a() {
151
185
  VALUE ary = rb_ary_new2($self->size());
152
- for (TagLib::MP4::ItemListMap::Iterator it = $self->begin(); it != $self->end(); it++) {
186
+ for (TagLib::MP4::ItemMap::Iterator it = $self->begin(); it != $self->end(); it++) {
153
187
  TagLib::String string = it->first;
154
188
  TagLib::MP4::Item *item = &(it->second);
155
189
  VALUE pair = rb_ary_new2(2);
@@ -160,8 +194,18 @@ namespace TagLib {
160
194
  return ary;
161
195
  }
162
196
 
197
+ VALUE to_h() {
198
+ VALUE hsh = rb_hash_new();
199
+ for (TagLib::MP4::ItemMap::Iterator it = $self->begin(); it != $self->end(); it++) {
200
+ rb_hash_aset(hsh,
201
+ taglib_string_to_ruby_string(it->first),
202
+ SWIG_NewPointerObj(&(it->second), SWIGTYPE_p_TagLib__MP4__Item, 0));
203
+ }
204
+ return hsh;
205
+ }
206
+
163
207
  VALUE fetch(const String &string) {
164
- TagLib::MP4::ItemListMap::Iterator it = $self->find(string);
208
+ TagLib::MP4::ItemMap::Iterator it = $self->find(string);
165
209
  VALUE result = Qnil;
166
210
  if (it != $self->end()) {
167
211
  TagLib::MP4::Item *item = &(it->second);
@@ -171,26 +215,26 @@ namespace TagLib {
171
215
  }
172
216
 
173
217
  VALUE _clear() {
174
- for (TagLib::MP4::ItemListMap::Iterator it = $self->begin(); it != $self->end(); it++) {
175
- unlink_taglib_mp4_item_list_map_iterator(it);
218
+ for (TagLib::MP4::ItemMap::Iterator it = $self->begin(); it != $self->end(); it++) {
219
+ unlink_taglib_mp4_item_map_iterator(it);
176
220
  }
177
221
  $self->clear();
178
222
  return Qnil;
179
223
  }
180
224
 
181
225
  VALUE erase(const String &string) {
182
- TagLib::MP4::ItemListMap::Iterator it = $self->find(string);
226
+ TagLib::MP4::ItemMap::Iterator it = $self->find(string);
183
227
  if (it != $self->end()) {
184
- unlink_taglib_mp4_item_list_map_iterator(it);
228
+ unlink_taglib_mp4_item_map_iterator(it);
185
229
  $self->erase(it);
186
230
  }
187
231
  return Qnil;
188
232
  }
189
233
 
190
234
  VALUE _insert(const String &string, const MP4::Item &item) {
191
- TagLib::MP4::ItemListMap::Iterator it = $self->find(string);
235
+ TagLib::MP4::ItemMap::Iterator it = $self->find(string);
192
236
  if (it != $self->end()) {
193
- unlink_taglib_mp4_item_list_map_iterator(it);
237
+ unlink_taglib_mp4_item_map_iterator(it);
194
238
  }
195
239
  $self->insert(string, item);
196
240
  return Qnil;
@@ -198,13 +242,46 @@ namespace TagLib {
198
242
  }
199
243
  }
200
244
 
245
+ %extend TagLib::MP4::Tag {
246
+ VALUE __setitem__(const String& string, const MP4::Item &item) {
247
+ TagLib::MP4::ItemMap::ConstIterator it = $self->itemMap().find(string);
248
+ if (it != $self->itemMap().end()) {
249
+ unlink_taglib_mp4_item_map_iterator(it);
250
+ }
251
+ $self->setItem(string, item);
252
+ return Qnil;
253
+ }
254
+
255
+ VALUE remove_item(const String& string) {
256
+ TagLib::MP4::ItemMap::ConstIterator it = $self->itemMap().find(string);
257
+ if (it != $self->itemMap().end()) {
258
+ unlink_taglib_mp4_item_map_iterator(it);
259
+ $self->removeItem(string);
260
+ }
261
+ return Qnil;
262
+ }
263
+
264
+ }
265
+
201
266
  %extend TagLib::MP4::Item {
267
+ static TagLib::MP4::Item * from_bool(bool q) {
268
+ return new TagLib::MP4::Item(q);
269
+ }
270
+
271
+ static TagLib::MP4::Item * from_byte(unsigned char n) {
272
+ return new TagLib::MP4::Item(n);
273
+ }
274
+
275
+ static TagLib::MP4::Item * from_uint(unsigned int n) {
276
+ return new TagLib::MP4::Item(n);
277
+ }
278
+
202
279
  static TagLib::MP4::Item * from_int(int n) {
203
280
  return new TagLib::MP4::Item(n);
204
281
  }
205
282
 
206
- static TagLib::MP4::Item * from_bool(bool q) {
207
- return new TagLib::MP4::Item(q);
283
+ static TagLib::MP4::Item * from_long_long(long long n) {
284
+ return new TagLib::MP4::Item(n);
208
285
  }
209
286
 
210
287
  static TagLib::MP4::Item * from_string_list(const TagLib::StringList &string_list) {
@@ -214,6 +291,10 @@ namespace TagLib {
214
291
  static TagLib::MP4::Item * from_cover_art_list(const TagLib::MP4::CoverArtList &cover_art_list) {
215
292
  return new TagLib::MP4::Item(cover_art_list);
216
293
  }
294
+
295
+ static TagLib::MP4::Item * from_byte_vector_list(const TagLib::ByteVectorList &byte_vector_list) {
296
+ return new TagLib::MP4::Item(byte_vector_list);
297
+ }
217
298
  }
218
299
 
219
300
  %extend TagLib::MP4::File {
@@ -1830,27 +1830,26 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1830
1830
 
1831
1831
  /* -------- TYPES TABLE (BEGIN) -------- */
1832
1832
 
1833
- #define SWIGTYPE_p_ConstIterator swig_types[0]
1834
- #define SWIGTYPE_p_Iterator swig_types[1]
1835
- #define SWIGTYPE_p_TagLib__AudioProperties swig_types[2]
1836
- #define SWIGTYPE_p_TagLib__File swig_types[3]
1837
- #define SWIGTYPE_p_TagLib__MP4__Atoms swig_types[4]
1838
- #define SWIGTYPE_p_TagLib__MP4__CoverArt swig_types[5]
1839
- #define SWIGTYPE_p_TagLib__MP4__CoverArtList swig_types[6]
1840
- #define SWIGTYPE_p_TagLib__MP4__File swig_types[7]
1841
- #define SWIGTYPE_p_TagLib__MP4__Item swig_types[8]
1842
- #define SWIGTYPE_p_TagLib__MP4__Properties swig_types[9]
1843
- #define SWIGTYPE_p_TagLib__MP4__Tag swig_types[10]
1844
- #define SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t swig_types[11]
1845
- #define SWIGTYPE_p_TagLib__StringList swig_types[12]
1846
- #define SWIGTYPE_p_TagLib__Tag swig_types[13]
1847
- #define SWIGTYPE_p_char swig_types[14]
1848
- #define SWIGTYPE_p_unsigned_char swig_types[15]
1849
- #define SWIGTYPE_p_unsigned_int swig_types[16]
1850
- #define SWIGTYPE_p_unsigned_long swig_types[17]
1851
- #define SWIGTYPE_p_wchar_t swig_types[18]
1852
- static swig_type_info *swig_types[20];
1853
- static swig_module_info swig_module = {swig_types, 19, 0, 0, 0, 0};
1833
+ #define SWIGTYPE_p_TagLib__AudioProperties swig_types[0]
1834
+ #define SWIGTYPE_p_TagLib__ByteVectorList swig_types[1]
1835
+ #define SWIGTYPE_p_TagLib__File swig_types[2]
1836
+ #define SWIGTYPE_p_TagLib__MP4__Atoms swig_types[3]
1837
+ #define SWIGTYPE_p_TagLib__MP4__CoverArt swig_types[4]
1838
+ #define SWIGTYPE_p_TagLib__MP4__CoverArtList swig_types[5]
1839
+ #define SWIGTYPE_p_TagLib__MP4__File swig_types[6]
1840
+ #define SWIGTYPE_p_TagLib__MP4__Item swig_types[7]
1841
+ #define SWIGTYPE_p_TagLib__MP4__Properties swig_types[8]
1842
+ #define SWIGTYPE_p_TagLib__MP4__Tag swig_types[9]
1843
+ #define SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t swig_types[10]
1844
+ #define SWIGTYPE_p_TagLib__StringList swig_types[11]
1845
+ #define SWIGTYPE_p_TagLib__Tag swig_types[12]
1846
+ #define SWIGTYPE_p_char swig_types[13]
1847
+ #define SWIGTYPE_p_unsigned_char swig_types[14]
1848
+ #define SWIGTYPE_p_unsigned_int swig_types[15]
1849
+ #define SWIGTYPE_p_unsigned_long swig_types[16]
1850
+ #define SWIGTYPE_p_wchar_t swig_types[17]
1851
+ static swig_type_info *swig_types[19];
1852
+ static swig_module_info swig_module = {swig_types, 18, 0, 0, 0, 0};
1854
1853
  #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1855
1854
  #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1856
1855
 
@@ -1881,6 +1880,8 @@ static VALUE mMP4;
1881
1880
  #include <taglib/mp4properties.h>
1882
1881
  #include <taglib/mp4tag.h>
1883
1882
  #include <taglib/mp4atom.h>
1883
+ // To resolve some symbols, like AtomDataType in Item.
1884
+ using namespace TagLib::MP4;
1884
1885
 
1885
1886
 
1886
1887
  #include <taglib/tstring.h>
@@ -1902,7 +1903,7 @@ VALUE taglib_bytevector_to_ruby_string(const TagLib::ByteVector &byteVector) {
1902
1903
  if (byteVector.isNull()) {
1903
1904
  return Qnil;
1904
1905
  } else {
1905
- return rb_tainted_str_new(byteVector.data(), byteVector.size());
1906
+ return rb_str_new(byteVector.data(), byteVector.size());
1906
1907
  }
1907
1908
  }
1908
1909
 
@@ -1918,7 +1919,7 @@ VALUE taglib_string_to_ruby_string(const TagLib::String & string) {
1918
1919
  if (string.isNull()) {
1919
1920
  return Qnil;
1920
1921
  } else {
1921
- VALUE result = rb_tainted_str_new2(string.toCString(true));
1922
+ VALUE result = rb_str_new2(string.toCString(true));
1922
1923
  ASSOCIATE_UTF8_ENCODING(result);
1923
1924
  return result;
1924
1925
  }
@@ -1958,9 +1959,9 @@ VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) {
1958
1959
  VALUE result;
1959
1960
  #ifdef _WIN32
1960
1961
  const char *s = (const char *) filename;
1961
- result = rb_tainted_str_new2(s);
1962
+ result = rb_str_new2(s);
1962
1963
  #else
1963
- result = rb_tainted_str_new2(filename);
1964
+ result = rb_str_new2(filename);
1964
1965
  #endif
1965
1966
  ASSOCIATE_FILESYSTEM_ENCODING(result);
1966
1967
  return result;
@@ -1995,16 +1996,16 @@ TagLib::FileName ruby_string_to_taglib_filename(VALUE s) {
1995
1996
 
1996
1997
 
1997
1998
 
1998
- static void unlink_taglib_mp4_item_list_map_iterator(TagLib::MP4::ItemListMap::Iterator &it) {
1999
- TagLib::MP4::Item *item = &(it->second);
1999
+ static void unlink_taglib_mp4_item_map_iterator(const TagLib::MP4::ItemMap::ConstIterator &it) {
2000
+ const TagLib::MP4::Item *item = &(it->second);
2000
2001
  TagLib::MP4::CoverArtList list = item->toCoverArtList();
2001
2002
  for (TagLib::MP4::CoverArtList::ConstIterator it = list.begin(); it != list.end(); it++) {
2002
2003
  void *cover_art = (void *) &(*it);
2003
2004
  SWIG_RubyUnlinkObjects(cover_art);
2004
2005
  SWIG_RubyRemoveTracking(cover_art);
2005
2006
  }
2006
- SWIG_RubyUnlinkObjects(item);
2007
- SWIG_RubyRemoveTracking(item);
2007
+ SWIG_RubyUnlinkObjects((void *)item);
2008
+ SWIG_RubyRemoveTracking((void *)item);
2008
2009
  }
2009
2010
 
2010
2011
  VALUE taglib_mp4_item_int_pair_to_ruby_array(const TagLib::MP4::Item::IntPair &int_pair) {
@@ -2046,6 +2047,16 @@ TagLib::MP4::CoverArtList ruby_array_to_taglib_cover_art_list(VALUE ary) {
2046
2047
  #endif
2047
2048
 
2048
2049
 
2050
+ #define SWIG_From_long LONG2NUM
2051
+
2052
+
2053
+ SWIGINTERNINLINE VALUE
2054
+ SWIG_From_int (int value)
2055
+ {
2056
+ return SWIG_From_long (value);
2057
+ }
2058
+
2059
+
2049
2060
  SWIGINTERN VALUE
2050
2061
  SWIG_ruby_failed(void)
2051
2062
  {
@@ -2098,16 +2109,6 @@ SWIG_AsVal_int (VALUE obj, int *val)
2098
2109
  }
2099
2110
 
2100
2111
 
2101
- #define SWIG_From_long LONG2NUM
2102
-
2103
-
2104
- SWIGINTERNINLINE VALUE
2105
- SWIG_From_int (int value)
2106
- {
2107
- return SWIG_From_long (value);
2108
- }
2109
-
2110
-
2111
2112
  SWIGINTERNINLINE VALUE
2112
2113
  SWIG_From_bool (bool value)
2113
2114
  {
@@ -2223,6 +2224,67 @@ SWIG_AsVal_unsigned_SS_int (VALUE obj, unsigned int *val)
2223
2224
  return res;
2224
2225
  }
2225
2226
 
2227
+ SWIGINTERN VALUE TagLib_MP4_Tag___setitem__(TagLib::MP4::Tag *self,TagLib::String const &string,TagLib::MP4::Item const &item){
2228
+ TagLib::MP4::ItemMap::ConstIterator it = self->itemMap().find(string);
2229
+ if (it != self->itemMap().end()) {
2230
+ unlink_taglib_mp4_item_map_iterator(it);
2231
+ }
2232
+ self->setItem(string, item);
2233
+ return Qnil;
2234
+ }
2235
+ SWIGINTERN VALUE TagLib_MP4_Tag_remove_item(TagLib::MP4::Tag *self,TagLib::String const &string){
2236
+ TagLib::MP4::ItemMap::ConstIterator it = self->itemMap().find(string);
2237
+ if (it != self->itemMap().end()) {
2238
+ unlink_taglib_mp4_item_map_iterator(it);
2239
+ self->removeItem(string);
2240
+ }
2241
+ return Qnil;
2242
+ }
2243
+
2244
+ SWIGINTERN int
2245
+ SWIG_AsVal_unsigned_SS_char (VALUE obj, unsigned char *val)
2246
+ {
2247
+ unsigned long v;
2248
+ int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
2249
+ if (SWIG_IsOK(res)) {
2250
+ if ((v > UCHAR_MAX)) {
2251
+ return SWIG_OverflowError;
2252
+ } else {
2253
+ if (val) *val = static_cast< unsigned char >(v);
2254
+ }
2255
+ }
2256
+ return res;
2257
+ }
2258
+
2259
+
2260
+ /*@SWIG:/usr/local/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2261
+ SWIGINTERN VALUE SWIG_AUX_NUM2LL(VALUE *args)
2262
+ {
2263
+ VALUE obj = args[0];
2264
+ VALUE type = TYPE(obj);
2265
+ long long *res = (long long *)(args[1]);
2266
+ *res = type == T_FIXNUM ? NUM2LL(obj) : rb_big2ll(obj);
2267
+ return obj;
2268
+ }
2269
+ /*@SWIG@*/
2270
+
2271
+ SWIGINTERN int
2272
+ SWIG_AsVal_long_SS_long (VALUE obj, long long *val)
2273
+ {
2274
+ VALUE type = TYPE(obj);
2275
+ if ((type == T_FIXNUM) || (type == T_BIGNUM)) {
2276
+ long long v;
2277
+ VALUE a[2];
2278
+ a[0] = obj;
2279
+ a[1] = (VALUE)(&v);
2280
+ if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2LL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
2281
+ if (val) *val = v;
2282
+ return SWIG_OK;
2283
+ }
2284
+ }
2285
+ return SWIG_TypeError;
2286
+ }
2287
+
2226
2288
 
2227
2289
  SWIGINTERN int
2228
2290
  SWIG_AsVal_bool (VALUE obj, bool *val)
@@ -2243,11 +2305,34 @@ SWIG_AsVal_bool (VALUE obj, bool *val)
2243
2305
  return SWIG_TypeError;
2244
2306
  }
2245
2307
 
2308
+
2309
+ SWIGINTERNINLINE VALUE
2310
+ SWIG_From_unsigned_SS_char (unsigned char value)
2311
+ {
2312
+ return SWIG_From_unsigned_SS_long (value);
2313
+ }
2314
+
2315
+
2316
+ SWIGINTERNINLINE VALUE
2317
+ SWIG_From_long_SS_long (long long value)
2318
+ {
2319
+ return LL2NUM(value);
2320
+ }
2321
+
2322
+ SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_bool(bool q){
2323
+ return new TagLib::MP4::Item(q);
2324
+ }
2325
+ SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_byte(unsigned char n){
2326
+ return new TagLib::MP4::Item(n);
2327
+ }
2328
+ SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_uint(unsigned int n){
2329
+ return new TagLib::MP4::Item(n);
2330
+ }
2246
2331
  SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_int(int n){
2247
2332
  return new TagLib::MP4::Item(n);
2248
2333
  }
2249
- SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_bool(bool q){
2250
- return new TagLib::MP4::Item(q);
2334
+ SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_long_long(long long n){
2335
+ return new TagLib::MP4::Item(n);
2251
2336
  }
2252
2337
  SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_string_list(TagLib::StringList const &string_list){
2253
2338
  return new TagLib::MP4::Item(string_list);
@@ -2255,12 +2340,15 @@ SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_string_list(TagLib::StringLis
2255
2340
  SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_cover_art_list(TagLib::MP4::CoverArtList const &cover_art_list){
2256
2341
  return new TagLib::MP4::Item(cover_art_list);
2257
2342
  }
2343
+ SWIGINTERN TagLib::MP4::Item *TagLib_MP4_Item_from_byte_vector_list(TagLib::ByteVectorList const &byte_vector_list){
2344
+ return new TagLib::MP4::Item(byte_vector_list);
2345
+ }
2258
2346
  SWIGINTERN void TagLib_MP4_File_close(TagLib::MP4::File *self){
2259
2347
  free_taglib_mp4_file(self);
2260
2348
  }
2261
2349
  SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__to_a(TagLib::Map< TagLib::String,TagLib::MP4::Item > *self){
2262
2350
  VALUE ary = rb_ary_new2(self->size());
2263
- for (TagLib::MP4::ItemListMap::Iterator it = self->begin(); it != self->end(); it++) {
2351
+ for (TagLib::MP4::ItemMap::Iterator it = self->begin(); it != self->end(); it++) {
2264
2352
  TagLib::String string = it->first;
2265
2353
  TagLib::MP4::Item *item = &(it->second);
2266
2354
  VALUE pair = rb_ary_new2(2);
@@ -2270,8 +2358,17 @@ SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__to_a(TagLib:
2270
2358
  }
2271
2359
  return ary;
2272
2360
  }
2361
+ SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__to_h(TagLib::Map< TagLib::String,TagLib::MP4::Item > *self){
2362
+ VALUE hsh = rb_hash_new();
2363
+ for (TagLib::MP4::ItemMap::Iterator it = self->begin(); it != self->end(); it++) {
2364
+ rb_hash_aset(hsh,
2365
+ taglib_string_to_ruby_string(it->first),
2366
+ SWIG_NewPointerObj(&(it->second), SWIGTYPE_p_TagLib__MP4__Item, 0));
2367
+ }
2368
+ return hsh;
2369
+ }
2273
2370
  SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__fetch(TagLib::Map< TagLib::String,TagLib::MP4::Item > *self,TagLib::String const &string){
2274
- TagLib::MP4::ItemListMap::Iterator it = self->find(string);
2371
+ TagLib::MP4::ItemMap::Iterator it = self->find(string);
2275
2372
  VALUE result = Qnil;
2276
2373
  if (it != self->end()) {
2277
2374
  TagLib::MP4::Item *item = &(it->second);
@@ -2280,24 +2377,24 @@ SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__fetch(TagLib
2280
2377
  return result;
2281
2378
  }
2282
2379
  SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg___clear(TagLib::Map< TagLib::String,TagLib::MP4::Item > *self){
2283
- for (TagLib::MP4::ItemListMap::Iterator it = self->begin(); it != self->end(); it++) {
2284
- unlink_taglib_mp4_item_list_map_iterator(it);
2380
+ for (TagLib::MP4::ItemMap::Iterator it = self->begin(); it != self->end(); it++) {
2381
+ unlink_taglib_mp4_item_map_iterator(it);
2285
2382
  }
2286
2383
  self->clear();
2287
2384
  return Qnil;
2288
2385
  }
2289
2386
  SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__erase(TagLib::Map< TagLib::String,TagLib::MP4::Item > *self,TagLib::String const &string){
2290
- TagLib::MP4::ItemListMap::Iterator it = self->find(string);
2387
+ TagLib::MP4::ItemMap::Iterator it = self->find(string);
2291
2388
  if (it != self->end()) {
2292
- unlink_taglib_mp4_item_list_map_iterator(it);
2389
+ unlink_taglib_mp4_item_map_iterator(it);
2293
2390
  self->erase(it);
2294
2391
  }
2295
2392
  return Qnil;
2296
2393
  }
2297
2394
  SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg___insert(TagLib::Map< TagLib::String,TagLib::MP4::Item > *self,TagLib::String const &string,TagLib::MP4::Item const &item){
2298
- TagLib::MP4::ItemListMap::Iterator it = self->find(string);
2395
+ TagLib::MP4::ItemMap::Iterator it = self->find(string);
2299
2396
  if (it != self->end()) {
2300
- unlink_taglib_mp4_item_list_map_iterator(it);
2397
+ unlink_taglib_mp4_item_map_iterator(it);
2301
2398
  }
2302
2399
  self->insert(string, item);
2303
2400
  return Qnil;
@@ -2308,10 +2405,10 @@ SWIGINTERN VALUE TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg___insert(TagL
2308
2405
 
2309
2406
  TagLib::MP4::Tag *tag = file->tag();
2310
2407
  if (tag) {
2311
- TagLib::Map<TagLib::String, TagLib::MP4::Item> *item_list_map = &(tag->itemListMap());
2408
+ TagLib::MP4::ItemMap *item_list_map = const_cast<TagLib::MP4::ItemMap *>(&(tag->itemMap()));
2312
2409
  if (item_list_map) {
2313
- for (TagLib::MP4::ItemListMap::Iterator it = item_list_map->begin(); it != item_list_map->end(); it++) {
2314
- unlink_taglib_mp4_item_list_map_iterator(it);
2410
+ for (TagLib::MP4::ItemMap::Iterator it = item_list_map->begin(); it != item_list_map->end(); it++) {
2411
+ unlink_taglib_mp4_item_map_iterator(it);
2315
2412
  }
2316
2413
 
2317
2414
  SWIG_RubyUnlinkObjects(item_list_map);
@@ -2486,7 +2583,31 @@ free_TagLib_MP4_Properties(TagLib::MP4::Properties *arg1) {
2486
2583
  }
2487
2584
 
2488
2585
  SWIGINTERN VALUE
2489
- _wrap_Properties_length(int argc, VALUE *argv, VALUE self) {
2586
+ _wrap_Properties_length_in_seconds(int argc, VALUE *argv, VALUE self) {
2587
+ TagLib::MP4::Properties *arg1 = (TagLib::MP4::Properties *) 0 ;
2588
+ void *argp1 = 0 ;
2589
+ int res1 = 0 ;
2590
+ int result;
2591
+ VALUE vresult = Qnil;
2592
+
2593
+ if ((argc < 0) || (argc > 0)) {
2594
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2595
+ }
2596
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Properties, 0 | 0 );
2597
+ if (!SWIG_IsOK(res1)) {
2598
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Properties const *","lengthInSeconds", 1, self ));
2599
+ }
2600
+ arg1 = reinterpret_cast< TagLib::MP4::Properties * >(argp1);
2601
+ result = (int)((TagLib::MP4::Properties const *)arg1)->lengthInSeconds();
2602
+ vresult = SWIG_From_int(static_cast< int >(result));
2603
+ return vresult;
2604
+ fail:
2605
+ return Qnil;
2606
+ }
2607
+
2608
+
2609
+ SWIGINTERN VALUE
2610
+ _wrap_Properties_length_in_milliseconds(int argc, VALUE *argv, VALUE self) {
2490
2611
  TagLib::MP4::Properties *arg1 = (TagLib::MP4::Properties *) 0 ;
2491
2612
  void *argp1 = 0 ;
2492
2613
  int res1 = 0 ;
@@ -2498,10 +2619,10 @@ _wrap_Properties_length(int argc, VALUE *argv, VALUE self) {
2498
2619
  }
2499
2620
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Properties, 0 | 0 );
2500
2621
  if (!SWIG_IsOK(res1)) {
2501
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Properties const *","length", 1, self ));
2622
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Properties const *","lengthInMilliseconds", 1, self ));
2502
2623
  }
2503
2624
  arg1 = reinterpret_cast< TagLib::MP4::Properties * >(argp1);
2504
- result = (int)((TagLib::MP4::Properties const *)arg1)->length();
2625
+ result = (int)((TagLib::MP4::Properties const *)arg1)->lengthInMilliseconds();
2505
2626
  vresult = SWIG_From_int(static_cast< int >(result));
2506
2627
  return vresult;
2507
2628
  fail:
@@ -2605,8 +2726,72 @@ fail:
2605
2726
  }
2606
2727
 
2607
2728
 
2729
+ SWIGINTERN VALUE
2730
+ _wrap_Properties_encryptedq___(int argc, VALUE *argv, VALUE self) {
2731
+ TagLib::MP4::Properties *arg1 = (TagLib::MP4::Properties *) 0 ;
2732
+ void *argp1 = 0 ;
2733
+ int res1 = 0 ;
2734
+ bool result;
2735
+ VALUE vresult = Qnil;
2736
+
2737
+ if ((argc < 0) || (argc > 0)) {
2738
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2739
+ }
2740
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Properties, 0 | 0 );
2741
+ if (!SWIG_IsOK(res1)) {
2742
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Properties const *","isEncrypted", 1, self ));
2743
+ }
2744
+ arg1 = reinterpret_cast< TagLib::MP4::Properties * >(argp1);
2745
+ result = (bool)((TagLib::MP4::Properties const *)arg1)->isEncrypted();
2746
+ vresult = SWIG_From_bool(static_cast< bool >(result));
2747
+ return vresult;
2748
+ fail:
2749
+ return Qnil;
2750
+ }
2751
+
2752
+
2753
+ SWIGINTERN VALUE
2754
+ _wrap_Properties_codec(int argc, VALUE *argv, VALUE self) {
2755
+ TagLib::MP4::Properties *arg1 = (TagLib::MP4::Properties *) 0 ;
2756
+ void *argp1 = 0 ;
2757
+ int res1 = 0 ;
2758
+ TagLib::MP4::Properties::Codec result;
2759
+ VALUE vresult = Qnil;
2760
+
2761
+ if ((argc < 0) || (argc > 0)) {
2762
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2763
+ }
2764
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Properties, 0 | 0 );
2765
+ if (!SWIG_IsOK(res1)) {
2766
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Properties const *","codec", 1, self ));
2767
+ }
2768
+ arg1 = reinterpret_cast< TagLib::MP4::Properties * >(argp1);
2769
+ result = (TagLib::MP4::Properties::Codec)((TagLib::MP4::Properties const *)arg1)->codec();
2770
+ vresult = SWIG_From_int(static_cast< int >(result));
2771
+ return vresult;
2772
+ fail:
2773
+ return Qnil;
2774
+ }
2775
+
2776
+
2608
2777
  static swig_class SwigClassTag;
2609
2778
 
2779
+ SWIGINTERN VALUE
2780
+ _wrap_new_Tag__SWIG_0(int argc, VALUE *argv, VALUE self) {
2781
+ TagLib::MP4::Tag *result = 0 ;
2782
+
2783
+ if ((argc < 0) || (argc > 0)) {
2784
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
2785
+ }
2786
+ result = (TagLib::MP4::Tag *)new TagLib::MP4::Tag();
2787
+ DATA_PTR(self) = result;
2788
+ SWIG_RubyAddTracking(result, self);
2789
+ return self;
2790
+ fail:
2791
+ return Qnil;
2792
+ }
2793
+
2794
+
2610
2795
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
2611
2796
  SWIGINTERN VALUE
2612
2797
  _wrap_Tag_allocate(VALUE self) {
@@ -2625,7 +2810,7 @@ _wrap_Tag_allocate(VALUE self) {
2625
2810
 
2626
2811
 
2627
2812
  SWIGINTERN VALUE
2628
- _wrap_new_Tag(int argc, VALUE *argv, VALUE self) {
2813
+ _wrap_new_Tag__SWIG_1(int argc, VALUE *argv, VALUE self) {
2629
2814
  TagLib::File *arg1 = (TagLib::File *) 0 ;
2630
2815
  TagLib::MP4::Atoms *arg2 = (TagLib::MP4::Atoms *) 0 ;
2631
2816
  void *argp1 = 0 ;
@@ -2656,6 +2841,43 @@ fail:
2656
2841
  }
2657
2842
 
2658
2843
 
2844
+ SWIGINTERN VALUE _wrap_new_Tag(int nargs, VALUE *args, VALUE self) {
2845
+ int argc;
2846
+ VALUE argv[2];
2847
+ int ii;
2848
+
2849
+ argc = nargs;
2850
+ if (argc > 2) SWIG_fail;
2851
+ for (ii = 0; (ii < argc); ++ii) {
2852
+ argv[ii] = args[ii];
2853
+ }
2854
+ if (argc == 0) {
2855
+ return _wrap_new_Tag__SWIG_0(nargs, args, self);
2856
+ }
2857
+ if (argc == 2) {
2858
+ int _v;
2859
+ void *vptr = 0;
2860
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
2861
+ _v = SWIG_CheckState(res);
2862
+ if (_v) {
2863
+ void *vptr = 0;
2864
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__MP4__Atoms, 0);
2865
+ _v = SWIG_CheckState(res);
2866
+ if (_v) {
2867
+ return _wrap_new_Tag__SWIG_1(nargs, args, self);
2868
+ }
2869
+ }
2870
+ }
2871
+
2872
+ fail:
2873
+ Ruby_Format_OverloadedError( argc, 2, "Tag.new",
2874
+ " Tag.new()\n"
2875
+ " Tag.new(TagLib::File *file, TagLib::MP4::Atoms *atoms)\n");
2876
+
2877
+ return Qnil;
2878
+ }
2879
+
2880
+
2659
2881
  SWIGINTERN void
2660
2882
  free_TagLib_MP4_Tag(TagLib::MP4::Tag *arg1) {
2661
2883
  SWIG_RubyRemoveTracking(arg1);
@@ -2821,7 +3043,7 @@ _wrap_Tag_year(int argc, VALUE *argv, VALUE self) {
2821
3043
  TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
2822
3044
  void *argp1 = 0 ;
2823
3045
  int res1 = 0 ;
2824
- TagLib::uint result;
3046
+ unsigned int result;
2825
3047
  VALUE vresult = Qnil;
2826
3048
 
2827
3049
  if ((argc < 0) || (argc > 0)) {
@@ -2832,7 +3054,7 @@ _wrap_Tag_year(int argc, VALUE *argv, VALUE self) {
2832
3054
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag const *","year", 1, self ));
2833
3055
  }
2834
3056
  arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
2835
- result = (TagLib::uint)((TagLib::MP4::Tag const *)arg1)->year();
3057
+ result = (unsigned int)((TagLib::MP4::Tag const *)arg1)->year();
2836
3058
  vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
2837
3059
  return vresult;
2838
3060
  fail:
@@ -2845,7 +3067,7 @@ _wrap_Tag_track(int argc, VALUE *argv, VALUE self) {
2845
3067
  TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
2846
3068
  void *argp1 = 0 ;
2847
3069
  int res1 = 0 ;
2848
- TagLib::uint result;
3070
+ unsigned int result;
2849
3071
  VALUE vresult = Qnil;
2850
3072
 
2851
3073
  if ((argc < 0) || (argc > 0)) {
@@ -2856,7 +3078,7 @@ _wrap_Tag_track(int argc, VALUE *argv, VALUE self) {
2856
3078
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag const *","track", 1, self ));
2857
3079
  }
2858
3080
  arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
2859
- result = (TagLib::uint)((TagLib::MP4::Tag const *)arg1)->track();
3081
+ result = (unsigned int)((TagLib::MP4::Tag const *)arg1)->track();
2860
3082
  vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
2861
3083
  return vresult;
2862
3084
  fail:
@@ -3002,7 +3224,7 @@ fail:
3002
3224
  SWIGINTERN VALUE
3003
3225
  _wrap_Tag_yeare___(int argc, VALUE *argv, VALUE self) {
3004
3226
  TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3005
- TagLib::uint arg2 ;
3227
+ unsigned int arg2 ;
3006
3228
  void *argp1 = 0 ;
3007
3229
  int res1 = 0 ;
3008
3230
  unsigned int val2 ;
@@ -3018,9 +3240,9 @@ _wrap_Tag_yeare___(int argc, VALUE *argv, VALUE self) {
3018
3240
  arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3019
3241
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
3020
3242
  if (!SWIG_IsOK(ecode2)) {
3021
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "TagLib::uint","setYear", 2, argv[0] ));
3243
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setYear", 2, argv[0] ));
3022
3244
  }
3023
- arg2 = static_cast< TagLib::uint >(val2);
3245
+ arg2 = static_cast< unsigned int >(val2);
3024
3246
  (arg1)->setYear(arg2);
3025
3247
  return Qnil;
3026
3248
  fail:
@@ -3031,7 +3253,7 @@ fail:
3031
3253
  SWIGINTERN VALUE
3032
3254
  _wrap_Tag_tracke___(int argc, VALUE *argv, VALUE self) {
3033
3255
  TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3034
- TagLib::uint arg2 ;
3256
+ unsigned int arg2 ;
3035
3257
  void *argp1 = 0 ;
3036
3258
  int res1 = 0 ;
3037
3259
  unsigned int val2 ;
@@ -3047,9 +3269,9 @@ _wrap_Tag_tracke___(int argc, VALUE *argv, VALUE self) {
3047
3269
  arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3048
3270
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
3049
3271
  if (!SWIG_IsOK(ecode2)) {
3050
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "TagLib::uint","setTrack", 2, argv[0] ));
3272
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setTrack", 2, argv[0] ));
3051
3273
  }
3052
- arg2 = static_cast< TagLib::uint >(val2);
3274
+ arg2 = static_cast< unsigned int >(val2);
3053
3275
  (arg1)->setTrack(arg2);
3054
3276
  return Qnil;
3055
3277
  fail:
@@ -3058,11 +3280,35 @@ fail:
3058
3280
 
3059
3281
 
3060
3282
  SWIGINTERN VALUE
3061
- _wrap_Tag_item_list_map(int argc, VALUE *argv, VALUE self) {
3283
+ _wrap_Tag_emptyq___(int argc, VALUE *argv, VALUE self) {
3284
+ TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3285
+ void *argp1 = 0 ;
3286
+ int res1 = 0 ;
3287
+ bool result;
3288
+ VALUE vresult = Qnil;
3289
+
3290
+ if ((argc < 0) || (argc > 0)) {
3291
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
3292
+ }
3293
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Tag, 0 | 0 );
3294
+ if (!SWIG_IsOK(res1)) {
3295
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag const *","isEmpty", 1, self ));
3296
+ }
3297
+ arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3298
+ result = (bool)((TagLib::MP4::Tag const *)arg1)->isEmpty();
3299
+ vresult = SWIG_From_bool(static_cast< bool >(result));
3300
+ return vresult;
3301
+ fail:
3302
+ return Qnil;
3303
+ }
3304
+
3305
+
3306
+ SWIGINTERN VALUE
3307
+ _wrap_Tag_item_map(int argc, VALUE *argv, VALUE self) {
3062
3308
  TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3063
3309
  void *argp1 = 0 ;
3064
3310
  int res1 = 0 ;
3065
- TagLib::MP4::ItemListMap *result = 0 ;
3311
+ TagLib::MP4::ItemMap *result = 0 ;
3066
3312
  VALUE vresult = Qnil;
3067
3313
 
3068
3314
  if ((argc < 0) || (argc > 0)) {
@@ -3070,10 +3316,10 @@ _wrap_Tag_item_list_map(int argc, VALUE *argv, VALUE self) {
3070
3316
  }
3071
3317
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Tag, 0 | 0 );
3072
3318
  if (!SWIG_IsOK(res1)) {
3073
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag *","itemListMap", 1, self ));
3319
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag const *","itemMap", 1, self ));
3074
3320
  }
3075
3321
  arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3076
- result = (TagLib::MP4::ItemListMap *) &(arg1)->itemListMap();
3322
+ result = (TagLib::MP4::ItemMap *) &((TagLib::MP4::Tag const *)arg1)->itemMap();
3077
3323
  vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t, 0 | 0 );
3078
3324
  return vresult;
3079
3325
  fail:
@@ -3081,6 +3327,146 @@ fail:
3081
3327
  }
3082
3328
 
3083
3329
 
3330
+ SWIGINTERN VALUE
3331
+ _wrap_Tag___getitem__(int argc, VALUE *argv, VALUE self) {
3332
+ TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3333
+ TagLib::String *arg2 = 0 ;
3334
+ void *argp1 = 0 ;
3335
+ int res1 = 0 ;
3336
+ TagLib::String tmp2 ;
3337
+ TagLib::MP4::Item result;
3338
+ VALUE vresult = Qnil;
3339
+
3340
+ if ((argc < 1) || (argc > 1)) {
3341
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3342
+ }
3343
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Tag, 0 | 0 );
3344
+ if (!SWIG_IsOK(res1)) {
3345
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag const *","item", 1, self ));
3346
+ }
3347
+ arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3348
+ {
3349
+ tmp2 = ruby_string_to_taglib_string(argv[0]);
3350
+ arg2 = &tmp2;
3351
+ }
3352
+ result = ((TagLib::MP4::Tag const *)arg1)->item((TagLib::String const &)*arg2);
3353
+ vresult = SWIG_NewPointerObj((new TagLib::MP4::Item(static_cast< const TagLib::MP4::Item& >(result))), SWIGTYPE_p_TagLib__MP4__Item, SWIG_POINTER_OWN | 0 );
3354
+ return vresult;
3355
+ fail:
3356
+ return Qnil;
3357
+ }
3358
+
3359
+
3360
+ SWIGINTERN VALUE
3361
+ _wrap_Tag_contains(int argc, VALUE *argv, VALUE self) {
3362
+ TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3363
+ TagLib::String *arg2 = 0 ;
3364
+ void *argp1 = 0 ;
3365
+ int res1 = 0 ;
3366
+ TagLib::String tmp2 ;
3367
+ bool result;
3368
+ VALUE vresult = Qnil;
3369
+
3370
+ if ((argc < 1) || (argc > 1)) {
3371
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3372
+ }
3373
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Tag, 0 | 0 );
3374
+ if (!SWIG_IsOK(res1)) {
3375
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag const *","contains", 1, self ));
3376
+ }
3377
+ arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3378
+ {
3379
+ tmp2 = ruby_string_to_taglib_string(argv[0]);
3380
+ arg2 = &tmp2;
3381
+ }
3382
+ result = (bool)((TagLib::MP4::Tag const *)arg1)->contains((TagLib::String const &)*arg2);
3383
+ vresult = SWIG_From_bool(static_cast< bool >(result));
3384
+ return vresult;
3385
+ fail:
3386
+ return Qnil;
3387
+ }
3388
+
3389
+
3390
+
3391
+ /*
3392
+ Document-method: TagLib::MP4::Tag.[]=
3393
+
3394
+ call-seq:
3395
+ []=(string, item) -> VALUE
3396
+
3397
+ Element setter/slicing.
3398
+ */
3399
+ SWIGINTERN VALUE
3400
+ _wrap_Tag___setitem__(int argc, VALUE *argv, VALUE self) {
3401
+ TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3402
+ TagLib::String *arg2 = 0 ;
3403
+ TagLib::MP4::Item *arg3 = 0 ;
3404
+ void *argp1 = 0 ;
3405
+ int res1 = 0 ;
3406
+ TagLib::String tmp2 ;
3407
+ void *argp3 ;
3408
+ int res3 = 0 ;
3409
+ VALUE result;
3410
+ VALUE vresult = Qnil;
3411
+
3412
+ if ((argc < 2) || (argc > 2)) {
3413
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3414
+ }
3415
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Tag, 0 | 0 );
3416
+ if (!SWIG_IsOK(res1)) {
3417
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag *","__setitem__", 1, self ));
3418
+ }
3419
+ arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3420
+ {
3421
+ tmp2 = ruby_string_to_taglib_string(argv[0]);
3422
+ arg2 = &tmp2;
3423
+ }
3424
+ res3 = SWIG_ConvertPtr(argv[1], &argp3, SWIGTYPE_p_TagLib__MP4__Item, 0 );
3425
+ if (!SWIG_IsOK(res3)) {
3426
+ SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "TagLib::MP4::Item const &","__setitem__", 3, argv[1] ));
3427
+ }
3428
+ if (!argp3) {
3429
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "TagLib::MP4::Item const &","__setitem__", 3, argv[1]));
3430
+ }
3431
+ arg3 = reinterpret_cast< TagLib::MP4::Item * >(argp3);
3432
+ result = (VALUE)TagLib_MP4_Tag___setitem__(arg1,(TagLib::String const &)*arg2,(TagLib::MP4::Item const &)*arg3);
3433
+ vresult = result;
3434
+ return vresult;
3435
+ fail:
3436
+ return Qnil;
3437
+ }
3438
+
3439
+
3440
+ SWIGINTERN VALUE
3441
+ _wrap_Tag_remove_item(int argc, VALUE *argv, VALUE self) {
3442
+ TagLib::MP4::Tag *arg1 = (TagLib::MP4::Tag *) 0 ;
3443
+ TagLib::String *arg2 = 0 ;
3444
+ void *argp1 = 0 ;
3445
+ int res1 = 0 ;
3446
+ TagLib::String tmp2 ;
3447
+ VALUE result;
3448
+ VALUE vresult = Qnil;
3449
+
3450
+ if ((argc < 1) || (argc > 1)) {
3451
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3452
+ }
3453
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Tag, 0 | 0 );
3454
+ if (!SWIG_IsOK(res1)) {
3455
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Tag *","remove_item", 1, self ));
3456
+ }
3457
+ arg1 = reinterpret_cast< TagLib::MP4::Tag * >(argp1);
3458
+ {
3459
+ tmp2 = ruby_string_to_taglib_string(argv[0]);
3460
+ arg2 = &tmp2;
3461
+ }
3462
+ result = (VALUE)TagLib_MP4_Tag_remove_item(arg1,(TagLib::String const &)*arg2);
3463
+ vresult = result;
3464
+ return vresult;
3465
+ fail:
3466
+ return Qnil;
3467
+ }
3468
+
3469
+
3084
3470
  static swig_class SwigClassCoverArt;
3085
3471
 
3086
3472
  SWIGINTERN VALUE
@@ -3333,6 +3719,78 @@ fail:
3333
3719
 
3334
3720
  SWIGINTERN VALUE
3335
3721
  _wrap_new_Item__SWIG_3(int argc, VALUE *argv, VALUE self) {
3722
+ unsigned char arg1 ;
3723
+ unsigned char val1 ;
3724
+ int ecode1 = 0 ;
3725
+ TagLib::MP4::Item *result = 0 ;
3726
+
3727
+ if ((argc < 1) || (argc > 1)) {
3728
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3729
+ }
3730
+ ecode1 = SWIG_AsVal_unsigned_SS_char(argv[0], &val1);
3731
+ if (!SWIG_IsOK(ecode1)) {
3732
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "unsigned char","Item", 1, argv[0] ));
3733
+ }
3734
+ arg1 = static_cast< unsigned char >(val1);
3735
+ result = (TagLib::MP4::Item *)new TagLib::MP4::Item(arg1);
3736
+ DATA_PTR(self) = result;
3737
+ SWIG_RubyAddTracking(result, self);
3738
+ return self;
3739
+ fail:
3740
+ return Qnil;
3741
+ }
3742
+
3743
+
3744
+ SWIGINTERN VALUE
3745
+ _wrap_new_Item__SWIG_4(int argc, VALUE *argv, VALUE self) {
3746
+ unsigned int arg1 ;
3747
+ unsigned int val1 ;
3748
+ int ecode1 = 0 ;
3749
+ TagLib::MP4::Item *result = 0 ;
3750
+
3751
+ if ((argc < 1) || (argc > 1)) {
3752
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3753
+ }
3754
+ ecode1 = SWIG_AsVal_unsigned_SS_int(argv[0], &val1);
3755
+ if (!SWIG_IsOK(ecode1)) {
3756
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "unsigned int","Item", 1, argv[0] ));
3757
+ }
3758
+ arg1 = static_cast< unsigned int >(val1);
3759
+ result = (TagLib::MP4::Item *)new TagLib::MP4::Item(arg1);
3760
+ DATA_PTR(self) = result;
3761
+ SWIG_RubyAddTracking(result, self);
3762
+ return self;
3763
+ fail:
3764
+ return Qnil;
3765
+ }
3766
+
3767
+
3768
+ SWIGINTERN VALUE
3769
+ _wrap_new_Item__SWIG_5(int argc, VALUE *argv, VALUE self) {
3770
+ long long arg1 ;
3771
+ long long val1 ;
3772
+ int ecode1 = 0 ;
3773
+ TagLib::MP4::Item *result = 0 ;
3774
+
3775
+ if ((argc < 1) || (argc > 1)) {
3776
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3777
+ }
3778
+ ecode1 = SWIG_AsVal_long_SS_long(argv[0], &val1);
3779
+ if (!SWIG_IsOK(ecode1)) {
3780
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "long long","Item", 1, argv[0] ));
3781
+ }
3782
+ arg1 = static_cast< long long >(val1);
3783
+ result = (TagLib::MP4::Item *)new TagLib::MP4::Item(arg1);
3784
+ DATA_PTR(self) = result;
3785
+ SWIG_RubyAddTracking(result, self);
3786
+ return self;
3787
+ fail:
3788
+ return Qnil;
3789
+ }
3790
+
3791
+
3792
+ SWIGINTERN VALUE
3793
+ _wrap_new_Item__SWIG_6(int argc, VALUE *argv, VALUE self) {
3336
3794
  bool arg1 ;
3337
3795
  bool val1 ;
3338
3796
  int ecode1 = 0 ;
@@ -3356,7 +3814,7 @@ fail:
3356
3814
 
3357
3815
 
3358
3816
  SWIGINTERN VALUE
3359
- _wrap_new_Item__SWIG_4(int argc, VALUE *argv, VALUE self) {
3817
+ _wrap_new_Item__SWIG_7(int argc, VALUE *argv, VALUE self) {
3360
3818
  int arg1 ;
3361
3819
  int arg2 ;
3362
3820
  int val1 ;
@@ -3388,19 +3846,46 @@ fail:
3388
3846
 
3389
3847
 
3390
3848
  SWIGINTERN VALUE
3391
- _wrap_new_Item__SWIG_5(int argc, VALUE *argv, VALUE self) {
3392
- TagLib::StringList *arg1 = 0 ;
3393
- TagLib::StringList tmp1 ;
3849
+ _wrap_new_Item__SWIG_8(int argc, VALUE *argv, VALUE self) {
3850
+ TagLib::StringList *arg1 = 0 ;
3851
+ TagLib::StringList tmp1 ;
3852
+ TagLib::MP4::Item *result = 0 ;
3853
+
3854
+ if ((argc < 1) || (argc > 1)) {
3855
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3856
+ }
3857
+ {
3858
+ tmp1 = ruby_array_to_taglib_string_list(argv[0]);
3859
+ arg1 = &tmp1;
3860
+ }
3861
+ result = (TagLib::MP4::Item *)new TagLib::MP4::Item((TagLib::StringList const &)*arg1);
3862
+ DATA_PTR(self) = result;
3863
+ SWIG_RubyAddTracking(result, self);
3864
+ return self;
3865
+ fail:
3866
+ return Qnil;
3867
+ }
3868
+
3869
+
3870
+ SWIGINTERN VALUE
3871
+ _wrap_new_Item__SWIG_9(int argc, VALUE *argv, VALUE self) {
3872
+ TagLib::ByteVectorList *arg1 = 0 ;
3873
+ void *argp1 ;
3874
+ int res1 = 0 ;
3394
3875
  TagLib::MP4::Item *result = 0 ;
3395
3876
 
3396
3877
  if ((argc < 1) || (argc > 1)) {
3397
3878
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3398
3879
  }
3399
- {
3400
- tmp1 = ruby_array_to_taglib_string_list(argv[0]);
3401
- arg1 = &tmp1;
3880
+ res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_TagLib__ByteVectorList, 0 );
3881
+ if (!SWIG_IsOK(res1)) {
3882
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::ByteVectorList const &","Item", 1, argv[0] ));
3402
3883
  }
3403
- result = (TagLib::MP4::Item *)new TagLib::MP4::Item((TagLib::StringList const &)*arg1);
3884
+ if (!argp1) {
3885
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "TagLib::ByteVectorList const &","Item", 1, argv[0]));
3886
+ }
3887
+ arg1 = reinterpret_cast< TagLib::ByteVectorList * >(argp1);
3888
+ result = (TagLib::MP4::Item *)new TagLib::MP4::Item((TagLib::ByteVectorList const &)*arg1);
3404
3889
  DATA_PTR(self) = result;
3405
3890
  SWIG_RubyAddTracking(result, self);
3406
3891
  return self;
@@ -3427,7 +3912,7 @@ _wrap_Item_allocate(VALUE self) {
3427
3912
 
3428
3913
 
3429
3914
  SWIGINTERN VALUE
3430
- _wrap_new_Item__SWIG_6(int argc, VALUE *argv, VALUE self) {
3915
+ _wrap_new_Item__SWIG_10(int argc, VALUE *argv, VALUE self) {
3431
3916
  TagLib::MP4::CoverArtList *arg1 = 0 ;
3432
3917
  TagLib::MP4::CoverArtList tmp1 ;
3433
3918
  TagLib::MP4::Item *result = 0 ;
@@ -3476,7 +3961,16 @@ SWIGINTERN VALUE _wrap_new_Item(int nargs, VALUE *args, VALUE self) {
3476
3961
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__StringList, 0);
3477
3962
  _v = SWIG_CheckState(res);
3478
3963
  if (_v) {
3479
- return _wrap_new_Item__SWIG_5(nargs, args, self);
3964
+ return _wrap_new_Item__SWIG_8(nargs, args, self);
3965
+ }
3966
+ }
3967
+ if (argc == 1) {
3968
+ int _v;
3969
+ void *vptr = 0;
3970
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__ByteVectorList, 0);
3971
+ _v = SWIG_CheckState(res);
3972
+ if (_v) {
3973
+ return _wrap_new_Item__SWIG_9(nargs, args, self);
3480
3974
  }
3481
3975
  }
3482
3976
  if (argc == 1) {
@@ -3485,7 +3979,27 @@ SWIGINTERN VALUE _wrap_new_Item(int nargs, VALUE *args, VALUE self) {
3485
3979
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MP4__CoverArtList, 0);
3486
3980
  _v = SWIG_CheckState(res);
3487
3981
  if (_v) {
3488
- return _wrap_new_Item__SWIG_6(nargs, args, self);
3982
+ return _wrap_new_Item__SWIG_10(nargs, args, self);
3983
+ }
3984
+ }
3985
+ if (argc == 1) {
3986
+ int _v;
3987
+ {
3988
+ int res = SWIG_AsVal_unsigned_SS_char(argv[0], NULL);
3989
+ _v = SWIG_CheckState(res);
3990
+ }
3991
+ if (_v) {
3992
+ return _wrap_new_Item__SWIG_3(nargs, args, self);
3993
+ }
3994
+ }
3995
+ if (argc == 1) {
3996
+ int _v;
3997
+ {
3998
+ int res = SWIG_AsVal_unsigned_SS_int(argv[0], NULL);
3999
+ _v = SWIG_CheckState(res);
4000
+ }
4001
+ if (_v) {
4002
+ return _wrap_new_Item__SWIG_4(nargs, args, self);
3489
4003
  }
3490
4004
  }
3491
4005
  if (argc == 1) {
@@ -3498,6 +4012,16 @@ SWIGINTERN VALUE _wrap_new_Item(int nargs, VALUE *args, VALUE self) {
3498
4012
  return _wrap_new_Item__SWIG_2(nargs, args, self);
3499
4013
  }
3500
4014
  }
4015
+ if (argc == 1) {
4016
+ int _v;
4017
+ {
4018
+ int res = SWIG_AsVal_long_SS_long(argv[0], NULL);
4019
+ _v = SWIG_CheckState(res);
4020
+ }
4021
+ if (_v) {
4022
+ return _wrap_new_Item__SWIG_5(nargs, args, self);
4023
+ }
4024
+ }
3501
4025
  if (argc == 1) {
3502
4026
  int _v;
3503
4027
  {
@@ -3505,7 +4029,7 @@ SWIGINTERN VALUE _wrap_new_Item(int nargs, VALUE *args, VALUE self) {
3505
4029
  _v = SWIG_CheckState(res);
3506
4030
  }
3507
4031
  if (_v) {
3508
- return _wrap_new_Item__SWIG_3(nargs, args, self);
4032
+ return _wrap_new_Item__SWIG_6(nargs, args, self);
3509
4033
  }
3510
4034
  }
3511
4035
  if (argc == 2) {
@@ -3520,7 +4044,7 @@ SWIGINTERN VALUE _wrap_new_Item(int nargs, VALUE *args, VALUE self) {
3520
4044
  _v = SWIG_CheckState(res);
3521
4045
  }
3522
4046
  if (_v) {
3523
- return _wrap_new_Item__SWIG_4(nargs, args, self);
4047
+ return _wrap_new_Item__SWIG_7(nargs, args, self);
3524
4048
  }
3525
4049
  }
3526
4050
  }
@@ -3530,9 +4054,13 @@ fail:
3530
4054
  " Item.new()\n"
3531
4055
  " Item.new(TagLib::MP4::Item const &item)\n"
3532
4056
  " Item.new(int value)\n"
4057
+ " Item.new(unsigned char value)\n"
4058
+ " Item.new(unsigned int value)\n"
4059
+ " Item.new(long long value)\n"
3533
4060
  " Item.new(bool value)\n"
3534
4061
  " Item.new(int first, int second)\n"
3535
4062
  " Item.new(TagLib::StringList const &value)\n"
4063
+ " Item.new(TagLib::ByteVectorList const &value)\n"
3536
4064
  " Item.new(TagLib::MP4::CoverArtList const &value)\n");
3537
4065
 
3538
4066
  return Qnil;
@@ -3563,6 +4091,78 @@ fail:
3563
4091
  }
3564
4092
 
3565
4093
 
4094
+ SWIGINTERN VALUE
4095
+ _wrap_Item_to_byte(int argc, VALUE *argv, VALUE self) {
4096
+ TagLib::MP4::Item *arg1 = (TagLib::MP4::Item *) 0 ;
4097
+ void *argp1 = 0 ;
4098
+ int res1 = 0 ;
4099
+ unsigned char result;
4100
+ VALUE vresult = Qnil;
4101
+
4102
+ if ((argc < 0) || (argc > 0)) {
4103
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4104
+ }
4105
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4106
+ if (!SWIG_IsOK(res1)) {
4107
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Item const *","toByte", 1, self ));
4108
+ }
4109
+ arg1 = reinterpret_cast< TagLib::MP4::Item * >(argp1);
4110
+ result = (unsigned char)((TagLib::MP4::Item const *)arg1)->toByte();
4111
+ vresult = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result));
4112
+ return vresult;
4113
+ fail:
4114
+ return Qnil;
4115
+ }
4116
+
4117
+
4118
+ SWIGINTERN VALUE
4119
+ _wrap_Item_to_uint(int argc, VALUE *argv, VALUE self) {
4120
+ TagLib::MP4::Item *arg1 = (TagLib::MP4::Item *) 0 ;
4121
+ void *argp1 = 0 ;
4122
+ int res1 = 0 ;
4123
+ unsigned int result;
4124
+ VALUE vresult = Qnil;
4125
+
4126
+ if ((argc < 0) || (argc > 0)) {
4127
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4128
+ }
4129
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4130
+ if (!SWIG_IsOK(res1)) {
4131
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Item const *","toUInt", 1, self ));
4132
+ }
4133
+ arg1 = reinterpret_cast< TagLib::MP4::Item * >(argp1);
4134
+ result = (unsigned int)((TagLib::MP4::Item const *)arg1)->toUInt();
4135
+ vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
4136
+ return vresult;
4137
+ fail:
4138
+ return Qnil;
4139
+ }
4140
+
4141
+
4142
+ SWIGINTERN VALUE
4143
+ _wrap_Item_to_long_long(int argc, VALUE *argv, VALUE self) {
4144
+ TagLib::MP4::Item *arg1 = (TagLib::MP4::Item *) 0 ;
4145
+ void *argp1 = 0 ;
4146
+ int res1 = 0 ;
4147
+ long long result;
4148
+ VALUE vresult = Qnil;
4149
+
4150
+ if ((argc < 0) || (argc > 0)) {
4151
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4152
+ }
4153
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4154
+ if (!SWIG_IsOK(res1)) {
4155
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Item const *","toLongLong", 1, self ));
4156
+ }
4157
+ arg1 = reinterpret_cast< TagLib::MP4::Item * >(argp1);
4158
+ result = (long long)((TagLib::MP4::Item const *)arg1)->toLongLong();
4159
+ vresult = SWIG_From_long_SS_long(static_cast< long long >(result));
4160
+ return vresult;
4161
+ fail:
4162
+ return Qnil;
4163
+ }
4164
+
4165
+
3566
4166
  SWIGINTERN VALUE
3567
4167
  _wrap_Item_to_bool(int argc, VALUE *argv, VALUE self) {
3568
4168
  TagLib::MP4::Item *arg1 = (TagLib::MP4::Item *) 0 ;
@@ -3639,6 +4239,30 @@ fail:
3639
4239
  }
3640
4240
 
3641
4241
 
4242
+ SWIGINTERN VALUE
4243
+ _wrap_Item_to_byte_vector_list(int argc, VALUE *argv, VALUE self) {
4244
+ TagLib::MP4::Item *arg1 = (TagLib::MP4::Item *) 0 ;
4245
+ void *argp1 = 0 ;
4246
+ int res1 = 0 ;
4247
+ TagLib::ByteVectorList result;
4248
+ VALUE vresult = Qnil;
4249
+
4250
+ if ((argc < 0) || (argc > 0)) {
4251
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4252
+ }
4253
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4254
+ if (!SWIG_IsOK(res1)) {
4255
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::Item const *","toByteVectorList", 1, self ));
4256
+ }
4257
+ arg1 = reinterpret_cast< TagLib::MP4::Item * >(argp1);
4258
+ result = ((TagLib::MP4::Item const *)arg1)->toByteVectorList();
4259
+ vresult = SWIG_NewPointerObj((new TagLib::ByteVectorList(static_cast< const TagLib::ByteVectorList& >(result))), SWIGTYPE_p_TagLib__ByteVectorList, SWIG_POINTER_OWN | 0 );
4260
+ return vresult;
4261
+ fail:
4262
+ return Qnil;
4263
+ }
4264
+
4265
+
3642
4266
  SWIGINTERN VALUE
3643
4267
  _wrap_Item_to_cover_art_list(int argc, VALUE *argv, VALUE self) {
3644
4268
  TagLib::MP4::Item *arg1 = (TagLib::MP4::Item *) 0 ;
@@ -3689,6 +4313,78 @@ fail:
3689
4313
  }
3690
4314
 
3691
4315
 
4316
+ SWIGINTERN VALUE
4317
+ _wrap_Item_from_bool(int argc, VALUE *argv, VALUE self) {
4318
+ bool arg1 ;
4319
+ bool val1 ;
4320
+ int ecode1 = 0 ;
4321
+ TagLib::MP4::Item *result = 0 ;
4322
+ VALUE vresult = Qnil;
4323
+
4324
+ if ((argc < 1) || (argc > 1)) {
4325
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4326
+ }
4327
+ ecode1 = SWIG_AsVal_bool(argv[0], &val1);
4328
+ if (!SWIG_IsOK(ecode1)) {
4329
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "bool","TagLib_MP4_Item_from_bool", 1, argv[0] ));
4330
+ }
4331
+ arg1 = static_cast< bool >(val1);
4332
+ result = (TagLib::MP4::Item *)TagLib_MP4_Item_from_bool(arg1);
4333
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4334
+ return vresult;
4335
+ fail:
4336
+ return Qnil;
4337
+ }
4338
+
4339
+
4340
+ SWIGINTERN VALUE
4341
+ _wrap_Item_from_byte(int argc, VALUE *argv, VALUE self) {
4342
+ unsigned char arg1 ;
4343
+ unsigned char val1 ;
4344
+ int ecode1 = 0 ;
4345
+ TagLib::MP4::Item *result = 0 ;
4346
+ VALUE vresult = Qnil;
4347
+
4348
+ if ((argc < 1) || (argc > 1)) {
4349
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4350
+ }
4351
+ ecode1 = SWIG_AsVal_unsigned_SS_char(argv[0], &val1);
4352
+ if (!SWIG_IsOK(ecode1)) {
4353
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "unsigned char","TagLib_MP4_Item_from_byte", 1, argv[0] ));
4354
+ }
4355
+ arg1 = static_cast< unsigned char >(val1);
4356
+ result = (TagLib::MP4::Item *)TagLib_MP4_Item_from_byte(arg1);
4357
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4358
+ return vresult;
4359
+ fail:
4360
+ return Qnil;
4361
+ }
4362
+
4363
+
4364
+ SWIGINTERN VALUE
4365
+ _wrap_Item_from_uint(int argc, VALUE *argv, VALUE self) {
4366
+ unsigned int arg1 ;
4367
+ unsigned int val1 ;
4368
+ int ecode1 = 0 ;
4369
+ TagLib::MP4::Item *result = 0 ;
4370
+ VALUE vresult = Qnil;
4371
+
4372
+ if ((argc < 1) || (argc > 1)) {
4373
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4374
+ }
4375
+ ecode1 = SWIG_AsVal_unsigned_SS_int(argv[0], &val1);
4376
+ if (!SWIG_IsOK(ecode1)) {
4377
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "unsigned int","TagLib_MP4_Item_from_uint", 1, argv[0] ));
4378
+ }
4379
+ arg1 = static_cast< unsigned int >(val1);
4380
+ result = (TagLib::MP4::Item *)TagLib_MP4_Item_from_uint(arg1);
4381
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4382
+ return vresult;
4383
+ fail:
4384
+ return Qnil;
4385
+ }
4386
+
4387
+
3692
4388
  SWIGINTERN VALUE
3693
4389
  _wrap_Item_from_int(int argc, VALUE *argv, VALUE self) {
3694
4390
  int arg1 ;
@@ -3714,9 +4410,9 @@ fail:
3714
4410
 
3715
4411
 
3716
4412
  SWIGINTERN VALUE
3717
- _wrap_Item_from_bool(int argc, VALUE *argv, VALUE self) {
3718
- bool arg1 ;
3719
- bool val1 ;
4413
+ _wrap_Item_from_long_long(int argc, VALUE *argv, VALUE self) {
4414
+ long long arg1 ;
4415
+ long long val1 ;
3720
4416
  int ecode1 = 0 ;
3721
4417
  TagLib::MP4::Item *result = 0 ;
3722
4418
  VALUE vresult = Qnil;
@@ -3724,12 +4420,12 @@ _wrap_Item_from_bool(int argc, VALUE *argv, VALUE self) {
3724
4420
  if ((argc < 1) || (argc > 1)) {
3725
4421
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3726
4422
  }
3727
- ecode1 = SWIG_AsVal_bool(argv[0], &val1);
4423
+ ecode1 = SWIG_AsVal_long_SS_long(argv[0], &val1);
3728
4424
  if (!SWIG_IsOK(ecode1)) {
3729
- SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "bool","TagLib_MP4_Item_from_bool", 1, argv[0] ));
4425
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "long long","TagLib_MP4_Item_from_long_long", 1, argv[0] ));
3730
4426
  }
3731
- arg1 = static_cast< bool >(val1);
3732
- result = (TagLib::MP4::Item *)TagLib_MP4_Item_from_bool(arg1);
4427
+ arg1 = static_cast< long long >(val1);
4428
+ result = (TagLib::MP4::Item *)TagLib_MP4_Item_from_long_long(arg1);
3733
4429
  vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
3734
4430
  return vresult;
3735
4431
  fail:
@@ -3781,11 +4477,38 @@ fail:
3781
4477
  }
3782
4478
 
3783
4479
 
4480
+ SWIGINTERN VALUE
4481
+ _wrap_Item_from_byte_vector_list(int argc, VALUE *argv, VALUE self) {
4482
+ TagLib::ByteVectorList *arg1 = 0 ;
4483
+ void *argp1 ;
4484
+ int res1 = 0 ;
4485
+ TagLib::MP4::Item *result = 0 ;
4486
+ VALUE vresult = Qnil;
4487
+
4488
+ if ((argc < 1) || (argc > 1)) {
4489
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4490
+ }
4491
+ res1 = SWIG_ConvertPtr(argv[0], &argp1, SWIGTYPE_p_TagLib__ByteVectorList, 0 );
4492
+ if (!SWIG_IsOK(res1)) {
4493
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::ByteVectorList const &","TagLib_MP4_Item_from_byte_vector_list", 1, argv[0] ));
4494
+ }
4495
+ if (!argp1) {
4496
+ SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "TagLib::ByteVectorList const &","TagLib_MP4_Item_from_byte_vector_list", 1, argv[0]));
4497
+ }
4498
+ arg1 = reinterpret_cast< TagLib::ByteVectorList * >(argp1);
4499
+ result = (TagLib::MP4::Item *)TagLib_MP4_Item_from_byte_vector_list((TagLib::ByteVectorList const &)*arg1);
4500
+ vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__MP4__Item, 0 | 0 );
4501
+ return vresult;
4502
+ fail:
4503
+ return Qnil;
4504
+ }
4505
+
4506
+
3784
4507
  static swig_class SwigClassFile;
3785
4508
 
3786
4509
  SWIGINTERN VALUE
3787
4510
  _wrap_new_File__SWIG_0(int argc, VALUE *argv, VALUE self) {
3788
- SwigValueWrapper< TagLib::FileName > arg1 ;
4511
+ TagLib::FileName arg1 ;
3789
4512
  bool arg2 ;
3790
4513
  TagLib::MP4::Properties::ReadStyle arg3 ;
3791
4514
  bool val2 ;
@@ -3824,7 +4547,7 @@ fail:
3824
4547
 
3825
4548
  SWIGINTERN VALUE
3826
4549
  _wrap_new_File__SWIG_1(int argc, VALUE *argv, VALUE self) {
3827
- SwigValueWrapper< TagLib::FileName > arg1 ;
4550
+ TagLib::FileName arg1 ;
3828
4551
  bool arg2 ;
3829
4552
  bool val2 ;
3830
4553
  int ecode2 = 0 ;
@@ -3872,7 +4595,7 @@ _wrap_File_allocate(VALUE self) {
3872
4595
 
3873
4596
  SWIGINTERN VALUE
3874
4597
  _wrap_new_File__SWIG_2(int argc, VALUE *argv, VALUE self) {
3875
- SwigValueWrapper< TagLib::FileName > arg1 ;
4598
+ TagLib::FileName arg1 ;
3876
4599
  TagLib::MP4::File *result = 0 ;
3877
4600
 
3878
4601
  if ((argc < 1) || (argc > 1)) {
@@ -4028,6 +4751,30 @@ fail:
4028
4751
  }
4029
4752
 
4030
4753
 
4754
+ SWIGINTERN VALUE
4755
+ _wrap_File_mp4_tagq___(int argc, VALUE *argv, VALUE self) {
4756
+ TagLib::MP4::File *arg1 = (TagLib::MP4::File *) 0 ;
4757
+ void *argp1 = 0 ;
4758
+ int res1 = 0 ;
4759
+ bool result;
4760
+ VALUE vresult = Qnil;
4761
+
4762
+ if ((argc < 0) || (argc > 0)) {
4763
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4764
+ }
4765
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MP4__File, 0 | 0 );
4766
+ if (!SWIG_IsOK(res1)) {
4767
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MP4::File const *","hasMP4Tag", 1, self ));
4768
+ }
4769
+ arg1 = reinterpret_cast< TagLib::MP4::File * >(argp1);
4770
+ result = (bool)((TagLib::MP4::File const *)arg1)->hasMP4Tag();
4771
+ vresult = SWIG_From_bool(static_cast< bool >(result));
4772
+ return vresult;
4773
+ fail:
4774
+ return Qnil;
4775
+ }
4776
+
4777
+
4031
4778
  SWIGINTERN VALUE
4032
4779
  _wrap_File_close(int argc, VALUE *argv, VALUE self) {
4033
4780
  TagLib::MP4::File *arg1 = (TagLib::MP4::File *) 0 ;
@@ -4049,10 +4796,10 @@ fail:
4049
4796
  }
4050
4797
 
4051
4798
 
4052
- static swig_class SwigClassItemListMap;
4799
+ static swig_class SwigClassItemMap;
4053
4800
 
4054
4801
  SWIGINTERN VALUE
4055
- _wrap_new_ItemListMap__SWIG_0(int argc, VALUE *argv, VALUE self) {
4802
+ _wrap_new_ItemMap__SWIG_0(int argc, VALUE *argv, VALUE self) {
4056
4803
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *result = 0 ;
4057
4804
 
4058
4805
  if ((argc < 0) || (argc > 0)) {
@@ -4069,10 +4816,10 @@ fail:
4069
4816
 
4070
4817
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
4071
4818
  SWIGINTERN VALUE
4072
- _wrap_ItemListMap_allocate(VALUE self) {
4819
+ _wrap_ItemMap_allocate(VALUE self) {
4073
4820
  #else
4074
4821
  SWIGINTERN VALUE
4075
- _wrap_ItemListMap_allocate(int argc, VALUE *argv, VALUE self) {
4822
+ _wrap_ItemMap_allocate(int argc, VALUE *argv, VALUE self) {
4076
4823
  #endif
4077
4824
 
4078
4825
 
@@ -4085,7 +4832,7 @@ _wrap_ItemListMap_allocate(VALUE self) {
4085
4832
 
4086
4833
 
4087
4834
  SWIGINTERN VALUE
4088
- _wrap_new_ItemListMap__SWIG_1(int argc, VALUE *argv, VALUE self) {
4835
+ _wrap_new_ItemMap__SWIG_1(int argc, VALUE *argv, VALUE self) {
4089
4836
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = 0 ;
4090
4837
  void *argp1 ;
4091
4838
  int res1 = 0 ;
@@ -4111,7 +4858,7 @@ fail:
4111
4858
  }
4112
4859
 
4113
4860
 
4114
- SWIGINTERN VALUE _wrap_new_ItemListMap(int nargs, VALUE *args, VALUE self) {
4861
+ SWIGINTERN VALUE _wrap_new_ItemMap(int nargs, VALUE *args, VALUE self) {
4115
4862
  int argc;
4116
4863
  VALUE argv[1];
4117
4864
  int ii;
@@ -4122,7 +4869,7 @@ SWIGINTERN VALUE _wrap_new_ItemListMap(int nargs, VALUE *args, VALUE self) {
4122
4869
  argv[ii] = args[ii];
4123
4870
  }
4124
4871
  if (argc == 0) {
4125
- return _wrap_new_ItemListMap__SWIG_0(nargs, args, self);
4872
+ return _wrap_new_ItemMap__SWIG_0(nargs, args, self);
4126
4873
  }
4127
4874
  if (argc == 1) {
4128
4875
  int _v;
@@ -4130,14 +4877,14 @@ SWIGINTERN VALUE _wrap_new_ItemListMap(int nargs, VALUE *args, VALUE self) {
4130
4877
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t, 0);
4131
4878
  _v = SWIG_CheckState(res);
4132
4879
  if (_v) {
4133
- return _wrap_new_ItemListMap__SWIG_1(nargs, args, self);
4880
+ return _wrap_new_ItemMap__SWIG_1(nargs, args, self);
4134
4881
  }
4135
4882
  }
4136
4883
 
4137
4884
  fail:
4138
- Ruby_Format_OverloadedError( argc, 1, "ItemListMap.new",
4139
- " ItemListMap.new()\n"
4140
- " ItemListMap.new(TagLib::Map< TagLib::String,TagLib::MP4::Item > const &m)\n");
4885
+ Ruby_Format_OverloadedError( argc, 1, "ItemMap.new",
4886
+ " ItemMap.new()\n"
4887
+ " ItemMap.new(TagLib::Map< TagLib::String,TagLib::MP4::Item > const &m)\n");
4141
4888
 
4142
4889
  return Qnil;
4143
4890
  }
@@ -4151,19 +4898,19 @@ free_TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg_(TagLib::Map< TagLib::Str
4151
4898
 
4152
4899
 
4153
4900
  /*
4154
- Document-method: TagLib::MP4::ItemListMap.size
4901
+ Document-method: TagLib::MP4::ItemMap.size
4155
4902
 
4156
4903
  call-seq:
4157
- size -> TagLib::uint
4904
+ size -> unsigned int
4158
4905
 
4159
- Size or Length of the ItemListMap.
4906
+ Size or Length of the ItemMap.
4160
4907
  */
4161
4908
  SWIGINTERN VALUE
4162
- _wrap_ItemListMap_size(int argc, VALUE *argv, VALUE self) {
4909
+ _wrap_ItemMap_size(int argc, VALUE *argv, VALUE self) {
4163
4910
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4164
4911
  void *argp1 = 0 ;
4165
4912
  int res1 = 0 ;
4166
- TagLib::uint result;
4913
+ unsigned int result;
4167
4914
  VALUE vresult = Qnil;
4168
4915
 
4169
4916
  if ((argc < 0) || (argc > 0)) {
@@ -4174,7 +4921,7 @@ _wrap_ItemListMap_size(int argc, VALUE *argv, VALUE self) {
4174
4921
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Map< TagLib::String,TagLib::MP4::Item > const *","size", 1, self ));
4175
4922
  }
4176
4923
  arg1 = reinterpret_cast< TagLib::Map< TagLib::String,TagLib::MP4::Item > * >(argp1);
4177
- result = (TagLib::uint)((TagLib::Map< TagLib::String,TagLib::MP4::Item > const *)arg1)->size();
4924
+ result = (unsigned int)((TagLib::Map< TagLib::String,TagLib::MP4::Item > const *)arg1)->size();
4178
4925
  vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
4179
4926
  return vresult;
4180
4927
  fail:
@@ -4183,7 +4930,7 @@ fail:
4183
4930
 
4184
4931
 
4185
4932
  SWIGINTERN VALUE
4186
- _wrap_ItemListMap_emptyq___(int argc, VALUE *argv, VALUE self) {
4933
+ _wrap_ItemMap_emptyq___(int argc, VALUE *argv, VALUE self) {
4187
4934
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4188
4935
  void *argp1 = 0 ;
4189
4936
  int res1 = 0 ;
@@ -4207,7 +4954,7 @@ fail:
4207
4954
 
4208
4955
 
4209
4956
  SWIGINTERN VALUE
4210
- _wrap_ItemListMap_contains(int argc, VALUE *argv, VALUE self) {
4957
+ _wrap_ItemMap_contains(int argc, VALUE *argv, VALUE self) {
4211
4958
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4212
4959
  TagLib::String *arg2 = 0 ;
4213
4960
  void *argp1 = 0 ;
@@ -4238,15 +4985,15 @@ fail:
4238
4985
 
4239
4986
 
4240
4987
  /*
4241
- Document-method: TagLib::MP4::ItemListMap.to_a
4988
+ Document-method: TagLib::MP4::ItemMap.to_a
4242
4989
 
4243
4990
  call-seq:
4244
4991
  to_a -> VALUE
4245
4992
 
4246
- Convert ItemListMap to an Array.
4993
+ Convert ItemMap to an Array.
4247
4994
  */
4248
4995
  SWIGINTERN VALUE
4249
- _wrap_ItemListMap_to_a(int argc, VALUE *argv, VALUE self) {
4996
+ _wrap_ItemMap_to_a(int argc, VALUE *argv, VALUE self) {
4250
4997
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4251
4998
  void *argp1 = 0 ;
4252
4999
  int res1 = 0 ;
@@ -4270,7 +5017,31 @@ fail:
4270
5017
 
4271
5018
 
4272
5019
  SWIGINTERN VALUE
4273
- _wrap_ItemListMap_fetch(int argc, VALUE *argv, VALUE self) {
5020
+ _wrap_ItemMap_to_h(int argc, VALUE *argv, VALUE self) {
5021
+ TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
5022
+ void *argp1 = 0 ;
5023
+ int res1 = 0 ;
5024
+ VALUE result;
5025
+ VALUE vresult = Qnil;
5026
+
5027
+ if ((argc < 0) || (argc > 0)) {
5028
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
5029
+ }
5030
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t, 0 | 0 );
5031
+ if (!SWIG_IsOK(res1)) {
5032
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Map< TagLib::String,TagLib::MP4::Item > *","to_h", 1, self ));
5033
+ }
5034
+ arg1 = reinterpret_cast< TagLib::Map< TagLib::String,TagLib::MP4::Item > * >(argp1);
5035
+ result = (VALUE)TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg__to_h(arg1);
5036
+ vresult = result;
5037
+ return vresult;
5038
+ fail:
5039
+ return Qnil;
5040
+ }
5041
+
5042
+
5043
+ SWIGINTERN VALUE
5044
+ _wrap_ItemMap_fetch(int argc, VALUE *argv, VALUE self) {
4274
5045
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4275
5046
  TagLib::String *arg2 = 0 ;
4276
5047
  void *argp1 = 0 ;
@@ -4300,7 +5071,7 @@ fail:
4300
5071
 
4301
5072
 
4302
5073
  SWIGINTERN VALUE
4303
- _wrap_ItemListMap__clear(int argc, VALUE *argv, VALUE self) {
5074
+ _wrap_ItemMap__clear(int argc, VALUE *argv, VALUE self) {
4304
5075
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4305
5076
  void *argp1 = 0 ;
4306
5077
  int res1 = 0 ;
@@ -4324,7 +5095,7 @@ fail:
4324
5095
 
4325
5096
 
4326
5097
  SWIGINTERN VALUE
4327
- _wrap_ItemListMap_erase(int argc, VALUE *argv, VALUE self) {
5098
+ _wrap_ItemMap_erase(int argc, VALUE *argv, VALUE self) {
4328
5099
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4329
5100
  TagLib::String *arg2 = 0 ;
4330
5101
  void *argp1 = 0 ;
@@ -4354,7 +5125,7 @@ fail:
4354
5125
 
4355
5126
 
4356
5127
  SWIGINTERN VALUE
4357
- _wrap_ItemListMap__insert(int argc, VALUE *argv, VALUE self) {
5128
+ _wrap_ItemMap__insert(int argc, VALUE *argv, VALUE self) {
4358
5129
  TagLib::Map< TagLib::String,TagLib::MP4::Item > *arg1 = (TagLib::Map< TagLib::String,TagLib::MP4::Item > *) 0 ;
4359
5130
  TagLib::String *arg2 = 0 ;
4360
5131
  TagLib::MP4::Item *arg3 = 0 ;
@@ -4406,9 +5177,8 @@ static void *_p_TagLib__MP4__PropertiesTo_p_TagLib__AudioProperties(void *x, int
4406
5177
  static void *_p_TagLib__MP4__TagTo_p_TagLib__Tag(void *x, int *SWIGUNUSEDPARM(newmemory)) {
4407
5178
  return (void *)((TagLib::Tag *) ((TagLib::MP4::Tag *) x));
4408
5179
  }
4409
- static swig_type_info _swigt__p_ConstIterator = {"_p_ConstIterator", "ConstIterator *", 0, 0, (void*)0, 0};
4410
- static swig_type_info _swigt__p_Iterator = {"_p_Iterator", "Iterator *", 0, 0, (void*)0, 0};
4411
5180
  static swig_type_info _swigt__p_TagLib__AudioProperties = {"_p_TagLib__AudioProperties", "TagLib::AudioProperties *", 0, 0, (void*)0, 0};
5181
+ static swig_type_info _swigt__p_TagLib__ByteVectorList = {"_p_TagLib__ByteVectorList", "TagLib::ByteVectorList *", 0, 0, (void*)0, 0};
4412
5182
  static swig_type_info _swigt__p_TagLib__File = {"_p_TagLib__File", "TagLib::File *", 0, 0, (void*)0, 0};
4413
5183
  static swig_type_info _swigt__p_TagLib__MP4__Atoms = {"_p_TagLib__MP4__Atoms", "TagLib::MP4::Atoms *", 0, 0, (void*)0, 0};
4414
5184
  static swig_type_info _swigt__p_TagLib__MP4__CoverArt = {"_p_TagLib__MP4__CoverArt", "TagLib::MP4::CoverArt *", 0, 0, (void*)0, 0};
@@ -4417,7 +5187,7 @@ static swig_type_info _swigt__p_TagLib__MP4__File = {"_p_TagLib__MP4__File", "Ta
4417
5187
  static swig_type_info _swigt__p_TagLib__MP4__Item = {"_p_TagLib__MP4__Item", "TagLib::MP4::Item *", 0, 0, (void*)0, 0};
4418
5188
  static swig_type_info _swigt__p_TagLib__MP4__Properties = {"_p_TagLib__MP4__Properties", "TagLib::MP4::Properties *", 0, 0, (void*)0, 0};
4419
5189
  static swig_type_info _swigt__p_TagLib__MP4__Tag = {"_p_TagLib__MP4__Tag", "TagLib::MP4::Tag *", 0, 0, (void*)0, 0};
4420
- static swig_type_info _swigt__p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t = {"_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t", "TagLib::Map< TagLib::String,TagLib::MP4::Item > *|TagLib::MP4::ItemListMap *", 0, 0, (void*)0, 0};
5190
+ static swig_type_info _swigt__p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t = {"_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t", "TagLib::Map< TagLib::String,TagLib::MP4::Item > *|TagLib::MP4::ItemListMap *|TagLib::MP4::ItemMap *", 0, 0, (void*)0, 0};
4421
5191
  static swig_type_info _swigt__p_TagLib__StringList = {"_p_TagLib__StringList", "TagLib::StringList *", 0, 0, (void*)0, 0};
4422
5192
  static swig_type_info _swigt__p_TagLib__Tag = {"_p_TagLib__Tag", "TagLib::Tag *", 0, 0, (void*)0, 0};
4423
5193
  static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
@@ -4427,9 +5197,8 @@ static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "TagLib::ul
4427
5197
  static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_t *", 0, 0, (void*)0, 0};
4428
5198
 
4429
5199
  static swig_type_info *swig_type_initial[] = {
4430
- &_swigt__p_ConstIterator,
4431
- &_swigt__p_Iterator,
4432
5200
  &_swigt__p_TagLib__AudioProperties,
5201
+ &_swigt__p_TagLib__ByteVectorList,
4433
5202
  &_swigt__p_TagLib__File,
4434
5203
  &_swigt__p_TagLib__MP4__Atoms,
4435
5204
  &_swigt__p_TagLib__MP4__CoverArt,
@@ -4448,9 +5217,8 @@ static swig_type_info *swig_type_initial[] = {
4448
5217
  &_swigt__p_wchar_t,
4449
5218
  };
4450
5219
 
4451
- static swig_cast_info _swigc__p_ConstIterator[] = { {&_swigt__p_ConstIterator, 0, 0, 0},{0, 0, 0, 0}};
4452
- static swig_cast_info _swigc__p_Iterator[] = { {&_swigt__p_Iterator, 0, 0, 0},{0, 0, 0, 0}};
4453
5220
  static swig_cast_info _swigc__p_TagLib__AudioProperties[] = { {&_swigt__p_TagLib__AudioProperties, 0, 0, 0}, {&_swigt__p_TagLib__MP4__Properties, _p_TagLib__MP4__PropertiesTo_p_TagLib__AudioProperties, 0, 0},{0, 0, 0, 0}};
5221
+ static swig_cast_info _swigc__p_TagLib__ByteVectorList[] = { {&_swigt__p_TagLib__ByteVectorList, 0, 0, 0},{0, 0, 0, 0}};
4454
5222
  static swig_cast_info _swigc__p_TagLib__File[] = { {&_swigt__p_TagLib__File, 0, 0, 0}, {&_swigt__p_TagLib__MP4__File, _p_TagLib__MP4__FileTo_p_TagLib__File, 0, 0},{0, 0, 0, 0}};
4455
5223
  static swig_cast_info _swigc__p_TagLib__MP4__Atoms[] = { {&_swigt__p_TagLib__MP4__Atoms, 0, 0, 0},{0, 0, 0, 0}};
4456
5224
  static swig_cast_info _swigc__p_TagLib__MP4__CoverArt[] = { {&_swigt__p_TagLib__MP4__CoverArt, 0, 0, 0},{0, 0, 0, 0}};
@@ -4469,9 +5237,8 @@ static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long,
4469
5237
  static swig_cast_info _swigc__p_wchar_t[] = { {&_swigt__p_wchar_t, 0, 0, 0},{0, 0, 0, 0}};
4470
5238
 
4471
5239
  static swig_cast_info *swig_cast_initial[] = {
4472
- _swigc__p_ConstIterator,
4473
- _swigc__p_Iterator,
4474
5240
  _swigc__p_TagLib__AudioProperties,
5241
+ _swigc__p_TagLib__ByteVectorList,
4475
5242
  _swigc__p_TagLib__File,
4476
5243
  _swigc__p_TagLib__MP4__Atoms,
4477
5244
  _swigc__p_TagLib__MP4__CoverArt,
@@ -4749,11 +5516,17 @@ SWIGEXPORT void Init_taglib_mp4(void) {
4749
5516
  SWIG_TypeClientData(SWIGTYPE_p_TagLib__MP4__Properties, (void *) &SwigClassProperties);
4750
5517
  rb_define_alloc_func(SwigClassProperties.klass, _wrap_Properties_allocate);
4751
5518
  rb_define_method(SwigClassProperties.klass, "initialize", VALUEFUNC(_wrap_new_Properties), -1);
4752
- rb_define_method(SwigClassProperties.klass, "length", VALUEFUNC(_wrap_Properties_length), -1);
5519
+ rb_define_const(SwigClassProperties.klass, "Unknown", SWIG_From_int(static_cast< int >(TagLib::MP4::Properties::Unknown)));
5520
+ rb_define_const(SwigClassProperties.klass, "AAC", SWIG_From_int(static_cast< int >(TagLib::MP4::Properties::AAC)));
5521
+ rb_define_const(SwigClassProperties.klass, "ALAC", SWIG_From_int(static_cast< int >(TagLib::MP4::Properties::ALAC)));
5522
+ rb_define_method(SwigClassProperties.klass, "length_in_seconds", VALUEFUNC(_wrap_Properties_length_in_seconds), -1);
5523
+ rb_define_method(SwigClassProperties.klass, "length_in_milliseconds", VALUEFUNC(_wrap_Properties_length_in_milliseconds), -1);
4753
5524
  rb_define_method(SwigClassProperties.klass, "bitrate", VALUEFUNC(_wrap_Properties_bitrate), -1);
4754
5525
  rb_define_method(SwigClassProperties.klass, "sample_rate", VALUEFUNC(_wrap_Properties_sample_rate), -1);
4755
5526
  rb_define_method(SwigClassProperties.klass, "channels", VALUEFUNC(_wrap_Properties_channels), -1);
4756
5527
  rb_define_method(SwigClassProperties.klass, "bits_per_sample", VALUEFUNC(_wrap_Properties_bits_per_sample), -1);
5528
+ rb_define_method(SwigClassProperties.klass, "encrypted?", VALUEFUNC(_wrap_Properties_encryptedq___), -1);
5529
+ rb_define_method(SwigClassProperties.klass, "codec", VALUEFUNC(_wrap_Properties_codec), -1);
4757
5530
  SwigClassProperties.mark = 0;
4758
5531
  SwigClassProperties.destroy = (void (*)(void *)) free_TagLib_MP4_Properties;
4759
5532
  SwigClassProperties.trackObjects = 1;
@@ -4777,7 +5550,12 @@ SWIGEXPORT void Init_taglib_mp4(void) {
4777
5550
  rb_define_method(SwigClassTag.klass, "genre=", VALUEFUNC(_wrap_Tag_genree___), -1);
4778
5551
  rb_define_method(SwigClassTag.klass, "year=", VALUEFUNC(_wrap_Tag_yeare___), -1);
4779
5552
  rb_define_method(SwigClassTag.klass, "track=", VALUEFUNC(_wrap_Tag_tracke___), -1);
4780
- rb_define_method(SwigClassTag.klass, "item_list_map", VALUEFUNC(_wrap_Tag_item_list_map), -1);
5553
+ rb_define_method(SwigClassTag.klass, "empty?", VALUEFUNC(_wrap_Tag_emptyq___), -1);
5554
+ rb_define_method(SwigClassTag.klass, "item_map", VALUEFUNC(_wrap_Tag_item_map), -1);
5555
+ rb_define_method(SwigClassTag.klass, "[]", VALUEFUNC(_wrap_Tag___getitem__), -1);
5556
+ rb_define_method(SwigClassTag.klass, "contains", VALUEFUNC(_wrap_Tag_contains), -1);
5557
+ rb_define_method(SwigClassTag.klass, "[]=", VALUEFUNC(_wrap_Tag___setitem__), -1);
5558
+ rb_define_method(SwigClassTag.klass, "remove_item", VALUEFUNC(_wrap_Tag_remove_item), -1);
4781
5559
  SwigClassTag.mark = 0;
4782
5560
  SwigClassTag.destroy = (void (*)(void *)) free_TagLib_MP4_Tag;
4783
5561
  SwigClassTag.trackObjects = 1;
@@ -4788,6 +5566,9 @@ SWIGEXPORT void Init_taglib_mp4(void) {
4788
5566
  rb_define_method(SwigClassCoverArt.klass, "initialize", VALUEFUNC(_wrap_new_CoverArt), -1);
4789
5567
  rb_define_const(SwigClassCoverArt.klass, "JPEG", SWIG_From_int(static_cast< int >(TagLib::MP4::CoverArt::JPEG)));
4790
5568
  rb_define_const(SwigClassCoverArt.klass, "PNG", SWIG_From_int(static_cast< int >(TagLib::MP4::CoverArt::PNG)));
5569
+ rb_define_const(SwigClassCoverArt.klass, "BMP", SWIG_From_int(static_cast< int >(TagLib::MP4::CoverArt::BMP)));
5570
+ rb_define_const(SwigClassCoverArt.klass, "GIF", SWIG_From_int(static_cast< int >(TagLib::MP4::CoverArt::GIF)));
5571
+ rb_define_const(SwigClassCoverArt.klass, "Unknown", SWIG_From_int(static_cast< int >(TagLib::MP4::CoverArt::Unknown)));
4791
5572
  rb_define_method(SwigClassCoverArt.klass, "format", VALUEFUNC(_wrap_CoverArt_format), -1);
4792
5573
  rb_define_method(SwigClassCoverArt.klass, "data", VALUEFUNC(_wrap_CoverArt_data), -1);
4793
5574
  SwigClassCoverArt.mark = 0;
@@ -4799,15 +5580,23 @@ SWIGEXPORT void Init_taglib_mp4(void) {
4799
5580
  rb_define_alloc_func(SwigClassItem.klass, _wrap_Item_allocate);
4800
5581
  rb_define_method(SwigClassItem.klass, "initialize", VALUEFUNC(_wrap_new_Item), -1);
4801
5582
  rb_define_method(SwigClassItem.klass, "to_int", VALUEFUNC(_wrap_Item_to_int), -1);
5583
+ rb_define_method(SwigClassItem.klass, "to_byte", VALUEFUNC(_wrap_Item_to_byte), -1);
5584
+ rb_define_method(SwigClassItem.klass, "to_uint", VALUEFUNC(_wrap_Item_to_uint), -1);
5585
+ rb_define_method(SwigClassItem.klass, "to_long_long", VALUEFUNC(_wrap_Item_to_long_long), -1);
4802
5586
  rb_define_method(SwigClassItem.klass, "to_bool", VALUEFUNC(_wrap_Item_to_bool), -1);
4803
5587
  rb_define_method(SwigClassItem.klass, "to_int_pair", VALUEFUNC(_wrap_Item_to_int_pair), -1);
4804
5588
  rb_define_method(SwigClassItem.klass, "to_string_list", VALUEFUNC(_wrap_Item_to_string_list), -1);
5589
+ rb_define_method(SwigClassItem.klass, "to_byte_vector_list", VALUEFUNC(_wrap_Item_to_byte_vector_list), -1);
4805
5590
  rb_define_method(SwigClassItem.klass, "to_cover_art_list", VALUEFUNC(_wrap_Item_to_cover_art_list), -1);
4806
5591
  rb_define_method(SwigClassItem.klass, "valid?", VALUEFUNC(_wrap_Item_validq___), -1);
4807
- rb_define_singleton_method(SwigClassItem.klass, "from_int", VALUEFUNC(_wrap_Item_from_int), -1);
4808
5592
  rb_define_singleton_method(SwigClassItem.klass, "from_bool", VALUEFUNC(_wrap_Item_from_bool), -1);
5593
+ rb_define_singleton_method(SwigClassItem.klass, "from_byte", VALUEFUNC(_wrap_Item_from_byte), -1);
5594
+ rb_define_singleton_method(SwigClassItem.klass, "from_uint", VALUEFUNC(_wrap_Item_from_uint), -1);
5595
+ rb_define_singleton_method(SwigClassItem.klass, "from_int", VALUEFUNC(_wrap_Item_from_int), -1);
5596
+ rb_define_singleton_method(SwigClassItem.klass, "from_long_long", VALUEFUNC(_wrap_Item_from_long_long), -1);
4809
5597
  rb_define_singleton_method(SwigClassItem.klass, "from_string_list", VALUEFUNC(_wrap_Item_from_string_list), -1);
4810
5598
  rb_define_singleton_method(SwigClassItem.klass, "from_cover_art_list", VALUEFUNC(_wrap_Item_from_cover_art_list), -1);
5599
+ rb_define_singleton_method(SwigClassItem.klass, "from_byte_vector_list", VALUEFUNC(_wrap_Item_from_byte_vector_list), -1);
4811
5600
  SwigClassItem.mark = 0;
4812
5601
  SwigClassItem.destroy = (void (*)(void *)) free_TagLib_MP4_Item;
4813
5602
  SwigClassItem.trackObjects = 1;
@@ -4819,27 +5608,29 @@ SWIGEXPORT void Init_taglib_mp4(void) {
4819
5608
  rb_define_method(SwigClassFile.klass, "tag", VALUEFUNC(_wrap_File_tag), -1);
4820
5609
  rb_define_method(SwigClassFile.klass, "audio_properties", VALUEFUNC(_wrap_File_audio_properties), -1);
4821
5610
  rb_define_method(SwigClassFile.klass, "save", VALUEFUNC(_wrap_File_save), -1);
5611
+ rb_define_method(SwigClassFile.klass, "mp4_tag?", VALUEFUNC(_wrap_File_mp4_tagq___), -1);
4822
5612
  rb_define_method(SwigClassFile.klass, "close", VALUEFUNC(_wrap_File_close), -1);
4823
5613
  SwigClassFile.mark = 0;
4824
5614
  SwigClassFile.destroy = (void (*)(void *)) free_taglib_mp4_file;
4825
5615
  SwigClassFile.trackObjects = 1;
4826
5616
 
4827
- SwigClassItemListMap.klass = rb_define_class_under(mMP4, "ItemListMap", rb_cObject);
4828
- SWIG_TypeClientData(SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t, (void *) &SwigClassItemListMap);
4829
- rb_define_alloc_func(SwigClassItemListMap.klass, _wrap_ItemListMap_allocate);
4830
- rb_define_method(SwigClassItemListMap.klass, "initialize", VALUEFUNC(_wrap_new_ItemListMap), -1);
4831
- rb_define_method(SwigClassItemListMap.klass, "size", VALUEFUNC(_wrap_ItemListMap_size), -1);
4832
- rb_define_method(SwigClassItemListMap.klass, "empty?", VALUEFUNC(_wrap_ItemListMap_emptyq___), -1);
4833
- rb_define_method(SwigClassItemListMap.klass, "contains", VALUEFUNC(_wrap_ItemListMap_contains), -1);
4834
- rb_define_alias(SwigClassItemListMap.klass, "include?", "contains");
4835
- rb_define_alias(SwigClassItemListMap.klass, "has_key?", "contains");
4836
- rb_define_method(SwigClassItemListMap.klass, "to_a", VALUEFUNC(_wrap_ItemListMap_to_a), -1);
4837
- rb_define_method(SwigClassItemListMap.klass, "fetch", VALUEFUNC(_wrap_ItemListMap_fetch), -1);
4838
- rb_define_method(SwigClassItemListMap.klass, "_clear", VALUEFUNC(_wrap_ItemListMap__clear), -1);
4839
- rb_define_method(SwigClassItemListMap.klass, "erase", VALUEFUNC(_wrap_ItemListMap_erase), -1);
4840
- rb_define_method(SwigClassItemListMap.klass, "_insert", VALUEFUNC(_wrap_ItemListMap__insert), -1);
4841
- SwigClassItemListMap.mark = 0;
4842
- SwigClassItemListMap.destroy = (void (*)(void *)) free_TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg_;
4843
- SwigClassItemListMap.trackObjects = 1;
5617
+ SwigClassItemMap.klass = rb_define_class_under(mMP4, "ItemMap", rb_cObject);
5618
+ SWIG_TypeClientData(SWIGTYPE_p_TagLib__MapT_TagLib__String_TagLib__MP4__Item_t, (void *) &SwigClassItemMap);
5619
+ rb_define_alloc_func(SwigClassItemMap.klass, _wrap_ItemMap_allocate);
5620
+ rb_define_method(SwigClassItemMap.klass, "initialize", VALUEFUNC(_wrap_new_ItemMap), -1);
5621
+ rb_define_method(SwigClassItemMap.klass, "size", VALUEFUNC(_wrap_ItemMap_size), -1);
5622
+ rb_define_method(SwigClassItemMap.klass, "empty?", VALUEFUNC(_wrap_ItemMap_emptyq___), -1);
5623
+ rb_define_method(SwigClassItemMap.klass, "contains", VALUEFUNC(_wrap_ItemMap_contains), -1);
5624
+ rb_define_alias(SwigClassItemMap.klass, "include?", "contains");
5625
+ rb_define_alias(SwigClassItemMap.klass, "has_key?", "contains");
5626
+ rb_define_method(SwigClassItemMap.klass, "to_a", VALUEFUNC(_wrap_ItemMap_to_a), -1);
5627
+ rb_define_method(SwigClassItemMap.klass, "to_h", VALUEFUNC(_wrap_ItemMap_to_h), -1);
5628
+ rb_define_method(SwigClassItemMap.klass, "fetch", VALUEFUNC(_wrap_ItemMap_fetch), -1);
5629
+ rb_define_method(SwigClassItemMap.klass, "_clear", VALUEFUNC(_wrap_ItemMap__clear), -1);
5630
+ rb_define_method(SwigClassItemMap.klass, "erase", VALUEFUNC(_wrap_ItemMap_erase), -1);
5631
+ rb_define_method(SwigClassItemMap.klass, "_insert", VALUEFUNC(_wrap_ItemMap__insert), -1);
5632
+ SwigClassItemMap.mark = 0;
5633
+ SwigClassItemMap.destroy = (void (*)(void *)) free_TagLib_Map_Sl_TagLib_String_Sc_TagLib_MP4_Item_Sg_;
5634
+ SwigClassItemMap.trackObjects = 1;
4844
5635
  }
4845
5636