taglib-ruby 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +33 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Gemfile +2 -0
  5. data/Guardfile +4 -2
  6. data/README.md +55 -35
  7. data/Rakefile +5 -5
  8. data/docs/taglib/aiff.rb +0 -3
  9. data/docs/taglib/base.rb +0 -4
  10. data/docs/taglib/flac.rb +1 -3
  11. data/docs/taglib/id3v2.rb +1 -1
  12. data/docs/taglib/mp4.rb +2 -4
  13. data/docs/taglib/mpeg.rb +0 -1
  14. data/docs/taglib/ogg.rb +0 -4
  15. data/docs/taglib/vorbis.rb +0 -1
  16. data/docs/taglib/wav.rb +0 -4
  17. data/ext/extconf_common.rb +24 -28
  18. data/ext/taglib_aiff/extconf.rb +2 -0
  19. data/ext/taglib_aiff/taglib_aiff_wrap.cxx +217 -178
  20. data/ext/taglib_base/extconf.rb +2 -0
  21. data/ext/taglib_base/includes.i +1 -0
  22. data/ext/taglib_base/taglib_base_wrap.cxx +233 -191
  23. data/ext/taglib_flac/extconf.rb +2 -0
  24. data/ext/taglib_flac/taglib_flac_wrap.cxx +228 -189
  25. data/ext/taglib_flac_picture/extconf.rb +2 -0
  26. data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +210 -168
  27. data/ext/taglib_id3v1/extconf.rb +2 -0
  28. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +223 -182
  29. data/ext/taglib_id3v2/extconf.rb +2 -0
  30. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +429 -407
  31. data/ext/taglib_mp4/extconf.rb +2 -0
  32. data/ext/taglib_mp4/taglib_mp4_wrap.cxx +295 -260
  33. data/ext/taglib_mpeg/extconf.rb +2 -0
  34. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +243 -206
  35. data/ext/taglib_ogg/extconf.rb +2 -0
  36. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +214 -171
  37. data/ext/taglib_vorbis/extconf.rb +2 -0
  38. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +217 -178
  39. data/ext/taglib_wav/extconf.rb +2 -0
  40. data/ext/taglib_wav/taglib_wav_wrap.cxx +217 -178
  41. data/lib/taglib/aiff.rb +2 -0
  42. data/lib/taglib/base.rb +3 -1
  43. data/lib/taglib/flac.rb +2 -0
  44. data/lib/taglib/id3v1.rb +2 -0
  45. data/lib/taglib/id3v2.rb +2 -0
  46. data/lib/taglib/mp4.rb +10 -13
  47. data/lib/taglib/mpeg.rb +2 -0
  48. data/lib/taglib/ogg.rb +2 -0
  49. data/lib/taglib/version.rb +3 -1
  50. data/lib/taglib/vorbis.rb +2 -0
  51. data/lib/taglib/wav.rb +2 -1
  52. data/lib/taglib.rb +4 -3
  53. data/taglib-ruby.gemspec +164 -163
  54. data/tasks/docs_coverage.rake +10 -8
  55. data/tasks/ext.rake +26 -25
  56. data/tasks/gemspec_check.rake +6 -4
  57. data/tasks/swig.rake +10 -11
  58. data/test/aiff_examples_test.rb +8 -13
  59. data/test/aiff_file_test.rb +29 -29
  60. data/test/aiff_file_write_test.rb +19 -20
  61. data/test/base_test.rb +4 -2
  62. data/test/data/add-relative-volume.cpp +7 -3
  63. data/test/data/flac-create.cpp +15 -5
  64. data/test/data/get_picture_data.cpp +5 -1
  65. data/test/data/id3v1-create.cpp +6 -3
  66. data/test/data/mp4-create.cpp +12 -4
  67. data/test/data/vorbis-create.cpp +12 -5
  68. data/test/data/wav-create.cpp +18 -3
  69. data/test/file_test.rb +7 -5
  70. data/test/fileref_open_test.rb +12 -10
  71. data/test/fileref_properties_test.rb +6 -4
  72. data/test/fileref_write_test.rb +14 -13
  73. data/test/flac_file_test.rb +32 -27
  74. data/test/flac_file_write_test.rb +17 -18
  75. data/test/flac_picture_memory_test.rb +13 -17
  76. data/test/helper.rb +3 -1
  77. data/test/id3v1_genres_test.rb +14 -12
  78. data/test/id3v1_tag_test.rb +7 -5
  79. data/test/id3v2_frames_test.rb +34 -34
  80. data/test/id3v2_header_test.rb +14 -13
  81. data/test/id3v2_memory_test.rb +21 -20
  82. data/test/id3v2_relative_volume_test.rb +11 -9
  83. data/test/id3v2_tag_test.rb +16 -14
  84. data/test/id3v2_unicode_test.rb +12 -10
  85. data/test/id3v2_unknown_frames_test.rb +7 -5
  86. data/test/id3v2_write_test.rb +28 -29
  87. data/test/mp4_file_test.rb +27 -26
  88. data/test/mp4_file_write_test.rb +12 -13
  89. data/test/mp4_items_test.rb +78 -79
  90. data/test/mpeg_file_test.rb +32 -30
  91. data/test/tag_test.rb +5 -3
  92. data/test/unicode_filename_test.rb +7 -7
  93. data/test/vorbis_file_test.rb +14 -12
  94. data/test/vorbis_tag_test.rb +46 -44
  95. data/test/wav_examples_test.rb +8 -16
  96. data/test/wav_file_test.rb +29 -29
  97. data/test/wav_file_write_test.rb +22 -23
  98. metadata +19 -18
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 3.0.7
3
+ * Version 4.0.2
4
4
  *
5
5
  * This file is not intended to be easily readable and contains a number of
6
6
  * coding conventions designed to improve portability and efficiency. Do not make
@@ -8,7 +8,11 @@
8
8
  * interface file instead.
9
9
  * ----------------------------------------------------------------------------- */
10
10
 
11
+
12
+ #ifndef SWIGRUBY
11
13
  #define SWIGRUBY
14
+ #endif
15
+
12
16
 
13
17
 
14
18
  #ifdef __cplusplus
@@ -101,9 +105,11 @@ template <typename T> T SwigValueInit() {
101
105
  #endif
102
106
 
103
107
  /* exporting methods */
104
- #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
105
- # ifndef GCC_HASCLASSVISIBILITY
106
- # define GCC_HASCLASSVISIBILITY
108
+ #if defined(__GNUC__)
109
+ # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
110
+ # ifndef GCC_HASCLASSVISIBILITY
111
+ # define GCC_HASCLASSVISIBILITY
112
+ # endif
107
113
  # endif
108
114
  #endif
109
115
 
@@ -223,9 +229,11 @@ template <typename T> T SwigValueInit() {
223
229
  #endif
224
230
 
225
231
  /* exporting methods */
226
- #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
227
- # ifndef GCC_HASCLASSVISIBILITY
228
- # define GCC_HASCLASSVISIBILITY
232
+ #if defined(__GNUC__)
233
+ # if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
234
+ # ifndef GCC_HASCLASSVISIBILITY
235
+ # define GCC_HASCLASSVISIBILITY
236
+ # endif
229
237
  # endif
230
238
  #endif
231
239
 
@@ -323,6 +331,7 @@ template <typename T> T SwigValueInit() {
323
331
  /* Flags for pointer conversions */
324
332
  #define SWIG_POINTER_DISOWN 0x1
325
333
  #define SWIG_CAST_NEW_MEMORY 0x2
334
+ #define SWIG_POINTER_NO_NULL 0x4
326
335
 
327
336
  /* Flags for new pointer objects */
328
337
  #define SWIG_POINTER_OWN 0x1
@@ -775,16 +784,16 @@ SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
775
784
  char d = *(c++);
776
785
  unsigned char uu;
777
786
  if ((d >= '0') && (d <= '9'))
778
- uu = ((d - '0') << 4);
787
+ uu = (unsigned char)((d - '0') << 4);
779
788
  else if ((d >= 'a') && (d <= 'f'))
780
- uu = ((d - ('a'-10)) << 4);
789
+ uu = (unsigned char)((d - ('a'-10)) << 4);
781
790
  else
782
791
  return (char *) 0;
783
792
  d = *(c++);
784
793
  if ((d >= '0') && (d <= '9'))
785
- uu |= (d - '0');
794
+ uu |= (unsigned char)(d - '0');
786
795
  else if ((d >= 'a') && (d <= 'f'))
787
- uu |= (d - ('a'-10));
796
+ uu |= (unsigned char)(d - ('a'-10));
788
797
  else
789
798
  return (char *) 0;
790
799
  *u = uu;
@@ -961,42 +970,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
961
970
  #ifndef RSTRUCT_PTR
962
971
  # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
963
972
  #endif
973
+ #ifndef RTYPEDDATA_P
974
+ # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
975
+ #endif
964
976
 
965
977
 
966
978
 
967
979
  /*
968
- * Need to be very careful about how these macros are defined, especially
969
- * when compiling C++ code or C code with an ANSI C compiler.
980
+ * The following macros are used for providing the correct type of a
981
+ * function pointer to the Ruby C API.
982
+ * Starting with Ruby 2.7 (corresponding to RB_METHOD_DEFINITION_DECL being
983
+ * defined) these macros act transparently due to Ruby's moving away from
984
+ * ANYARGS and instead employing strict function signatures.
985
+ *
986
+ * Note: In case of C (not C++) the macros are transparent even before
987
+ * Ruby 2.7 due to the fact that the Ruby C API used function declarators
988
+ * with empty parentheses, which allows for an unspecified number of
989
+ * arguments.
990
+ *
991
+ * PROTECTFUNC(f) is used for the function pointer argument of the Ruby
992
+ * C API function rb_protect().
970
993
  *
971
- * VALUEFUNC(f) is a macro used to typecast a C function that implements
972
- * a Ruby method so that it can be passed as an argument to API functions
973
- * like rb_define_method() and rb_define_singleton_method().
994
+ * VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
995
+ * functions like rb_define_method() and rb_define_singleton_method().
974
996
  *
975
- * VOIDFUNC(f) is a macro used to typecast a C function that implements
976
- * either the "mark" or "free" stuff for a Ruby Data object, so that it
977
- * can be passed as an argument to API functions like Data_Wrap_Struct()
997
+ * VOIDFUNC(f) is used to typecast a C function that implements either
998
+ * the "mark" or "free" stuff for a Ruby Data object, so that it can be
999
+ * passed as an argument to Ruby C API functions like Data_Wrap_Struct()
978
1000
  * and Data_Make_Struct().
1001
+ *
1002
+ * SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
1003
+ * argument(s) of Ruby C API functions like rb_define_virtual_variable().
1004
+ *
1005
+ * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
1006
+ * argument(s) of Ruby C API functions like st_foreach().
979
1007
  */
980
-
981
- #ifdef __cplusplus
982
- # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */
983
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
984
- # define VALUEFUNC(f) ((VALUE (*)()) f)
985
- # define VOIDFUNC(f) ((void (*)()) f)
986
- # else
987
- # ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
988
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
989
- # define VALUEFUNC(f) ((VALUE (*)()) f)
990
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
991
- # else /* These definitions should work for Ruby 1.7+ */
992
- # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
993
- # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
994
- # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
995
- # endif
996
- # endif
1008
+ #if defined(__cplusplus) && !defined(RB_METHOD_DEFINITION_DECL)
1009
+ # define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
1010
+ # define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
1011
+ # define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
1012
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
1013
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
997
1014
  #else
1015
+ # define PROTECTFUNC(f) (f)
998
1016
  # define VALUEFUNC(f) (f)
999
1017
  # define VOIDFUNC(f) (f)
1018
+ # define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
1019
+ # define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
1000
1020
  #endif
1001
1021
 
1002
1022
  /* Don't use for expressions have side effect */
@@ -1184,7 +1204,7 @@ void Ruby_Format_OverloadedError(
1184
1204
  /* -----------------------------------------------------------------------------
1185
1205
  * rubytracking.swg
1186
1206
  *
1187
- * This file contains support for tracking mappings from
1207
+ * This file contains support for tracking mappings from
1188
1208
  * Ruby objects to C++ objects. This functionality is needed
1189
1209
  * to implement mark functions for Ruby's mark and sweep
1190
1210
  * garbage collector.
@@ -1194,6 +1214,11 @@ void Ruby_Format_OverloadedError(
1194
1214
  extern "C" {
1195
1215
  #endif
1196
1216
 
1217
+ #if !defined(ST_DATA_T_DEFINED)
1218
+ /* Needs to be explicitly included for Ruby 1.8 and earlier */
1219
+ #include <st.h>
1220
+ #endif
1221
+
1197
1222
  /* Ruby 1.8 actually assumes the first case. */
1198
1223
  #if SIZEOF_VOIDP == SIZEOF_LONG
1199
1224
  # define SWIG2NUM(v) LONG2NUM((unsigned long)v)
@@ -1205,109 +1230,69 @@ extern "C" {
1205
1230
  # error sizeof(void*) is not the same as long or long long
1206
1231
  #endif
1207
1232
 
1208
-
1209
- /* Global Ruby hash table to store Trackings from C/C++
1210
- structs to Ruby Objects.
1233
+ /* Global hash table to store Trackings from C/C++
1234
+ structs to Ruby Objects.
1211
1235
  */
1212
- static VALUE swig_ruby_trackings = Qnil;
1236
+ static st_table* swig_ruby_trackings = NULL;
1237
+
1238
+ static VALUE swig_ruby_trackings_count(ID id, VALUE *var) {
1239
+ return SWIG2NUM(swig_ruby_trackings->num_entries);
1240
+ }
1213
1241
 
1214
- /* Global variable that stores a reference to the ruby
1215
- hash table delete function. */
1216
- static ID swig_ruby_hash_delete;
1217
1242
 
1218
- /* Setup a Ruby hash table to store Trackings */
1243
+ /* Setup a hash table to store Trackings */
1219
1244
  SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1220
- /* Create a ruby hash table to store Trackings from C++
1245
+ /* Create a hash table to store Trackings from C++
1221
1246
  objects to Ruby objects. */
1222
1247
 
1223
- /* Try to see if some other .so has already created a
1248
+ /* Try to see if some other .so has already created a
1224
1249
  tracking hash table, which we keep hidden in an instance var
1225
1250
  in the SWIG module.
1226
1251
  This is done to allow multiple DSOs to share the same
1227
1252
  tracking table.
1228
1253
  */
1229
- ID trackings_id = rb_intern( "@__trackings__" );
1254
+ VALUE trackings_value = Qnil;
1255
+ /* change the variable name so that we can mix modules
1256
+ compiled with older SWIG's - this used to be called "@__trackings__" */
1257
+ ID trackings_id = rb_intern( "@__safetrackings__" );
1230
1258
  VALUE verbose = rb_gv_get("VERBOSE");
1231
1259
  rb_gv_set("VERBOSE", Qfalse);
1232
- swig_ruby_trackings = rb_ivar_get( _mSWIG, trackings_id );
1260
+ trackings_value = rb_ivar_get( _mSWIG, trackings_id );
1233
1261
  rb_gv_set("VERBOSE", verbose);
1234
1262
 
1235
- /* No, it hasn't. Create one ourselves */
1236
- if ( swig_ruby_trackings == Qnil )
1237
- {
1238
- swig_ruby_trackings = rb_hash_new();
1239
- rb_ivar_set( _mSWIG, trackings_id, swig_ruby_trackings );
1240
- }
1241
-
1242
- /* Now store a reference to the hash table delete function
1243
- so that we only have to look it up once.*/
1244
- swig_ruby_hash_delete = rb_intern("delete");
1245
- }
1246
-
1247
- /* Get a Ruby number to reference a pointer */
1248
- SWIGRUNTIME VALUE SWIG_RubyPtrToReference(void* ptr) {
1249
- /* We cast the pointer to an unsigned long
1250
- and then store a reference to it using
1251
- a Ruby number object. */
1252
-
1253
- /* Convert the pointer to a Ruby number */
1254
- return SWIG2NUM(ptr);
1255
- }
1256
-
1257
- /* Get a Ruby number to reference an object */
1258
- SWIGRUNTIME VALUE SWIG_RubyObjectToReference(VALUE object) {
1259
- /* We cast the object to an unsigned long
1260
- and then store a reference to it using
1261
- a Ruby number object. */
1262
-
1263
- /* Convert the Object to a Ruby number */
1264
- return SWIG2NUM(object);
1265
- }
1266
-
1267
- /* Get a Ruby object from a previously stored reference */
1268
- SWIGRUNTIME VALUE SWIG_RubyReferenceToObject(VALUE reference) {
1269
- /* The provided Ruby number object is a reference
1270
- to the Ruby object we want.*/
1263
+ /* The trick here is that we have to store the hash table
1264
+ pointer in a Ruby variable. We do not want Ruby's GC to
1265
+ treat this pointer as a Ruby object, so we convert it to
1266
+ a Ruby numeric value. */
1267
+ if (trackings_value == Qnil) {
1268
+ /* No, it hasn't. Create one ourselves */
1269
+ swig_ruby_trackings = st_init_numtable();
1270
+ rb_ivar_set( _mSWIG, trackings_id, SWIG2NUM(swig_ruby_trackings) );
1271
+ } else {
1272
+ swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
1273
+ }
1271
1274
 
1272
- /* Convert the Ruby number to a Ruby object */
1273
- return NUM2SWIG(reference);
1275
+ rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
1276
+ VALUEFUNC(swig_ruby_trackings_count),
1277
+ SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
1274
1278
  }
1275
1279
 
1276
1280
  /* Add a Tracking from a C/C++ struct to a Ruby object */
1277
1281
  SWIGRUNTIME void SWIG_RubyAddTracking(void* ptr, VALUE object) {
1278
- /* In a Ruby hash table we store the pointer and
1279
- the associated Ruby object. The trick here is
1280
- that we cannot store the Ruby object directly - if
1281
- we do then it cannot be garbage collected. So
1282
- instead we typecast it as a unsigned long and
1283
- convert it to a Ruby number object.*/
1284
-
1285
- /* Get a reference to the pointer as a Ruby number */
1286
- VALUE key = SWIG_RubyPtrToReference(ptr);
1287
-
1288
- /* Get a reference to the Ruby object as a Ruby number */
1289
- VALUE value = SWIG_RubyObjectToReference(object);
1290
-
1291
1282
  /* Store the mapping to the global hash table. */
1292
- rb_hash_aset(swig_ruby_trackings, key, value);
1283
+ st_insert(swig_ruby_trackings, (st_data_t)ptr, object);
1293
1284
  }
1294
1285
 
1295
1286
  /* Get the Ruby object that owns the specified C/C++ struct */
1296
1287
  SWIGRUNTIME VALUE SWIG_RubyInstanceFor(void* ptr) {
1297
- /* Get a reference to the pointer as a Ruby number */
1298
- VALUE key = SWIG_RubyPtrToReference(ptr);
1299
-
1300
1288
  /* Now lookup the value stored in the global hash table */
1301
- VALUE value = rb_hash_aref(swig_ruby_trackings, key);
1302
-
1303
- if (value == Qnil) {
1304
- /* No object exists - return nil. */
1289
+ VALUE value;
1290
+
1291
+ if (st_lookup(swig_ruby_trackings, (st_data_t)ptr, &value)) {
1292
+ return value;
1293
+ } else {
1305
1294
  return Qnil;
1306
1295
  }
1307
- else {
1308
- /* Convert this value to Ruby object */
1309
- return SWIG_RubyReferenceToObject(value);
1310
- }
1311
1296
  }
1312
1297
 
1313
1298
  /* Remove a Tracking from a C/C++ struct to a Ruby object. It
@@ -1315,25 +1300,39 @@ SWIGRUNTIME VALUE SWIG_RubyInstanceFor(void* ptr) {
1315
1300
  since the same memory address may be reused later to create
1316
1301
  a new object. */
1317
1302
  SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
1318
- /* Get a reference to the pointer as a Ruby number */
1319
- VALUE key = SWIG_RubyPtrToReference(ptr);
1320
-
1321
- /* Delete the object from the hash table by calling Ruby's
1322
- do this we need to call the Hash.delete method.*/
1323
- rb_funcall(swig_ruby_trackings, swig_ruby_hash_delete, 1, key);
1303
+ /* Delete the object from the hash table */
1304
+ st_delete(swig_ruby_trackings, (st_data_t *)&ptr, NULL);
1324
1305
  }
1325
1306
 
1326
1307
  /* This is a helper method that unlinks a Ruby object from its
1327
1308
  underlying C++ object. This is needed if the lifetime of the
1328
- Ruby object is longer than the C++ object */
1309
+ Ruby object is longer than the C++ object. */
1329
1310
  SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
1330
1311
  VALUE object = SWIG_RubyInstanceFor(ptr);
1331
1312
 
1332
1313
  if (object != Qnil) {
1314
+ // object might have the T_ZOMBIE type, but that's just
1315
+ // because the GC has flagged it as such for a deferred
1316
+ // destruction. Until then, it's still a T_DATA object.
1333
1317
  DATA_PTR(object) = 0;
1334
1318
  }
1335
1319
  }
1336
1320
 
1321
+ /* This is a helper method that iterates over all the trackings
1322
+ passing the C++ object pointer and its related Ruby object
1323
+ to the passed callback function. */
1324
+
1325
+ /* Proxy method to abstract the internal trackings datatype */
1326
+ static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
1327
+ ((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
1328
+ return ST_CONTINUE;
1329
+ }
1330
+
1331
+ SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
1332
+ st_foreach(swig_ruby_trackings,
1333
+ SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
1334
+ (st_data_t)meth);
1335
+ }
1337
1336
 
1338
1337
  #ifdef __cplusplus
1339
1338
  }
@@ -1392,7 +1391,7 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) {
1392
1391
  #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Ruby_ConvertPtrAndOwn(obj, pptr, type, flags, own)
1393
1392
  #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Ruby_NewPointerObj(ptr, type, flags)
1394
1393
  #define SWIG_AcquirePtr(ptr, own) SWIG_Ruby_AcquirePtr(ptr, own)
1395
- #define swig_owntype ruby_owntype
1394
+ #define swig_owntype swig_ruby_owntype
1396
1395
 
1397
1396
  /* for raw packed data */
1398
1397
  #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty, flags)
@@ -1549,10 +1548,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1549
1548
  swig_class *sklass;
1550
1549
  VALUE klass;
1551
1550
  VALUE obj;
1552
-
1551
+
1553
1552
  if (!ptr)
1554
1553
  return Qnil;
1555
-
1554
+
1555
+ assert(type);
1556
1556
  if (type->clientdata) {
1557
1557
  sklass = (swig_class *) type->clientdata;
1558
1558
 
@@ -1560,7 +1560,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1560
1560
  track = sklass->trackObjects;
1561
1561
  if (track) {
1562
1562
  obj = SWIG_RubyInstanceFor(ptr);
1563
-
1563
+
1564
1564
  /* Check the object's type and make sure it has the correct type.
1565
1565
  It might not in cases where methods do things like
1566
1566
  downcast methods. */
@@ -1592,7 +1592,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags)
1592
1592
  obj = Data_Wrap_Struct(klass, 0, 0, ptr);
1593
1593
  }
1594
1594
  rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
1595
-
1595
+
1596
1596
  return obj;
1597
1597
  }
1598
1598
 
@@ -1612,26 +1612,30 @@ SWIGRUNTIMEINLINE char *
1612
1612
  SWIG_Ruby_MangleStr(VALUE obj)
1613
1613
  {
1614
1614
  VALUE stype = rb_iv_get(obj, "@__swigtype__");
1615
+ if (NIL_P(stype))
1616
+ return NULL;
1615
1617
  return StringValuePtr(stype);
1616
1618
  }
1617
1619
 
1618
1620
  /* Acquire a pointer value */
1619
- typedef void (*ruby_owntype)(void*);
1620
-
1621
- SWIGRUNTIME ruby_owntype
1622
- SWIG_Ruby_AcquirePtr(VALUE obj, ruby_owntype own) {
1623
- if (obj) {
1624
- ruby_owntype oldown = RDATA(obj)->dfree;
1625
- RDATA(obj)->dfree = own;
1626
- return oldown;
1627
- } else {
1628
- return 0;
1621
+ typedef struct {
1622
+ void (*datafree)(void *);
1623
+ int own;
1624
+ } swig_ruby_owntype;
1625
+
1626
+ SWIGRUNTIME swig_ruby_owntype
1627
+ SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
1628
+ swig_ruby_owntype oldown = {0, 0};
1629
+ if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
1630
+ oldown.datafree = RDATA(obj)->dfree;
1631
+ RDATA(obj)->dfree = own.datafree;
1629
1632
  }
1633
+ return oldown;
1630
1634
  }
1631
1635
 
1632
1636
  /* Convert a pointer value */
1633
1637
  SWIGRUNTIME int
1634
- SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, ruby_owntype *own)
1638
+ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, swig_ruby_owntype *own)
1635
1639
  {
1636
1640
  char *c;
1637
1641
  swig_cast_info *tc;
@@ -1639,16 +1643,20 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1639
1643
 
1640
1644
  /* Grab the pointer */
1641
1645
  if (NIL_P(obj)) {
1642
- *ptr = 0;
1643
- return SWIG_OK;
1646
+ if (ptr)
1647
+ *ptr = 0;
1648
+ return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
1644
1649
  } else {
1645
- if (TYPE(obj) != T_DATA) {
1650
+ if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
1646
1651
  return SWIG_ERROR;
1647
1652
  }
1648
1653
  Data_Get_Struct(obj, void, vptr);
1649
1654
  }
1650
1655
 
1651
- if (own) *own = RDATA(obj)->dfree;
1656
+ if (own) {
1657
+ own->datafree = RDATA(obj)->dfree;
1658
+ own->own = 0;
1659
+ }
1652
1660
 
1653
1661
  /* Check to see if the input object is giving up ownership
1654
1662
  of the underlying C struct or C++ object. If so then we
@@ -1683,8 +1691,6 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1683
1691
  /* The object has already been deleted */
1684
1692
  return SWIG_ObjectPreviouslyDeletedError;
1685
1693
  }
1686
- *ptr = vptr;
1687
- return SWIG_OK;
1688
1694
  }
1689
1695
  }
1690
1696
  if ((c = SWIG_MangleStr(obj)) == NULL) {
@@ -1694,12 +1700,23 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1694
1700
  if (!tc) {
1695
1701
  return SWIG_ERROR;
1696
1702
  } else {
1697
- int newmemory = 0;
1698
- *ptr = SWIG_TypeCast(tc, vptr, &newmemory);
1699
- assert(!newmemory); /* newmemory handling not yet implemented */
1703
+ if (ptr) {
1704
+ if (tc->type == ty) {
1705
+ *ptr = vptr;
1706
+ } else {
1707
+ int newmemory = 0;
1708
+ *ptr = SWIG_TypeCast(tc, vptr, &newmemory);
1709
+ if (newmemory == SWIG_CAST_NEW_MEMORY) {
1710
+ assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
1711
+ if (own)
1712
+ own->own = own->own | SWIG_CAST_NEW_MEMORY;
1713
+ }
1714
+ }
1715
+ }
1700
1716
  }
1701
1717
  } else {
1702
- *ptr = vptr;
1718
+ if (ptr)
1719
+ *ptr = vptr;
1703
1720
  }
1704
1721
 
1705
1722
  return SWIG_OK;
@@ -1725,7 +1742,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) {
1725
1742
  return rb_str_new2(result);
1726
1743
  }
1727
1744
 
1728
- /* Convert a packed value value */
1745
+ /* Convert a packed pointer value */
1729
1746
  SWIGRUNTIME int
1730
1747
  SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
1731
1748
  swig_cast_info *tc;
@@ -1878,7 +1895,7 @@ static VALUE mID3v2;
1878
1895
  #define SWIG_RUBY_THREAD_END_BLOCK
1879
1896
 
1880
1897
 
1881
- #define SWIGVERSION 0x030007
1898
+ #define SWIGVERSION 0x040002
1882
1899
  #define SWIG_VERSION SWIGVERSION
1883
1900
 
1884
1901
 
@@ -2118,7 +2135,7 @@ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2118
2135
  if (cptr) {
2119
2136
  if (alloc) {
2120
2137
  if (*alloc == SWIG_NEWOBJ) {
2121
- *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
2138
+ *cptr = reinterpret_cast< char* >(memcpy(new char[size], cstr, sizeof(char)*(size)));
2122
2139
  } else {
2123
2140
  *cptr = cstr;
2124
2141
  *alloc = SWIG_OLDOBJ;
@@ -2174,15 +2191,16 @@ SWIG_From_unsigned_SS_int (unsigned int value)
2174
2191
 
2175
2192
 
2176
2193
  SWIGINTERN VALUE
2177
- SWIG_ruby_failed(void)
2194
+ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
2178
2195
  {
2179
2196
  return Qnil;
2180
2197
  }
2181
2198
 
2182
2199
 
2183
- /*@SWIG:/usr/local/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2184
- SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
2200
+ /*@SWIG:/usr/local/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2201
+ SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE arg)
2185
2202
  {
2203
+ VALUE *args = (VALUE *)arg;
2186
2204
  VALUE obj = args[0];
2187
2205
  VALUE type = TYPE(obj);
2188
2206
  unsigned long *res = (unsigned long *)(args[1]);
@@ -2200,7 +2218,7 @@ SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val)
2200
2218
  VALUE a[2];
2201
2219
  a[0] = obj;
2202
2220
  a[1] = (VALUE)(&v);
2203
- if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
2221
+ if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
2204
2222
  if (val) *val = v;
2205
2223
  return SWIG_OK;
2206
2224
  }
@@ -2232,9 +2250,10 @@ SWIG_From_bool (bool value)
2232
2250
  }
2233
2251
 
2234
2252
 
2235
- /*@SWIG:/usr/local/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2236
- SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
2253
+ /*@SWIG:/usr/local/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2254
+ SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
2237
2255
  {
2256
+ VALUE *args = (VALUE *)arg;
2238
2257
  VALUE obj = args[0];
2239
2258
  VALUE type = TYPE(obj);
2240
2259
  long *res = (long *)(args[1]);
@@ -2252,7 +2271,7 @@ SWIG_AsVal_long (VALUE obj, long* val)
2252
2271
  VALUE a[2];
2253
2272
  a[0] = obj;
2254
2273
  a[1] = (VALUE)(&v);
2255
- if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2LONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
2274
+ if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2LONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
2256
2275
  if (val) *val = v;
2257
2276
  return SWIG_OK;
2258
2277
  }
@@ -2345,8 +2364,31 @@ SWIG_From_float (float value)
2345
2364
 
2346
2365
  /* Getting isfinite working pre C99 across multiple platforms is non-trivial. Users can provide SWIG_isfinite on older platforms. */
2347
2366
  #ifndef SWIG_isfinite
2367
+ /* isfinite() is a macro for C99 */
2348
2368
  # if defined(isfinite)
2349
2369
  # define SWIG_isfinite(X) (isfinite(X))
2370
+ # elif defined(__cplusplus) && __cplusplus >= 201103L
2371
+ /* Use a template so that this works whether isfinite() is std::isfinite() or
2372
+ * in the global namespace. The reality seems to vary between compiler
2373
+ * versions.
2374
+ *
2375
+ * Make sure namespace std exists to avoid compiler warnings.
2376
+ *
2377
+ * extern "C++" is required as this fragment can end up inside an extern "C" { } block
2378
+ */
2379
+ namespace std { }
2380
+ extern "C++" template<typename T>
2381
+ inline int SWIG_isfinite_func(T x) {
2382
+ using namespace std;
2383
+ return isfinite(x);
2384
+ }
2385
+ # define SWIG_isfinite(X) (SWIG_isfinite_func(X))
2386
+ # elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
2387
+ # define SWIG_isfinite(X) (__builtin_isfinite(X))
2388
+ # elif defined(__clang__) && defined(__has_builtin)
2389
+ # if __has_builtin(__builtin_isfinite)
2390
+ # define SWIG_isfinite(X) (__builtin_isfinite(X))
2391
+ # endif
2350
2392
  # elif defined(_MSC_VER)
2351
2393
  # define SWIG_isfinite(X) (_finite(X))
2352
2394
  # elif defined(__sun) && defined(__SVR4)
@@ -2364,9 +2406,10 @@ SWIG_From_float (float value)
2364
2406
  #endif
2365
2407
 
2366
2408
 
2367
- /*@SWIG:/usr/local/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2368
- SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args)
2409
+ /*@SWIG:/usr/local/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2410
+ SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE arg)
2369
2411
  {
2412
+ VALUE *args = (VALUE *)arg;
2370
2413
  VALUE obj = args[0];
2371
2414
  VALUE type = TYPE(obj);
2372
2415
  double *res = (double *)(args[1]);
@@ -2384,7 +2427,7 @@ SWIG_AsVal_double (VALUE obj, double *val)
2384
2427
  VALUE a[2];
2385
2428
  a[0] = obj;
2386
2429
  a[1] = (VALUE)(&v);
2387
- if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2DBL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
2430
+ if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2DBL), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
2388
2431
  if (val) *val = v;
2389
2432
  return SWIG_OK;
2390
2433
  }
@@ -2449,22 +2492,20 @@ fail:
2449
2492
  }
2450
2493
 
2451
2494
 
2452
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
2453
2495
  SWIGINTERN VALUE
2454
- _wrap_Header_allocate(VALUE self) {
2496
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
2497
+ _wrap_Header_allocate(VALUE self)
2455
2498
  #else
2456
- SWIGINTERN VALUE
2457
- _wrap_Header_allocate(int argc, VALUE *argv, VALUE self) {
2499
+ _wrap_Header_allocate(int argc, VALUE *argv, VALUE self)
2458
2500
  #endif
2459
-
2460
-
2461
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__Header);
2501
+ {
2502
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__Header);
2462
2503
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
2463
- rb_obj_call_init(vresult, argc, argv);
2504
+ rb_obj_call_init(vresult, argc, argv);
2464
2505
  #endif
2465
- return vresult;
2466
- }
2467
-
2506
+ return vresult;
2507
+ }
2508
+
2468
2509
 
2469
2510
  SWIGINTERN VALUE
2470
2511
  _wrap_new_Header__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -2520,7 +2561,8 @@ fail:
2520
2561
 
2521
2562
 
2522
2563
  SWIGINTERN void
2523
- free_TagLib_ID3v2_Header(TagLib::ID3v2::Header *arg1) {
2564
+ free_TagLib_ID3v2_Header(void *self) {
2565
+ TagLib::ID3v2::Header *arg1 = (TagLib::ID3v2::Header *)self;
2524
2566
  SWIG_RubyRemoveTracking(arg1);
2525
2567
  delete arg1;
2526
2568
  }
@@ -2775,7 +2817,6 @@ fail:
2775
2817
  }
2776
2818
 
2777
2819
 
2778
-
2779
2820
  /*
2780
2821
  Document-method: TagLib::ID3v2::Header.size
2781
2822
 
@@ -2874,7 +2915,8 @@ fail:
2874
2915
  static swig_class SwigClassFrame;
2875
2916
 
2876
2917
  SWIGINTERN void
2877
- free_TagLib_ID3v2_Frame(TagLib::ID3v2::Frame *arg1) {
2918
+ free_TagLib_ID3v2_Frame(void *self) {
2919
+ TagLib::ID3v2::Frame *arg1 = (TagLib::ID3v2::Frame *)self;
2878
2920
  SWIG_RubyRemoveTracking(arg1);
2879
2921
  delete arg1;
2880
2922
  }
@@ -2905,7 +2947,6 @@ fail:
2905
2947
  }
2906
2948
 
2907
2949
 
2908
-
2909
2950
  /*
2910
2951
  Document-method: TagLib::ID3v2::Frame.size
2911
2952
 
@@ -3128,22 +3169,20 @@ fail:
3128
3169
  }
3129
3170
 
3130
3171
 
3131
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
3132
3172
  SWIGINTERN VALUE
3133
- _wrap_Tag_allocate(VALUE self) {
3173
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
3174
+ _wrap_Tag_allocate(VALUE self)
3134
3175
  #else
3135
- SWIGINTERN VALUE
3136
- _wrap_Tag_allocate(int argc, VALUE *argv, VALUE self) {
3176
+ _wrap_Tag_allocate(int argc, VALUE *argv, VALUE self)
3137
3177
  #endif
3138
-
3139
-
3140
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__Tag);
3178
+ {
3179
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__Tag);
3141
3180
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
3142
- rb_obj_call_init(vresult, argc, argv);
3181
+ rb_obj_call_init(vresult, argc, argv);
3143
3182
  #endif
3144
- return vresult;
3145
- }
3146
-
3183
+ return vresult;
3184
+ }
3185
+
3147
3186
 
3148
3187
  SWIGINTERN VALUE
3149
3188
  _wrap_new_Tag__SWIG_2(int argc, VALUE *argv, VALUE self) {
@@ -3237,7 +3276,8 @@ fail:
3237
3276
 
3238
3277
 
3239
3278
  SWIGINTERN void
3240
- free_TagLib_ID3v2_Tag(TagLib::ID3v2::Tag *arg1) {
3279
+ free_TagLib_ID3v2_Tag(void *self) {
3280
+ TagLib::ID3v2::Tag *arg1 = (TagLib::ID3v2::Tag *)self;
3241
3281
  SWIG_RubyRemoveTracking(arg1);
3242
3282
  delete arg1;
3243
3283
  }
@@ -3827,7 +3867,7 @@ SWIGINTERN VALUE _wrap_Tag_frame_list(int nargs, VALUE *args, VALUE self) {
3827
3867
 
3828
3868
  fail:
3829
3869
  Ruby_Format_OverloadedError( argc, 3, "Tag.frame_list",
3830
- " TagLib::ID3v2::FrameList const & Tag.frame_list()\n"
3870
+ " TagLib::ID3v2::FrameList const Tag.frame_list()\n"
3831
3871
  " TagLib::ID3v2::FrameList const & Tag.frame_list(TagLib::ByteVector const &frameID)\n");
3832
3872
 
3833
3873
  return Qnil;
@@ -4164,9 +4204,9 @@ SWIGINTERN VALUE _wrap_FrameFactory_create_frame(int nargs, VALUE *args, VALUE s
4164
4204
 
4165
4205
  fail:
4166
4206
  Ruby_Format_OverloadedError( argc, 4, "FrameFactory.create_frame",
4167
- " TagLib::ID3v2::Frame * FrameFactory.create_frame(TagLib::ByteVector const &data, bool synchSafeInts)\n"
4168
- " TagLib::ID3v2::Frame * FrameFactory.create_frame(TagLib::ByteVector const &data, unsigned int version)\n"
4169
- " TagLib::ID3v2::Frame * FrameFactory.create_frame(TagLib::ByteVector const &data)\n"
4207
+ " TagLib::ID3v2::Frame FrameFactory.create_frame(TagLib::ByteVector const &data, bool synchSafeInts)\n"
4208
+ " TagLib::ID3v2::Frame FrameFactory.create_frame(TagLib::ByteVector const &data, unsigned int version)\n"
4209
+ " TagLib::ID3v2::Frame FrameFactory.create_frame(TagLib::ByteVector const &data)\n"
4170
4210
  " TagLib::ID3v2::Frame * FrameFactory.create_frame(TagLib::ByteVector const &data, TagLib::ID3v2::Header *tagHeader)\n");
4171
4211
 
4172
4212
  return Qnil;
@@ -4244,22 +4284,20 @@ fail:
4244
4284
  }
4245
4285
 
4246
4286
 
4247
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
4248
4287
  SWIGINTERN VALUE
4249
- _wrap_RelativeVolumeFrame_allocate(VALUE self) {
4288
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
4289
+ _wrap_RelativeVolumeFrame_allocate(VALUE self)
4250
4290
  #else
4251
- SWIGINTERN VALUE
4252
- _wrap_RelativeVolumeFrame_allocate(int argc, VALUE *argv, VALUE self) {
4291
+ _wrap_RelativeVolumeFrame_allocate(int argc, VALUE *argv, VALUE self)
4253
4292
  #endif
4254
-
4255
-
4256
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame);
4293
+ {
4294
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame);
4257
4295
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
4258
- rb_obj_call_init(vresult, argc, argv);
4296
+ rb_obj_call_init(vresult, argc, argv);
4259
4297
  #endif
4260
- return vresult;
4261
- }
4262
-
4298
+ return vresult;
4299
+ }
4300
+
4263
4301
 
4264
4302
  SWIGINTERN VALUE
4265
4303
  _wrap_new_RelativeVolumeFrame__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -4315,7 +4353,8 @@ fail:
4315
4353
 
4316
4354
 
4317
4355
  SWIGINTERN void
4318
- free_TagLib_ID3v2_RelativeVolumeFrame(TagLib::ID3v2::RelativeVolumeFrame *arg1) {
4356
+ free_TagLib_ID3v2_RelativeVolumeFrame(void *self) {
4357
+ TagLib::ID3v2::RelativeVolumeFrame *arg1 = (TagLib::ID3v2::RelativeVolumeFrame *)self;
4319
4358
  SWIG_RubyRemoveTracking(arg1);
4320
4359
  delete arg1;
4321
4360
  }
@@ -5070,7 +5109,7 @@ SWIGINTERN VALUE _wrap_RelativeVolumeFrame_set_peak_volume(int nargs, VALUE *arg
5070
5109
  _v = SWIG_CheckState(res);
5071
5110
  if (_v) {
5072
5111
  void *vptr = 0;
5073
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame__PeakVolume, 0);
5112
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame__PeakVolume, SWIG_POINTER_NO_NULL);
5074
5113
  _v = SWIG_CheckState(res);
5075
5114
  if (_v) {
5076
5115
  return _wrap_RelativeVolumeFrame_set_peak_volume__SWIG_1(nargs, args, self);
@@ -5084,7 +5123,7 @@ SWIGINTERN VALUE _wrap_RelativeVolumeFrame_set_peak_volume(int nargs, VALUE *arg
5084
5123
  _v = SWIG_CheckState(res);
5085
5124
  if (_v) {
5086
5125
  void *vptr = 0;
5087
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame__PeakVolume, 0);
5126
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame__PeakVolume, SWIG_POINTER_NO_NULL);
5088
5127
  _v = SWIG_CheckState(res);
5089
5128
  if (_v) {
5090
5129
  {
@@ -5162,22 +5201,20 @@ fail:
5162
5201
 
5163
5202
  static swig_class SwigClassPeakVolume;
5164
5203
 
5165
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
5166
5204
  SWIGINTERN VALUE
5167
- _wrap_PeakVolume_allocate(VALUE self) {
5205
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
5206
+ _wrap_PeakVolume_allocate(VALUE self)
5168
5207
  #else
5169
- SWIGINTERN VALUE
5170
- _wrap_PeakVolume_allocate(int argc, VALUE *argv, VALUE self) {
5208
+ _wrap_PeakVolume_allocate(int argc, VALUE *argv, VALUE self)
5171
5209
  #endif
5172
-
5173
-
5174
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame__PeakVolume);
5210
+ {
5211
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__RelativeVolumeFrame__PeakVolume);
5175
5212
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
5176
- rb_obj_call_init(vresult, argc, argv);
5213
+ rb_obj_call_init(vresult, argc, argv);
5177
5214
  #endif
5178
- return vresult;
5179
- }
5180
-
5215
+ return vresult;
5216
+ }
5217
+
5181
5218
 
5182
5219
  SWIGINTERN VALUE
5183
5220
  _wrap_new_PeakVolume(int argc, VALUE *argv, VALUE self) {
@@ -5302,7 +5339,8 @@ fail:
5302
5339
 
5303
5340
 
5304
5341
  SWIGINTERN void
5305
- free_TagLib_ID3v2_RelativeVolumeFrame_PeakVolume(TagLib::ID3v2::RelativeVolumeFrame::PeakVolume *arg1) {
5342
+ free_TagLib_ID3v2_RelativeVolumeFrame_PeakVolume(void *self) {
5343
+ TagLib::ID3v2::RelativeVolumeFrame::PeakVolume *arg1 = (TagLib::ID3v2::RelativeVolumeFrame::PeakVolume *)self;
5306
5344
  SWIG_RubyRemoveTracking(arg1);
5307
5345
  delete arg1;
5308
5346
  }
@@ -5325,22 +5363,20 @@ fail:
5325
5363
  }
5326
5364
 
5327
5365
 
5328
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
5329
5366
  SWIGINTERN VALUE
5330
- _wrap_AttachedPictureFrame_allocate(VALUE self) {
5367
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
5368
+ _wrap_AttachedPictureFrame_allocate(VALUE self)
5331
5369
  #else
5332
- SWIGINTERN VALUE
5333
- _wrap_AttachedPictureFrame_allocate(int argc, VALUE *argv, VALUE self) {
5370
+ _wrap_AttachedPictureFrame_allocate(int argc, VALUE *argv, VALUE self)
5334
5371
  #endif
5335
-
5336
-
5337
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__AttachedPictureFrame);
5372
+ {
5373
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__AttachedPictureFrame);
5338
5374
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
5339
- rb_obj_call_init(vresult, argc, argv);
5375
+ rb_obj_call_init(vresult, argc, argv);
5340
5376
  #endif
5341
- return vresult;
5342
- }
5343
-
5377
+ return vresult;
5378
+ }
5379
+
5344
5380
 
5345
5381
  SWIGINTERN VALUE
5346
5382
  _wrap_new_AttachedPictureFrame__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -5396,7 +5432,8 @@ fail:
5396
5432
 
5397
5433
 
5398
5434
  SWIGINTERN void
5399
- free_TagLib_ID3v2_AttachedPictureFrame(TagLib::ID3v2::AttachedPictureFrame *arg1) {
5435
+ free_TagLib_ID3v2_AttachedPictureFrame(void *self) {
5436
+ TagLib::ID3v2::AttachedPictureFrame *arg1 = (TagLib::ID3v2::AttachedPictureFrame *)self;
5400
5437
  SWIG_RubyRemoveTracking(arg1);
5401
5438
  delete arg1;
5402
5439
  }
@@ -5695,7 +5732,8 @@ fail:
5695
5732
  static swig_class SwigClassAttachedPictureFrameV22;
5696
5733
 
5697
5734
  SWIGINTERN void
5698
- free_TagLib_ID3v2_AttachedPictureFrameV22(TagLib::ID3v2::AttachedPictureFrameV22 *arg1) {
5735
+ free_TagLib_ID3v2_AttachedPictureFrameV22(void *self) {
5736
+ TagLib::ID3v2::AttachedPictureFrameV22 *arg1 = (TagLib::ID3v2::AttachedPictureFrameV22 *)self;
5699
5737
  SWIG_RubyRemoveTracking(arg1);
5700
5738
  delete arg1;
5701
5739
  }
@@ -5797,22 +5835,20 @@ fail:
5797
5835
  }
5798
5836
 
5799
5837
 
5800
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
5801
5838
  SWIGINTERN VALUE
5802
- _wrap_ChapterFrame_allocate(VALUE self) {
5839
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
5840
+ _wrap_ChapterFrame_allocate(VALUE self)
5803
5841
  #else
5804
- SWIGINTERN VALUE
5805
- _wrap_ChapterFrame_allocate(int argc, VALUE *argv, VALUE self) {
5842
+ _wrap_ChapterFrame_allocate(int argc, VALUE *argv, VALUE self)
5806
5843
  #endif
5807
-
5808
-
5809
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__ChapterFrame);
5844
+ {
5845
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__ChapterFrame);
5810
5846
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
5811
- rb_obj_call_init(vresult, argc, argv);
5847
+ rb_obj_call_init(vresult, argc, argv);
5812
5848
  #endif
5813
- return vresult;
5814
- }
5815
-
5849
+ return vresult;
5850
+ }
5851
+
5816
5852
 
5817
5853
  SWIGINTERN VALUE
5818
5854
  _wrap_new_ChapterFrame__SWIG_2(int argc, VALUE *argv, VALUE self) {
@@ -5949,7 +5985,7 @@ SWIGINTERN VALUE _wrap_new_ChapterFrame(int nargs, VALUE *args, VALUE self) {
5949
5985
  }
5950
5986
  if (_v) {
5951
5987
  void *vptr = 0;
5952
- int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_TagLib__ListT_TagLib__ID3v2__Frame_p_t, 0);
5988
+ int res = SWIG_ConvertPtr(argv[5], &vptr, SWIGTYPE_p_TagLib__ListT_TagLib__ID3v2__Frame_p_t, SWIG_POINTER_NO_NULL);
5953
5989
  _v = SWIG_CheckState(res);
5954
5990
  if (_v) {
5955
5991
  return _wrap_new_ChapterFrame__SWIG_1(nargs, args, self);
@@ -5972,7 +6008,8 @@ fail:
5972
6008
 
5973
6009
 
5974
6010
  SWIGINTERN void
5975
- free_TagLib_ID3v2_ChapterFrame(TagLib::ID3v2::ChapterFrame *arg1) {
6011
+ free_TagLib_ID3v2_ChapterFrame(void *self) {
6012
+ TagLib::ID3v2::ChapterFrame *arg1 = (TagLib::ID3v2::ChapterFrame *)self;
5976
6013
  SWIG_RubyRemoveTracking(arg1);
5977
6014
  delete arg1;
5978
6015
  }
@@ -6368,7 +6405,7 @@ SWIGINTERN VALUE _wrap_ChapterFrame_embedded_frame_list(int nargs, VALUE *args,
6368
6405
 
6369
6406
  fail:
6370
6407
  Ruby_Format_OverloadedError( argc, 3, "ChapterFrame.embedded_frame_list",
6371
- " TagLib::ID3v2::FrameList const & ChapterFrame.embedded_frame_list()\n"
6408
+ " TagLib::ID3v2::FrameList const ChapterFrame.embedded_frame_list()\n"
6372
6409
  " TagLib::ID3v2::FrameList const & ChapterFrame.embedded_frame_list(TagLib::ByteVector const &frameID)\n");
6373
6410
 
6374
6411
  return Qnil;
@@ -6650,22 +6687,20 @@ fail:
6650
6687
  }
6651
6688
 
6652
6689
 
6653
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
6654
6690
  SWIGINTERN VALUE
6655
- _wrap_CommentsFrame_allocate(VALUE self) {
6691
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
6692
+ _wrap_CommentsFrame_allocate(VALUE self)
6656
6693
  #else
6657
- SWIGINTERN VALUE
6658
- _wrap_CommentsFrame_allocate(int argc, VALUE *argv, VALUE self) {
6694
+ _wrap_CommentsFrame_allocate(int argc, VALUE *argv, VALUE self)
6659
6695
  #endif
6660
-
6661
-
6662
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__CommentsFrame);
6696
+ {
6697
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__CommentsFrame);
6663
6698
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
6664
- rb_obj_call_init(vresult, argc, argv);
6699
+ rb_obj_call_init(vresult, argc, argv);
6665
6700
  #endif
6666
- return vresult;
6667
- }
6668
-
6701
+ return vresult;
6702
+ }
6703
+
6669
6704
 
6670
6705
  SWIGINTERN VALUE
6671
6706
  _wrap_new_CommentsFrame__SWIG_2(int argc, VALUE *argv, VALUE self) {
@@ -6732,7 +6767,8 @@ fail:
6732
6767
 
6733
6768
 
6734
6769
  SWIGINTERN void
6735
- free_TagLib_ID3v2_CommentsFrame(TagLib::ID3v2::CommentsFrame *arg1) {
6770
+ free_TagLib_ID3v2_CommentsFrame(void *self) {
6771
+ TagLib::ID3v2::CommentsFrame *arg1 = (TagLib::ID3v2::CommentsFrame *)self;
6736
6772
  SWIG_RubyRemoveTracking(arg1);
6737
6773
  delete arg1;
6738
6774
  }
@@ -7023,22 +7059,20 @@ fail:
7023
7059
  }
7024
7060
 
7025
7061
 
7026
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7027
7062
  SWIGINTERN VALUE
7028
- _wrap_GeneralEncapsulatedObjectFrame_allocate(VALUE self) {
7063
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7064
+ _wrap_GeneralEncapsulatedObjectFrame_allocate(VALUE self)
7029
7065
  #else
7030
- SWIGINTERN VALUE
7031
- _wrap_GeneralEncapsulatedObjectFrame_allocate(int argc, VALUE *argv, VALUE self) {
7066
+ _wrap_GeneralEncapsulatedObjectFrame_allocate(int argc, VALUE *argv, VALUE self)
7032
7067
  #endif
7033
-
7034
-
7035
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__GeneralEncapsulatedObjectFrame);
7068
+ {
7069
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__GeneralEncapsulatedObjectFrame);
7036
7070
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
7037
- rb_obj_call_init(vresult, argc, argv);
7071
+ rb_obj_call_init(vresult, argc, argv);
7038
7072
  #endif
7039
- return vresult;
7040
- }
7041
-
7073
+ return vresult;
7074
+ }
7075
+
7042
7076
 
7043
7077
  SWIGINTERN VALUE
7044
7078
  _wrap_new_GeneralEncapsulatedObjectFrame__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -7094,7 +7128,8 @@ fail:
7094
7128
 
7095
7129
 
7096
7130
  SWIGINTERN void
7097
- free_TagLib_ID3v2_GeneralEncapsulatedObjectFrame(TagLib::ID3v2::GeneralEncapsulatedObjectFrame *arg1) {
7131
+ free_TagLib_ID3v2_GeneralEncapsulatedObjectFrame(void *self) {
7132
+ TagLib::ID3v2::GeneralEncapsulatedObjectFrame *arg1 = (TagLib::ID3v2::GeneralEncapsulatedObjectFrame *)self;
7098
7133
  SWIG_RubyRemoveTracking(arg1);
7099
7134
  delete arg1;
7100
7135
  }
@@ -7408,22 +7443,20 @@ fail:
7408
7443
  }
7409
7444
 
7410
7445
 
7411
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7412
7446
  SWIGINTERN VALUE
7413
- _wrap_PopularimeterFrame_allocate(VALUE self) {
7447
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7448
+ _wrap_PopularimeterFrame_allocate(VALUE self)
7414
7449
  #else
7415
- SWIGINTERN VALUE
7416
- _wrap_PopularimeterFrame_allocate(int argc, VALUE *argv, VALUE self) {
7450
+ _wrap_PopularimeterFrame_allocate(int argc, VALUE *argv, VALUE self)
7417
7451
  #endif
7418
-
7419
-
7420
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__PopularimeterFrame);
7452
+ {
7453
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__PopularimeterFrame);
7421
7454
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
7422
- rb_obj_call_init(vresult, argc, argv);
7455
+ rb_obj_call_init(vresult, argc, argv);
7423
7456
  #endif
7424
- return vresult;
7425
- }
7426
-
7457
+ return vresult;
7458
+ }
7459
+
7427
7460
 
7428
7461
  SWIGINTERN VALUE
7429
7462
  _wrap_new_PopularimeterFrame__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -7479,7 +7512,8 @@ fail:
7479
7512
 
7480
7513
 
7481
7514
  SWIGINTERN void
7482
- free_TagLib_ID3v2_PopularimeterFrame(TagLib::ID3v2::PopularimeterFrame *arg1) {
7515
+ free_TagLib_ID3v2_PopularimeterFrame(void *self) {
7516
+ TagLib::ID3v2::PopularimeterFrame *arg1 = (TagLib::ID3v2::PopularimeterFrame *)self;
7483
7517
  SWIG_RubyRemoveTracking(arg1);
7484
7518
  delete arg1;
7485
7519
  }
@@ -7687,22 +7721,20 @@ fail:
7687
7721
  }
7688
7722
 
7689
7723
 
7690
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7691
7724
  SWIGINTERN VALUE
7692
- _wrap_PrivateFrame_allocate(VALUE self) {
7725
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7726
+ _wrap_PrivateFrame_allocate(VALUE self)
7693
7727
  #else
7694
- SWIGINTERN VALUE
7695
- _wrap_PrivateFrame_allocate(int argc, VALUE *argv, VALUE self) {
7728
+ _wrap_PrivateFrame_allocate(int argc, VALUE *argv, VALUE self)
7696
7729
  #endif
7697
-
7698
-
7699
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__PrivateFrame);
7730
+ {
7731
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__PrivateFrame);
7700
7732
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
7701
- rb_obj_call_init(vresult, argc, argv);
7733
+ rb_obj_call_init(vresult, argc, argv);
7702
7734
  #endif
7703
- return vresult;
7704
- }
7705
-
7735
+ return vresult;
7736
+ }
7737
+
7706
7738
 
7707
7739
  SWIGINTERN VALUE
7708
7740
  _wrap_new_PrivateFrame__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -7758,7 +7790,8 @@ fail:
7758
7790
 
7759
7791
 
7760
7792
  SWIGINTERN void
7761
- free_TagLib_ID3v2_PrivateFrame(TagLib::ID3v2::PrivateFrame *arg1) {
7793
+ free_TagLib_ID3v2_PrivateFrame(void *self) {
7794
+ TagLib::ID3v2::PrivateFrame *arg1 = (TagLib::ID3v2::PrivateFrame *)self;
7762
7795
  SWIG_RubyRemoveTracking(arg1);
7763
7796
  delete arg1;
7764
7797
  }
@@ -7994,22 +8027,20 @@ fail:
7994
8027
  }
7995
8028
 
7996
8029
 
7997
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
7998
8030
  SWIGINTERN VALUE
7999
- _wrap_TableOfContentsFrame_allocate(VALUE self) {
8031
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
8032
+ _wrap_TableOfContentsFrame_allocate(VALUE self)
8000
8033
  #else
8001
- SWIGINTERN VALUE
8002
- _wrap_TableOfContentsFrame_allocate(int argc, VALUE *argv, VALUE self) {
8034
+ _wrap_TableOfContentsFrame_allocate(int argc, VALUE *argv, VALUE self)
8003
8035
  #endif
8004
-
8005
-
8006
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__TableOfContentsFrame);
8036
+ {
8037
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__TableOfContentsFrame);
8007
8038
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
8008
- rb_obj_call_init(vresult, argc, argv);
8039
+ rb_obj_call_init(vresult, argc, argv);
8009
8040
  #endif
8010
- return vresult;
8011
- }
8012
-
8041
+ return vresult;
8042
+ }
8043
+
8013
8044
 
8014
8045
  SWIGINTERN VALUE
8015
8046
  _wrap_new_TableOfContentsFrame__SWIG_3(int argc, VALUE *argv, VALUE self) {
@@ -8070,7 +8101,7 @@ SWIGINTERN VALUE _wrap_new_TableOfContentsFrame(int nargs, VALUE *args, VALUE se
8070
8101
  _v = SWIG_CheckState(res);
8071
8102
  if (_v) {
8072
8103
  void *vptr = 0;
8073
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVectorList, 0);
8104
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVectorList, SWIG_POINTER_NO_NULL);
8074
8105
  _v = SWIG_CheckState(res);
8075
8106
  if (_v) {
8076
8107
  return _wrap_new_TableOfContentsFrame__SWIG_2(nargs, args, self);
@@ -8083,11 +8114,11 @@ SWIGINTERN VALUE _wrap_new_TableOfContentsFrame(int nargs, VALUE *args, VALUE se
8083
8114
  _v = SWIG_CheckState(res);
8084
8115
  if (_v) {
8085
8116
  void *vptr = 0;
8086
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVectorList, 0);
8117
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVectorList, SWIG_POINTER_NO_NULL);
8087
8118
  _v = SWIG_CheckState(res);
8088
8119
  if (_v) {
8089
8120
  void *vptr = 0;
8090
- int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_TagLib__ListT_TagLib__ID3v2__Frame_p_t, 0);
8121
+ int res = SWIG_ConvertPtr(argv[2], &vptr, SWIGTYPE_p_TagLib__ListT_TagLib__ID3v2__Frame_p_t, SWIG_POINTER_NO_NULL);
8091
8122
  _v = SWIG_CheckState(res);
8092
8123
  if (_v) {
8093
8124
  return _wrap_new_TableOfContentsFrame__SWIG_1(nargs, args, self);
@@ -8108,7 +8139,8 @@ fail:
8108
8139
 
8109
8140
 
8110
8141
  SWIGINTERN void
8111
- free_TagLib_ID3v2_TableOfContentsFrame(TagLib::ID3v2::TableOfContentsFrame *arg1) {
8142
+ free_TagLib_ID3v2_TableOfContentsFrame(void *self) {
8143
+ TagLib::ID3v2::TableOfContentsFrame *arg1 = (TagLib::ID3v2::TableOfContentsFrame *)self;
8112
8144
  SWIG_RubyRemoveTracking(arg1);
8113
8145
  delete arg1;
8114
8146
  }
@@ -8525,7 +8557,7 @@ SWIGINTERN VALUE _wrap_TableOfContentsFrame_embedded_frame_list(int nargs, VALUE
8525
8557
 
8526
8558
  fail:
8527
8559
  Ruby_Format_OverloadedError( argc, 3, "TableOfContentsFrame.embedded_frame_list",
8528
- " TagLib::ID3v2::FrameList const & TableOfContentsFrame.embedded_frame_list()\n"
8560
+ " TagLib::ID3v2::FrameList const TableOfContentsFrame.embedded_frame_list()\n"
8529
8561
  " TagLib::ID3v2::FrameList const & TableOfContentsFrame.embedded_frame_list(TagLib::ByteVector const &frameID)\n");
8530
8562
 
8531
8563
  return Qnil;
@@ -8791,22 +8823,20 @@ fail:
8791
8823
 
8792
8824
  static swig_class SwigClassTextIdentificationFrame;
8793
8825
 
8794
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
8795
8826
  SWIGINTERN VALUE
8796
- _wrap_TextIdentificationFrame_allocate(VALUE self) {
8827
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
8828
+ _wrap_TextIdentificationFrame_allocate(VALUE self)
8797
8829
  #else
8798
- SWIGINTERN VALUE
8799
- _wrap_TextIdentificationFrame_allocate(int argc, VALUE *argv, VALUE self) {
8830
+ _wrap_TextIdentificationFrame_allocate(int argc, VALUE *argv, VALUE self)
8800
8831
  #endif
8801
-
8802
-
8803
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__TextIdentificationFrame);
8832
+ {
8833
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__TextIdentificationFrame);
8804
8834
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
8805
- rb_obj_call_init(vresult, argc, argv);
8835
+ rb_obj_call_init(vresult, argc, argv);
8806
8836
  #endif
8807
- return vresult;
8808
- }
8809
-
8837
+ return vresult;
8838
+ }
8839
+
8810
8840
 
8811
8841
  SWIGINTERN VALUE
8812
8842
  _wrap_new_TextIdentificationFrame(int argc, VALUE *argv, VALUE self) {
@@ -8838,22 +8868,20 @@ fail:
8838
8868
  }
8839
8869
 
8840
8870
 
8841
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
8842
8871
  SWIGINTERN VALUE
8843
- _wrap_from_data_allocate(VALUE self) {
8872
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
8873
+ _wrap_from_data_allocate(VALUE self)
8844
8874
  #else
8845
- SWIGINTERN VALUE
8846
- _wrap_from_data_allocate(int argc, VALUE *argv, VALUE self) {
8875
+ _wrap_from_data_allocate(int argc, VALUE *argv, VALUE self)
8847
8876
  #endif
8848
-
8849
-
8850
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__TextIdentificationFrame);
8877
+ {
8878
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__TextIdentificationFrame);
8851
8879
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
8852
- rb_obj_call_init(vresult, argc, argv);
8880
+ rb_obj_call_init(vresult, argc, argv);
8853
8881
  #endif
8854
- return vresult;
8855
- }
8856
-
8882
+ return vresult;
8883
+ }
8884
+
8857
8885
 
8858
8886
  SWIGINTERN VALUE
8859
8887
  _wrap_new_from_data(int argc, VALUE *argv, VALUE self) {
@@ -8878,7 +8906,8 @@ fail:
8878
8906
 
8879
8907
 
8880
8908
  SWIGINTERN void
8881
- free_TagLib_ID3v2_TextIdentificationFrame(TagLib::ID3v2::TextIdentificationFrame *arg1) {
8909
+ free_TagLib_ID3v2_TextIdentificationFrame(void *self) {
8910
+ TagLib::ID3v2::TextIdentificationFrame *arg1 = (TagLib::ID3v2::TextIdentificationFrame *)self;
8882
8911
  SWIG_RubyRemoveTracking(arg1);
8883
8912
  delete arg1;
8884
8913
  }
@@ -9142,22 +9171,20 @@ fail:
9142
9171
  }
9143
9172
 
9144
9173
 
9145
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9146
9174
  SWIGINTERN VALUE
9147
- _wrap_UserTextIdentificationFrame_allocate(VALUE self) {
9175
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9176
+ _wrap_UserTextIdentificationFrame_allocate(VALUE self)
9148
9177
  #else
9149
- SWIGINTERN VALUE
9150
- _wrap_UserTextIdentificationFrame_allocate(int argc, VALUE *argv, VALUE self) {
9178
+ _wrap_UserTextIdentificationFrame_allocate(int argc, VALUE *argv, VALUE self)
9151
9179
  #endif
9152
-
9153
-
9154
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UserTextIdentificationFrame);
9180
+ {
9181
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UserTextIdentificationFrame);
9155
9182
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
9156
- rb_obj_call_init(vresult, argc, argv);
9183
+ rb_obj_call_init(vresult, argc, argv);
9157
9184
  #endif
9158
- return vresult;
9159
- }
9160
-
9185
+ return vresult;
9186
+ }
9187
+
9161
9188
 
9162
9189
  SWIGINTERN VALUE
9163
9190
  _wrap_new_UserTextIdentificationFrame__SWIG_4(int argc, VALUE *argv, VALUE self) {
@@ -9224,7 +9251,7 @@ SWIGINTERN VALUE _wrap_new_UserTextIdentificationFrame(int nargs, VALUE *args, V
9224
9251
  _v = SWIG_CheckState(res);
9225
9252
  if (_v) {
9226
9253
  void *vptr = 0;
9227
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__StringList, 0);
9254
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__StringList, SWIG_POINTER_NO_NULL);
9228
9255
  _v = SWIG_CheckState(res);
9229
9256
  if (_v) {
9230
9257
  return _wrap_new_UserTextIdentificationFrame__SWIG_4(nargs, args, self);
@@ -9237,7 +9264,7 @@ SWIGINTERN VALUE _wrap_new_UserTextIdentificationFrame(int nargs, VALUE *args, V
9237
9264
  _v = SWIG_CheckState(res);
9238
9265
  if (_v) {
9239
9266
  void *vptr = 0;
9240
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__StringList, 0);
9267
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__StringList, SWIG_POINTER_NO_NULL);
9241
9268
  _v = SWIG_CheckState(res);
9242
9269
  if (_v) {
9243
9270
  {
@@ -9422,7 +9449,6 @@ fail:
9422
9449
  }
9423
9450
 
9424
9451
 
9425
-
9426
9452
  /*
9427
9453
  Document-method: TagLib::ID3v2::UserTextIdentificationFrame.find
9428
9454
 
@@ -9462,7 +9488,8 @@ fail:
9462
9488
 
9463
9489
 
9464
9490
  SWIGINTERN void
9465
- free_TagLib_ID3v2_UserTextIdentificationFrame(TagLib::ID3v2::UserTextIdentificationFrame *arg1) {
9491
+ free_TagLib_ID3v2_UserTextIdentificationFrame(void *self) {
9492
+ TagLib::ID3v2::UserTextIdentificationFrame *arg1 = (TagLib::ID3v2::UserTextIdentificationFrame *)self;
9466
9493
  SWIG_RubyRemoveTracking(arg1);
9467
9494
  delete arg1;
9468
9495
  }
@@ -9491,22 +9518,20 @@ fail:
9491
9518
  }
9492
9519
 
9493
9520
 
9494
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9495
9521
  SWIGINTERN VALUE
9496
- _wrap_UniqueFileIdentifierFrame_allocate(VALUE self) {
9522
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9523
+ _wrap_UniqueFileIdentifierFrame_allocate(VALUE self)
9497
9524
  #else
9498
- SWIGINTERN VALUE
9499
- _wrap_UniqueFileIdentifierFrame_allocate(int argc, VALUE *argv, VALUE self) {
9525
+ _wrap_UniqueFileIdentifierFrame_allocate(int argc, VALUE *argv, VALUE self)
9500
9526
  #endif
9501
-
9502
-
9503
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UniqueFileIdentifierFrame);
9527
+ {
9528
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UniqueFileIdentifierFrame);
9504
9529
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
9505
- rb_obj_call_init(vresult, argc, argv);
9530
+ rb_obj_call_init(vresult, argc, argv);
9506
9531
  #endif
9507
- return vresult;
9508
- }
9509
-
9532
+ return vresult;
9533
+ }
9534
+
9510
9535
 
9511
9536
  SWIGINTERN VALUE
9512
9537
  _wrap_new_UniqueFileIdentifierFrame__SWIG_1(int argc, VALUE *argv, VALUE self) {
@@ -9577,7 +9602,8 @@ fail:
9577
9602
 
9578
9603
 
9579
9604
  SWIGINTERN void
9580
- free_TagLib_ID3v2_UniqueFileIdentifierFrame(TagLib::ID3v2::UniqueFileIdentifierFrame *arg1) {
9605
+ free_TagLib_ID3v2_UniqueFileIdentifierFrame(void *self) {
9606
+ TagLib::ID3v2::UniqueFileIdentifierFrame *arg1 = (TagLib::ID3v2::UniqueFileIdentifierFrame *)self;
9581
9607
  SWIG_RubyRemoveTracking(arg1);
9582
9608
  delete arg1;
9583
9609
  }
@@ -9716,22 +9742,20 @@ fail:
9716
9742
 
9717
9743
  static swig_class SwigClassUnknownFrame;
9718
9744
 
9719
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9720
9745
  SWIGINTERN VALUE
9721
- _wrap_UnknownFrame_allocate(VALUE self) {
9746
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9747
+ _wrap_UnknownFrame_allocate(VALUE self)
9722
9748
  #else
9723
- SWIGINTERN VALUE
9724
- _wrap_UnknownFrame_allocate(int argc, VALUE *argv, VALUE self) {
9749
+ _wrap_UnknownFrame_allocate(int argc, VALUE *argv, VALUE self)
9725
9750
  #endif
9726
-
9727
-
9728
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UnknownFrame);
9751
+ {
9752
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UnknownFrame);
9729
9753
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
9730
- rb_obj_call_init(vresult, argc, argv);
9754
+ rb_obj_call_init(vresult, argc, argv);
9731
9755
  #endif
9732
- return vresult;
9733
- }
9734
-
9756
+ return vresult;
9757
+ }
9758
+
9735
9759
 
9736
9760
  SWIGINTERN VALUE
9737
9761
  _wrap_new_UnknownFrame(int argc, VALUE *argv, VALUE self) {
@@ -9756,7 +9780,8 @@ fail:
9756
9780
 
9757
9781
 
9758
9782
  SWIGINTERN void
9759
- free_TagLib_ID3v2_UnknownFrame(TagLib::ID3v2::UnknownFrame *arg1) {
9783
+ free_TagLib_ID3v2_UnknownFrame(void *self) {
9784
+ TagLib::ID3v2::UnknownFrame *arg1 = (TagLib::ID3v2::UnknownFrame *)self;
9760
9785
  SWIG_RubyRemoveTracking(arg1);
9761
9786
  delete arg1;
9762
9787
  }
@@ -9855,22 +9880,20 @@ fail:
9855
9880
  }
9856
9881
 
9857
9882
 
9858
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9859
9883
  SWIGINTERN VALUE
9860
- _wrap_UnsynchronizedLyricsFrame_allocate(VALUE self) {
9884
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
9885
+ _wrap_UnsynchronizedLyricsFrame_allocate(VALUE self)
9861
9886
  #else
9862
- SWIGINTERN VALUE
9863
- _wrap_UnsynchronizedLyricsFrame_allocate(int argc, VALUE *argv, VALUE self) {
9887
+ _wrap_UnsynchronizedLyricsFrame_allocate(int argc, VALUE *argv, VALUE self)
9864
9888
  #endif
9865
-
9866
-
9867
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UnsynchronizedLyricsFrame);
9889
+ {
9890
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UnsynchronizedLyricsFrame);
9868
9891
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
9869
- rb_obj_call_init(vresult, argc, argv);
9892
+ rb_obj_call_init(vresult, argc, argv);
9870
9893
  #endif
9871
- return vresult;
9872
- }
9873
-
9894
+ return vresult;
9895
+ }
9896
+
9874
9897
 
9875
9898
  SWIGINTERN VALUE
9876
9899
  _wrap_new_UnsynchronizedLyricsFrame__SWIG_2(int argc, VALUE *argv, VALUE self) {
@@ -9937,7 +9960,8 @@ fail:
9937
9960
 
9938
9961
 
9939
9962
  SWIGINTERN void
9940
- free_TagLib_ID3v2_UnsynchronizedLyricsFrame(TagLib::ID3v2::UnsynchronizedLyricsFrame *arg1) {
9963
+ free_TagLib_ID3v2_UnsynchronizedLyricsFrame(void *self) {
9964
+ TagLib::ID3v2::UnsynchronizedLyricsFrame *arg1 = (TagLib::ID3v2::UnsynchronizedLyricsFrame *)self;
9941
9965
  SWIG_RubyRemoveTracking(arg1);
9942
9966
  delete arg1;
9943
9967
  }
@@ -10182,22 +10206,20 @@ fail:
10182
10206
 
10183
10207
  static swig_class SwigClassUrlLinkFrame;
10184
10208
 
10185
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10186
10209
  SWIGINTERN VALUE
10187
- _wrap_UrlLinkFrame_allocate(VALUE self) {
10210
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10211
+ _wrap_UrlLinkFrame_allocate(VALUE self)
10188
10212
  #else
10189
- SWIGINTERN VALUE
10190
- _wrap_UrlLinkFrame_allocate(int argc, VALUE *argv, VALUE self) {
10213
+ _wrap_UrlLinkFrame_allocate(int argc, VALUE *argv, VALUE self)
10191
10214
  #endif
10192
-
10193
-
10194
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UrlLinkFrame);
10215
+ {
10216
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UrlLinkFrame);
10195
10217
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
10196
- rb_obj_call_init(vresult, argc, argv);
10218
+ rb_obj_call_init(vresult, argc, argv);
10197
10219
  #endif
10198
- return vresult;
10199
- }
10200
-
10220
+ return vresult;
10221
+ }
10222
+
10201
10223
 
10202
10224
  SWIGINTERN VALUE
10203
10225
  _wrap_new_UrlLinkFrame(int argc, VALUE *argv, VALUE self) {
@@ -10222,7 +10244,8 @@ fail:
10222
10244
 
10223
10245
 
10224
10246
  SWIGINTERN void
10225
- free_TagLib_ID3v2_UrlLinkFrame(TagLib::ID3v2::UrlLinkFrame *arg1) {
10247
+ free_TagLib_ID3v2_UrlLinkFrame(void *self) {
10248
+ TagLib::ID3v2::UrlLinkFrame *arg1 = (TagLib::ID3v2::UrlLinkFrame *)self;
10226
10249
  SWIG_RubyRemoveTracking(arg1);
10227
10250
  delete arg1;
10228
10251
  }
@@ -10375,22 +10398,20 @@ fail:
10375
10398
  }
10376
10399
 
10377
10400
 
10378
- #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10379
10401
  SWIGINTERN VALUE
10380
- _wrap_UserUrlLinkFrame_allocate(VALUE self) {
10402
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10403
+ _wrap_UserUrlLinkFrame_allocate(VALUE self)
10381
10404
  #else
10382
- SWIGINTERN VALUE
10383
- _wrap_UserUrlLinkFrame_allocate(int argc, VALUE *argv, VALUE self) {
10405
+ _wrap_UserUrlLinkFrame_allocate(int argc, VALUE *argv, VALUE self)
10384
10406
  #endif
10385
-
10386
-
10387
- VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UserUrlLinkFrame);
10407
+ {
10408
+ VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v2__UserUrlLinkFrame);
10388
10409
  #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
10389
- rb_obj_call_init(vresult, argc, argv);
10410
+ rb_obj_call_init(vresult, argc, argv);
10390
10411
  #endif
10391
- return vresult;
10392
- }
10393
-
10412
+ return vresult;
10413
+ }
10414
+
10394
10415
 
10395
10416
  SWIGINTERN VALUE
10396
10417
  _wrap_new_UserUrlLinkFrame__SWIG_2(int argc, VALUE *argv, VALUE self) {
@@ -10457,7 +10478,8 @@ fail:
10457
10478
 
10458
10479
 
10459
10480
  SWIGINTERN void
10460
- free_TagLib_ID3v2_UserUrlLinkFrame(TagLib::ID3v2::UserUrlLinkFrame *arg1) {
10481
+ free_TagLib_ID3v2_UserUrlLinkFrame(void *self) {
10482
+ TagLib::ID3v2::UserUrlLinkFrame *arg1 = (TagLib::ID3v2::UserUrlLinkFrame *)self;
10461
10483
  SWIG_RubyRemoveTracking(arg1);
10462
10484
  delete arg1;
10463
10485
  }
@@ -10908,7 +10930,7 @@ SWIG_InitializeModule(void *clientdata) {
10908
10930
 
10909
10931
  /* Now work on filling in swig_module.types */
10910
10932
  #ifdef SWIGRUNTIME_DEBUG
10911
- printf("SWIG_InitializeModule: size %d\n", swig_module.size);
10933
+ printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
10912
10934
  #endif
10913
10935
  for (i = 0; i < swig_module.size; ++i) {
10914
10936
  swig_type_info *type = 0;
@@ -10916,7 +10938,7 @@ SWIG_InitializeModule(void *clientdata) {
10916
10938
  swig_cast_info *cast;
10917
10939
 
10918
10940
  #ifdef SWIGRUNTIME_DEBUG
10919
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
10941
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
10920
10942
  #endif
10921
10943
 
10922
10944
  /* if there is another module already loaded */
@@ -10992,7 +11014,7 @@ SWIG_InitializeModule(void *clientdata) {
10992
11014
  for (i = 0; i < swig_module.size; ++i) {
10993
11015
  int j = 0;
10994
11016
  swig_cast_info *cast = swig_module.cast_initial[i];
10995
- printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
11017
+ printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
10996
11018
  while (cast->type) {
10997
11019
  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
10998
11020
  cast++;