taglib-ruby 0.2.1 → 0.3.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.
- data/CHANGES.md +7 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +9 -8
- data/README.md +22 -7
- data/Rakefile +9 -15
- data/docs/taglib/base.rb +31 -8
- data/docs/taglib/id3v1.rb +5 -0
- data/docs/taglib/mpeg.rb +8 -0
- data/docs/taglib/ogg.rb +77 -0
- data/docs/taglib/vorbis.rb +43 -0
- data/ext/taglib_base/includes.i +25 -1
- data/ext/taglib_base/taglib_base.i +46 -2
- data/ext/taglib_base/taglib_base_wrap.cxx +176 -185
- data/ext/taglib_id3v1/extconf.rb +4 -0
- data/ext/taglib_id3v1/taglib_id3v1.i +11 -0
- data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +3092 -0
- data/ext/taglib_id3v2/taglib_id3v2.i +0 -8
- data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +194 -248
- data/ext/taglib_mpeg/taglib_mpeg.i +16 -2
- data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +157 -149
- data/ext/taglib_ogg/extconf.rb +4 -0
- data/ext/taglib_ogg/taglib_ogg.i +36 -0
- data/ext/taglib_ogg/taglib_ogg_wrap.cxx +3613 -0
- data/ext/taglib_vorbis/extconf.rb +4 -0
- data/ext/taglib_vorbis/taglib_vorbis.i +48 -0
- data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +3056 -0
- data/ext/win.cmake +6 -0
- data/lib/taglib/id3v1.rb +1 -0
- data/lib/taglib/ogg.rb +1 -0
- data/lib/taglib/version.rb +2 -2
- data/lib/taglib/vorbis.rb +1 -0
- data/lib/taglib.rb +10 -0
- data/taglib-ruby.gemspec +35 -11
- data/tasks/ext.rake +79 -0
- data/tasks/swig.rake +43 -0
- data/test/data/Makefile +15 -0
- data/test/data/id3v1-create.cpp +31 -0
- data/test/data/id3v1.mp3 +0 -0
- data/test/data/vorbis-create.cpp +42 -0
- data/test/data/vorbis.oga +0 -0
- data/test/test_fileref_write.rb +38 -0
- data/test/test_id3v1_tag.rb +36 -0
- data/test/test_id3v2_frames.rb +5 -0
- data/test/test_id3v2_memory.rb +23 -0
- data/test/test_id3v2_relative_volume.rb +5 -0
- data/test/test_id3v2_tag.rb +5 -0
- data/test/test_id3v2_unicode.rb +5 -0
- data/test/test_id3v2_write.rb +6 -1
- data/test/test_mpeg_file.rb +18 -1
- data/test/test_vorbis_file.rb +44 -0
- data/test/test_vorbis_tag.rb +79 -0
- metadata +113 -137
- data/ext/Rakefile +0 -32
| @@ -1,8 +1,6 @@ | |
| 1 1 | 
             
            %module "TagLib::MPEG"
         | 
| 2 2 | 
             
            %{
         | 
| 3 3 | 
             
            #include <taglib/taglib.h>
         | 
| 4 | 
            -
            #include <taglib/tfile.h>
         | 
| 5 | 
            -
            #include <taglib/tstringlist.h>
         | 
| 6 4 | 
             
            #include <taglib/xingheader.h>
         | 
| 7 5 | 
             
            #include <taglib/mpegheader.h>
         | 
| 8 6 | 
             
            #include <taglib/mpegproperties.h>
         | 
| @@ -28,6 +26,9 @@ | |
| 28 26 |  | 
| 29 27 | 
             
            // Unlink Ruby objects from the deleted C++ objects. Otherwise Ruby code
         | 
| 30 28 | 
             
            // that calls a method on a tag after the file is deleted segfaults.
         | 
| 29 | 
            +
            %begin %{
         | 
| 30 | 
            +
              static void free_taglib_mpeg_file(void *ptr);
         | 
| 31 | 
            +
            %}
         | 
| 31 32 | 
             
            %header %{
         | 
| 32 33 | 
             
              static void free_taglib_mpeg_file(void *ptr) {
         | 
| 33 34 | 
             
                TagLib::MPEG::File *file = (TagLib::MPEG::File *) ptr;
         | 
| @@ -51,11 +52,24 @@ | |
| 51 52 | 
             
                  SWIG_RubyRemoveTracking(id3v2tag);
         | 
| 52 53 | 
             
                }
         | 
| 53 54 |  | 
| 55 | 
            +
                TagLib::MPEG::Properties *properties = file->audioProperties();
         | 
| 56 | 
            +
                if (properties) {
         | 
| 57 | 
            +
                  SWIG_RubyUnlinkObjects(properties);
         | 
| 58 | 
            +
                  SWIG_RubyRemoveTracking(properties);
         | 
| 59 | 
            +
                }
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                SWIG_RubyUnlinkObjects(ptr);
         | 
| 54 62 | 
             
                SWIG_RubyRemoveTracking(ptr);
         | 
| 55 63 |  | 
| 56 64 | 
             
                delete file;
         | 
| 57 65 | 
             
              }
         | 
| 58 66 | 
             
            %}
         | 
| 59 67 |  | 
| 68 | 
            +
            %extend TagLib::MPEG::File {
         | 
| 69 | 
            +
              void close() {
         | 
| 70 | 
            +
                free_taglib_mpeg_file($self);
         | 
| 71 | 
            +
              }
         | 
| 72 | 
            +
            }
         | 
| 73 | 
            +
             | 
| 60 74 |  | 
| 61 75 | 
             
            // 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. | 
| 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_mpeg_file(void *ptr);
         | 
| 12 | 
            +
             | 
| 13 | 
            +
             | 
| 11 14 | 
             
            #define SWIGRUBY
         | 
| 12 15 |  | 
| 13 16 |  | 
| @@ -1815,23 +1818,22 @@ int SWIG_Ruby_arity( VALUE proc, int minimal ) | |
| 1815 1818 |  | 
| 1816 1819 | 
             
            #define SWIGTYPE_p_TagLib__APE__Tag swig_types[0]
         | 
| 1817 1820 | 
             
            #define SWIGTYPE_p_TagLib__AudioProperties swig_types[1]
         | 
| 1818 | 
            -
            #define  | 
| 1819 | 
            -
            #define  | 
| 1820 | 
            -
            #define  | 
| 1821 | 
            -
            #define  | 
| 1822 | 
            -
            #define  | 
| 1823 | 
            -
            #define  | 
| 1824 | 
            -
            #define  | 
| 1825 | 
            -
            #define  | 
| 1826 | 
            -
            #define  | 
| 1827 | 
            -
            #define  | 
| 1828 | 
            -
            #define  | 
| 1829 | 
            -
            #define  | 
| 1830 | 
            -
            #define  | 
| 1831 | 
            -
            #define  | 
| 1832 | 
            -
             | 
| 1833 | 
            -
            static  | 
| 1834 | 
            -
            static swig_module_info swig_module = {swig_types, 17, 0, 0, 0, 0};
         | 
| 1821 | 
            +
            #define SWIGTYPE_p_TagLib__File swig_types[2]
         | 
| 1822 | 
            +
            #define SWIGTYPE_p_TagLib__ID3v1__Tag swig_types[3]
         | 
| 1823 | 
            +
            #define SWIGTYPE_p_TagLib__ID3v2__FrameFactory swig_types[4]
         | 
| 1824 | 
            +
            #define SWIGTYPE_p_TagLib__ID3v2__Tag swig_types[5]
         | 
| 1825 | 
            +
            #define SWIGTYPE_p_TagLib__MPEG__File swig_types[6]
         | 
| 1826 | 
            +
            #define SWIGTYPE_p_TagLib__MPEG__Header swig_types[7]
         | 
| 1827 | 
            +
            #define SWIGTYPE_p_TagLib__MPEG__Properties swig_types[8]
         | 
| 1828 | 
            +
            #define SWIGTYPE_p_TagLib__MPEG__XingHeader swig_types[9]
         | 
| 1829 | 
            +
            #define SWIGTYPE_p_TagLib__Tag swig_types[10]
         | 
| 1830 | 
            +
            #define SWIGTYPE_p_char swig_types[11]
         | 
| 1831 | 
            +
            #define SWIGTYPE_p_unsigned_char swig_types[12]
         | 
| 1832 | 
            +
            #define SWIGTYPE_p_unsigned_int swig_types[13]
         | 
| 1833 | 
            +
            #define SWIGTYPE_p_unsigned_long swig_types[14]
         | 
| 1834 | 
            +
            #define SWIGTYPE_p_wchar_t swig_types[15]
         | 
| 1835 | 
            +
            static swig_type_info *swig_types[17];
         | 
| 1836 | 
            +
            static swig_module_info swig_module = {swig_types, 16, 0, 0, 0, 0};
         | 
| 1835 1837 | 
             
            #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
         | 
| 1836 1838 | 
             
            #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
         | 
| 1837 1839 |  | 
| @@ -1846,7 +1848,7 @@ static VALUE mMPEG; | |
| 1846 1848 | 
             
            #define SWIG_RUBY_THREAD_END_BLOCK
         | 
| 1847 1849 |  | 
| 1848 1850 |  | 
| 1849 | 
            -
            #define SWIGVERSION  | 
| 1851 | 
            +
            #define SWIGVERSION 0x020005 
         | 
| 1850 1852 | 
             
            #define SWIG_VERSION SWIGVERSION
         | 
| 1851 1853 |  | 
| 1852 1854 |  | 
| @@ -1858,8 +1860,6 @@ static VALUE mMPEG; | |
| 1858 1860 |  | 
| 1859 1861 |  | 
| 1860 1862 | 
             
            #include <taglib/taglib.h>
         | 
| 1861 | 
            -
            #include <taglib/tfile.h>
         | 
| 1862 | 
            -
            #include <taglib/tstringlist.h>
         | 
| 1863 1863 | 
             
            #include <taglib/xingheader.h>
         | 
| 1864 1864 | 
             
            #include <taglib/mpegheader.h>
         | 
| 1865 1865 | 
             
            #include <taglib/mpegproperties.h>
         | 
| @@ -1867,6 +1867,10 @@ static VALUE mMPEG; | |
| 1867 1867 | 
             
            #include <taglib/id3v2tag.h>
         | 
| 1868 1868 |  | 
| 1869 1869 |  | 
| 1870 | 
            +
            #include <taglib/tstring.h>
         | 
| 1871 | 
            +
            #include <taglib/tstringlist.h>
         | 
| 1872 | 
            +
            #include <taglib/tfile.h>
         | 
| 1873 | 
            +
             | 
| 1870 1874 | 
             
            #if defined(HAVE_RUBY_ENCODING_H) && HAVE_RUBY_ENCODING_H
         | 
| 1871 1875 | 
             
            # include <ruby/encoding.h>
         | 
| 1872 1876 | 
             
            # define ASSOCIATE_UTF8_ENCODING(value) rb_enc_associate(value, rb_utf8_encoding());
         | 
| @@ -1921,6 +1925,79 @@ TagLib::StringList ruby_array_to_taglib_string_list(VALUE ary) { | |
| 1921 1925 | 
             
              return result;
         | 
| 1922 1926 | 
             
            }
         | 
| 1923 1927 |  | 
| 1928 | 
            +
            VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) {
         | 
| 1929 | 
            +
            #ifdef _WIN32
         | 
| 1930 | 
            +
              const char *s = (const char *) filename;
         | 
| 1931 | 
            +
              return rb_tainted_str_new2(s);
         | 
| 1932 | 
            +
            #else
         | 
| 1933 | 
            +
              return rb_tainted_str_new2(filename);
         | 
| 1934 | 
            +
            #endif
         | 
| 1935 | 
            +
            }
         | 
| 1936 | 
            +
             | 
| 1937 | 
            +
            TagLib::FileName ruby_string_to_taglib_filename(VALUE s) {
         | 
| 1938 | 
            +
            #ifdef _WIN32
         | 
| 1939 | 
            +
              const char *filename = StringValuePtr(s);
         | 
| 1940 | 
            +
              return TagLib::FileName(filename);
         | 
| 1941 | 
            +
            #else
         | 
| 1942 | 
            +
              return StringValuePtr(s);
         | 
| 1943 | 
            +
            #endif
         | 
| 1944 | 
            +
            }
         | 
| 1945 | 
            +
             | 
| 1946 | 
            +
             | 
| 1947 | 
            +
             | 
| 1948 | 
            +
            SWIGINTERN swig_type_info*
         | 
| 1949 | 
            +
            SWIG_pchar_descriptor(void)
         | 
| 1950 | 
            +
            {
         | 
| 1951 | 
            +
              static int init = 0;
         | 
| 1952 | 
            +
              static swig_type_info* info = 0;
         | 
| 1953 | 
            +
              if (!init) {
         | 
| 1954 | 
            +
                info = SWIG_TypeQuery("_p_char");
         | 
| 1955 | 
            +
                init = 1;
         | 
| 1956 | 
            +
              }
         | 
| 1957 | 
            +
              return info;
         | 
| 1958 | 
            +
            }
         | 
| 1959 | 
            +
             | 
| 1960 | 
            +
             | 
| 1961 | 
            +
            SWIGINTERN int
         | 
| 1962 | 
            +
            SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
         | 
| 1963 | 
            +
            {
         | 
| 1964 | 
            +
              if (TYPE(obj) == T_STRING) {
         | 
| 1965 | 
            +
                #if defined(StringValuePtr)
         | 
| 1966 | 
            +
                char *cstr = StringValuePtr(obj); 
         | 
| 1967 | 
            +
                #else
         | 
| 1968 | 
            +
                char *cstr = STR2CSTR(obj);
         | 
| 1969 | 
            +
                #endif
         | 
| 1970 | 
            +
                size_t size = RSTRING_LEN(obj) + 1;
         | 
| 1971 | 
            +
                if (cptr)  {
         | 
| 1972 | 
            +
                  if (alloc) {
         | 
| 1973 | 
            +
            	if (*alloc == SWIG_NEWOBJ) {
         | 
| 1974 | 
            +
            	  *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
         | 
| 1975 | 
            +
            	} else {
         | 
| 1976 | 
            +
            	  *cptr = cstr;
         | 
| 1977 | 
            +
            	  *alloc = SWIG_OLDOBJ;
         | 
| 1978 | 
            +
            	}
         | 
| 1979 | 
            +
                  }
         | 
| 1980 | 
            +
                }
         | 
| 1981 | 
            +
                if (psize) *psize = size;
         | 
| 1982 | 
            +
                return SWIG_OK;
         | 
| 1983 | 
            +
              } else {
         | 
| 1984 | 
            +
                swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
         | 
| 1985 | 
            +
                if (pchar_descriptor) {
         | 
| 1986 | 
            +
                  void* vptr = 0;
         | 
| 1987 | 
            +
                  if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
         | 
| 1988 | 
            +
            	if (cptr) *cptr = (char *)vptr;
         | 
| 1989 | 
            +
            	if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0;
         | 
| 1990 | 
            +
            	if (alloc) *alloc = SWIG_OLDOBJ;
         | 
| 1991 | 
            +
            	return SWIG_OK;
         | 
| 1992 | 
            +
                  }
         | 
| 1993 | 
            +
                }
         | 
| 1994 | 
            +
              }  
         | 
| 1995 | 
            +
              return SWIG_TypeError;
         | 
| 1996 | 
            +
            }
         | 
| 1997 | 
            +
             | 
| 1998 | 
            +
             | 
| 1999 | 
            +
             | 
| 2000 | 
            +
             | 
| 1924 2001 |  | 
| 1925 2002 | 
             
            SWIGINTERNINLINE VALUE
         | 
| 1926 2003 | 
             
            SWIG_From_bool  (bool value)
         | 
| @@ -1963,7 +2040,7 @@ SWIG_ruby_failed(void) | |
| 1963 2040 | 
             
            } 
         | 
| 1964 2041 |  | 
| 1965 2042 |  | 
| 1966 | 
            -
            /*@SWIG:/usr/share/ | 
| 2043 | 
            +
            /*@SWIG:/usr/local/share/swig/2.0.5/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
         | 
| 1967 2044 | 
             
            SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
         | 
| 1968 2045 | 
             
            {
         | 
| 1969 2046 | 
             
              VALUE obj = args[0];
         | 
| @@ -2015,60 +2092,6 @@ SWIG_From_int  (int value) | |
| 2015 2092 | 
             
            }
         | 
| 2016 2093 |  | 
| 2017 2094 |  | 
| 2018 | 
            -
            SWIGINTERN swig_type_info*
         | 
| 2019 | 
            -
            SWIG_pchar_descriptor(void)
         | 
| 2020 | 
            -
            {
         | 
| 2021 | 
            -
              static int init = 0;
         | 
| 2022 | 
            -
              static swig_type_info* info = 0;
         | 
| 2023 | 
            -
              if (!init) {
         | 
| 2024 | 
            -
                info = SWIG_TypeQuery("_p_char");
         | 
| 2025 | 
            -
                init = 1;
         | 
| 2026 | 
            -
              }
         | 
| 2027 | 
            -
              return info;
         | 
| 2028 | 
            -
            }
         | 
| 2029 | 
            -
             | 
| 2030 | 
            -
             | 
| 2031 | 
            -
            SWIGINTERN int
         | 
| 2032 | 
            -
            SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc)
         | 
| 2033 | 
            -
            {
         | 
| 2034 | 
            -
              if (TYPE(obj) == T_STRING) {
         | 
| 2035 | 
            -
                #if defined(StringValuePtr)
         | 
| 2036 | 
            -
                char *cstr = StringValuePtr(obj); 
         | 
| 2037 | 
            -
                #else
         | 
| 2038 | 
            -
                char *cstr = STR2CSTR(obj);
         | 
| 2039 | 
            -
                #endif
         | 
| 2040 | 
            -
                size_t size = RSTRING_LEN(obj) + 1;
         | 
| 2041 | 
            -
                if (cptr)  {
         | 
| 2042 | 
            -
                  if (alloc) {
         | 
| 2043 | 
            -
            	if (*alloc == SWIG_NEWOBJ) {
         | 
| 2044 | 
            -
            	  *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
         | 
| 2045 | 
            -
            	} else {
         | 
| 2046 | 
            -
            	  *cptr = cstr;
         | 
| 2047 | 
            -
            	  *alloc = SWIG_OLDOBJ;
         | 
| 2048 | 
            -
            	}
         | 
| 2049 | 
            -
                  }
         | 
| 2050 | 
            -
                }
         | 
| 2051 | 
            -
                if (psize) *psize = size;
         | 
| 2052 | 
            -
                return SWIG_OK;
         | 
| 2053 | 
            -
              } else {
         | 
| 2054 | 
            -
                swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
         | 
| 2055 | 
            -
                if (pchar_descriptor) {
         | 
| 2056 | 
            -
                  void* vptr = 0;
         | 
| 2057 | 
            -
                  if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
         | 
| 2058 | 
            -
            	if (cptr) *cptr = (char *)vptr;
         | 
| 2059 | 
            -
            	if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0;
         | 
| 2060 | 
            -
            	if (alloc) *alloc = SWIG_OLDOBJ;
         | 
| 2061 | 
            -
            	return SWIG_OK;
         | 
| 2062 | 
            -
                  }
         | 
| 2063 | 
            -
                }
         | 
| 2064 | 
            -
              }  
         | 
| 2065 | 
            -
              return SWIG_TypeError;
         | 
| 2066 | 
            -
            }
         | 
| 2067 | 
            -
             | 
| 2068 | 
            -
             | 
| 2069 | 
            -
             | 
| 2070 | 
            -
             | 
| 2071 | 
            -
             | 
| 2072 2095 | 
             
            SWIGINTERN int
         | 
| 2073 2096 | 
             
            SWIG_AsVal_bool (VALUE obj, bool *val)
         | 
| 2074 2097 | 
             
            {
         | 
| @@ -2088,6 +2111,9 @@ SWIG_AsVal_bool (VALUE obj, bool *val) | |
| 2088 2111 | 
             
              return SWIG_TypeError;
         | 
| 2089 2112 | 
             
            }
         | 
| 2090 2113 |  | 
| 2114 | 
            +
            SWIGINTERN void TagLib_MPEG_File_close(TagLib::MPEG::File *self){
         | 
| 2115 | 
            +
                free_taglib_mpeg_file(self);
         | 
| 2116 | 
            +
              }
         | 
| 2091 2117 |  | 
| 2092 2118 | 
             
              static void free_taglib_mpeg_file(void *ptr) {
         | 
| 2093 2119 | 
             
                TagLib::MPEG::File *file = (TagLib::MPEG::File *) ptr;
         | 
| @@ -2111,12 +2137,19 @@ SWIG_AsVal_bool (VALUE obj, bool *val) | |
| 2111 2137 | 
             
                  SWIG_RubyRemoveTracking(id3v2tag);
         | 
| 2112 2138 | 
             
                }
         | 
| 2113 2139 |  | 
| 2140 | 
            +
                TagLib::MPEG::Properties *properties = file->audioProperties();
         | 
| 2141 | 
            +
                if (properties) {
         | 
| 2142 | 
            +
                  SWIG_RubyUnlinkObjects(properties);
         | 
| 2143 | 
            +
                  SWIG_RubyRemoveTracking(properties);
         | 
| 2144 | 
            +
                }
         | 
| 2145 | 
            +
             | 
| 2146 | 
            +
                SWIG_RubyUnlinkObjects(ptr);
         | 
| 2114 2147 | 
             
                SWIG_RubyRemoveTracking(ptr);
         | 
| 2115 2148 |  | 
| 2116 2149 | 
             
                delete file;
         | 
| 2117 2150 | 
             
              }
         | 
| 2118 2151 |  | 
| 2119 | 
            -
            swig_class SwigClassXingHeader;
         | 
| 2152 | 
            +
            static swig_class SwigClassXingHeader;
         | 
| 2120 2153 |  | 
| 2121 2154 | 
             
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         | 
| 2122 2155 | 
             
            SWIGINTERN VALUE
         | 
| @@ -2267,7 +2300,7 @@ fail: | |
| 2267 2300 | 
             
            }
         | 
| 2268 2301 |  | 
| 2269 2302 |  | 
| 2270 | 
            -
            swig_class SwigClassHeader;
         | 
| 2303 | 
            +
            static swig_class SwigClassHeader;
         | 
| 2271 2304 |  | 
| 2272 2305 | 
             
            SWIGINTERN VALUE
         | 
| 2273 2306 | 
             
            _wrap_new_Header__SWIG_0(int argc, VALUE *argv, VALUE self) {
         | 
| @@ -2348,19 +2381,18 @@ SWIGINTERN VALUE _wrap_new_Header(int nargs, VALUE *args, VALUE self) { | |
| 2348 2381 | 
             
              if (argc == 1) {
         | 
| 2349 2382 | 
             
                int _v;
         | 
| 2350 2383 | 
             
                void *vptr = 0;
         | 
| 2351 | 
            -
                int res = SWIG_ConvertPtr(argv[0], &vptr,  | 
| 2384 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__Header, 0);
         | 
| 2352 2385 | 
             
                _v = SWIG_CheckState(res);
         | 
| 2353 2386 | 
             
                if (_v) {
         | 
| 2354 | 
            -
                  return  | 
| 2387 | 
            +
                  return _wrap_new_Header__SWIG_1(nargs, args, self);
         | 
| 2355 2388 | 
             
                }
         | 
| 2356 2389 | 
             
              }
         | 
| 2357 2390 | 
             
              if (argc == 1) {
         | 
| 2358 2391 | 
             
                int _v;
         | 
| 2359 | 
            -
                 | 
| 2360 | 
            -
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__Header, 0);
         | 
| 2392 | 
            +
                int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
         | 
| 2361 2393 | 
             
                _v = SWIG_CheckState(res);
         | 
| 2362 2394 | 
             
                if (_v) {
         | 
| 2363 | 
            -
                  return  | 
| 2395 | 
            +
                  return _wrap_new_Header__SWIG_0(nargs, args, self);
         | 
| 2364 2396 | 
             
                }
         | 
| 2365 2397 | 
             
              }
         | 
| 2366 2398 |  | 
| @@ -2667,7 +2699,7 @@ fail: | |
| 2667 2699 | 
             
            }
         | 
| 2668 2700 |  | 
| 2669 2701 |  | 
| 2670 | 
            -
            swig_class SwigClassProperties;
         | 
| 2702 | 
            +
            static swig_class SwigClassProperties;
         | 
| 2671 2703 |  | 
| 2672 2704 | 
             
            SWIGINTERN VALUE
         | 
| 2673 2705 | 
             
            _wrap_new_Properties__SWIG_0(int argc, VALUE *argv, VALUE self) {
         | 
| @@ -3056,16 +3088,13 @@ fail: | |
| 3056 3088 | 
             
            }
         | 
| 3057 3089 |  | 
| 3058 3090 |  | 
| 3059 | 
            -
            swig_class SwigClassFile;
         | 
| 3091 | 
            +
            static swig_class SwigClassFile;
         | 
| 3060 3092 |  | 
| 3061 3093 | 
             
            SWIGINTERN VALUE
         | 
| 3062 3094 | 
             
            _wrap_new_File__SWIG_0(int argc, VALUE *argv, VALUE self) {
         | 
| 3063 | 
            -
              TagLib::FileName arg1  | 
| 3095 | 
            +
              SwigValueWrapper< TagLib::FileName > arg1 ;
         | 
| 3064 3096 | 
             
              bool arg2 ;
         | 
| 3065 3097 | 
             
              TagLib::MPEG::Properties::ReadStyle arg3 ;
         | 
| 3066 | 
            -
              int res1 ;
         | 
| 3067 | 
            -
              char *buf1 = 0 ;
         | 
| 3068 | 
            -
              int alloc1 = 0 ;
         | 
| 3069 3098 | 
             
              bool val2 ;
         | 
| 3070 3099 | 
             
              int ecode2 = 0 ;
         | 
| 3071 3100 | 
             
              int val3 ;
         | 
| @@ -3075,11 +3104,9 @@ _wrap_new_File__SWIG_0(int argc, VALUE *argv, VALUE self) { | |
| 3075 3104 | 
             
              if ((argc < 3) || (argc > 3)) {
         | 
| 3076 3105 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
         | 
| 3077 3106 | 
             
              }
         | 
| 3078 | 
            -
               | 
| 3079 | 
            -
             | 
| 3080 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::MPEG::File", 1, argv[0] ));
         | 
| 3107 | 
            +
              {
         | 
| 3108 | 
            +
                arg1 = ruby_string_to_taglib_filename(argv[0]);
         | 
| 3081 3109 | 
             
              }
         | 
| 3082 | 
            -
              arg1 = reinterpret_cast< TagLib::FileName >(buf1);
         | 
| 3083 3110 | 
             
              ecode2 = SWIG_AsVal_bool(argv[1], &val2);
         | 
| 3084 3111 | 
             
              if (!SWIG_IsOK(ecode2)) {
         | 
| 3085 3112 | 
             
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","TagLib::MPEG::File", 2, argv[1] ));
         | 
| @@ -3093,21 +3120,16 @@ _wrap_new_File__SWIG_0(int argc, VALUE *argv, VALUE self) { | |
| 3093 3120 | 
             
              result = (TagLib::MPEG::File *)new TagLib::MPEG::File(arg1,arg2,arg3);
         | 
| 3094 3121 | 
             
              DATA_PTR(self) = result;
         | 
| 3095 3122 | 
             
              SWIG_RubyAddTracking(result, self);
         | 
| 3096 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3097 3123 | 
             
              return self;
         | 
| 3098 3124 | 
             
            fail:
         | 
| 3099 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3100 3125 | 
             
              return Qnil;
         | 
| 3101 3126 | 
             
            }
         | 
| 3102 3127 |  | 
| 3103 3128 |  | 
| 3104 3129 | 
             
            SWIGINTERN VALUE
         | 
| 3105 3130 | 
             
            _wrap_new_File__SWIG_1(int argc, VALUE *argv, VALUE self) {
         | 
| 3106 | 
            -
              TagLib::FileName arg1  | 
| 3131 | 
            +
              SwigValueWrapper< TagLib::FileName > arg1 ;
         | 
| 3107 3132 | 
             
              bool arg2 ;
         | 
| 3108 | 
            -
              int res1 ;
         | 
| 3109 | 
            -
              char *buf1 = 0 ;
         | 
| 3110 | 
            -
              int alloc1 = 0 ;
         | 
| 3111 3133 | 
             
              bool val2 ;
         | 
| 3112 3134 | 
             
              int ecode2 = 0 ;
         | 
| 3113 3135 | 
             
              TagLib::MPEG::File *result = 0 ;
         | 
| @@ -3115,11 +3137,9 @@ _wrap_new_File__SWIG_1(int argc, VALUE *argv, VALUE self) { | |
| 3115 3137 | 
             
              if ((argc < 2) || (argc > 2)) {
         | 
| 3116 3138 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
         | 
| 3117 3139 | 
             
              }
         | 
| 3118 | 
            -
               | 
| 3119 | 
            -
             | 
| 3120 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::MPEG::File", 1, argv[0] ));
         | 
| 3140 | 
            +
              {
         | 
| 3141 | 
            +
                arg1 = ruby_string_to_taglib_filename(argv[0]);
         | 
| 3121 3142 | 
             
              }
         | 
| 3122 | 
            -
              arg1 = reinterpret_cast< TagLib::FileName >(buf1);
         | 
| 3123 3143 | 
             
              ecode2 = SWIG_AsVal_bool(argv[1], &val2);
         | 
| 3124 3144 | 
             
              if (!SWIG_IsOK(ecode2)) {
         | 
| 3125 3145 | 
             
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","TagLib::MPEG::File", 2, argv[1] ));
         | 
| @@ -3128,50 +3148,38 @@ _wrap_new_File__SWIG_1(int argc, VALUE *argv, VALUE self) { | |
| 3128 3148 | 
             
              result = (TagLib::MPEG::File *)new TagLib::MPEG::File(arg1,arg2);
         | 
| 3129 3149 | 
             
              DATA_PTR(self) = result;
         | 
| 3130 3150 | 
             
              SWIG_RubyAddTracking(result, self);
         | 
| 3131 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3132 3151 | 
             
              return self;
         | 
| 3133 3152 | 
             
            fail:
         | 
| 3134 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3135 3153 | 
             
              return Qnil;
         | 
| 3136 3154 | 
             
            }
         | 
| 3137 3155 |  | 
| 3138 3156 |  | 
| 3139 3157 | 
             
            SWIGINTERN VALUE
         | 
| 3140 3158 | 
             
            _wrap_new_File__SWIG_2(int argc, VALUE *argv, VALUE self) {
         | 
| 3141 | 
            -
              TagLib::FileName arg1  | 
| 3142 | 
            -
              int res1 ;
         | 
| 3143 | 
            -
              char *buf1 = 0 ;
         | 
| 3144 | 
            -
              int alloc1 = 0 ;
         | 
| 3159 | 
            +
              SwigValueWrapper< TagLib::FileName > arg1 ;
         | 
| 3145 3160 | 
             
              TagLib::MPEG::File *result = 0 ;
         | 
| 3146 3161 |  | 
| 3147 3162 | 
             
              if ((argc < 1) || (argc > 1)) {
         | 
| 3148 3163 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
         | 
| 3149 3164 | 
             
              }
         | 
| 3150 | 
            -
               | 
| 3151 | 
            -
             | 
| 3152 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::MPEG::File", 1, argv[0] ));
         | 
| 3165 | 
            +
              {
         | 
| 3166 | 
            +
                arg1 = ruby_string_to_taglib_filename(argv[0]);
         | 
| 3153 3167 | 
             
              }
         | 
| 3154 | 
            -
              arg1 = reinterpret_cast< TagLib::FileName >(buf1);
         | 
| 3155 3168 | 
             
              result = (TagLib::MPEG::File *)new TagLib::MPEG::File(arg1);
         | 
| 3156 3169 | 
             
              DATA_PTR(self) = result;
         | 
| 3157 3170 | 
             
              SWIG_RubyAddTracking(result, self);
         | 
| 3158 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3159 3171 | 
             
              return self;
         | 
| 3160 3172 | 
             
            fail:
         | 
| 3161 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3162 3173 | 
             
              return Qnil;
         | 
| 3163 3174 | 
             
            }
         | 
| 3164 3175 |  | 
| 3165 3176 |  | 
| 3166 3177 | 
             
            SWIGINTERN VALUE
         | 
| 3167 3178 | 
             
            _wrap_new_File__SWIG_3(int argc, VALUE *argv, VALUE self) {
         | 
| 3168 | 
            -
              TagLib::FileName arg1  | 
| 3179 | 
            +
              SwigValueWrapper< TagLib::FileName > arg1 ;
         | 
| 3169 3180 | 
             
              TagLib::ID3v2::FrameFactory *arg2 = (TagLib::ID3v2::FrameFactory *) 0 ;
         | 
| 3170 3181 | 
             
              bool arg3 ;
         | 
| 3171 3182 | 
             
              TagLib::MPEG::Properties::ReadStyle arg4 ;
         | 
| 3172 | 
            -
              int res1 ;
         | 
| 3173 | 
            -
              char *buf1 = 0 ;
         | 
| 3174 | 
            -
              int alloc1 = 0 ;
         | 
| 3175 3183 | 
             
              void *argp2 = 0 ;
         | 
| 3176 3184 | 
             
              int res2 = 0 ;
         | 
| 3177 3185 | 
             
              bool val3 ;
         | 
| @@ -3183,11 +3191,9 @@ _wrap_new_File__SWIG_3(int argc, VALUE *argv, VALUE self) { | |
| 3183 3191 | 
             
              if ((argc < 4) || (argc > 4)) {
         | 
| 3184 3192 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail;
         | 
| 3185 3193 | 
             
              }
         | 
| 3186 | 
            -
               | 
| 3187 | 
            -
             | 
| 3188 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::MPEG::File", 1, argv[0] ));
         | 
| 3194 | 
            +
              {
         | 
| 3195 | 
            +
                arg1 = ruby_string_to_taglib_filename(argv[0]);
         | 
| 3189 3196 | 
             
              }
         | 
| 3190 | 
            -
              arg1 = reinterpret_cast< TagLib::FileName >(buf1);
         | 
| 3191 3197 | 
             
              res2 = SWIG_ConvertPtr(argv[1], &argp2,SWIGTYPE_p_TagLib__ID3v2__FrameFactory, 0 |  0 );
         | 
| 3192 3198 | 
             
              if (!SWIG_IsOK(res2)) {
         | 
| 3193 3199 | 
             
                SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "TagLib::ID3v2::FrameFactory *","TagLib::MPEG::File", 2, argv[1] )); 
         | 
| @@ -3206,22 +3212,17 @@ _wrap_new_File__SWIG_3(int argc, VALUE *argv, VALUE self) { | |
| 3206 3212 | 
             
              result = (TagLib::MPEG::File *)new TagLib::MPEG::File(arg1,arg2,arg3,arg4);
         | 
| 3207 3213 | 
             
              DATA_PTR(self) = result;
         | 
| 3208 3214 | 
             
              SWIG_RubyAddTracking(result, self);
         | 
| 3209 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3210 3215 | 
             
              return self;
         | 
| 3211 3216 | 
             
            fail:
         | 
| 3212 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3213 3217 | 
             
              return Qnil;
         | 
| 3214 3218 | 
             
            }
         | 
| 3215 3219 |  | 
| 3216 3220 |  | 
| 3217 3221 | 
             
            SWIGINTERN VALUE
         | 
| 3218 3222 | 
             
            _wrap_new_File__SWIG_4(int argc, VALUE *argv, VALUE self) {
         | 
| 3219 | 
            -
              TagLib::FileName arg1  | 
| 3223 | 
            +
              SwigValueWrapper< TagLib::FileName > arg1 ;
         | 
| 3220 3224 | 
             
              TagLib::ID3v2::FrameFactory *arg2 = (TagLib::ID3v2::FrameFactory *) 0 ;
         | 
| 3221 3225 | 
             
              bool arg3 ;
         | 
| 3222 | 
            -
              int res1 ;
         | 
| 3223 | 
            -
              char *buf1 = 0 ;
         | 
| 3224 | 
            -
              int alloc1 = 0 ;
         | 
| 3225 3226 | 
             
              void *argp2 = 0 ;
         | 
| 3226 3227 | 
             
              int res2 = 0 ;
         | 
| 3227 3228 | 
             
              bool val3 ;
         | 
| @@ -3231,11 +3232,9 @@ _wrap_new_File__SWIG_4(int argc, VALUE *argv, VALUE self) { | |
| 3231 3232 | 
             
              if ((argc < 3) || (argc > 3)) {
         | 
| 3232 3233 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
         | 
| 3233 3234 | 
             
              }
         | 
| 3234 | 
            -
               | 
| 3235 | 
            -
             | 
| 3236 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::MPEG::File", 1, argv[0] ));
         | 
| 3235 | 
            +
              {
         | 
| 3236 | 
            +
                arg1 = ruby_string_to_taglib_filename(argv[0]);
         | 
| 3237 3237 | 
             
              }
         | 
| 3238 | 
            -
              arg1 = reinterpret_cast< TagLib::FileName >(buf1);
         | 
| 3239 3238 | 
             
              res2 = SWIG_ConvertPtr(argv[1], &argp2,SWIGTYPE_p_TagLib__ID3v2__FrameFactory, 0 |  0 );
         | 
| 3240 3239 | 
             
              if (!SWIG_IsOK(res2)) {
         | 
| 3241 3240 | 
             
                SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "TagLib::ID3v2::FrameFactory *","TagLib::MPEG::File", 2, argv[1] )); 
         | 
| @@ -3249,10 +3248,8 @@ _wrap_new_File__SWIG_4(int argc, VALUE *argv, VALUE self) { | |
| 3249 3248 | 
             
              result = (TagLib::MPEG::File *)new TagLib::MPEG::File(arg1,arg2,arg3);
         | 
| 3250 3249 | 
             
              DATA_PTR(self) = result;
         | 
| 3251 3250 | 
             
              SWIG_RubyAddTracking(result, self);
         | 
| 3252 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3253 3251 | 
             
              return self;
         | 
| 3254 3252 | 
             
            fail:
         | 
| 3255 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3256 3253 | 
             
              return Qnil;
         | 
| 3257 3254 | 
             
            }
         | 
| 3258 3255 |  | 
| @@ -3276,11 +3273,8 @@ _wrap_File_allocate(VALUE self) { | |
| 3276 3273 |  | 
| 3277 3274 | 
             
            SWIGINTERN VALUE
         | 
| 3278 3275 | 
             
            _wrap_new_File__SWIG_5(int argc, VALUE *argv, VALUE self) {
         | 
| 3279 | 
            -
              TagLib::FileName arg1  | 
| 3276 | 
            +
              SwigValueWrapper< TagLib::FileName > arg1 ;
         | 
| 3280 3277 | 
             
              TagLib::ID3v2::FrameFactory *arg2 = (TagLib::ID3v2::FrameFactory *) 0 ;
         | 
| 3281 | 
            -
              int res1 ;
         | 
| 3282 | 
            -
              char *buf1 = 0 ;
         | 
| 3283 | 
            -
              int alloc1 = 0 ;
         | 
| 3284 3278 | 
             
              void *argp2 = 0 ;
         | 
| 3285 3279 | 
             
              int res2 = 0 ;
         | 
| 3286 3280 | 
             
              TagLib::MPEG::File *result = 0 ;
         | 
| @@ -3288,11 +3282,9 @@ _wrap_new_File__SWIG_5(int argc, VALUE *argv, VALUE self) { | |
| 3288 3282 | 
             
              if ((argc < 2) || (argc > 2)) {
         | 
| 3289 3283 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
         | 
| 3290 3284 | 
             
              }
         | 
| 3291 | 
            -
               | 
| 3292 | 
            -
             | 
| 3293 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::FileName","TagLib::MPEG::File", 1, argv[0] ));
         | 
| 3285 | 
            +
              {
         | 
| 3286 | 
            +
                arg1 = ruby_string_to_taglib_filename(argv[0]);
         | 
| 3294 3287 | 
             
              }
         | 
| 3295 | 
            -
              arg1 = reinterpret_cast< TagLib::FileName >(buf1);
         | 
| 3296 3288 | 
             
              res2 = SWIG_ConvertPtr(argv[1], &argp2,SWIGTYPE_p_TagLib__ID3v2__FrameFactory, 0 |  0 );
         | 
| 3297 3289 | 
             
              if (!SWIG_IsOK(res2)) {
         | 
| 3298 3290 | 
             
                SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "TagLib::ID3v2::FrameFactory *","TagLib::MPEG::File", 2, argv[1] )); 
         | 
| @@ -3301,10 +3293,8 @@ _wrap_new_File__SWIG_5(int argc, VALUE *argv, VALUE self) { | |
| 3301 3293 | 
             
              result = (TagLib::MPEG::File *)new TagLib::MPEG::File(arg1,arg2);
         | 
| 3302 3294 | 
             
              DATA_PTR(self) = result;
         | 
| 3303 3295 | 
             
              SWIG_RubyAddTracking(result, self);
         | 
| 3304 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3305 3296 | 
             
              return self;
         | 
| 3306 3297 | 
             
            fail:
         | 
| 3307 | 
            -
              if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
         | 
| 3308 3298 | 
             
              return Qnil;
         | 
| 3309 3299 | 
             
            }
         | 
| 3310 3300 |  | 
| @@ -4250,6 +4240,27 @@ fail: | |
| 4250 4240 | 
             
            }
         | 
| 4251 4241 |  | 
| 4252 4242 |  | 
| 4243 | 
            +
            SWIGINTERN VALUE
         | 
| 4244 | 
            +
            _wrap_File_close(int argc, VALUE *argv, VALUE self) {
         | 
| 4245 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4246 | 
            +
              void *argp1 = 0 ;
         | 
| 4247 | 
            +
              int res1 = 0 ;
         | 
| 4248 | 
            +
              
         | 
| 4249 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 4250 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 4251 | 
            +
              }
         | 
| 4252 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4253 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 4254 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","close", 1, self )); 
         | 
| 4255 | 
            +
              }
         | 
| 4256 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4257 | 
            +
              TagLib_MPEG_File_close(arg1);
         | 
| 4258 | 
            +
              return Qnil;
         | 
| 4259 | 
            +
            fail:
         | 
| 4260 | 
            +
              return Qnil;
         | 
| 4261 | 
            +
            }
         | 
| 4262 | 
            +
             | 
| 4263 | 
            +
             | 
| 4253 4264 |  | 
| 4254 4265 | 
             
            /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
         | 
| 4255 4266 |  | 
| @@ -4261,7 +4272,6 @@ static void *_p_TagLib__MPEG__PropertiesTo_p_TagLib__AudioProperties(void *x, in | |
| 4261 4272 | 
             
            }
         | 
| 4262 4273 | 
             
            static swig_type_info _swigt__p_TagLib__APE__Tag = {"_p_TagLib__APE__Tag", "TagLib::APE::Tag *", 0, 0, (void*)0, 0};
         | 
| 4263 4274 | 
             
            static swig_type_info _swigt__p_TagLib__AudioProperties = {"_p_TagLib__AudioProperties", "TagLib::AudioProperties *", 0, 0, (void*)0, 0};
         | 
| 4264 | 
            -
            static swig_type_info _swigt__p_TagLib__ByteVector = {"_p_TagLib__ByteVector", "TagLib::ByteVector *", 0, 0, (void*)0, 0};
         | 
| 4265 4275 | 
             
            static swig_type_info _swigt__p_TagLib__File = {"_p_TagLib__File", "TagLib::File *", 0, 0, (void*)0, 0};
         | 
| 4266 4276 | 
             
            static swig_type_info _swigt__p_TagLib__ID3v1__Tag = {"_p_TagLib__ID3v1__Tag", "TagLib::ID3v1::Tag *", 0, 0, (void*)0, 0};
         | 
| 4267 4277 | 
             
            static swig_type_info _swigt__p_TagLib__ID3v2__FrameFactory = {"_p_TagLib__ID3v2__FrameFactory", "TagLib::ID3v2::FrameFactory *", 0, 0, (void*)0, 0};
         | 
| @@ -4280,7 +4290,6 @@ static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_ | |
| 4280 4290 | 
             
            static swig_type_info *swig_type_initial[] = {
         | 
| 4281 4291 | 
             
              &_swigt__p_TagLib__APE__Tag,
         | 
| 4282 4292 | 
             
              &_swigt__p_TagLib__AudioProperties,
         | 
| 4283 | 
            -
              &_swigt__p_TagLib__ByteVector,
         | 
| 4284 4293 | 
             
              &_swigt__p_TagLib__File,
         | 
| 4285 4294 | 
             
              &_swigt__p_TagLib__ID3v1__Tag,
         | 
| 4286 4295 | 
             
              &_swigt__p_TagLib__ID3v2__FrameFactory,
         | 
| @@ -4299,7 +4308,6 @@ static swig_type_info *swig_type_initial[] = { | |
| 4299 4308 |  | 
| 4300 4309 | 
             
            static swig_cast_info _swigc__p_TagLib__APE__Tag[] = {  {&_swigt__p_TagLib__APE__Tag, 0, 0, 0},{0, 0, 0, 0}};
         | 
| 4301 4310 | 
             
            static swig_cast_info _swigc__p_TagLib__AudioProperties[] = {  {&_swigt__p_TagLib__AudioProperties, 0, 0, 0},  {&_swigt__p_TagLib__MPEG__Properties, _p_TagLib__MPEG__PropertiesTo_p_TagLib__AudioProperties, 0, 0},{0, 0, 0, 0}};
         | 
| 4302 | 
            -
            static swig_cast_info _swigc__p_TagLib__ByteVector[] = {  {&_swigt__p_TagLib__ByteVector, 0, 0, 0},{0, 0, 0, 0}};
         | 
| 4303 4311 | 
             
            static swig_cast_info _swigc__p_TagLib__File[] = {  {&_swigt__p_TagLib__MPEG__File, _p_TagLib__MPEG__FileTo_p_TagLib__File, 0, 0},  {&_swigt__p_TagLib__File, 0, 0, 0},{0, 0, 0, 0}};
         | 
| 4304 4312 | 
             
            static swig_cast_info _swigc__p_TagLib__ID3v1__Tag[] = {  {&_swigt__p_TagLib__ID3v1__Tag, 0, 0, 0},{0, 0, 0, 0}};
         | 
| 4305 4313 | 
             
            static swig_cast_info _swigc__p_TagLib__ID3v2__FrameFactory[] = {  {&_swigt__p_TagLib__ID3v2__FrameFactory, 0, 0, 0},{0, 0, 0, 0}};
         | 
| @@ -4318,7 +4326,6 @@ static swig_cast_info _swigc__p_wchar_t[] = {  {&_swigt__p_wchar_t, 0, 0, 0},{0, | |
| 4318 4326 | 
             
            static swig_cast_info *swig_cast_initial[] = {
         | 
| 4319 4327 | 
             
              _swigc__p_TagLib__APE__Tag,
         | 
| 4320 4328 | 
             
              _swigc__p_TagLib__AudioProperties,
         | 
| 4321 | 
            -
              _swigc__p_TagLib__ByteVector,
         | 
| 4322 4329 | 
             
              _swigc__p_TagLib__File,
         | 
| 4323 4330 | 
             
              _swigc__p_TagLib__ID3v1__Tag,
         | 
| 4324 4331 | 
             
              _swigc__p_TagLib__ID3v2__FrameFactory,
         | 
| @@ -4675,6 +4682,7 @@ SWIGEXPORT void Init_taglib_mpeg(void) { | |
| 4675 4682 | 
             
              rb_define_method(SwigClassFile.klass, "next_frame_offset", VALUEFUNC(_wrap_File_next_frame_offset), -1);
         | 
| 4676 4683 | 
             
              rb_define_method(SwigClassFile.klass, "previous_frame_offset", VALUEFUNC(_wrap_File_previous_frame_offset), -1);
         | 
| 4677 4684 | 
             
              rb_define_method(SwigClassFile.klass, "last_frame_offset", VALUEFUNC(_wrap_File_last_frame_offset), -1);
         | 
| 4685 | 
            +
              rb_define_method(SwigClassFile.klass, "close", VALUEFUNC(_wrap_File_close), -1);
         | 
| 4678 4686 | 
             
              SwigClassFile.mark = 0;
         | 
| 4679 4687 | 
             
              SwigClassFile.destroy = (void (*)(void *)) free_taglib_mpeg_file;
         | 
| 4680 4688 | 
             
              SwigClassFile.trackObjects = 1;
         |