taglib-ruby 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/CHANGES.md +7 -0
  2. data/Gemfile +1 -2
  3. data/Gemfile.lock +9 -8
  4. data/README.md +22 -7
  5. data/Rakefile +9 -15
  6. data/docs/taglib/base.rb +31 -8
  7. data/docs/taglib/id3v1.rb +5 -0
  8. data/docs/taglib/mpeg.rb +8 -0
  9. data/docs/taglib/ogg.rb +77 -0
  10. data/docs/taglib/vorbis.rb +43 -0
  11. data/ext/taglib_base/includes.i +25 -1
  12. data/ext/taglib_base/taglib_base.i +46 -2
  13. data/ext/taglib_base/taglib_base_wrap.cxx +176 -185
  14. data/ext/taglib_id3v1/extconf.rb +4 -0
  15. data/ext/taglib_id3v1/taglib_id3v1.i +11 -0
  16. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +3092 -0
  17. data/ext/taglib_id3v2/taglib_id3v2.i +0 -8
  18. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +194 -248
  19. data/ext/taglib_mpeg/taglib_mpeg.i +16 -2
  20. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +157 -149
  21. data/ext/taglib_ogg/extconf.rb +4 -0
  22. data/ext/taglib_ogg/taglib_ogg.i +36 -0
  23. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +3613 -0
  24. data/ext/taglib_vorbis/extconf.rb +4 -0
  25. data/ext/taglib_vorbis/taglib_vorbis.i +48 -0
  26. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +3056 -0
  27. data/ext/win.cmake +6 -0
  28. data/lib/taglib/id3v1.rb +1 -0
  29. data/lib/taglib/ogg.rb +1 -0
  30. data/lib/taglib/version.rb +2 -2
  31. data/lib/taglib/vorbis.rb +1 -0
  32. data/lib/taglib.rb +10 -0
  33. data/taglib-ruby.gemspec +35 -11
  34. data/tasks/ext.rake +79 -0
  35. data/tasks/swig.rake +43 -0
  36. data/test/data/Makefile +15 -0
  37. data/test/data/id3v1-create.cpp +31 -0
  38. data/test/data/id3v1.mp3 +0 -0
  39. data/test/data/vorbis-create.cpp +42 -0
  40. data/test/data/vorbis.oga +0 -0
  41. data/test/test_fileref_write.rb +38 -0
  42. data/test/test_id3v1_tag.rb +36 -0
  43. data/test/test_id3v2_frames.rb +5 -0
  44. data/test/test_id3v2_memory.rb +23 -0
  45. data/test/test_id3v2_relative_volume.rb +5 -0
  46. data/test/test_id3v2_tag.rb +5 -0
  47. data/test/test_id3v2_unicode.rb +5 -0
  48. data/test/test_id3v2_write.rb +6 -1
  49. data/test/test_mpeg_file.rb +18 -1
  50. data/test/test_vorbis_file.rb +44 -0
  51. data/test/test_vorbis_tag.rb +79 -0
  52. metadata +113 -137
  53. data/ext/Rakefile +0 -32
@@ -1,10 +1,8 @@
1
1
  %module "TagLib"
2
2
  %{
3
3
  #include <taglib/taglib.h>
4
- #include <taglib/tstring.h>
5
4
  #include <taglib/tbytevector.h>
6
5
  #include <taglib/tlist.h>
7
- #include <taglib/tfile.h>
8
6
  #include <taglib/fileref.h>
9
7
  #include <taglib/tag.h>
10
8
  %}
@@ -20,6 +18,8 @@ namespace TagLib {
20
18
  enum Type { Latin1 = 0, UTF16 = 1, UTF16BE = 2, UTF8 = 3, UTF16LE = 4 };
21
19
  };
22
20
 
21
+ class FileName;
22
+
23
23
  typedef wchar_t wchar;
24
24
  typedef unsigned char uchar;
25
25
  typedef unsigned int uint;
@@ -51,6 +51,7 @@ namespace TagLib {
51
51
  tmp = ruby_string_to_taglib_bytevector($input);
52
52
  $1 = &tmp;
53
53
  }
54
+ %typemap(typecheck) const TagLib::ByteVector & = char *;
54
55
 
55
56
  // String
56
57
  %typemap(out) TagLib::String {
@@ -62,6 +63,7 @@ namespace TagLib {
62
63
  tmp = ruby_string_to_taglib_string($input);
63
64
  $1 = &tmp;
64
65
  }
66
+ %typemap(typecheck) TagLib::String = char *;
65
67
  %apply TagLib::String { TagLib::String &, const TagLib::String & };
66
68
 
67
69
  // StringList
@@ -74,6 +76,15 @@ namespace TagLib {
74
76
  }
75
77
  %apply TagLib::StringList { TagLib::StringList &, const TagLib::StringList & };
76
78
 
79
+ %typemap(out) TagLib::FileName {
80
+ $result = taglib_filename_to_ruby_string($1);
81
+ }
82
+ %typemap(in) TagLib::FileName {
83
+ $1 = ruby_string_to_taglib_filename($input);
84
+ }
85
+ %typemap(typecheck) TagLib::FileName = char *;
86
+ %feature("valuewrapper") TagLib::FileName;
87
+
77
88
  %ignore TagLib::List::operator[];
78
89
  %ignore TagLib::List::operator=;
79
90
  %include <taglib/tlist.h>
@@ -82,6 +93,7 @@ namespace TagLib {
82
93
 
83
94
  %include <taglib/audioproperties.h>
84
95
 
96
+ %ignore TagLib::FileName;
85
97
  %include <taglib/tfile.h>
86
98
 
87
99
  %ignore TagLib::FileRef::operator=;
@@ -89,4 +101,36 @@ namespace TagLib {
89
101
  %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) TagLib::FileRef::FileTypeResolver;
90
102
  %include <taglib/fileref.h>
91
103
 
104
+ %begin %{
105
+ static void free_taglib_fileref(void *ptr);
106
+ %}
107
+ %header %{
108
+ static void free_taglib_fileref(void *ptr) {
109
+ TagLib::FileRef *fileref = (TagLib::FileRef *) ptr;
110
+
111
+ TagLib::Tag *tag = fileref->tag();
112
+ if (tag) {
113
+ SWIG_RubyUnlinkObjects(tag);
114
+ SWIG_RubyRemoveTracking(tag);
115
+ }
116
+
117
+ TagLib::AudioProperties *properties = fileref->audioProperties();
118
+ if (properties) {
119
+ SWIG_RubyUnlinkObjects(properties);
120
+ SWIG_RubyRemoveTracking(properties);
121
+ }
122
+
123
+ SWIG_RubyUnlinkObjects(ptr);
124
+ SWIG_RubyRemoveTracking(ptr);
125
+
126
+ delete fileref;
127
+ }
128
+ %}
129
+
130
+ %extend TagLib::FileRef {
131
+ void close() {
132
+ free_taglib_fileref($self);
133
+ }
134
+ }
135
+
92
136
  // vim: set filetype=cpp sw=2 ts=2 expandtab:
@@ -1,6 +1,6 @@
1
1
  /* ----------------------------------------------------------------------------
2
2
  * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 2.0.4
3
+ * Version 2.0.5
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,6 +8,9 @@
8
8
  * interface file instead.
9
9
  * ----------------------------------------------------------------------------- */
10
10
 
11
+ static void free_taglib_fileref(void *ptr);
12
+
13
+
11
14
  #define SWIGRUBY
12
15
 
13
16
 
@@ -1814,19 +1817,18 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1814
1817
  /* -------- TYPES TABLE (BEGIN) -------- */
1815
1818
 
1816
1819
  #define SWIGTYPE_p_TagLib__AudioProperties swig_types[0]
1817
- #define SWIGTYPE_p_TagLib__ByteVector swig_types[1]
1818
- #define SWIGTYPE_p_TagLib__File swig_types[2]
1819
- #define SWIGTYPE_p_TagLib__FileRef swig_types[3]
1820
- #define SWIGTYPE_p_TagLib__FileRef__FileTypeResolver swig_types[4]
1821
- #define SWIGTYPE_p_TagLib__String swig_types[5]
1822
- #define SWIGTYPE_p_TagLib__Tag swig_types[6]
1823
- #define SWIGTYPE_p_char swig_types[7]
1824
- #define SWIGTYPE_p_unsigned_char swig_types[8]
1825
- #define SWIGTYPE_p_unsigned_int swig_types[9]
1826
- #define SWIGTYPE_p_unsigned_long swig_types[10]
1827
- #define SWIGTYPE_p_wchar_t swig_types[11]
1828
- static swig_type_info *swig_types[13];
1829
- static swig_module_info swig_module = {swig_types, 12, 0, 0, 0, 0};
1820
+ #define SWIGTYPE_p_TagLib__File swig_types[1]
1821
+ #define SWIGTYPE_p_TagLib__FileRef swig_types[2]
1822
+ #define SWIGTYPE_p_TagLib__FileRef__FileTypeResolver swig_types[3]
1823
+ #define SWIGTYPE_p_TagLib__String swig_types[4]
1824
+ #define SWIGTYPE_p_TagLib__Tag swig_types[5]
1825
+ #define SWIGTYPE_p_char swig_types[6]
1826
+ #define SWIGTYPE_p_unsigned_char swig_types[7]
1827
+ #define SWIGTYPE_p_unsigned_int swig_types[8]
1828
+ #define SWIGTYPE_p_unsigned_long swig_types[9]
1829
+ #define SWIGTYPE_p_wchar_t swig_types[10]
1830
+ static swig_type_info *swig_types[12];
1831
+ static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0};
1830
1832
  #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1831
1833
  #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1832
1834
 
@@ -1841,7 +1843,7 @@ static VALUE mTagLib;
1841
1843
  #define SWIG_RUBY_THREAD_END_BLOCK
1842
1844
 
1843
1845
 
1844
- #define SWIGVERSION 0x020004
1846
+ #define SWIGVERSION 0x020005
1845
1847
  #define SWIG_VERSION SWIGVERSION
1846
1848
 
1847
1849
 
@@ -1853,14 +1855,16 @@ static VALUE mTagLib;
1853
1855
 
1854
1856
 
1855
1857
  #include <taglib/taglib.h>
1856
- #include <taglib/tstring.h>
1857
1858
  #include <taglib/tbytevector.h>
1858
1859
  #include <taglib/tlist.h>
1859
- #include <taglib/tfile.h>
1860
1860
  #include <taglib/fileref.h>
1861
1861
  #include <taglib/tag.h>
1862
1862
 
1863
1863
 
1864
+ #include <taglib/tstring.h>
1865
+ #include <taglib/tstringlist.h>
1866
+ #include <taglib/tfile.h>
1867
+
1864
1868
  #if defined(HAVE_RUBY_ENCODING_H) && HAVE_RUBY_ENCODING_H
1865
1869
  # include <ruby/encoding.h>
1866
1870
  # define ASSOCIATE_UTF8_ENCODING(value) rb_enc_associate(value, rb_utf8_encoding());
@@ -1915,6 +1919,25 @@ TagLib::StringList ruby_array_to_taglib_string_list(VALUE ary) {
1915
1919
  return result;
1916
1920
  }
1917
1921
 
1922
+ VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) {
1923
+ #ifdef _WIN32
1924
+ const char *s = (const char *) filename;
1925
+ return rb_tainted_str_new2(s);
1926
+ #else
1927
+ return rb_tainted_str_new2(filename);
1928
+ #endif
1929
+ }
1930
+
1931
+ TagLib::FileName ruby_string_to_taglib_filename(VALUE s) {
1932
+ #ifdef _WIN32
1933
+ const char *filename = StringValuePtr(s);
1934
+ return TagLib::FileName(filename);
1935
+ #else
1936
+ return StringValuePtr(s);
1937
+ #endif
1938
+ }
1939
+
1940
+
1918
1941
 
1919
1942
  #include <limits.h>
1920
1943
  #if !defined(SWIG_NO_LLONG_MAX)
@@ -1950,6 +1973,60 @@ SWIG_From_unsigned_SS_int (unsigned int value)
1950
1973
  }
1951
1974
 
1952
1975
 
1976
+ SWIGINTERN swig_type_info*
1977
+ SWIG_pchar_descriptor(void)
1978
+ {
1979
+ static int init = 0;
1980
+ static swig_type_info* info = 0;
1981
+ if (!init) {
1982
+ info = SWIG_TypeQuery("_p_char");
1983
+ init = 1;
1984
+ }
1985
+ return info;
1986
+ }
1987
+
1988
+
1989
+ SWIGINTERN int
1990
+ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
1991
+ {
1992
+ if (TYPE(obj) == T_STRING) {
1993
+ #if defined(StringValuePtr)
1994
+ char *cstr = StringValuePtr(obj);
1995
+ #else
1996
+ char *cstr = STR2CSTR(obj);
1997
+ #endif
1998
+ size_t size = RSTRING_LEN(obj) + 1;
1999
+ if (cptr) {
2000
+ if (alloc) {
2001
+ if (*alloc == SWIG_NEWOBJ) {
2002
+ *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
2003
+ } else {
2004
+ *cptr = cstr;
2005
+ *alloc = SWIG_OLDOBJ;
2006
+ }
2007
+ }
2008
+ }
2009
+ if (psize) *psize = size;
2010
+ return SWIG_OK;
2011
+ } else {
2012
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2013
+ if (pchar_descriptor) {
2014
+ void* vptr = 0;
2015
+ if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
2016
+ if (cptr) *cptr = (char *)vptr;
2017
+ if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0;
2018
+ if (alloc) *alloc = SWIG_OLDOBJ;
2019
+ return SWIG_OK;
2020
+ }
2021
+ }
2022
+ }
2023
+ return SWIG_TypeError;
2024
+ }
2025
+
2026
+
2027
+
2028
+
2029
+
1953
2030
  SWIGINTERN VALUE
1954
2031
  SWIG_ruby_failed(void)
1955
2032
  {
@@ -1957,7 +2034,7 @@ SWIG_ruby_failed(void)
1957
2034
  }
1958
2035
 
1959
2036
 
1960
- /*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2037
+ /*@SWIG:/usr/local/share/swig/2.0.5/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
1961
2038
  SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
1962
2039
  {
1963
2040
  VALUE obj = args[0];
@@ -2009,7 +2086,7 @@ SWIG_From_bool (bool value)
2009
2086
  }
2010
2087
 
2011
2088
 
2012
- /*@SWIG:/usr/share/swig2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2089
+ /*@SWIG:/usr/local/share/swig/2.0.5/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2013
2090
  SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
2014
2091
  {
2015
2092
  VALUE obj = args[0];
@@ -2073,85 +2150,32 @@ SWIG_AsVal_bool (VALUE obj, bool *val)
2073
2150
  return SWIG_TypeError;
2074
2151
  }
2075
2152
 
2076
-
2077
- SWIGINTERN swig_type_info*
2078
- SWIG_pchar_descriptor(void)
2079
- {
2080
- static int init = 0;
2081
- static swig_type_info* info = 0;
2082
- if (!init) {
2083
- info = SWIG_TypeQuery("_p_char");
2084
- init = 1;
2153
+ SWIGINTERN void TagLib_FileRef_close(TagLib::FileRef *self){
2154
+ free_taglib_fileref(self);
2085
2155
  }
2086
- return info;
2087
- }
2088
2156
 
2157
+ static void free_taglib_fileref(void *ptr) {
2158
+ TagLib::FileRef *fileref = (TagLib::FileRef *) ptr;
2089
2159
 
2090
- SWIGINTERNINLINE VALUE
2091
- SWIG_FromCharPtrAndSize(const char* carray, size_t size)
2092
- {
2093
- if (carray) {
2094
- if (size > LONG_MAX) {
2095
- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2096
- return pchar_descriptor ?
2097
- SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : Qnil;
2098
- } else {
2099
- return rb_str_new(carray, static_cast< long >(size));
2160
+ TagLib::Tag *tag = fileref->tag();
2161
+ if (tag) {
2162
+ SWIG_RubyUnlinkObjects(tag);
2163
+ SWIG_RubyRemoveTracking(tag);
2100
2164
  }
2101
- } else {
2102
- return Qnil;
2103
- }
2104
- }
2105
-
2106
-
2107
- SWIGINTERNINLINE VALUE
2108
- SWIG_FromCharPtr(const char *cptr)
2109
- {
2110
- return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
2111
- }
2112
-
2113
2165
 
2114
- SWIGINTERN int
2115
- SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
2116
- {
2117
- if (TYPE(obj) == T_STRING) {
2118
- #if defined(StringValuePtr)
2119
- char *cstr = StringValuePtr(obj);
2120
- #else
2121
- char *cstr = STR2CSTR(obj);
2122
- #endif
2123
- size_t size = RSTRING_LEN(obj) + 1;
2124
- if (cptr) {
2125
- if (alloc) {
2126
- if (*alloc == SWIG_NEWOBJ) {
2127
- *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
2128
- } else {
2129
- *cptr = cstr;
2130
- *alloc = SWIG_OLDOBJ;
2131
- }
2132
- }
2133
- }
2134
- if (psize) *psize = size;
2135
- return SWIG_OK;
2136
- } else {
2137
- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2138
- if (pchar_descriptor) {
2139
- void* vptr = 0;
2140
- if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
2141
- if (cptr) *cptr = (char *)vptr;
2142
- if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0;
2143
- if (alloc) *alloc = SWIG_OLDOBJ;
2144
- return SWIG_OK;
2145
- }
2166
+ TagLib::AudioProperties *properties = fileref->audioProperties();
2167
+ if (properties) {
2168
+ SWIG_RubyUnlinkObjects(properties);
2169
+ SWIG_RubyRemoveTracking(properties);
2146
2170
  }
2147
- }
2148
- return SWIG_TypeError;
2149
- }
2150
-
2151
2171
 
2172
+ SWIG_RubyUnlinkObjects(ptr);
2173
+ SWIG_RubyRemoveTracking(ptr);
2152
2174
 
2175
+ delete fileref;
2176
+ }
2153
2177
 
2154
- swig_class SwigClassString;
2178
+ static swig_class SwigClassString;
2155
2179
 
2156
2180
  #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
2157
2181
  SWIGINTERN VALUE
@@ -2192,7 +2216,7 @@ free_TagLib_String(TagLib::String *arg1) {
2192
2216
  delete arg1;
2193
2217
  }
2194
2218
 
2195
- swig_class SwigClassTag;
2219
+ static swig_class SwigClassTag;
2196
2220
 
2197
2221
  SWIGINTERN void
2198
2222
  free_TagLib_Tag(TagLib::Tag *arg1) {
@@ -2715,7 +2739,7 @@ fail:
2715
2739
  }
2716
2740
 
2717
2741
 
2718
- swig_class SwigClassAudioProperties;
2742
+ static swig_class SwigClassAudioProperties;
2719
2743
 
2720
2744
  SWIGINTERN void
2721
2745
  free_TagLib_AudioProperties(TagLib::AudioProperties *arg1) {
@@ -2819,7 +2843,7 @@ fail:
2819
2843
  }
2820
2844
 
2821
2845
 
2822
- swig_class SwigClassFile;
2846
+ static swig_class SwigClassFile;
2823
2847
 
2824
2848
  SWIGINTERN void
2825
2849
  free_TagLib_File(TagLib::File *arg1) {
@@ -2832,7 +2856,7 @@ _wrap_File_name(int argc, VALUE *argv, VALUE self) {
2832
2856
  TagLib::File *arg1 = (TagLib::File *) 0 ;
2833
2857
  void *argp1 = 0 ;
2834
2858
  int res1 = 0 ;
2835
- TagLib::FileName result;
2859
+ SwigValueWrapper< TagLib::FileName > result;
2836
2860
  VALUE vresult = Qnil;
2837
2861
 
2838
2862
  if ((argc < 0) || (argc > 0)) {
@@ -2843,8 +2867,10 @@ _wrap_File_name(int argc, VALUE *argv, VALUE self) {
2843
2867
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::File const *","name", 1, self ));
2844
2868
  }
2845
2869
  arg1 = reinterpret_cast< TagLib::File * >(argp1);
2846
- result = (TagLib::FileName)((TagLib::File const *)arg1)->name();
2847
- vresult = SWIG_FromCharPtr((const char *)result);
2870
+ result = ((TagLib::File const *)arg1)->name();
2871
+ {
2872
+ vresult = taglib_filename_to_ruby_string(result);
2873
+ }
2848
2874
  return vresult;
2849
2875
  fail:
2850
2876
  return Qnil;
@@ -3124,8 +3150,7 @@ SWIGINTERN VALUE _wrap_File_find(int nargs, VALUE *args, VALUE self) {
3124
3150
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3125
3151
  _v = SWIG_CheckState(res);
3126
3152
  if (_v) {
3127
- void *vptr = 0;
3128
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3153
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3129
3154
  _v = SWIG_CheckState(res);
3130
3155
  if (_v) {
3131
3156
  return _wrap_File_find__SWIG_2(nargs, args, self);
@@ -3138,8 +3163,7 @@ SWIGINTERN VALUE _wrap_File_find(int nargs, VALUE *args, VALUE self) {
3138
3163
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3139
3164
  _v = SWIG_CheckState(res);
3140
3165
  if (_v) {
3141
- void *vptr = 0;
3142
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3166
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3143
3167
  _v = SWIG_CheckState(res);
3144
3168
  if (_v) {
3145
3169
  {
@@ -3158,8 +3182,7 @@ SWIGINTERN VALUE _wrap_File_find(int nargs, VALUE *args, VALUE self) {
3158
3182
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3159
3183
  _v = SWIG_CheckState(res);
3160
3184
  if (_v) {
3161
- void *vptr = 0;
3162
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3185
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3163
3186
  _v = SWIG_CheckState(res);
3164
3187
  if (_v) {
3165
3188
  {
@@ -3167,8 +3190,7 @@ SWIGINTERN VALUE _wrap_File_find(int nargs, VALUE *args, VALUE self) {
3167
3190
  _v = SWIG_CheckState(res);
3168
3191
  }
3169
3192
  if (_v) {
3170
- void *vptr = 0;
3171
- int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3193
+ int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0);
3172
3194
  _v = SWIG_CheckState(res);
3173
3195
  if (_v) {
3174
3196
  return _wrap_File_find__SWIG_0(nargs, args, self);
@@ -3317,8 +3339,7 @@ SWIGINTERN VALUE _wrap_File_rfind(int nargs, VALUE *args, VALUE self) {
3317
3339
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3318
3340
  _v = SWIG_CheckState(res);
3319
3341
  if (_v) {
3320
- void *vptr = 0;
3321
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3342
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3322
3343
  _v = SWIG_CheckState(res);
3323
3344
  if (_v) {
3324
3345
  return _wrap_File_rfind__SWIG_2(nargs, args, self);
@@ -3331,8 +3352,7 @@ SWIGINTERN VALUE _wrap_File_rfind(int nargs, VALUE *args, VALUE self) {
3331
3352
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3332
3353
  _v = SWIG_CheckState(res);
3333
3354
  if (_v) {
3334
- void *vptr = 0;
3335
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3355
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3336
3356
  _v = SWIG_CheckState(res);
3337
3357
  if (_v) {
3338
3358
  {
@@ -3351,8 +3371,7 @@ SWIGINTERN VALUE _wrap_File_rfind(int nargs, VALUE *args, VALUE self) {
3351
3371
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3352
3372
  _v = SWIG_CheckState(res);
3353
3373
  if (_v) {
3354
- void *vptr = 0;
3355
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3374
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3356
3375
  _v = SWIG_CheckState(res);
3357
3376
  if (_v) {
3358
3377
  {
@@ -3360,8 +3379,7 @@ SWIGINTERN VALUE _wrap_File_rfind(int nargs, VALUE *args, VALUE self) {
3360
3379
  _v = SWIG_CheckState(res);
3361
3380
  }
3362
3381
  if (_v) {
3363
- void *vptr = 0;
3364
- int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3382
+ int res = SWIG_AsCharPtrAndSize(argv[3], 0, NULL, 0);
3365
3383
  _v = SWIG_CheckState(res);
3366
3384
  if (_v) {
3367
3385
  return _wrap_File_rfind__SWIG_0(nargs, args, self);
@@ -3514,8 +3532,7 @@ SWIGINTERN VALUE _wrap_File_insert(int nargs, VALUE *args, VALUE self) {
3514
3532
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3515
3533
  _v = SWIG_CheckState(res);
3516
3534
  if (_v) {
3517
- void *vptr = 0;
3518
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3535
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3519
3536
  _v = SWIG_CheckState(res);
3520
3537
  if (_v) {
3521
3538
  return _wrap_File_insert__SWIG_2(nargs, args, self);
@@ -3528,8 +3545,7 @@ SWIGINTERN VALUE _wrap_File_insert(int nargs, VALUE *args, VALUE self) {
3528
3545
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3529
3546
  _v = SWIG_CheckState(res);
3530
3547
  if (_v) {
3531
- void *vptr = 0;
3532
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3548
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3533
3549
  _v = SWIG_CheckState(res);
3534
3550
  if (_v) {
3535
3551
  {
@@ -3548,8 +3564,7 @@ SWIGINTERN VALUE _wrap_File_insert(int nargs, VALUE *args, VALUE self) {
3548
3564
  int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__File, 0);
3549
3565
  _v = SWIG_CheckState(res);
3550
3566
  if (_v) {
3551
- void *vptr = 0;
3552
- int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__ByteVector, 0);
3567
+ int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3553
3568
  _v = SWIG_CheckState(res);
3554
3569
  if (_v) {
3555
3570
  {
@@ -4051,7 +4066,7 @@ fail:
4051
4066
  }
4052
4067
 
4053
4068
 
4054
- swig_class SwigClassFileRef;
4069
+ static swig_class SwigClassFileRef;
4055
4070
 
4056
4071
  SWIGINTERN VALUE
4057
4072
  _wrap_new_FileRef__SWIG_0(int argc, VALUE *argv, VALUE self) {
@@ -4071,12 +4086,9 @@ fail:
4071
4086
 
4072
4087
  SWIGINTERN VALUE
4073
4088
  _wrap_new_FileRef__SWIG_1(int argc, VALUE *argv, VALUE self) {
4074
- TagLib::FileName arg1 = (TagLib::FileName) 0 ;
4089
+ SwigValueWrapper< TagLib::FileName > arg1 ;
4075
4090
  bool arg2 ;
4076
4091
  TagLib::AudioProperties::ReadStyle arg3 ;
4077
- int res1 ;
4078
- char *buf1 = 0 ;
4079
- int alloc1 = 0 ;
4080
4092
  bool val2 ;
4081
4093
  int ecode2 = 0 ;
4082
4094
  int val3 ;
@@ -4086,11 +4098,9 @@ _wrap_new_FileRef__SWIG_1(int argc, VALUE *argv, VALUE self) {
4086
4098
  if ((argc < 3) || (argc > 3)) {
4087
4099
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
4088
4100
  }
4089
- res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
4090
- if (!SWIG_IsOK(res1)) {
4091
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::FileRef", 1, argv[0] ));
4101
+ {
4102
+ arg1 = ruby_string_to_taglib_filename(argv[0]);
4092
4103
  }
4093
- arg1 = reinterpret_cast< TagLib::FileName >(buf1);
4094
4104
  ecode2 = SWIG_AsVal_bool(argv[1], &val2);
4095
4105
  if (!SWIG_IsOK(ecode2)) {
4096
4106
  SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","TagLib::FileRef", 2, argv[1] ));
@@ -4104,21 +4114,16 @@ _wrap_new_FileRef__SWIG_1(int argc, VALUE *argv, VALUE self) {
4104
4114
  result = (TagLib::FileRef *)new TagLib::FileRef(arg1,arg2,arg3);
4105
4115
  DATA_PTR(self) = result;
4106
4116
  SWIG_RubyAddTracking(result, self);
4107
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4108
4117
  return self;
4109
4118
  fail:
4110
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4111
4119
  return Qnil;
4112
4120
  }
4113
4121
 
4114
4122
 
4115
4123
  SWIGINTERN VALUE
4116
4124
  _wrap_new_FileRef__SWIG_2(int argc, VALUE *argv, VALUE self) {
4117
- TagLib::FileName arg1 = (TagLib::FileName) 0 ;
4125
+ SwigValueWrapper< TagLib::FileName > arg1 ;
4118
4126
  bool arg2 ;
4119
- int res1 ;
4120
- char *buf1 = 0 ;
4121
- int alloc1 = 0 ;
4122
4127
  bool val2 ;
4123
4128
  int ecode2 = 0 ;
4124
4129
  TagLib::FileRef *result = 0 ;
@@ -4126,11 +4131,9 @@ _wrap_new_FileRef__SWIG_2(int argc, VALUE *argv, VALUE self) {
4126
4131
  if ((argc < 2) || (argc > 2)) {
4127
4132
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
4128
4133
  }
4129
- res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
4130
- if (!SWIG_IsOK(res1)) {
4131
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::FileRef", 1, argv[0] ));
4134
+ {
4135
+ arg1 = ruby_string_to_taglib_filename(argv[0]);
4132
4136
  }
4133
- arg1 = reinterpret_cast< TagLib::FileName >(buf1);
4134
4137
  ecode2 = SWIG_AsVal_bool(argv[1], &val2);
4135
4138
  if (!SWIG_IsOK(ecode2)) {
4136
4139
  SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","TagLib::FileRef", 2, argv[1] ));
@@ -4139,37 +4142,28 @@ _wrap_new_FileRef__SWIG_2(int argc, VALUE *argv, VALUE self) {
4139
4142
  result = (TagLib::FileRef *)new TagLib::FileRef(arg1,arg2);
4140
4143
  DATA_PTR(self) = result;
4141
4144
  SWIG_RubyAddTracking(result, self);
4142
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4143
4145
  return self;
4144
4146
  fail:
4145
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4146
4147
  return Qnil;
4147
4148
  }
4148
4149
 
4149
4150
 
4150
4151
  SWIGINTERN VALUE
4151
4152
  _wrap_new_FileRef__SWIG_3(int argc, VALUE *argv, VALUE self) {
4152
- TagLib::FileName arg1 = (TagLib::FileName) 0 ;
4153
- int res1 ;
4154
- char *buf1 = 0 ;
4155
- int alloc1 = 0 ;
4153
+ SwigValueWrapper< TagLib::FileName > arg1 ;
4156
4154
  TagLib::FileRef *result = 0 ;
4157
4155
 
4158
4156
  if ((argc < 1) || (argc > 1)) {
4159
4157
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4160
4158
  }
4161
- res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
4162
- if (!SWIG_IsOK(res1)) {
4163
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::FileRef", 1, argv[0] ));
4159
+ {
4160
+ arg1 = ruby_string_to_taglib_filename(argv[0]);
4164
4161
  }
4165
- arg1 = reinterpret_cast< TagLib::FileName >(buf1);
4166
4162
  result = (TagLib::FileRef *)new TagLib::FileRef(arg1);
4167
4163
  DATA_PTR(self) = result;
4168
4164
  SWIG_RubyAddTracking(result, self);
4169
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4170
4165
  return self;
4171
4166
  fail:
4172
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4173
4167
  return Qnil;
4174
4168
  }
4175
4169
 
@@ -4543,12 +4537,9 @@ fail:
4543
4537
 
4544
4538
  SWIGINTERN VALUE
4545
4539
  _wrap_FileRef_create__SWIG_0(int argc, VALUE *argv, VALUE self) {
4546
- TagLib::FileName arg1 = (TagLib::FileName) 0 ;
4540
+ SwigValueWrapper< TagLib::FileName > arg1 ;
4547
4541
  bool arg2 ;
4548
4542
  TagLib::AudioProperties::ReadStyle arg3 ;
4549
- int res1 ;
4550
- char *buf1 = 0 ;
4551
- int alloc1 = 0 ;
4552
4543
  bool val2 ;
4553
4544
  int ecode2 = 0 ;
4554
4545
  int val3 ;
@@ -4559,11 +4550,9 @@ _wrap_FileRef_create__SWIG_0(int argc, VALUE *argv, VALUE self) {
4559
4550
  if ((argc < 3) || (argc > 3)) {
4560
4551
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
4561
4552
  }
4562
- res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
4563
- if (!SWIG_IsOK(res1)) {
4564
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::FileRef::create", 1, argv[0] ));
4553
+ {
4554
+ arg1 = ruby_string_to_taglib_filename(argv[0]);
4565
4555
  }
4566
- arg1 = reinterpret_cast< TagLib::FileName >(buf1);
4567
4556
  ecode2 = SWIG_AsVal_bool(argv[1], &val2);
4568
4557
  if (!SWIG_IsOK(ecode2)) {
4569
4558
  SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","TagLib::FileRef::create", 2, argv[1] ));
@@ -4574,23 +4563,18 @@ _wrap_FileRef_create__SWIG_0(int argc, VALUE *argv, VALUE self) {
4574
4563
  SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "TagLib::AudioProperties::ReadStyle","TagLib::FileRef::create", 3, argv[2] ));
4575
4564
  }
4576
4565
  arg3 = static_cast< TagLib::AudioProperties::ReadStyle >(val3);
4577
- result = (TagLib::File *)TagLib::FileRef::create((char const *)arg1,arg2,arg3);
4566
+ result = (TagLib::File *)TagLib::FileRef::create(arg1,arg2,arg3);
4578
4567
  vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__File, 0 | 0 );
4579
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4580
4568
  return vresult;
4581
4569
  fail:
4582
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4583
4570
  return Qnil;
4584
4571
  }
4585
4572
 
4586
4573
 
4587
4574
  SWIGINTERN VALUE
4588
4575
  _wrap_FileRef_create__SWIG_1(int argc, VALUE *argv, VALUE self) {
4589
- TagLib::FileName arg1 = (TagLib::FileName) 0 ;
4576
+ SwigValueWrapper< TagLib::FileName > arg1 ;
4590
4577
  bool arg2 ;
4591
- int res1 ;
4592
- char *buf1 = 0 ;
4593
- int alloc1 = 0 ;
4594
4578
  bool val2 ;
4595
4579
  int ecode2 = 0 ;
4596
4580
  TagLib::File *result = 0 ;
@@ -4599,49 +4583,38 @@ _wrap_FileRef_create__SWIG_1(int argc, VALUE *argv, VALUE self) {
4599
4583
  if ((argc < 2) || (argc > 2)) {
4600
4584
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
4601
4585
  }
4602
- res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
4603
- if (!SWIG_IsOK(res1)) {
4604
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::FileRef::create", 1, argv[0] ));
4586
+ {
4587
+ arg1 = ruby_string_to_taglib_filename(argv[0]);
4605
4588
  }
4606
- arg1 = reinterpret_cast< TagLib::FileName >(buf1);
4607
4589
  ecode2 = SWIG_AsVal_bool(argv[1], &val2);
4608
4590
  if (!SWIG_IsOK(ecode2)) {
4609
4591
  SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","TagLib::FileRef::create", 2, argv[1] ));
4610
4592
  }
4611
4593
  arg2 = static_cast< bool >(val2);
4612
- result = (TagLib::File *)TagLib::FileRef::create((char const *)arg1,arg2);
4594
+ result = (TagLib::File *)TagLib::FileRef::create(arg1,arg2);
4613
4595
  vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__File, 0 | 0 );
4614
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4615
4596
  return vresult;
4616
4597
  fail:
4617
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4618
4598
  return Qnil;
4619
4599
  }
4620
4600
 
4621
4601
 
4622
4602
  SWIGINTERN VALUE
4623
4603
  _wrap_FileRef_create__SWIG_2(int argc, VALUE *argv, VALUE self) {
4624
- TagLib::FileName arg1 = (TagLib::FileName) 0 ;
4625
- int res1 ;
4626
- char *buf1 = 0 ;
4627
- int alloc1 = 0 ;
4604
+ SwigValueWrapper< TagLib::FileName > arg1 ;
4628
4605
  TagLib::File *result = 0 ;
4629
4606
  VALUE vresult = Qnil;
4630
4607
 
4631
4608
  if ((argc < 1) || (argc > 1)) {
4632
4609
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
4633
4610
  }
4634
- res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1);
4635
- if (!SWIG_IsOK(res1)) {
4636
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::FileRef::create", 1, argv[0] ));
4611
+ {
4612
+ arg1 = ruby_string_to_taglib_filename(argv[0]);
4637
4613
  }
4638
- arg1 = reinterpret_cast< TagLib::FileName >(buf1);
4639
- result = (TagLib::File *)TagLib::FileRef::create((char const *)arg1);
4614
+ result = (TagLib::File *)TagLib::FileRef::create(arg1);
4640
4615
  vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__File, 0 | 0 );
4641
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4642
4616
  return vresult;
4643
4617
  fail:
4644
- if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
4645
4618
  return Qnil;
4646
4619
  }
4647
4620
 
@@ -4709,11 +4682,31 @@ fail:
4709
4682
  }
4710
4683
 
4711
4684
 
4685
+ SWIGINTERN VALUE
4686
+ _wrap_FileRef_close(int argc, VALUE *argv, VALUE self) {
4687
+ TagLib::FileRef *arg1 = (TagLib::FileRef *) 0 ;
4688
+ void *argp1 = 0 ;
4689
+ int res1 = 0 ;
4690
+
4691
+ if ((argc < 0) || (argc > 0)) {
4692
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
4693
+ }
4694
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__FileRef, 0 | 0 );
4695
+ if (!SWIG_IsOK(res1)) {
4696
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileRef *","close", 1, self ));
4697
+ }
4698
+ arg1 = reinterpret_cast< TagLib::FileRef * >(argp1);
4699
+ TagLib_FileRef_close(arg1);
4700
+ return Qnil;
4701
+ fail:
4702
+ return Qnil;
4703
+ }
4704
+
4705
+
4712
4706
 
4713
4707
  /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
4714
4708
 
4715
4709
  static swig_type_info _swigt__p_TagLib__AudioProperties = {"_p_TagLib__AudioProperties", "TagLib::AudioProperties *", 0, 0, (void*)0, 0};
4716
- static swig_type_info _swigt__p_TagLib__ByteVector = {"_p_TagLib__ByteVector", "TagLib::ByteVector *", 0, 0, (void*)0, 0};
4717
4710
  static swig_type_info _swigt__p_TagLib__File = {"_p_TagLib__File", "TagLib::File *", 0, 0, (void*)0, 0};
4718
4711
  static swig_type_info _swigt__p_TagLib__FileRef = {"_p_TagLib__FileRef", "TagLib::FileRef *", 0, 0, (void*)0, 0};
4719
4712
  static swig_type_info _swigt__p_TagLib__FileRef__FileTypeResolver = {"_p_TagLib__FileRef__FileTypeResolver", "TagLib::FileRef::FileTypeResolver *", 0, 0, (void*)0, 0};
@@ -4727,7 +4720,6 @@ static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_
4727
4720
 
4728
4721
  static swig_type_info *swig_type_initial[] = {
4729
4722
  &_swigt__p_TagLib__AudioProperties,
4730
- &_swigt__p_TagLib__ByteVector,
4731
4723
  &_swigt__p_TagLib__File,
4732
4724
  &_swigt__p_TagLib__FileRef,
4733
4725
  &_swigt__p_TagLib__FileRef__FileTypeResolver,
@@ -4741,7 +4733,6 @@ static swig_type_info *swig_type_initial[] = {
4741
4733
  };
4742
4734
 
4743
4735
  static swig_cast_info _swigc__p_TagLib__AudioProperties[] = { {&_swigt__p_TagLib__AudioProperties, 0, 0, 0},{0, 0, 0, 0}};
4744
- static swig_cast_info _swigc__p_TagLib__ByteVector[] = { {&_swigt__p_TagLib__ByteVector, 0, 0, 0},{0, 0, 0, 0}};
4745
4736
  static swig_cast_info _swigc__p_TagLib__File[] = { {&_swigt__p_TagLib__File, 0, 0, 0},{0, 0, 0, 0}};
4746
4737
  static swig_cast_info _swigc__p_TagLib__FileRef[] = { {&_swigt__p_TagLib__FileRef, 0, 0, 0},{0, 0, 0, 0}};
4747
4738
  static swig_cast_info _swigc__p_TagLib__FileRef__FileTypeResolver[] = { {&_swigt__p_TagLib__FileRef__FileTypeResolver, 0, 0, 0},{0, 0, 0, 0}};
@@ -4755,7 +4746,6 @@ static swig_cast_info _swigc__p_wchar_t[] = { {&_swigt__p_wchar_t, 0, 0, 0},{0,
4755
4746
 
4756
4747
  static swig_cast_info *swig_cast_initial[] = {
4757
4748
  _swigc__p_TagLib__AudioProperties,
4758
- _swigc__p_TagLib__ByteVector,
4759
4749
  _swigc__p_TagLib__File,
4760
4750
  _swigc__p_TagLib__FileRef,
4761
4751
  _swigc__p_TagLib__FileRef__FileTypeResolver,
@@ -5119,6 +5109,7 @@ SWIGEXPORT void Init_taglib_base(void) {
5119
5109
  rb_define_method(SwigClassFileRef.klass, "null?", VALUEFUNC(_wrap_FileRef_nullq___), -1);
5120
5110
  rb_define_method(SwigClassFileRef.klass, "==", VALUEFUNC(_wrap_FileRef___eq__), -1);
5121
5111
  rb_define_singleton_method(SwigClassFileRef.klass, "create", VALUEFUNC(_wrap_FileRef_create), -1);
5112
+ rb_define_method(SwigClassFileRef.klass, "close", VALUEFUNC(_wrap_FileRef_close), -1);
5122
5113
  SwigClassFileRef.mark = 0;
5123
5114
  SwigClassFileRef.destroy = (void (*)(void *)) free_TagLib_FileRef;
5124
5115
  SwigClassFileRef.trackObjects = 1;