taglib-ruby 1.1.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/CHANGELOG.md +22 -0
  4. data/README.md +16 -12
  5. data/docs/taglib/mpeg.rb +1 -9
  6. data/ext/extconf_common.rb +21 -12
  7. data/ext/taglib_aiff/taglib_aiff.i +5 -0
  8. data/ext/taglib_aiff/taglib_aiff_wrap.cxx +327 -111
  9. data/ext/taglib_base/includes.i +14 -14
  10. data/ext/taglib_base/taglib_base.i +37 -4
  11. data/ext/taglib_base/taglib_base_wrap.cxx +414 -422
  12. data/ext/taglib_flac/taglib_flac.i +8 -3
  13. data/ext/taglib_flac/taglib_flac_wrap.cxx +356 -406
  14. data/ext/taglib_flac_picture/taglib_flac_picture.i +4 -0
  15. data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +229 -122
  16. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +196 -102
  17. data/ext/taglib_id3v2/taglib_id3v2.i +5 -0
  18. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +727 -568
  19. data/ext/taglib_mp4/taglib_mp4.i +22 -18
  20. data/ext/taglib_mp4/taglib_mp4_wrap.cxx +2141 -1493
  21. data/ext/taglib_mpeg/taglib_mpeg.i +6 -0
  22. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +546 -379
  23. data/ext/taglib_ogg/taglib_ogg.i +0 -2
  24. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +162 -107
  25. data/ext/taglib_vorbis/taglib_vorbis.i +1 -0
  26. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +141 -109
  27. data/ext/taglib_wav/taglib_wav.i +6 -2
  28. data/ext/taglib_wav/taglib_wav_wrap.cxx +290 -147
  29. data/lib/taglib/version.rb +3 -3
  30. data/taglib-ruby.gemspec +1 -0
  31. data/tasks/ext.rake +23 -39
  32. data/tasks/swig.rake +14 -4
  33. data/test/id3v2_write_test.rb +1 -1
  34. data/test/wav_examples_test.rb +1 -1
  35. data/test/wav_file_test.rb +1 -1
  36. data/test/wav_file_write_test.rb +6 -6
  37. metadata +4 -3
@@ -11,5 +11,9 @@
11
11
  %ignore TagLib::FLAC::MetadataBlock::render; // Only useful internally.
12
12
  %include <taglib/flacmetadatablock.h>
13
13
 
14
+ %ignore TagLib::Utils::pictureTypeToString;
15
+ %ignore TagLib::Utils::pictureTypeFromString;
16
+ %include <taglib/tpicturetype.h>
17
+
14
18
  %ignore TagLib::FLAC::Picture::render; // Only useful internally.
15
19
  %include <taglib/flacpicture.h>
@@ -1,42 +1,14 @@
1
1
  /* ----------------------------------------------------------------------------
2
- * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 4.0.2
2
+ * This file was automatically generated by SWIG (https://www.swig.org).
3
+ * Version 4.1.1
4
4
  *
5
- * This file is not intended to be easily readable and contains a number of
6
- * coding conventions designed to improve portability and efficiency. Do not make
7
- * changes to this file unless you know what you are doing--modify the SWIG
8
- * interface file instead.
5
+ * Do not make changes to this file unless you know what you are doing - modify
6
+ * the SWIG interface file instead.
9
7
  * ----------------------------------------------------------------------------- */
10
8
 
11
9
 
12
- #ifndef SWIGRUBY
10
+ #define SWIG_VERSION 0x040101
13
11
  #define SWIGRUBY
14
- #endif
15
-
16
-
17
-
18
- #ifdef __cplusplus
19
- /* SwigValueWrapper is described in swig.swg */
20
- template<typename T> class SwigValueWrapper {
21
- struct SwigMovePointer {
22
- T *ptr;
23
- SwigMovePointer(T *p) : ptr(p) { }
24
- ~SwigMovePointer() { delete ptr; }
25
- SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
26
- } pointer;
27
- SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
28
- SwigValueWrapper(const SwigValueWrapper<T>& rhs);
29
- public:
30
- SwigValueWrapper() : pointer(0) { }
31
- SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
32
- operator T&() const { return *pointer.ptr; }
33
- T *operator&() { return pointer.ptr; }
34
- };
35
-
36
- template <typename T> T SwigValueInit() {
37
- return T();
38
- }
39
- #endif
40
12
 
41
13
  /* -----------------------------------------------------------------------------
42
14
  * This section contains generic SWIG labels for method/variable
@@ -332,6 +304,8 @@ template <typename T> T SwigValueInit() {
332
304
  #define SWIG_POINTER_DISOWN 0x1
333
305
  #define SWIG_CAST_NEW_MEMORY 0x2
334
306
  #define SWIG_POINTER_NO_NULL 0x4
307
+ #define SWIG_POINTER_CLEAR 0x8
308
+ #define SWIG_POINTER_RELEASE (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
335
309
 
336
310
  /* Flags for new pointer objects */
337
311
  #define SWIG_POINTER_OWN 0x1
@@ -403,7 +377,7 @@ template <typename T> T SwigValueInit() {
403
377
  SWIG errors code.
404
378
 
405
379
  Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
406
- allows to return the 'cast rank', for example, if you have this
380
+ allows returning the 'cast rank', for example, if you have this
407
381
 
408
382
  int food(double)
409
383
  int fooi(int);
@@ -417,7 +391,13 @@ template <typename T> T SwigValueInit() {
417
391
  */
418
392
 
419
393
  #define SWIG_OK (0)
394
+ /* Runtime errors are < 0 */
420
395
  #define SWIG_ERROR (-1)
396
+ /* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
397
+ /* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
398
+ /* Errors < -200 are generic runtime specific errors */
399
+ #define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
400
+
421
401
  #define SWIG_IsOK(r) (r >= 0)
422
402
  #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
423
403
 
@@ -432,7 +412,7 @@ template <typename T> T SwigValueInit() {
432
412
  #define SWIG_OLDOBJ (SWIG_OK)
433
413
  #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
434
414
  #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
435
- /* Check, add and del mask methods */
415
+ /* Check, add and del object mask methods */
436
416
  #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
437
417
  #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
438
418
  #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
@@ -578,7 +558,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
578
558
  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
579
559
  */
580
560
  SWIGRUNTIME swig_cast_info *
581
- SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
561
+ SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
582
562
  if (ty) {
583
563
  swig_cast_info *iter = ty->cast;
584
564
  while (iter) {
@@ -638,9 +618,9 @@ SWIG_TypeName(const swig_type_info *ty) {
638
618
  SWIGRUNTIME const char *
639
619
  SWIG_TypePrettyName(const swig_type_info *type) {
640
620
  /* The "str" field contains the equivalent pretty names of the
641
- type, separated by vertical-bar characters. We choose
642
- to print the last name, as it is often (?) the most
643
- specific. */
621
+ type, separated by vertical-bar characters. Choose the last
622
+ name. It should be the most specific; a fully resolved name
623
+ but not necessarily with default template parameters expanded. */
644
624
  if (!type) return NULL;
645
625
  if (type->str != NULL) {
646
626
  const char *last_name = type->str;
@@ -860,7 +840,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
860
840
  }
861
841
  #endif
862
842
 
863
- /* Errors in SWIG */
843
+ /* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
864
844
  #define SWIG_UnknownError -1
865
845
  #define SWIG_IOError -2
866
846
  #define SWIG_RuntimeError -3
@@ -876,9 +856,25 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
876
856
  #define SWIG_NullReferenceError -13
877
857
 
878
858
 
859
+ #if __GNUC__ >= 7
860
+ #pragma GCC diagnostic push
861
+ #if defined(__cplusplus)
862
+ #pragma GCC diagnostic ignored "-Wregister"
863
+ #if __GNUC__ >= 10
864
+ #pragma GCC diagnostic ignored "-Wvolatile"
865
+ #if __GNUC__ >= 11
866
+ #pragma GCC diagnostic ignored "-Wdeprecated-enum-enum-conversion"
867
+ #endif
868
+ #endif
869
+ #endif
870
+ #endif
879
871
 
880
872
  #include <ruby.h>
881
873
 
874
+ #if __GNUC__ >= 7
875
+ #pragma GCC diagnostic pop
876
+ #endif
877
+
882
878
  /* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which
883
879
  * breaks using rb_intern as an lvalue, as SWIG does. We work around this
884
880
  * issue for now by disabling this.
@@ -1658,6 +1654,11 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1658
1654
  own->own = 0;
1659
1655
  }
1660
1656
 
1657
+ if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE)) {
1658
+ if (!RDATA(obj)->dfree)
1659
+ return SWIG_ERROR_RELEASE_NOT_OWNED;
1660
+ }
1661
+
1661
1662
  /* Check to see if the input object is giving up ownership
1662
1663
  of the underlying C struct or C++ object. If so then we
1663
1664
  need to reset the destructor since the Ruby object no
@@ -1669,7 +1670,7 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1669
1670
  swig_class *sklass = (swig_class *) ty->clientdata;
1670
1671
  track = sklass->trackObjects;
1671
1672
  }
1672
-
1673
+
1673
1674
  if (track) {
1674
1675
  /* We are tracking objects for this class. Thus we change the destructor
1675
1676
  * to SWIG_RubyRemoveTracking. This allows us to
@@ -1683,6 +1684,10 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
1683
1684
  }
1684
1685
  }
1685
1686
 
1687
+ if (flags & SWIG_POINTER_CLEAR) {
1688
+ DATA_PTR(obj) = 0;
1689
+ }
1690
+
1686
1691
  /* Do type-checking if type info was provided */
1687
1692
  if (ty) {
1688
1693
  if (ty->clientdata) {
@@ -1790,6 +1795,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer)
1790
1795
  {
1791
1796
  /* register a new class */
1792
1797
  VALUE cl = rb_define_class("swig_runtime_data", rb_cObject);
1798
+ rb_undef_alloc_func(cl);
1793
1799
  /* create and store the structure pointer to a global variable */
1794
1800
  swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer);
1795
1801
  rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer);
@@ -1820,7 +1826,7 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1820
1826
  {
1821
1827
  if ( rb_respond_to( proc, swig_arity_id ) )
1822
1828
  {
1823
- VALUE num = rb_funcall( proc, swig_arity_id, 0 );
1829
+ VALUE num = rb_funcall2( proc, swig_arity_id, 0, 0 );
1824
1830
  int arity = NUM2INT(num);
1825
1831
  if ( arity < 0 && (arity+1) < -minimal ) return 1;
1826
1832
  if ( arity == minimal ) return 1;
@@ -1838,7 +1844,7 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1838
1844
 
1839
1845
  #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1840
1846
 
1841
- #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1847
+ #define SWIG_contract_assert(expr, msg) do { if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } } while (0)
1842
1848
 
1843
1849
 
1844
1850
 
@@ -1848,12 +1854,13 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1848
1854
  #define SWIGTYPE_p_TagLib__FLAC__Picture swig_types[1]
1849
1855
  #define SWIGTYPE_p_TagLib__ListT_TagLib__FLAC__Picture_t swig_types[2]
1850
1856
  #define SWIGTYPE_p_char swig_types[3]
1851
- #define SWIGTYPE_p_unsigned_char swig_types[4]
1852
- #define SWIGTYPE_p_unsigned_int swig_types[5]
1853
- #define SWIGTYPE_p_unsigned_long swig_types[6]
1854
- #define SWIGTYPE_p_wchar_t swig_types[7]
1855
- static swig_type_info *swig_types[9];
1856
- static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0};
1857
+ #define SWIGTYPE_p_long_long swig_types[4]
1858
+ #define SWIGTYPE_p_unsigned_char swig_types[5]
1859
+ #define SWIGTYPE_p_unsigned_int swig_types[6]
1860
+ #define SWIGTYPE_p_unsigned_long swig_types[7]
1861
+ #define SWIGTYPE_p_wchar_t swig_types[8]
1862
+ static swig_type_info *swig_types[10];
1863
+ static swig_module_info swig_module = {swig_types, 9, 0, 0, 0, 0};
1857
1864
  #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1858
1865
  #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1859
1866
 
@@ -1864,12 +1871,56 @@ static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0};
1864
1871
 
1865
1872
  static VALUE mFLAC;
1866
1873
 
1867
- #define SWIG_RUBY_THREAD_BEGIN_BLOCK
1868
- #define SWIG_RUBY_THREAD_END_BLOCK
1874
+ #ifdef __cplusplus
1875
+ #include <utility>
1876
+ /* SwigValueWrapper is described in swig.swg */
1877
+ template<typename T> class SwigValueWrapper {
1878
+ struct SwigSmartPointer {
1879
+ T *ptr;
1880
+ SwigSmartPointer(T *p) : ptr(p) { }
1881
+ ~SwigSmartPointer() { delete ptr; }
1882
+ SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
1883
+ void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
1884
+ } pointer;
1885
+ SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
1886
+ SwigValueWrapper(const SwigValueWrapper<T>& rhs);
1887
+ public:
1888
+ SwigValueWrapper() : pointer(0) { }
1889
+ SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
1890
+ #if __cplusplus >=201103L
1891
+ SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
1892
+ operator T&&() const { return std::move(*pointer.ptr); }
1893
+ #else
1894
+ operator T&() const { return *pointer.ptr; }
1895
+ #endif
1896
+ T *operator&() const { return pointer.ptr; }
1897
+ static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
1898
+ };
1899
+
1900
+ /*
1901
+ * SwigValueInit() is a generic initialisation solution as the following approach:
1902
+ *
1903
+ * T c_result = T();
1904
+ *
1905
+ * doesn't compile for all types for example:
1906
+ *
1907
+ * unsigned int c_result = unsigned int();
1908
+ */
1909
+ template <typename T> T SwigValueInit() {
1910
+ return T();
1911
+ }
1869
1912
 
1913
+ #if __cplusplus >=201103L
1914
+ # define SWIG_STD_MOVE(OBJ) std::move(OBJ)
1915
+ #else
1916
+ # define SWIG_STD_MOVE(OBJ) OBJ
1917
+ #endif
1870
1918
 
1871
- #define SWIGVERSION 0x040002
1872
- #define SWIG_VERSION SWIGVERSION
1919
+ #endif
1920
+
1921
+
1922
+ #define SWIG_RUBY_THREAD_BEGIN_BLOCK
1923
+ #define SWIG_RUBY_THREAD_END_BLOCK
1873
1924
 
1874
1925
 
1875
1926
  #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
@@ -1901,34 +1952,26 @@ static VALUE mFLAC;
1901
1952
  #endif
1902
1953
 
1903
1954
  VALUE taglib_bytevector_to_ruby_string(const TagLib::ByteVector &byteVector) {
1904
- if (byteVector.isNull()) {
1905
- return Qnil;
1906
- } else {
1907
- return rb_str_new(byteVector.data(), byteVector.size());
1908
- }
1955
+ return rb_str_new(byteVector.data(), byteVector.size());
1909
1956
  }
1910
1957
 
1911
1958
  TagLib::ByteVector ruby_string_to_taglib_bytevector(VALUE s) {
1912
1959
  if (NIL_P(s)) {
1913
- return TagLib::ByteVector::null;
1960
+ return TagLib::ByteVector();
1914
1961
  } else {
1915
1962
  return TagLib::ByteVector(RSTRING_PTR(StringValue(s)), RSTRING_LEN(s));
1916
1963
  }
1917
1964
  }
1918
1965
 
1919
1966
  VALUE taglib_string_to_ruby_string(const TagLib::String & string) {
1920
- if (string.isNull()) {
1921
- return Qnil;
1922
- } else {
1923
- VALUE result = rb_str_new2(string.toCString(true));
1924
- ASSOCIATE_UTF8_ENCODING(result);
1925
- return result;
1926
- }
1967
+ VALUE result = rb_str_new2(string.toCString(true));
1968
+ ASSOCIATE_UTF8_ENCODING(result);
1969
+ return result;
1927
1970
  }
1928
1971
 
1929
1972
  TagLib::String ruby_string_to_taglib_string(VALUE s) {
1930
1973
  if (NIL_P(s)) {
1931
- return TagLib::String::null;
1974
+ return TagLib::String();
1932
1975
  } else {
1933
1976
  return TagLib::String(RSTRING_PTR(CONVERT_TO_UTF8(StringValue(s))), TagLib::String::UTF8);
1934
1977
  }
@@ -2017,6 +2060,13 @@ TagLib::FileName ruby_string_to_taglib_filename(VALUE s) {
2017
2060
  #endif
2018
2061
  }
2019
2062
 
2063
+ VALUE taglib_offset_t_to_ruby_int(TagLib::offset_t off) {
2064
+ #ifdef _WIN32
2065
+ return LL2NUM(off);
2066
+ #else
2067
+ return OFFT2NUM(off);
2068
+ #endif
2069
+ }
2020
2070
 
2021
2071
 
2022
2072
  VALUE taglib_flac_picturelist_to_ruby_array(const TagLib::List<TagLib::FLAC::Picture *> & list) {
@@ -2050,56 +2100,6 @@ SWIG_From_int (int value)
2050
2100
  }
2051
2101
 
2052
2102
 
2053
- SWIGINTERN swig_type_info*
2054
- SWIG_pchar_descriptor(void)
2055
- {
2056
- static int init = 0;
2057
- static swig_type_info* info = 0;
2058
- if (!init) {
2059
- info = SWIG_TypeQuery("_p_char");
2060
- init = 1;
2061
- }
2062
- return info;
2063
- }
2064
-
2065
-
2066
- SWIGINTERN int
2067
- SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2068
- {
2069
- if (TYPE(obj) == T_STRING) {
2070
- char *cstr = StringValuePtr(obj);
2071
- size_t size = RSTRING_LEN(obj) + 1;
2072
- if (cptr) {
2073
- if (alloc) {
2074
- if (*alloc == SWIG_NEWOBJ) {
2075
- *cptr = reinterpret_cast< char* >(memcpy(new char[size], cstr, sizeof(char)*(size)));
2076
- } else {
2077
- *cptr = cstr;
2078
- *alloc = SWIG_OLDOBJ;
2079
- }
2080
- }
2081
- }
2082
- if (psize) *psize = size;
2083
- return SWIG_OK;
2084
- } else {
2085
- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2086
- if (pchar_descriptor) {
2087
- void* vptr = 0;
2088
- if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
2089
- if (cptr) *cptr = (char *)vptr;
2090
- if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0;
2091
- if (alloc) *alloc = SWIG_OLDOBJ;
2092
- return SWIG_OK;
2093
- }
2094
- }
2095
- }
2096
- return SWIG_TypeError;
2097
- }
2098
-
2099
-
2100
-
2101
-
2102
-
2103
2103
  SWIGINTERN VALUE
2104
2104
  SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
2105
2105
  {
@@ -2107,7 +2107,7 @@ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
2107
2107
  }
2108
2108
 
2109
2109
 
2110
- /*@SWIG:/usr/local/Cellar/swig/4.0.2/share/swig/4.0.2/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2110
+ /*@SWIG:/swig/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2111
2111
  SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
2112
2112
  {
2113
2113
  VALUE *args = (VALUE *)arg;
@@ -2153,6 +2153,56 @@ SWIG_AsVal_int (VALUE obj, int *val)
2153
2153
  }
2154
2154
 
2155
2155
 
2156
+ SWIGINTERN swig_type_info*
2157
+ SWIG_pchar_descriptor(void)
2158
+ {
2159
+ static int init = 0;
2160
+ static swig_type_info* info = 0;
2161
+ if (!init) {
2162
+ info = SWIG_TypeQuery("_p_char");
2163
+ init = 1;
2164
+ }
2165
+ return info;
2166
+ }
2167
+
2168
+
2169
+ SWIGINTERN int
2170
+ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2171
+ {
2172
+ if (TYPE(obj) == T_STRING) {
2173
+ char *cstr = StringValuePtr(obj);
2174
+ size_t size = RSTRING_LEN(obj) + 1;
2175
+ if (cptr) {
2176
+ if (alloc) {
2177
+ if (*alloc == SWIG_NEWOBJ) {
2178
+ *cptr = reinterpret_cast< char* >(memcpy(new char[size], cstr, sizeof(char)*(size)));
2179
+ } else {
2180
+ *cptr = cstr;
2181
+ *alloc = SWIG_OLDOBJ;
2182
+ }
2183
+ }
2184
+ }
2185
+ if (psize) *psize = size;
2186
+ return SWIG_OK;
2187
+ } else {
2188
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2189
+ if (pchar_descriptor) {
2190
+ void* vptr = 0;
2191
+ if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
2192
+ if (cptr) *cptr = (char *)vptr;
2193
+ if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0;
2194
+ if (alloc) *alloc = SWIG_OLDOBJ;
2195
+ return SWIG_OK;
2196
+ }
2197
+ }
2198
+ }
2199
+ return SWIG_TypeError;
2200
+ }
2201
+
2202
+
2203
+
2204
+
2205
+
2156
2206
  SWIGINTERNINLINE VALUE
2157
2207
  SWIG_From_bool (bool value)
2158
2208
  {
@@ -2194,6 +2244,54 @@ fail:
2194
2244
 
2195
2245
  static swig_class SwigClassPicture;
2196
2246
 
2247
+ SWIGINTERN VALUE
2248
+ _wrap_Picture_type_to_string(int argc, VALUE *argv, VALUE self) {
2249
+ TagLib::FLAC::Picture::Type arg1 ;
2250
+ int val1 ;
2251
+ int ecode1 = 0 ;
2252
+ TagLib::String result;
2253
+ VALUE vresult = Qnil;
2254
+
2255
+ if ((argc < 1) || (argc > 1)) {
2256
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2257
+ }
2258
+ ecode1 = SWIG_AsVal_int(argv[0], &val1);
2259
+ if (!SWIG_IsOK(ecode1)) {
2260
+ SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "TagLib::FLAC::Picture::Type","TagLib::FLAC::Picture::typeToString", 1, argv[0] ));
2261
+ }
2262
+ arg1 = static_cast< TagLib::FLAC::Picture::Type >(val1);
2263
+ result = TagLib::FLAC::Picture::typeToString(arg1);
2264
+ {
2265
+ vresult = taglib_string_to_ruby_string(result);
2266
+ }
2267
+ return vresult;
2268
+ fail:
2269
+ return Qnil;
2270
+ }
2271
+
2272
+
2273
+ SWIGINTERN VALUE
2274
+ _wrap_Picture_type_from_string(int argc, VALUE *argv, VALUE self) {
2275
+ TagLib::String *arg1 = 0 ;
2276
+ TagLib::String tmp1 ;
2277
+ TagLib::FLAC::Picture::Type result;
2278
+ VALUE vresult = Qnil;
2279
+
2280
+ if ((argc < 1) || (argc > 1)) {
2281
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2282
+ }
2283
+ {
2284
+ tmp1 = ruby_string_to_taglib_string(argv[0]);
2285
+ arg1 = &tmp1;
2286
+ }
2287
+ result = (TagLib::FLAC::Picture::Type)TagLib::FLAC::Picture::typeFromString((TagLib::String const &)*arg1);
2288
+ vresult = SWIG_From_int(static_cast< int >(result));
2289
+ return vresult;
2290
+ fail:
2291
+ return Qnil;
2292
+ }
2293
+
2294
+
2197
2295
  SWIGINTERN VALUE
2198
2296
  _wrap_new_Picture__SWIG_0(int argc, VALUE *argv, VALUE self) {
2199
2297
  TagLib::FLAC::Picture *result = 0 ;
@@ -2261,7 +2359,7 @@ SWIGINTERN VALUE _wrap_new_Picture(int nargs, VALUE *args, VALUE self) {
2261
2359
  return _wrap_new_Picture__SWIG_0(nargs, args, self);
2262
2360
  }
2263
2361
  if (argc == 1) {
2264
- int _v;
2362
+ int _v = 0;
2265
2363
  int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
2266
2364
  _v = SWIG_CheckState(res);
2267
2365
  if (_v) {
@@ -2771,10 +2869,11 @@ static void *_p_TagLib__FLAC__PictureTo_p_TagLib__FLAC__MetadataBlock(void *x, i
2771
2869
  }
2772
2870
  static swig_type_info _swigt__p_TagLib__FLAC__MetadataBlock = {"_p_TagLib__FLAC__MetadataBlock", "TagLib::FLAC::MetadataBlock *", 0, 0, (void*)0, 0};
2773
2871
  static swig_type_info _swigt__p_TagLib__FLAC__Picture = {"_p_TagLib__FLAC__Picture", "TagLib::FLAC::Picture *", 0, 0, (void*)0, 0};
2774
- static swig_type_info _swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t = {"_p_TagLib__ListT_TagLib__FLAC__Picture_t", "TagLib::List< TagLib::FLAC::Picture > *|TagLib::FLAC::PictureList *", 0, 0, (void*)0, 0};
2872
+ static swig_type_info _swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t = {"_p_TagLib__ListT_TagLib__FLAC__Picture_t", "TagLib::FLAC::PictureList *|TagLib::List< TagLib::FLAC::Picture > *", 0, 0, (void*)0, 0};
2775
2873
  static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
2874
+ static swig_type_info _swigt__p_long_long = {"_p_long_long", "TagLib::offset_t *|long long *", 0, 0, (void*)0, 0};
2776
2875
  static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "TagLib::uchar *|unsigned char *", 0, 0, (void*)0, 0};
2777
- static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|TagLib::uint *", 0, 0, (void*)0, 0};
2876
+ static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "TagLib::uint *|unsigned int *", 0, 0, (void*)0, 0};
2778
2877
  static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "TagLib::ulong *|unsigned long *", 0, 0, (void*)0, 0};
2779
2878
  static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_t *", 0, 0, (void*)0, 0};
2780
2879
 
@@ -2783,6 +2882,7 @@ static swig_type_info *swig_type_initial[] = {
2783
2882
  &_swigt__p_TagLib__FLAC__Picture,
2784
2883
  &_swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t,
2785
2884
  &_swigt__p_char,
2885
+ &_swigt__p_long_long,
2786
2886
  &_swigt__p_unsigned_char,
2787
2887
  &_swigt__p_unsigned_int,
2788
2888
  &_swigt__p_unsigned_long,
@@ -2793,6 +2893,7 @@ static swig_cast_info _swigc__p_TagLib__FLAC__MetadataBlock[] = { {&_swigt__p_T
2793
2893
  static swig_cast_info _swigc__p_TagLib__FLAC__Picture[] = { {&_swigt__p_TagLib__FLAC__Picture, 0, 0, 0},{0, 0, 0, 0}};
2794
2894
  static swig_cast_info _swigc__p_TagLib__ListT_TagLib__FLAC__Picture_t[] = { {&_swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t, 0, 0, 0},{0, 0, 0, 0}};
2795
2895
  static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
2896
+ static swig_cast_info _swigc__p_long_long[] = { {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
2796
2897
  static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
2797
2898
  static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
2798
2899
  static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
@@ -2803,6 +2904,7 @@ static swig_cast_info *swig_cast_initial[] = {
2803
2904
  _swigc__p_TagLib__FLAC__Picture,
2804
2905
  _swigc__p_TagLib__ListT_TagLib__FLAC__Picture_t,
2805
2906
  _swigc__p_char,
2907
+ _swigc__p_long_long,
2806
2908
  _swigc__p_unsigned_char,
2807
2909
  _swigc__p_unsigned_int,
2808
2910
  _swigc__p_unsigned_long,
@@ -2864,9 +2966,12 @@ extern "C" {
2864
2966
  #define SWIGRUNTIME_DEBUG
2865
2967
  #endif
2866
2968
 
2969
+ #ifndef SWIG_INIT_CLIENT_DATA_TYPE
2970
+ #define SWIG_INIT_CLIENT_DATA_TYPE void *
2971
+ #endif
2867
2972
 
2868
2973
  SWIGRUNTIME void
2869
- SWIG_InitializeModule(void *clientdata) {
2974
+ SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
2870
2975
  size_t i;
2871
2976
  swig_module_info *module_head, *iter;
2872
2977
  int init;
@@ -3104,6 +3209,8 @@ SWIGEXPORT void Init_taglib_flac_picture(void) {
3104
3209
  rb_define_const(SwigClassPicture.klass, "Illustration", SWIG_From_int(static_cast< int >(TagLib::FLAC::Picture::Illustration)));
3105
3210
  rb_define_const(SwigClassPicture.klass, "BandLogo", SWIG_From_int(static_cast< int >(TagLib::FLAC::Picture::BandLogo)));
3106
3211
  rb_define_const(SwigClassPicture.klass, "PublisherLogo", SWIG_From_int(static_cast< int >(TagLib::FLAC::Picture::PublisherLogo)));
3212
+ rb_define_singleton_method(SwigClassPicture.klass, "type_to_string", VALUEFUNC(_wrap_Picture_type_to_string), -1);
3213
+ rb_define_singleton_method(SwigClassPicture.klass, "type_from_string", VALUEFUNC(_wrap_Picture_type_from_string), -1);
3107
3214
  rb_define_method(SwigClassPicture.klass, "type", VALUEFUNC(_wrap_Picture_type), -1);
3108
3215
  rb_define_method(SwigClassPicture.klass, "type=", VALUEFUNC(_wrap_Picture_typee___), -1);
3109
3216
  rb_define_method(SwigClassPicture.klass, "mime_type", VALUEFUNC(_wrap_Picture_mime_type), -1);