taglib-ruby 0.7.1 → 1.0.0

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