taglib-ruby 0.7.1 → 1.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.
- checksums.yaml +5 -5
- data/CHANGES.md +7 -0
- data/README.md +25 -10
- data/Rakefile +11 -1
- data/docs/taglib/aiff.rb +35 -3
- data/docs/taglib/base.rb +8 -1
- data/docs/taglib/flac.rb +60 -4
- data/docs/taglib/id3v1.rb +29 -0
- data/docs/taglib/id3v2.rb +1 -1
- data/docs/taglib/mp4.rb +124 -13
- data/docs/taglib/mpeg.rb +30 -1
- data/docs/taglib/ogg.rb +47 -5
- data/docs/taglib/vorbis.rb +1 -1
- data/docs/taglib/wav.rb +56 -3
- data/ext/extconf_common.rb +9 -2
- data/ext/taglib_aiff/taglib_aiff.i +16 -0
- data/ext/taglib_aiff/taglib_aiff_wrap.cxx +228 -58
- data/ext/taglib_base/includes.i +4 -4
- data/ext/taglib_base/taglib_base.i +24 -2
- data/ext/taglib_base/taglib_base_wrap.cxx +76 -51
- data/ext/taglib_flac/taglib_flac.i +14 -18
- data/ext/taglib_flac/taglib_flac_wrap.cxx +341 -799
- data/ext/taglib_flac_picture/extconf.rb +4 -0
- data/ext/taglib_flac_picture/includes.i +15 -0
- data/ext/taglib_flac_picture/taglib_flac_picture.i +15 -0
- data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +3087 -0
- data/ext/taglib_id3v1/taglib_id3v1.i +19 -0
- data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +241 -58
- data/ext/taglib_id3v2/taglib_id3v2.i +52 -1
- data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +152 -155
- data/ext/taglib_mp4/taglib_mp4.i +100 -19
- data/ext/taglib_mp4/taglib_mp4_wrap.cxx +939 -148
- data/ext/taglib_mpeg/taglib_mpeg.i +11 -16
- data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +522 -208
- data/ext/taglib_ogg/taglib_ogg.i +11 -0
- data/ext/taglib_ogg/taglib_ogg_wrap.cxx +328 -57
- data/ext/taglib_vorbis/taglib_vorbis.i +8 -0
- data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +53 -22
- data/ext/taglib_wav/taglib_wav.i +24 -0
- data/ext/taglib_wav/taglib_wav_wrap.cxx +543 -198
- data/lib/taglib/mp4.rb +2 -1
- data/lib/taglib/version.rb +3 -3
- data/lib/taglib/wav.rb +4 -0
- data/taglib-ruby.gemspec +15 -9
- data/tasks/ext.rake +36 -15
- data/tasks/swig.rake +26 -2
- data/test/aiff_examples_test.rb +1 -1
- data/test/aiff_file_test.rb +12 -3
- data/test/data/vorbis-create.cpp +20 -1
- data/test/data/vorbis.oga +0 -0
- data/test/fileref_properties_test.rb +1 -1
- data/test/flac_file_test.rb +45 -30
- data/test/id3v1_genres_test.rb +23 -0
- data/test/id3v1_tag_test.rb +1 -0
- data/test/id3v2_tag_test.rb +6 -6
- data/test/id3v2_write_test.rb +10 -13
- data/test/mp4_file_test.rb +33 -4
- data/test/mp4_file_write_test.rb +5 -5
- data/test/mp4_items_test.rb +83 -29
- data/test/mpeg_file_test.rb +120 -7
- data/test/vorbis_file_test.rb +2 -2
- data/test/vorbis_tag_test.rb +61 -7
- data/test/wav_examples_test.rb +1 -1
- data/test/wav_file_test.rb +53 -41
- data/test/wav_file_write_test.rb +25 -0
- metadata +19 -9
| @@ -6,8 +6,6 @@ | |
| 6 6 | 
             
            #include <taglib/mpegproperties.h>
         | 
| 7 7 | 
             
            #include <taglib/mpegfile.h>
         | 
| 8 8 | 
             
            #include <taglib/id3v2tag.h>
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool stripOthers, int id3v2Version);
         | 
| 11 9 | 
             
            %}
         | 
| 12 10 |  | 
| 13 11 | 
             
            %include "../taglib_base/includes.i"
         | 
| @@ -15,7 +13,10 @@ static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool | |
| 15 13 |  | 
| 16 14 | 
             
            %ignore TagLib::MPEG::Header::operator=;
         | 
| 17 15 | 
             
            %include <taglib/xingheader.h>
         | 
| 16 | 
            +
             | 
| 18 17 | 
             
            %include <taglib/mpegheader.h>
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            %ignore TagLib::MPEG::length; // Deprecated.
         | 
| 19 20 | 
             
            %include <taglib/mpegproperties.h>
         | 
| 20 21 |  | 
| 21 22 | 
             
            %rename(id3v1_tag) TagLib::MPEG::File::ID3v1Tag;
         | 
| @@ -24,6 +25,14 @@ static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool | |
| 24 25 |  | 
| 25 26 | 
             
            %freefunc TagLib::MPEG::File "free_taglib_mpeg_file";
         | 
| 26 27 |  | 
| 28 | 
            +
            // Ignore IOStream and all the constructors using it.
         | 
| 29 | 
            +
            %ignore IOStream;
         | 
| 30 | 
            +
            %ignore TagLib::MPEG::File::File(IOStream *, ID3v2::FrameFactory *, bool, Properties::ReadStyle);
         | 
| 31 | 
            +
            %ignore TagLib::MPEG::File::File(IOStream *, ID3v2::FrameFactory *, bool);
         | 
| 32 | 
            +
            %ignore TagLib::MPEG::File::File(IOStream *, ID3v2::FrameFactory *);
         | 
| 33 | 
            +
            %rename("id3v1_tag?") TagLib::MPEG::File::hasID3v1Tag;
         | 
| 34 | 
            +
            %rename("id3v2_tag?") TagLib::MPEG::File::hasID3v2Tag;
         | 
| 35 | 
            +
            %rename("ape_tag?") TagLib::MPEG::File::hasAPETag;
         | 
| 27 36 | 
             
            %include <taglib/mpegfile.h>
         | 
| 28 37 |  | 
| 29 38 | 
             
            // Unlink Ruby objects from the deleted C++ objects. Otherwise Ruby code
         | 
| @@ -71,26 +80,12 @@ static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool | |
| 71 80 |  | 
| 72 81 | 
             
                delete file;
         | 
| 73 82 | 
             
              }
         | 
| 74 | 
            -
             | 
| 75 | 
            -
              static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool stripOthers, int id3v2Version) {
         | 
| 76 | 
            -
            #if defined(TAGLIB_MAJOR_VERSION) && (TAGLIB_MAJOR_VERSION > 1 || (TAGLIB_MAJOR_VERSION == 1 && TAGLIB_MINOR_VERSION >= 8))
         | 
| 77 | 
            -
                return file->save(tags, stripOthers, id3v2Version);
         | 
| 78 | 
            -
            #else
         | 
| 79 | 
            -
                rb_raise(rb_eArgError, "Overloaded method save(int tags, bool stripOthers, int id3v2Version) on TagLib::MPEG::File is only available when compiled against TagLib >= 1.8");
         | 
| 80 | 
            -
                return false;
         | 
| 81 | 
            -
            #endif
         | 
| 82 | 
            -
              }
         | 
| 83 83 | 
             
            %}
         | 
| 84 84 |  | 
| 85 85 | 
             
            %extend TagLib::MPEG::File {
         | 
| 86 86 | 
             
              void close() {
         | 
| 87 87 | 
             
                free_taglib_mpeg_file($self);
         | 
| 88 88 | 
             
              }
         | 
| 89 | 
            -
             | 
| 90 | 
            -
              bool save(int tags, bool stripOthers, int id3v2Version) {
         | 
| 91 | 
            -
                return taglib_ruby_mpeg_file_save($self, tags, stripOthers, id3v2Version);
         | 
| 92 | 
            -
              }
         | 
| 93 89 | 
             
            }
         | 
| 94 90 |  | 
| 95 | 
            -
             | 
| 96 91 | 
             
            // vim: set filetype=cpp sw=2 ts=2 expandtab:
         | 
| @@ -1880,8 +1880,6 @@ static VALUE mMPEG; | |
| 1880 1880 | 
             
            #include <taglib/mpegfile.h>
         | 
| 1881 1881 | 
             
            #include <taglib/id3v2tag.h>
         | 
| 1882 1882 |  | 
| 1883 | 
            -
            static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool stripOthers, int id3v2Version);
         | 
| 1884 | 
            -
             | 
| 1885 1883 |  | 
| 1886 1884 | 
             
            #include <taglib/tstring.h>
         | 
| 1887 1885 | 
             
            #include <taglib/tstringlist.h>
         | 
| @@ -1902,7 +1900,7 @@ VALUE taglib_bytevector_to_ruby_string(const TagLib::ByteVector &byteVector) { | |
| 1902 1900 | 
             
              if (byteVector.isNull()) {
         | 
| 1903 1901 | 
             
                return Qnil;
         | 
| 1904 1902 | 
             
              } else {
         | 
| 1905 | 
            -
                return  | 
| 1903 | 
            +
                return rb_str_new(byteVector.data(), byteVector.size());
         | 
| 1906 1904 | 
             
              }
         | 
| 1907 1905 | 
             
            }
         | 
| 1908 1906 |  | 
| @@ -1918,7 +1916,7 @@ VALUE taglib_string_to_ruby_string(const TagLib::String & string) { | |
| 1918 1916 | 
             
              if (string.isNull()) {
         | 
| 1919 1917 | 
             
                return Qnil;
         | 
| 1920 1918 | 
             
              } else {
         | 
| 1921 | 
            -
                VALUE result =  | 
| 1919 | 
            +
                VALUE result = rb_str_new2(string.toCString(true));
         | 
| 1922 1920 | 
             
                ASSOCIATE_UTF8_ENCODING(result);
         | 
| 1923 1921 | 
             
                return result;
         | 
| 1924 1922 | 
             
              }
         | 
| @@ -1958,9 +1956,9 @@ VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) { | |
| 1958 1956 | 
             
              VALUE result;
         | 
| 1959 1957 | 
             
            #ifdef _WIN32
         | 
| 1960 1958 | 
             
              const char *s = (const char *) filename;
         | 
| 1961 | 
            -
              result =  | 
| 1959 | 
            +
              result = rb_str_new2(s);
         | 
| 1962 1960 | 
             
            #else
         | 
| 1963 | 
            -
              result =  | 
| 1961 | 
            +
              result = rb_str_new2(filename);
         | 
| 1964 1962 | 
             
            #endif
         | 
| 1965 1963 | 
             
              ASSOCIATE_FILESYSTEM_ENCODING(result);
         | 
| 1966 1964 | 
             
              return result;
         | 
| @@ -1995,6 +1993,26 @@ TagLib::FileName ruby_string_to_taglib_filename(VALUE s) { | |
| 1995 1993 |  | 
| 1996 1994 |  | 
| 1997 1995 |  | 
| 1996 | 
            +
            #include <limits.h>
         | 
| 1997 | 
            +
            #if !defined(SWIG_NO_LLONG_MAX)
         | 
| 1998 | 
            +
            # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
         | 
| 1999 | 
            +
            #   define LLONG_MAX __LONG_LONG_MAX__
         | 
| 2000 | 
            +
            #   define LLONG_MIN (-LLONG_MAX - 1LL)
         | 
| 2001 | 
            +
            #   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
         | 
| 2002 | 
            +
            # endif
         | 
| 2003 | 
            +
            #endif
         | 
| 2004 | 
            +
             | 
| 2005 | 
            +
             | 
| 2006 | 
            +
              #define SWIG_From_long   LONG2NUM 
         | 
| 2007 | 
            +
             | 
| 2008 | 
            +
             | 
| 2009 | 
            +
            SWIGINTERNINLINE VALUE
         | 
| 2010 | 
            +
            SWIG_From_int  (int value)
         | 
| 2011 | 
            +
            {    
         | 
| 2012 | 
            +
              return SWIG_From_long  (value);
         | 
| 2013 | 
            +
            }
         | 
| 2014 | 
            +
             | 
| 2015 | 
            +
             | 
| 1998 2016 | 
             
            SWIGINTERN swig_type_info*
         | 
| 1999 2017 | 
             
            SWIG_pchar_descriptor(void)
         | 
| 2000 2018 | 
             
            {
         | 
| @@ -2052,19 +2070,6 @@ SWIG_From_bool  (bool value) | |
| 2052 2070 | 
             
            }
         | 
| 2053 2071 |  | 
| 2054 2072 |  | 
| 2055 | 
            -
            #include <limits.h>
         | 
| 2056 | 
            -
            #if !defined(SWIG_NO_LLONG_MAX)
         | 
| 2057 | 
            -
            # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
         | 
| 2058 | 
            -
            #   define LLONG_MAX __LONG_LONG_MAX__
         | 
| 2059 | 
            -
            #   define LLONG_MIN (-LLONG_MAX - 1LL)
         | 
| 2060 | 
            -
            #   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
         | 
| 2061 | 
            -
            # endif
         | 
| 2062 | 
            -
            #endif
         | 
| 2063 | 
            -
             | 
| 2064 | 
            -
             | 
| 2065 | 
            -
              #define SWIG_From_long   LONG2NUM 
         | 
| 2066 | 
            -
             | 
| 2067 | 
            -
             | 
| 2068 2073 | 
             
            SWIGINTERNINLINE VALUE
         | 
| 2069 2074 | 
             
            SWIG_From_unsigned_SS_long  (unsigned long value)
         | 
| 2070 2075 | 
             
            {
         | 
| @@ -2131,13 +2136,6 @@ SWIG_AsVal_int (VALUE obj, int *val) | |
| 2131 2136 | 
             
            }
         | 
| 2132 2137 |  | 
| 2133 2138 |  | 
| 2134 | 
            -
            SWIGINTERNINLINE VALUE
         | 
| 2135 | 
            -
            SWIG_From_int  (int value)
         | 
| 2136 | 
            -
            {    
         | 
| 2137 | 
            -
              return SWIG_From_long  (value);
         | 
| 2138 | 
            -
            }
         | 
| 2139 | 
            -
             | 
| 2140 | 
            -
             | 
| 2141 2139 | 
             
            SWIGINTERN int
         | 
| 2142 2140 | 
             
            SWIG_AsVal_bool (VALUE obj, bool *val)
         | 
| 2143 2141 | 
             
            {
         | 
| @@ -2160,9 +2158,6 @@ SWIG_AsVal_bool (VALUE obj, bool *val) | |
| 2160 2158 | 
             
            SWIGINTERN void TagLib_MPEG_File_close(TagLib::MPEG::File *self){
         | 
| 2161 2159 | 
             
                free_taglib_mpeg_file(self);
         | 
| 2162 2160 | 
             
              }
         | 
| 2163 | 
            -
            SWIGINTERN bool TagLib_MPEG_File_save__SWIG_3(TagLib::MPEG::File *self,int tags,bool stripOthers,int id3v2Version){
         | 
| 2164 | 
            -
                return taglib_ruby_mpeg_file_save(self, tags, stripOthers, id3v2Version);
         | 
| 2165 | 
            -
              }
         | 
| 2166 2161 |  | 
| 2167 2162 | 
             
              static void free_taglib_mpeg_file(void *ptr) {
         | 
| 2168 2163 | 
             
                TagLib::MPEG::File *file = (TagLib::MPEG::File *) ptr;
         | 
| @@ -2204,15 +2199,6 @@ SWIGINTERN bool TagLib_MPEG_File_save__SWIG_3(TagLib::MPEG::File *self,int tags, | |
| 2204 2199 | 
             
                delete file;
         | 
| 2205 2200 | 
             
              }
         | 
| 2206 2201 |  | 
| 2207 | 
            -
              static bool taglib_ruby_mpeg_file_save(TagLib::MPEG::File *file, int tags, bool stripOthers, int id3v2Version) {
         | 
| 2208 | 
            -
            #if defined(TAGLIB_MAJOR_VERSION) && (TAGLIB_MAJOR_VERSION > 1 || (TAGLIB_MAJOR_VERSION == 1 && TAGLIB_MINOR_VERSION >= 8))
         | 
| 2209 | 
            -
                return file->save(tags, stripOthers, id3v2Version);
         | 
| 2210 | 
            -
            #else
         | 
| 2211 | 
            -
                rb_raise(rb_eArgError, "Overloaded method save(int tags, bool stripOthers, int id3v2Version) on TagLib::MPEG::File is only available when compiled against TagLib >= 1.8");
         | 
| 2212 | 
            -
                return false;
         | 
| 2213 | 
            -
            #endif
         | 
| 2214 | 
            -
              }
         | 
| 2215 | 
            -
             | 
| 2216 2202 | 
             
            static swig_class SwigClassXingHeader;
         | 
| 2217 2203 |  | 
| 2218 2204 | 
             
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         | 
| @@ -2289,7 +2275,7 @@ _wrap_XingHeader_total_frames(int argc, VALUE *argv, VALUE self) { | |
| 2289 2275 | 
             
              TagLib::MPEG::XingHeader *arg1 = (TagLib::MPEG::XingHeader *) 0 ;
         | 
| 2290 2276 | 
             
              void *argp1 = 0 ;
         | 
| 2291 2277 | 
             
              int res1 = 0 ;
         | 
| 2292 | 
            -
               | 
| 2278 | 
            +
              unsigned int result;
         | 
| 2293 2279 | 
             
              VALUE vresult = Qnil;
         | 
| 2294 2280 |  | 
| 2295 2281 | 
             
              if ((argc < 0) || (argc > 0)) {
         | 
| @@ -2300,7 +2286,7 @@ _wrap_XingHeader_total_frames(int argc, VALUE *argv, VALUE self) { | |
| 2300 2286 | 
             
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::XingHeader const *","totalFrames", 1, self )); 
         | 
| 2301 2287 | 
             
              }
         | 
| 2302 2288 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::XingHeader * >(argp1);
         | 
| 2303 | 
            -
              result = ( | 
| 2289 | 
            +
              result = (unsigned int)((TagLib::MPEG::XingHeader const *)arg1)->totalFrames();
         | 
| 2304 2290 | 
             
              vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
         | 
| 2305 2291 | 
             
              return vresult;
         | 
| 2306 2292 | 
             
            fail:
         | 
| @@ -2313,7 +2299,7 @@ _wrap_XingHeader_total_size(int argc, VALUE *argv, VALUE self) { | |
| 2313 2299 | 
             
              TagLib::MPEG::XingHeader *arg1 = (TagLib::MPEG::XingHeader *) 0 ;
         | 
| 2314 2300 | 
             
              void *argp1 = 0 ;
         | 
| 2315 2301 | 
             
              int res1 = 0 ;
         | 
| 2316 | 
            -
               | 
| 2302 | 
            +
              unsigned int result;
         | 
| 2317 2303 | 
             
              VALUE vresult = Qnil;
         | 
| 2318 2304 |  | 
| 2319 2305 | 
             
              if ((argc < 0) || (argc > 0)) {
         | 
| @@ -2324,7 +2310,7 @@ _wrap_XingHeader_total_size(int argc, VALUE *argv, VALUE self) { | |
| 2324 2310 | 
             
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::XingHeader const *","totalSize", 1, self )); 
         | 
| 2325 2311 | 
             
              }
         | 
| 2326 2312 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::XingHeader * >(argp1);
         | 
| 2327 | 
            -
              result = ( | 
| 2313 | 
            +
              result = (unsigned int)((TagLib::MPEG::XingHeader const *)arg1)->totalSize();
         | 
| 2328 2314 | 
             
              vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
         | 
| 2329 2315 | 
             
              return vresult;
         | 
| 2330 2316 | 
             
            fail:
         | 
| @@ -2332,6 +2318,30 @@ fail: | |
| 2332 2318 | 
             
            }
         | 
| 2333 2319 |  | 
| 2334 2320 |  | 
| 2321 | 
            +
            SWIGINTERN VALUE
         | 
| 2322 | 
            +
            _wrap_XingHeader_type(int argc, VALUE *argv, VALUE self) {
         | 
| 2323 | 
            +
              TagLib::MPEG::XingHeader *arg1 = (TagLib::MPEG::XingHeader *) 0 ;
         | 
| 2324 | 
            +
              void *argp1 = 0 ;
         | 
| 2325 | 
            +
              int res1 = 0 ;
         | 
| 2326 | 
            +
              TagLib::MPEG::XingHeader::HeaderType result;
         | 
| 2327 | 
            +
              VALUE vresult = Qnil;
         | 
| 2328 | 
            +
              
         | 
| 2329 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 2330 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 2331 | 
            +
              }
         | 
| 2332 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__XingHeader, 0 |  0 );
         | 
| 2333 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 2334 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::XingHeader const *","type", 1, self )); 
         | 
| 2335 | 
            +
              }
         | 
| 2336 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::XingHeader * >(argp1);
         | 
| 2337 | 
            +
              result = (TagLib::MPEG::XingHeader::HeaderType)((TagLib::MPEG::XingHeader const *)arg1)->type();
         | 
| 2338 | 
            +
              vresult = SWIG_From_int(static_cast< int >(result));
         | 
| 2339 | 
            +
              return vresult;
         | 
| 2340 | 
            +
            fail:
         | 
| 2341 | 
            +
              return Qnil;
         | 
| 2342 | 
            +
            }
         | 
| 2343 | 
            +
             | 
| 2344 | 
            +
             | 
| 2335 2345 | 
             
            SWIGINTERN VALUE
         | 
| 2336 2346 | 
             
            _wrap_XingHeader_xing_header_offset(int argc, VALUE *argv, VALUE self) {
         | 
| 2337 2347 | 
             
              TagLib::MPEG::Header::Version arg1 ;
         | 
| @@ -2388,6 +2398,78 @@ fail: | |
| 2388 2398 | 
             
            }
         | 
| 2389 2399 |  | 
| 2390 2400 |  | 
| 2401 | 
            +
            SWIGINTERN VALUE
         | 
| 2402 | 
            +
            _wrap_new_Header__SWIG_1(int argc, VALUE *argv, VALUE self) {
         | 
| 2403 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 2404 | 
            +
              long arg2 ;
         | 
| 2405 | 
            +
              bool arg3 ;
         | 
| 2406 | 
            +
              void *argp1 = 0 ;
         | 
| 2407 | 
            +
              int res1 = 0 ;
         | 
| 2408 | 
            +
              long val2 ;
         | 
| 2409 | 
            +
              int ecode2 = 0 ;
         | 
| 2410 | 
            +
              bool val3 ;
         | 
| 2411 | 
            +
              int ecode3 = 0 ;
         | 
| 2412 | 
            +
              TagLib::MPEG::Header *result = 0 ;
         | 
| 2413 | 
            +
              
         | 
| 2414 | 
            +
              if ((argc < 3) || (argc > 3)) {
         | 
| 2415 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
         | 
| 2416 | 
            +
              }
         | 
| 2417 | 
            +
              res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 2418 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 2419 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","Header", 1, argv[0] )); 
         | 
| 2420 | 
            +
              }
         | 
| 2421 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 2422 | 
            +
              ecode2 = SWIG_AsVal_long(argv[1], &val2);
         | 
| 2423 | 
            +
              if (!SWIG_IsOK(ecode2)) {
         | 
| 2424 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "long","Header", 2, argv[1] ));
         | 
| 2425 | 
            +
              } 
         | 
| 2426 | 
            +
              arg2 = static_cast< long >(val2);
         | 
| 2427 | 
            +
              ecode3 = SWIG_AsVal_bool(argv[2], &val3);
         | 
| 2428 | 
            +
              if (!SWIG_IsOK(ecode3)) {
         | 
| 2429 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","Header", 3, argv[2] ));
         | 
| 2430 | 
            +
              } 
         | 
| 2431 | 
            +
              arg3 = static_cast< bool >(val3);
         | 
| 2432 | 
            +
              result = (TagLib::MPEG::Header *)new TagLib::MPEG::Header(arg1,arg2,arg3);
         | 
| 2433 | 
            +
              DATA_PTR(self) = result;
         | 
| 2434 | 
            +
              SWIG_RubyAddTracking(result, self);
         | 
| 2435 | 
            +
              return self;
         | 
| 2436 | 
            +
            fail:
         | 
| 2437 | 
            +
              return Qnil;
         | 
| 2438 | 
            +
            }
         | 
| 2439 | 
            +
             | 
| 2440 | 
            +
             | 
| 2441 | 
            +
            SWIGINTERN VALUE
         | 
| 2442 | 
            +
            _wrap_new_Header__SWIG_2(int argc, VALUE *argv, VALUE self) {
         | 
| 2443 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 2444 | 
            +
              long arg2 ;
         | 
| 2445 | 
            +
              void *argp1 = 0 ;
         | 
| 2446 | 
            +
              int res1 = 0 ;
         | 
| 2447 | 
            +
              long val2 ;
         | 
| 2448 | 
            +
              int ecode2 = 0 ;
         | 
| 2449 | 
            +
              TagLib::MPEG::Header *result = 0 ;
         | 
| 2450 | 
            +
              
         | 
| 2451 | 
            +
              if ((argc < 2) || (argc > 2)) {
         | 
| 2452 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
         | 
| 2453 | 
            +
              }
         | 
| 2454 | 
            +
              res1 = SWIG_ConvertPtr(argv[0], &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 2455 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 2456 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","Header", 1, argv[0] )); 
         | 
| 2457 | 
            +
              }
         | 
| 2458 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 2459 | 
            +
              ecode2 = SWIG_AsVal_long(argv[1], &val2);
         | 
| 2460 | 
            +
              if (!SWIG_IsOK(ecode2)) {
         | 
| 2461 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "long","Header", 2, argv[1] ));
         | 
| 2462 | 
            +
              } 
         | 
| 2463 | 
            +
              arg2 = static_cast< long >(val2);
         | 
| 2464 | 
            +
              result = (TagLib::MPEG::Header *)new TagLib::MPEG::Header(arg1,arg2);
         | 
| 2465 | 
            +
              DATA_PTR(self) = result;
         | 
| 2466 | 
            +
              SWIG_RubyAddTracking(result, self);
         | 
| 2467 | 
            +
              return self;
         | 
| 2468 | 
            +
            fail:
         | 
| 2469 | 
            +
              return Qnil;
         | 
| 2470 | 
            +
            }
         | 
| 2471 | 
            +
             | 
| 2472 | 
            +
             | 
| 2391 2473 | 
             
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         | 
| 2392 2474 | 
             
            SWIGINTERN VALUE
         | 
| 2393 2475 | 
             
            _wrap_Header_allocate(VALUE self) {
         | 
| @@ -2406,7 +2488,7 @@ _wrap_Header_allocate(VALUE self) { | |
| 2406 2488 |  | 
| 2407 2489 |  | 
| 2408 2490 | 
             
            SWIGINTERN VALUE
         | 
| 2409 | 
            -
             | 
| 2491 | 
            +
            _wrap_new_Header__SWIG_3(int argc, VALUE *argv, VALUE self) {
         | 
| 2410 2492 | 
             
              TagLib::MPEG::Header *arg1 = 0 ;
         | 
| 2411 2493 | 
             
              void *argp1 ;
         | 
| 2412 2494 | 
             
              int res1 = 0 ;
         | 
| @@ -2434,11 +2516,11 @@ fail: | |
| 2434 2516 |  | 
| 2435 2517 | 
             
            SWIGINTERN VALUE _wrap_new_Header(int nargs, VALUE *args, VALUE self) {
         | 
| 2436 2518 | 
             
              int argc;
         | 
| 2437 | 
            -
              VALUE argv[ | 
| 2519 | 
            +
              VALUE argv[3];
         | 
| 2438 2520 | 
             
              int ii;
         | 
| 2439 2521 |  | 
| 2440 2522 | 
             
              argc = nargs;
         | 
| 2441 | 
            -
              if (argc >  | 
| 2523 | 
            +
              if (argc > 3) SWIG_fail;
         | 
| 2442 2524 | 
             
              for (ii = 0; (ii < argc); ++ii) {
         | 
| 2443 2525 | 
             
                argv[ii] = args[ii];
         | 
| 2444 2526 | 
             
              }
         | 
| @@ -2448,7 +2530,7 @@ SWIGINTERN VALUE _wrap_new_Header(int nargs, VALUE *args, VALUE self) { | |
| 2448 2530 | 
             
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__Header, 0);
         | 
| 2449 2531 | 
             
                _v = SWIG_CheckState(res);
         | 
| 2450 2532 | 
             
                if (_v) {
         | 
| 2451 | 
            -
                  return  | 
| 2533 | 
            +
                  return _wrap_new_Header__SWIG_3(nargs, args, self);
         | 
| 2452 2534 | 
             
                }
         | 
| 2453 2535 | 
             
              }
         | 
| 2454 2536 | 
             
              if (argc == 1) {
         | 
| @@ -2459,10 +2541,48 @@ SWIGINTERN VALUE _wrap_new_Header(int nargs, VALUE *args, VALUE self) { | |
| 2459 2541 | 
             
                  return _wrap_new_Header__SWIG_0(nargs, args, self);
         | 
| 2460 2542 | 
             
                }
         | 
| 2461 2543 | 
             
              }
         | 
| 2544 | 
            +
              if (argc == 2) {
         | 
| 2545 | 
            +
                int _v;
         | 
| 2546 | 
            +
                void *vptr = 0;
         | 
| 2547 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 2548 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 2549 | 
            +
                if (_v) {
         | 
| 2550 | 
            +
                  {
         | 
| 2551 | 
            +
                    int res = SWIG_AsVal_long(argv[1], NULL);
         | 
| 2552 | 
            +
                    _v = SWIG_CheckState(res);
         | 
| 2553 | 
            +
                  }
         | 
| 2554 | 
            +
                  if (_v) {
         | 
| 2555 | 
            +
                    return _wrap_new_Header__SWIG_2(nargs, args, self);
         | 
| 2556 | 
            +
                  }
         | 
| 2557 | 
            +
                }
         | 
| 2558 | 
            +
              }
         | 
| 2559 | 
            +
              if (argc == 3) {
         | 
| 2560 | 
            +
                int _v;
         | 
| 2561 | 
            +
                void *vptr = 0;
         | 
| 2562 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 2563 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 2564 | 
            +
                if (_v) {
         | 
| 2565 | 
            +
                  {
         | 
| 2566 | 
            +
                    int res = SWIG_AsVal_long(argv[1], NULL);
         | 
| 2567 | 
            +
                    _v = SWIG_CheckState(res);
         | 
| 2568 | 
            +
                  }
         | 
| 2569 | 
            +
                  if (_v) {
         | 
| 2570 | 
            +
                    {
         | 
| 2571 | 
            +
                      int res = SWIG_AsVal_bool(argv[2], NULL);
         | 
| 2572 | 
            +
                      _v = SWIG_CheckState(res);
         | 
| 2573 | 
            +
                    }
         | 
| 2574 | 
            +
                    if (_v) {
         | 
| 2575 | 
            +
                      return _wrap_new_Header__SWIG_1(nargs, args, self);
         | 
| 2576 | 
            +
                    }
         | 
| 2577 | 
            +
                  }
         | 
| 2578 | 
            +
                }
         | 
| 2579 | 
            +
              }
         | 
| 2462 2580 |  | 
| 2463 2581 | 
             
            fail:
         | 
| 2464 | 
            -
              Ruby_Format_OverloadedError( argc,  | 
| 2582 | 
            +
              Ruby_Format_OverloadedError( argc, 3, "Header.new", 
         | 
| 2465 2583 | 
             
                "    Header.new(TagLib::ByteVector const &data)\n"
         | 
| 2584 | 
            +
                "    Header.new(TagLib::MPEG::File *file, long offset, bool checkLength)\n"
         | 
| 2585 | 
            +
                "    Header.new(TagLib::MPEG::File *file, long offset)\n"
         | 
| 2466 2586 | 
             
                "    Header.new(TagLib::MPEG::Header const &h)\n");
         | 
| 2467 2587 |  | 
| 2468 2588 | 
             
              return Qnil;
         | 
| @@ -2889,7 +3009,31 @@ free_TagLib_MPEG_Properties(TagLib::MPEG::Properties *arg1) { | |
| 2889 3009 | 
             
            }
         | 
| 2890 3010 |  | 
| 2891 3011 | 
             
            SWIGINTERN VALUE
         | 
| 2892 | 
            -
             | 
| 3012 | 
            +
            _wrap_Properties_length_in_seconds(int argc, VALUE *argv, VALUE self) {
         | 
| 3013 | 
            +
              TagLib::MPEG::Properties *arg1 = (TagLib::MPEG::Properties *) 0 ;
         | 
| 3014 | 
            +
              void *argp1 = 0 ;
         | 
| 3015 | 
            +
              int res1 = 0 ;
         | 
| 3016 | 
            +
              int result;
         | 
| 3017 | 
            +
              VALUE vresult = Qnil;
         | 
| 3018 | 
            +
              
         | 
| 3019 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 3020 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 3021 | 
            +
              }
         | 
| 3022 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__Properties, 0 |  0 );
         | 
| 3023 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 3024 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::Properties const *","lengthInSeconds", 1, self )); 
         | 
| 3025 | 
            +
              }
         | 
| 3026 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::Properties * >(argp1);
         | 
| 3027 | 
            +
              result = (int)((TagLib::MPEG::Properties const *)arg1)->lengthInSeconds();
         | 
| 3028 | 
            +
              vresult = SWIG_From_int(static_cast< int >(result));
         | 
| 3029 | 
            +
              return vresult;
         | 
| 3030 | 
            +
            fail:
         | 
| 3031 | 
            +
              return Qnil;
         | 
| 3032 | 
            +
            }
         | 
| 3033 | 
            +
             | 
| 3034 | 
            +
             | 
| 3035 | 
            +
            SWIGINTERN VALUE
         | 
| 3036 | 
            +
            _wrap_Properties_length_in_milliseconds(int argc, VALUE *argv, VALUE self) {
         | 
| 2893 3037 | 
             
              TagLib::MPEG::Properties *arg1 = (TagLib::MPEG::Properties *) 0 ;
         | 
| 2894 3038 | 
             
              void *argp1 = 0 ;
         | 
| 2895 3039 | 
             
              int res1 = 0 ;
         | 
| @@ -2901,10 +3045,10 @@ _wrap_Properties_length(int argc, VALUE *argv, VALUE self) { | |
| 2901 3045 | 
             
              }
         | 
| 2902 3046 | 
             
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__Properties, 0 |  0 );
         | 
| 2903 3047 | 
             
              if (!SWIG_IsOK(res1)) {
         | 
| 2904 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::Properties const *"," | 
| 3048 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::Properties const *","lengthInMilliseconds", 1, self )); 
         | 
| 2905 3049 | 
             
              }
         | 
| 2906 3050 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::Properties * >(argp1);
         | 
| 2907 | 
            -
              result = (int)((TagLib::MPEG::Properties const *)arg1)-> | 
| 3051 | 
            +
              result = (int)((TagLib::MPEG::Properties const *)arg1)->lengthInMilliseconds();
         | 
| 2908 3052 | 
             
              vresult = SWIG_From_int(static_cast< int >(result));
         | 
| 2909 3053 | 
             
              return vresult;
         | 
| 2910 3054 | 
             
            fail:
         | 
| @@ -3156,7 +3300,7 @@ static swig_class SwigClassFile; | |
| 3156 3300 |  | 
| 3157 3301 | 
             
            SWIGINTERN VALUE
         | 
| 3158 3302 | 
             
            _wrap_new_File__SWIG_0(int argc, VALUE *argv, VALUE self) {
         | 
| 3159 | 
            -
               | 
| 3303 | 
            +
              TagLib::FileName arg1 ;
         | 
| 3160 3304 | 
             
              bool arg2 ;
         | 
| 3161 3305 | 
             
              TagLib::MPEG::Properties::ReadStyle arg3 ;
         | 
| 3162 3306 | 
             
              bool val2 ;
         | 
| @@ -3195,7 +3339,7 @@ fail: | |
| 3195 3339 |  | 
| 3196 3340 | 
             
            SWIGINTERN VALUE
         | 
| 3197 3341 | 
             
            _wrap_new_File__SWIG_1(int argc, VALUE *argv, VALUE self) {
         | 
| 3198 | 
            -
               | 
| 3342 | 
            +
              TagLib::FileName arg1 ;
         | 
| 3199 3343 | 
             
              bool arg2 ;
         | 
| 3200 3344 | 
             
              bool val2 ;
         | 
| 3201 3345 | 
             
              int ecode2 = 0 ;
         | 
| @@ -3226,7 +3370,7 @@ fail: | |
| 3226 3370 |  | 
| 3227 3371 | 
             
            SWIGINTERN VALUE
         | 
| 3228 3372 | 
             
            _wrap_new_File__SWIG_2(int argc, VALUE *argv, VALUE self) {
         | 
| 3229 | 
            -
               | 
| 3373 | 
            +
              TagLib::FileName arg1 ;
         | 
| 3230 3374 | 
             
              TagLib::MPEG::File *result = 0 ;
         | 
| 3231 3375 |  | 
| 3232 3376 | 
             
              if ((argc < 1) || (argc > 1)) {
         | 
| @@ -3249,7 +3393,7 @@ fail: | |
| 3249 3393 |  | 
| 3250 3394 | 
             
            SWIGINTERN VALUE
         | 
| 3251 3395 | 
             
            _wrap_new_File__SWIG_3(int argc, VALUE *argv, VALUE self) {
         | 
| 3252 | 
            -
               | 
| 3396 | 
            +
              TagLib::FileName arg1 ;
         | 
| 3253 3397 | 
             
              TagLib::ID3v2::FrameFactory *arg2 = (TagLib::ID3v2::FrameFactory *) 0 ;
         | 
| 3254 3398 | 
             
              bool arg3 ;
         | 
| 3255 3399 | 
             
              TagLib::MPEG::Properties::ReadStyle arg4 ;
         | 
| @@ -3296,7 +3440,7 @@ fail: | |
| 3296 3440 |  | 
| 3297 3441 | 
             
            SWIGINTERN VALUE
         | 
| 3298 3442 | 
             
            _wrap_new_File__SWIG_4(int argc, VALUE *argv, VALUE self) {
         | 
| 3299 | 
            -
               | 
| 3443 | 
            +
              TagLib::FileName arg1 ;
         | 
| 3300 3444 | 
             
              TagLib::ID3v2::FrameFactory *arg2 = (TagLib::ID3v2::FrameFactory *) 0 ;
         | 
| 3301 3445 | 
             
              bool arg3 ;
         | 
| 3302 3446 | 
             
              void *argp2 = 0 ;
         | 
| @@ -3352,7 +3496,7 @@ _wrap_File_allocate(VALUE self) { | |
| 3352 3496 |  | 
| 3353 3497 | 
             
            SWIGINTERN VALUE
         | 
| 3354 3498 | 
             
            _wrap_new_File__SWIG_5(int argc, VALUE *argv, VALUE self) {
         | 
| 3355 | 
            -
               | 
| 3499 | 
            +
              TagLib::FileName arg1 ;
         | 
| 3356 3500 | 
             
              TagLib::ID3v2::FrameFactory *arg2 = (TagLib::ID3v2::FrameFactory *) 0 ;
         | 
| 3357 3501 | 
             
              void *argp2 = 0 ;
         | 
| 3358 3502 | 
             
              int res2 = 0 ;
         | 
| @@ -3649,31 +3793,47 @@ fail: | |
| 3649 3793 |  | 
| 3650 3794 |  | 
| 3651 3795 | 
             
            SWIGINTERN VALUE
         | 
| 3652 | 
            -
             | 
| 3796 | 
            +
            _wrap_File_save__SWIG_3(int argc, VALUE *argv, VALUE self) {
         | 
| 3653 3797 | 
             
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 3654 | 
            -
               | 
| 3798 | 
            +
              int arg2 ;
         | 
| 3799 | 
            +
              bool arg3 ;
         | 
| 3800 | 
            +
              int arg4 ;
         | 
| 3655 3801 | 
             
              void *argp1 = 0 ;
         | 
| 3656 3802 | 
             
              int res1 = 0 ;
         | 
| 3657 | 
            -
               | 
| 3803 | 
            +
              int val2 ;
         | 
| 3658 3804 | 
             
              int ecode2 = 0 ;
         | 
| 3659 | 
            -
               | 
| 3805 | 
            +
              bool val3 ;
         | 
| 3806 | 
            +
              int ecode3 = 0 ;
         | 
| 3807 | 
            +
              int val4 ;
         | 
| 3808 | 
            +
              int ecode4 = 0 ;
         | 
| 3809 | 
            +
              bool result;
         | 
| 3660 3810 | 
             
              VALUE vresult = Qnil;
         | 
| 3661 3811 |  | 
| 3662 | 
            -
              if ((argc <  | 
| 3663 | 
            -
                rb_raise(rb_eArgError, "wrong # of arguments(%d for  | 
| 3812 | 
            +
              if ((argc < 3) || (argc > 3)) {
         | 
| 3813 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail;
         | 
| 3664 3814 | 
             
              }
         | 
| 3665 3815 | 
             
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 3666 3816 | 
             
              if (!SWIG_IsOK(res1)) {
         | 
| 3667 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *"," | 
| 3817 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","save", 1, self )); 
         | 
| 3668 3818 | 
             
              }
         | 
| 3669 3819 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 3670 | 
            -
              ecode2 =  | 
| 3820 | 
            +
              ecode2 = SWIG_AsVal_int(argv[0], &val2);
         | 
| 3671 3821 | 
             
              if (!SWIG_IsOK(ecode2)) {
         | 
| 3672 | 
            -
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", " | 
| 3822 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","save", 2, argv[0] ));
         | 
| 3673 3823 | 
             
              } 
         | 
| 3674 | 
            -
              arg2 = static_cast<  | 
| 3675 | 
            -
               | 
| 3676 | 
            -
               | 
| 3824 | 
            +
              arg2 = static_cast< int >(val2);
         | 
| 3825 | 
            +
              ecode3 = SWIG_AsVal_bool(argv[1], &val3);
         | 
| 3826 | 
            +
              if (!SWIG_IsOK(ecode3)) {
         | 
| 3827 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","save", 3, argv[1] ));
         | 
| 3828 | 
            +
              } 
         | 
| 3829 | 
            +
              arg3 = static_cast< bool >(val3);
         | 
| 3830 | 
            +
              ecode4 = SWIG_AsVal_int(argv[2], &val4);
         | 
| 3831 | 
            +
              if (!SWIG_IsOK(ecode4)) {
         | 
| 3832 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "int","save", 4, argv[2] ));
         | 
| 3833 | 
            +
              } 
         | 
| 3834 | 
            +
              arg4 = static_cast< int >(val4);
         | 
| 3835 | 
            +
              result = (bool)(arg1)->save(arg2,arg3,arg4);
         | 
| 3836 | 
            +
              vresult = SWIG_From_bool(static_cast< bool >(result));
         | 
| 3677 3837 | 
             
              return vresult;
         | 
| 3678 3838 | 
             
            fail:
         | 
| 3679 3839 | 
             
              return Qnil;
         | 
| @@ -3681,36 +3841,253 @@ fail: | |
| 3681 3841 |  | 
| 3682 3842 |  | 
| 3683 3843 | 
             
            SWIGINTERN VALUE
         | 
| 3684 | 
            -
             | 
| 3844 | 
            +
            _wrap_File_save__SWIG_4(int argc, VALUE *argv, VALUE self) {
         | 
| 3685 3845 | 
             
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 3846 | 
            +
              int arg2 ;
         | 
| 3847 | 
            +
              bool arg3 ;
         | 
| 3848 | 
            +
              int arg4 ;
         | 
| 3849 | 
            +
              bool arg5 ;
         | 
| 3686 3850 | 
             
              void *argp1 = 0 ;
         | 
| 3687 3851 | 
             
              int res1 = 0 ;
         | 
| 3688 | 
            -
               | 
| 3852 | 
            +
              int val2 ;
         | 
| 3853 | 
            +
              int ecode2 = 0 ;
         | 
| 3854 | 
            +
              bool val3 ;
         | 
| 3855 | 
            +
              int ecode3 = 0 ;
         | 
| 3856 | 
            +
              int val4 ;
         | 
| 3857 | 
            +
              int ecode4 = 0 ;
         | 
| 3858 | 
            +
              bool val5 ;
         | 
| 3859 | 
            +
              int ecode5 = 0 ;
         | 
| 3860 | 
            +
              bool result;
         | 
| 3689 3861 | 
             
              VALUE vresult = Qnil;
         | 
| 3690 3862 |  | 
| 3691 | 
            -
              if ((argc <  | 
| 3692 | 
            -
                rb_raise(rb_eArgError, "wrong # of arguments(%d for  | 
| 3863 | 
            +
              if ((argc < 4) || (argc > 4)) {
         | 
| 3864 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 4)",argc); SWIG_fail;
         | 
| 3693 3865 | 
             
              }
         | 
| 3694 3866 | 
             
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 3695 3867 | 
             
              if (!SWIG_IsOK(res1)) {
         | 
| 3696 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *"," | 
| 3868 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","save", 1, self )); 
         | 
| 3697 3869 | 
             
              }
         | 
| 3698 3870 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 3699 | 
            -
               | 
| 3700 | 
            -
               | 
| 3701 | 
            -
             | 
| 3702 | 
            -
             | 
| 3703 | 
            -
               | 
| 3704 | 
            -
             | 
| 3705 | 
            -
             | 
| 3706 | 
            -
             | 
| 3707 | 
            -
             | 
| 3708 | 
            -
               | 
| 3709 | 
            -
               | 
| 3710 | 
            -
               | 
| 3711 | 
            -
             | 
| 3712 | 
            -
               | 
| 3713 | 
            -
               | 
| 3871 | 
            +
              ecode2 = SWIG_AsVal_int(argv[0], &val2);
         | 
| 3872 | 
            +
              if (!SWIG_IsOK(ecode2)) {
         | 
| 3873 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","save", 2, argv[0] ));
         | 
| 3874 | 
            +
              } 
         | 
| 3875 | 
            +
              arg2 = static_cast< int >(val2);
         | 
| 3876 | 
            +
              ecode3 = SWIG_AsVal_bool(argv[1], &val3);
         | 
| 3877 | 
            +
              if (!SWIG_IsOK(ecode3)) {
         | 
| 3878 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","save", 3, argv[1] ));
         | 
| 3879 | 
            +
              } 
         | 
| 3880 | 
            +
              arg3 = static_cast< bool >(val3);
         | 
| 3881 | 
            +
              ecode4 = SWIG_AsVal_int(argv[2], &val4);
         | 
| 3882 | 
            +
              if (!SWIG_IsOK(ecode4)) {
         | 
| 3883 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "int","save", 4, argv[2] ));
         | 
| 3884 | 
            +
              } 
         | 
| 3885 | 
            +
              arg4 = static_cast< int >(val4);
         | 
| 3886 | 
            +
              ecode5 = SWIG_AsVal_bool(argv[3], &val5);
         | 
| 3887 | 
            +
              if (!SWIG_IsOK(ecode5)) {
         | 
| 3888 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode5), Ruby_Format_TypeError( "", "bool","save", 5, argv[3] ));
         | 
| 3889 | 
            +
              } 
         | 
| 3890 | 
            +
              arg5 = static_cast< bool >(val5);
         | 
| 3891 | 
            +
              result = (bool)(arg1)->save(arg2,arg3,arg4,arg5);
         | 
| 3892 | 
            +
              vresult = SWIG_From_bool(static_cast< bool >(result));
         | 
| 3893 | 
            +
              return vresult;
         | 
| 3894 | 
            +
            fail:
         | 
| 3895 | 
            +
              return Qnil;
         | 
| 3896 | 
            +
            }
         | 
| 3897 | 
            +
             | 
| 3898 | 
            +
             | 
| 3899 | 
            +
            SWIGINTERN VALUE _wrap_File_save(int nargs, VALUE *args, VALUE self) {
         | 
| 3900 | 
            +
              int argc;
         | 
| 3901 | 
            +
              VALUE argv[6];
         | 
| 3902 | 
            +
              int ii;
         | 
| 3903 | 
            +
              
         | 
| 3904 | 
            +
              argc = nargs + 1;
         | 
| 3905 | 
            +
              argv[0] = self;
         | 
| 3906 | 
            +
              if (argc > 6) SWIG_fail;
         | 
| 3907 | 
            +
              for (ii = 1; (ii < argc); ++ii) {
         | 
| 3908 | 
            +
                argv[ii] = args[ii-1];
         | 
| 3909 | 
            +
              }
         | 
| 3910 | 
            +
              if (argc == 1) {
         | 
| 3911 | 
            +
                int _v;
         | 
| 3912 | 
            +
                void *vptr = 0;
         | 
| 3913 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 3914 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 3915 | 
            +
                if (_v) {
         | 
| 3916 | 
            +
                  return _wrap_File_save__SWIG_0(nargs, args, self);
         | 
| 3917 | 
            +
                }
         | 
| 3918 | 
            +
              }
         | 
| 3919 | 
            +
              if (argc == 2) {
         | 
| 3920 | 
            +
                int _v;
         | 
| 3921 | 
            +
                void *vptr = 0;
         | 
| 3922 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 3923 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 3924 | 
            +
                if (_v) {
         | 
| 3925 | 
            +
                  {
         | 
| 3926 | 
            +
                    int res = SWIG_AsVal_int(argv[1], NULL);
         | 
| 3927 | 
            +
                    _v = SWIG_CheckState(res);
         | 
| 3928 | 
            +
                  }
         | 
| 3929 | 
            +
                  if (_v) {
         | 
| 3930 | 
            +
                    return _wrap_File_save__SWIG_1(nargs, args, self);
         | 
| 3931 | 
            +
                  }
         | 
| 3932 | 
            +
                }
         | 
| 3933 | 
            +
              }
         | 
| 3934 | 
            +
              if (argc == 3) {
         | 
| 3935 | 
            +
                int _v;
         | 
| 3936 | 
            +
                void *vptr = 0;
         | 
| 3937 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 3938 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 3939 | 
            +
                if (_v) {
         | 
| 3940 | 
            +
                  {
         | 
| 3941 | 
            +
                    int res = SWIG_AsVal_int(argv[1], NULL);
         | 
| 3942 | 
            +
                    _v = SWIG_CheckState(res);
         | 
| 3943 | 
            +
                  }
         | 
| 3944 | 
            +
                  if (_v) {
         | 
| 3945 | 
            +
                    {
         | 
| 3946 | 
            +
                      int res = SWIG_AsVal_bool(argv[2], NULL);
         | 
| 3947 | 
            +
                      _v = SWIG_CheckState(res);
         | 
| 3948 | 
            +
                    }
         | 
| 3949 | 
            +
                    if (_v) {
         | 
| 3950 | 
            +
                      return _wrap_File_save__SWIG_2(nargs, args, self);
         | 
| 3951 | 
            +
                    }
         | 
| 3952 | 
            +
                  }
         | 
| 3953 | 
            +
                }
         | 
| 3954 | 
            +
              }
         | 
| 3955 | 
            +
              if (argc == 4) {
         | 
| 3956 | 
            +
                int _v;
         | 
| 3957 | 
            +
                void *vptr = 0;
         | 
| 3958 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 3959 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 3960 | 
            +
                if (_v) {
         | 
| 3961 | 
            +
                  {
         | 
| 3962 | 
            +
                    int res = SWIG_AsVal_int(argv[1], NULL);
         | 
| 3963 | 
            +
                    _v = SWIG_CheckState(res);
         | 
| 3964 | 
            +
                  }
         | 
| 3965 | 
            +
                  if (_v) {
         | 
| 3966 | 
            +
                    {
         | 
| 3967 | 
            +
                      int res = SWIG_AsVal_bool(argv[2], NULL);
         | 
| 3968 | 
            +
                      _v = SWIG_CheckState(res);
         | 
| 3969 | 
            +
                    }
         | 
| 3970 | 
            +
                    if (_v) {
         | 
| 3971 | 
            +
                      {
         | 
| 3972 | 
            +
                        int res = SWIG_AsVal_int(argv[3], NULL);
         | 
| 3973 | 
            +
                        _v = SWIG_CheckState(res);
         | 
| 3974 | 
            +
                      }
         | 
| 3975 | 
            +
                      if (_v) {
         | 
| 3976 | 
            +
                        return _wrap_File_save__SWIG_3(nargs, args, self);
         | 
| 3977 | 
            +
                      }
         | 
| 3978 | 
            +
                    }
         | 
| 3979 | 
            +
                  }
         | 
| 3980 | 
            +
                }
         | 
| 3981 | 
            +
              }
         | 
| 3982 | 
            +
              if (argc == 5) {
         | 
| 3983 | 
            +
                int _v;
         | 
| 3984 | 
            +
                void *vptr = 0;
         | 
| 3985 | 
            +
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 3986 | 
            +
                _v = SWIG_CheckState(res);
         | 
| 3987 | 
            +
                if (_v) {
         | 
| 3988 | 
            +
                  {
         | 
| 3989 | 
            +
                    int res = SWIG_AsVal_int(argv[1], NULL);
         | 
| 3990 | 
            +
                    _v = SWIG_CheckState(res);
         | 
| 3991 | 
            +
                  }
         | 
| 3992 | 
            +
                  if (_v) {
         | 
| 3993 | 
            +
                    {
         | 
| 3994 | 
            +
                      int res = SWIG_AsVal_bool(argv[2], NULL);
         | 
| 3995 | 
            +
                      _v = SWIG_CheckState(res);
         | 
| 3996 | 
            +
                    }
         | 
| 3997 | 
            +
                    if (_v) {
         | 
| 3998 | 
            +
                      {
         | 
| 3999 | 
            +
                        int res = SWIG_AsVal_int(argv[3], NULL);
         | 
| 4000 | 
            +
                        _v = SWIG_CheckState(res);
         | 
| 4001 | 
            +
                      }
         | 
| 4002 | 
            +
                      if (_v) {
         | 
| 4003 | 
            +
                        {
         | 
| 4004 | 
            +
                          int res = SWIG_AsVal_bool(argv[4], NULL);
         | 
| 4005 | 
            +
                          _v = SWIG_CheckState(res);
         | 
| 4006 | 
            +
                        }
         | 
| 4007 | 
            +
                        if (_v) {
         | 
| 4008 | 
            +
                          return _wrap_File_save__SWIG_4(nargs, args, self);
         | 
| 4009 | 
            +
                        }
         | 
| 4010 | 
            +
                      }
         | 
| 4011 | 
            +
                    }
         | 
| 4012 | 
            +
                  }
         | 
| 4013 | 
            +
                }
         | 
| 4014 | 
            +
              }
         | 
| 4015 | 
            +
              
         | 
| 4016 | 
            +
            fail:
         | 
| 4017 | 
            +
              Ruby_Format_OverloadedError( argc, 6, "File.save", 
         | 
| 4018 | 
            +
                "    bool File.save()\n"
         | 
| 4019 | 
            +
                "    bool File.save(int tags)\n"
         | 
| 4020 | 
            +
                "    bool File.save(int tags, bool stripOthers)\n"
         | 
| 4021 | 
            +
                "    bool File.save(int tags, bool stripOthers, int id3v2Version)\n"
         | 
| 4022 | 
            +
                "    bool File.save(int tags, bool stripOthers, int id3v2Version, bool duplicateTags)\n");
         | 
| 4023 | 
            +
              
         | 
| 4024 | 
            +
              return Qnil;
         | 
| 4025 | 
            +
            }
         | 
| 4026 | 
            +
             | 
| 4027 | 
            +
             | 
| 4028 | 
            +
            SWIGINTERN VALUE
         | 
| 4029 | 
            +
            _wrap_File_id3v2_tag__SWIG_0(int argc, VALUE *argv, VALUE self) {
         | 
| 4030 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4031 | 
            +
              bool arg2 ;
         | 
| 4032 | 
            +
              void *argp1 = 0 ;
         | 
| 4033 | 
            +
              int res1 = 0 ;
         | 
| 4034 | 
            +
              bool val2 ;
         | 
| 4035 | 
            +
              int ecode2 = 0 ;
         | 
| 4036 | 
            +
              TagLib::ID3v2::Tag *result = 0 ;
         | 
| 4037 | 
            +
              VALUE vresult = Qnil;
         | 
| 4038 | 
            +
              
         | 
| 4039 | 
            +
              if ((argc < 1) || (argc > 1)) {
         | 
| 4040 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
         | 
| 4041 | 
            +
              }
         | 
| 4042 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4043 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 4044 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","ID3v2Tag", 1, self )); 
         | 
| 4045 | 
            +
              }
         | 
| 4046 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4047 | 
            +
              ecode2 = SWIG_AsVal_bool(argv[0], &val2);
         | 
| 4048 | 
            +
              if (!SWIG_IsOK(ecode2)) {
         | 
| 4049 | 
            +
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "bool","ID3v2Tag", 2, argv[0] ));
         | 
| 4050 | 
            +
              } 
         | 
| 4051 | 
            +
              arg2 = static_cast< bool >(val2);
         | 
| 4052 | 
            +
              result = (TagLib::ID3v2::Tag *)(arg1)->ID3v2Tag(arg2);
         | 
| 4053 | 
            +
              vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__ID3v2__Tag, 0 |  0 );
         | 
| 4054 | 
            +
              return vresult;
         | 
| 4055 | 
            +
            fail:
         | 
| 4056 | 
            +
              return Qnil;
         | 
| 4057 | 
            +
            }
         | 
| 4058 | 
            +
             | 
| 4059 | 
            +
             | 
| 4060 | 
            +
            SWIGINTERN VALUE
         | 
| 4061 | 
            +
            _wrap_File_id3v2_tag__SWIG_1(int argc, VALUE *argv, VALUE self) {
         | 
| 4062 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4063 | 
            +
              void *argp1 = 0 ;
         | 
| 4064 | 
            +
              int res1 = 0 ;
         | 
| 4065 | 
            +
              TagLib::ID3v2::Tag *result = 0 ;
         | 
| 4066 | 
            +
              VALUE vresult = Qnil;
         | 
| 4067 | 
            +
              
         | 
| 4068 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 4069 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 4070 | 
            +
              }
         | 
| 4071 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4072 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 4073 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","ID3v2Tag", 1, self )); 
         | 
| 4074 | 
            +
              }
         | 
| 4075 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4076 | 
            +
              result = (TagLib::ID3v2::Tag *)(arg1)->ID3v2Tag();
         | 
| 4077 | 
            +
              vresult = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_TagLib__ID3v2__Tag, 0 |  0 );
         | 
| 4078 | 
            +
              return vresult;
         | 
| 4079 | 
            +
            fail:
         | 
| 4080 | 
            +
              return Qnil;
         | 
| 4081 | 
            +
            }
         | 
| 4082 | 
            +
             | 
| 4083 | 
            +
             | 
| 4084 | 
            +
            SWIGINTERN VALUE _wrap_File_id3v2_tag(int nargs, VALUE *args, VALUE self) {
         | 
| 4085 | 
            +
              int argc;
         | 
| 4086 | 
            +
              VALUE argv[3];
         | 
| 4087 | 
            +
              int ii;
         | 
| 4088 | 
            +
              
         | 
| 4089 | 
            +
              argc = nargs + 1;
         | 
| 4090 | 
            +
              argv[0] = self;
         | 
| 3714 4091 | 
             
              if (argc > 3) SWIG_fail;
         | 
| 3715 4092 | 
             
              for (ii = 1; (ii < argc); ++ii) {
         | 
| 3716 4093 | 
             
                argv[ii] = args[ii-1];
         | 
| @@ -4256,67 +4633,46 @@ fail: | |
| 4256 4633 |  | 
| 4257 4634 |  | 
| 4258 4635 | 
             
            SWIGINTERN VALUE
         | 
| 4259 | 
            -
             | 
| 4636 | 
            +
            _wrap_File_id3v1_tagq___(int argc, VALUE *argv, VALUE self) {
         | 
| 4260 4637 | 
             
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4261 4638 | 
             
              void *argp1 = 0 ;
         | 
| 4262 4639 | 
             
              int res1 = 0 ;
         | 
| 4640 | 
            +
              bool result;
         | 
| 4641 | 
            +
              VALUE vresult = Qnil;
         | 
| 4263 4642 |  | 
| 4264 4643 | 
             
              if ((argc < 0) || (argc > 0)) {
         | 
| 4265 4644 | 
             
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 4266 4645 | 
             
              }
         | 
| 4267 4646 | 
             
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4268 4647 | 
             
              if (!SWIG_IsOK(res1)) {
         | 
| 4269 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *"," | 
| 4648 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File const *","hasID3v1Tag", 1, self )); 
         | 
| 4270 4649 | 
             
              }
         | 
| 4271 4650 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4272 | 
            -
               | 
| 4273 | 
            -
               | 
| 4651 | 
            +
              result = (bool)((TagLib::MPEG::File const *)arg1)->hasID3v1Tag();
         | 
| 4652 | 
            +
              vresult = SWIG_From_bool(static_cast< bool >(result));
         | 
| 4653 | 
            +
              return vresult;
         | 
| 4274 4654 | 
             
            fail:
         | 
| 4275 4655 | 
             
              return Qnil;
         | 
| 4276 4656 | 
             
            }
         | 
| 4277 4657 |  | 
| 4278 4658 |  | 
| 4279 4659 | 
             
            SWIGINTERN VALUE
         | 
| 4280 | 
            -
             | 
| 4660 | 
            +
            _wrap_File_id3v2_tagq___(int argc, VALUE *argv, VALUE self) {
         | 
| 4281 4661 | 
             
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4282 | 
            -
              int arg2 ;
         | 
| 4283 | 
            -
              bool arg3 ;
         | 
| 4284 | 
            -
              int arg4 ;
         | 
| 4285 4662 | 
             
              void *argp1 = 0 ;
         | 
| 4286 4663 | 
             
              int res1 = 0 ;
         | 
| 4287 | 
            -
              int val2 ;
         | 
| 4288 | 
            -
              int ecode2 = 0 ;
         | 
| 4289 | 
            -
              bool val3 ;
         | 
| 4290 | 
            -
              int ecode3 = 0 ;
         | 
| 4291 | 
            -
              int val4 ;
         | 
| 4292 | 
            -
              int ecode4 = 0 ;
         | 
| 4293 4664 | 
             
              bool result;
         | 
| 4294 4665 | 
             
              VALUE vresult = Qnil;
         | 
| 4295 4666 |  | 
| 4296 | 
            -
              if ((argc <  | 
| 4297 | 
            -
                rb_raise(rb_eArgError, "wrong # of arguments(%d for  | 
| 4667 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 4668 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 4298 4669 | 
             
              }
         | 
| 4299 4670 | 
             
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4300 4671 | 
             
              if (!SWIG_IsOK(res1)) {
         | 
| 4301 | 
            -
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *"," | 
| 4672 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File const *","hasID3v2Tag", 1, self )); 
         | 
| 4302 4673 | 
             
              }
         | 
| 4303 4674 | 
             
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4304 | 
            -
               | 
| 4305 | 
            -
              if (!SWIG_IsOK(ecode2)) {
         | 
| 4306 | 
            -
                SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "int","save", 2, argv[0] ));
         | 
| 4307 | 
            -
              } 
         | 
| 4308 | 
            -
              arg2 = static_cast< int >(val2);
         | 
| 4309 | 
            -
              ecode3 = SWIG_AsVal_bool(argv[1], &val3);
         | 
| 4310 | 
            -
              if (!SWIG_IsOK(ecode3)) {
         | 
| 4311 | 
            -
                SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","save", 3, argv[1] ));
         | 
| 4312 | 
            -
              } 
         | 
| 4313 | 
            -
              arg3 = static_cast< bool >(val3);
         | 
| 4314 | 
            -
              ecode4 = SWIG_AsVal_int(argv[2], &val4);
         | 
| 4315 | 
            -
              if (!SWIG_IsOK(ecode4)) {
         | 
| 4316 | 
            -
                SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "int","save", 4, argv[2] ));
         | 
| 4317 | 
            -
              } 
         | 
| 4318 | 
            -
              arg4 = static_cast< int >(val4);
         | 
| 4319 | 
            -
              result = (bool)TagLib_MPEG_File_save__SWIG_3(arg1,arg2,arg3,arg4);
         | 
| 4675 | 
            +
              result = (bool)((TagLib::MPEG::File const *)arg1)->hasID3v2Tag();
         | 
| 4320 4676 | 
             
              vresult = SWIG_From_bool(static_cast< bool >(result));
         | 
| 4321 4677 | 
             
              return vresult;
         | 
| 4322 4678 | 
             
            fail:
         | 
| @@ -4324,97 +4680,47 @@ fail: | |
| 4324 4680 | 
             
            }
         | 
| 4325 4681 |  | 
| 4326 4682 |  | 
| 4327 | 
            -
            SWIGINTERN VALUE | 
| 4328 | 
            -
             | 
| 4329 | 
            -
               | 
| 4330 | 
            -
               | 
| 4683 | 
            +
            SWIGINTERN VALUE
         | 
| 4684 | 
            +
            _wrap_File_ape_tagq___(int argc, VALUE *argv, VALUE self) {
         | 
| 4685 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4686 | 
            +
              void *argp1 = 0 ;
         | 
| 4687 | 
            +
              int res1 = 0 ;
         | 
| 4688 | 
            +
              bool result;
         | 
| 4689 | 
            +
              VALUE vresult = Qnil;
         | 
| 4331 4690 |  | 
| 4332 | 
            -
              argc  | 
| 4333 | 
            -
             | 
| 4334 | 
            -
              if (argc > 5) SWIG_fail;
         | 
| 4335 | 
            -
              for (ii = 1; (ii < argc); ++ii) {
         | 
| 4336 | 
            -
                argv[ii] = args[ii-1];
         | 
| 4337 | 
            -
              }
         | 
| 4338 | 
            -
              if (argc == 1) {
         | 
| 4339 | 
            -
                int _v;
         | 
| 4340 | 
            -
                void *vptr = 0;
         | 
| 4341 | 
            -
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 4342 | 
            -
                _v = SWIG_CheckState(res);
         | 
| 4343 | 
            -
                if (_v) {
         | 
| 4344 | 
            -
                  return _wrap_File_save__SWIG_0(nargs, args, self);
         | 
| 4345 | 
            -
                }
         | 
| 4691 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 4692 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 4346 4693 | 
             
              }
         | 
| 4347 | 
            -
               | 
| 4348 | 
            -
             | 
| 4349 | 
            -
                 | 
| 4350 | 
            -
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 4351 | 
            -
                _v = SWIG_CheckState(res);
         | 
| 4352 | 
            -
                if (_v) {
         | 
| 4353 | 
            -
                  {
         | 
| 4354 | 
            -
                    int res = SWIG_AsVal_int(argv[1], NULL);
         | 
| 4355 | 
            -
                    _v = SWIG_CheckState(res);
         | 
| 4356 | 
            -
                  }
         | 
| 4357 | 
            -
                  if (_v) {
         | 
| 4358 | 
            -
                    return _wrap_File_save__SWIG_1(nargs, args, self);
         | 
| 4359 | 
            -
                  }
         | 
| 4360 | 
            -
                }
         | 
| 4694 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4695 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 4696 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File const *","hasAPETag", 1, self )); 
         | 
| 4361 4697 | 
             
              }
         | 
| 4362 | 
            -
               | 
| 4363 | 
            -
             | 
| 4364 | 
            -
             | 
| 4365 | 
            -
             | 
| 4366 | 
            -
             | 
| 4367 | 
            -
             | 
| 4368 | 
            -
             | 
| 4369 | 
            -
             | 
| 4370 | 
            -
             | 
| 4371 | 
            -
             | 
| 4372 | 
            -
             | 
| 4373 | 
            -
             | 
| 4374 | 
            -
             | 
| 4375 | 
            -
             | 
| 4376 | 
            -
             | 
| 4377 | 
            -
             | 
| 4378 | 
            -
             | 
| 4379 | 
            -
                    }
         | 
| 4380 | 
            -
                  }
         | 
| 4381 | 
            -
                }
         | 
| 4698 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4699 | 
            +
              result = (bool)((TagLib::MPEG::File const *)arg1)->hasAPETag();
         | 
| 4700 | 
            +
              vresult = SWIG_From_bool(static_cast< bool >(result));
         | 
| 4701 | 
            +
              return vresult;
         | 
| 4702 | 
            +
            fail:
         | 
| 4703 | 
            +
              return Qnil;
         | 
| 4704 | 
            +
            }
         | 
| 4705 | 
            +
             | 
| 4706 | 
            +
             | 
| 4707 | 
            +
            SWIGINTERN VALUE
         | 
| 4708 | 
            +
            _wrap_File_close(int argc, VALUE *argv, VALUE self) {
         | 
| 4709 | 
            +
              TagLib::MPEG::File *arg1 = (TagLib::MPEG::File *) 0 ;
         | 
| 4710 | 
            +
              void *argp1 = 0 ;
         | 
| 4711 | 
            +
              int res1 = 0 ;
         | 
| 4712 | 
            +
              
         | 
| 4713 | 
            +
              if ((argc < 0) || (argc > 0)) {
         | 
| 4714 | 
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         | 
| 4382 4715 | 
             
              }
         | 
| 4383 | 
            -
               | 
| 4384 | 
            -
             | 
| 4385 | 
            -
                 | 
| 4386 | 
            -
                int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__MPEG__File, 0);
         | 
| 4387 | 
            -
                _v = SWIG_CheckState(res);
         | 
| 4388 | 
            -
                if (_v) {
         | 
| 4389 | 
            -
                  {
         | 
| 4390 | 
            -
                    int res = SWIG_AsVal_int(argv[1], NULL);
         | 
| 4391 | 
            -
                    _v = SWIG_CheckState(res);
         | 
| 4392 | 
            -
                  }
         | 
| 4393 | 
            -
                  if (_v) {
         | 
| 4394 | 
            -
                    {
         | 
| 4395 | 
            -
                      int res = SWIG_AsVal_bool(argv[2], NULL);
         | 
| 4396 | 
            -
                      _v = SWIG_CheckState(res);
         | 
| 4397 | 
            -
                    }
         | 
| 4398 | 
            -
                    if (_v) {
         | 
| 4399 | 
            -
                      {
         | 
| 4400 | 
            -
                        int res = SWIG_AsVal_int(argv[3], NULL);
         | 
| 4401 | 
            -
                        _v = SWIG_CheckState(res);
         | 
| 4402 | 
            -
                      }
         | 
| 4403 | 
            -
                      if (_v) {
         | 
| 4404 | 
            -
                        return _wrap_File_save__SWIG_3(nargs, args, self);
         | 
| 4405 | 
            -
                      }
         | 
| 4406 | 
            -
                    }
         | 
| 4407 | 
            -
                  }
         | 
| 4408 | 
            -
                }
         | 
| 4716 | 
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__MPEG__File, 0 |  0 );
         | 
| 4717 | 
            +
              if (!SWIG_IsOK(res1)) {
         | 
| 4718 | 
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::MPEG::File *","close", 1, self )); 
         | 
| 4409 4719 | 
             
              }
         | 
| 4410 | 
            -
              
         | 
| 4720 | 
            +
              arg1 = reinterpret_cast< TagLib::MPEG::File * >(argp1);
         | 
| 4721 | 
            +
              TagLib_MPEG_File_close(arg1);
         | 
| 4722 | 
            +
              return Qnil;
         | 
| 4411 4723 | 
             
            fail:
         | 
| 4412 | 
            -
              Ruby_Format_OverloadedError( argc, 5, "File.save", 
         | 
| 4413 | 
            -
                "    bool File.save()\n"
         | 
| 4414 | 
            -
                "    bool File.save(int tags)\n"
         | 
| 4415 | 
            -
                "    bool File.save(int tags, bool stripOthers)\n"
         | 
| 4416 | 
            -
                "    bool File.save(int tags, bool stripOthers, int id3v2Version)\n");
         | 
| 4417 | 
            -
              
         | 
| 4418 4724 | 
             
              return Qnil;
         | 
| 4419 4725 | 
             
            }
         | 
| 4420 4726 |  | 
| @@ -4759,9 +5065,13 @@ SWIGEXPORT void Init_taglib_mpeg(void) { | |
| 4759 5065 | 
             
              SWIG_TypeClientData(SWIGTYPE_p_TagLib__MPEG__XingHeader, (void *) &SwigClassXingHeader);
         | 
| 4760 5066 | 
             
              rb_define_alloc_func(SwigClassXingHeader.klass, _wrap_XingHeader_allocate);
         | 
| 4761 5067 | 
             
              rb_define_method(SwigClassXingHeader.klass, "initialize", VALUEFUNC(_wrap_new_XingHeader), -1);
         | 
| 5068 | 
            +
              rb_define_const(SwigClassXingHeader.klass, "Invalid", SWIG_From_int(static_cast< int >(TagLib::MPEG::XingHeader::Invalid)));
         | 
| 5069 | 
            +
              rb_define_const(SwigClassXingHeader.klass, "Xing", SWIG_From_int(static_cast< int >(TagLib::MPEG::XingHeader::Xing)));
         | 
| 5070 | 
            +
              rb_define_const(SwigClassXingHeader.klass, "VBRI", SWIG_From_int(static_cast< int >(TagLib::MPEG::XingHeader::VBRI)));
         | 
| 4762 5071 | 
             
              rb_define_method(SwigClassXingHeader.klass, "valid?", VALUEFUNC(_wrap_XingHeader_validq___), -1);
         | 
| 4763 5072 | 
             
              rb_define_method(SwigClassXingHeader.klass, "total_frames", VALUEFUNC(_wrap_XingHeader_total_frames), -1);
         | 
| 4764 5073 | 
             
              rb_define_method(SwigClassXingHeader.klass, "total_size", VALUEFUNC(_wrap_XingHeader_total_size), -1);
         | 
| 5074 | 
            +
              rb_define_method(SwigClassXingHeader.klass, "type", VALUEFUNC(_wrap_XingHeader_type), -1);
         | 
| 4765 5075 | 
             
              rb_define_singleton_method(SwigClassXingHeader.klass, "xing_header_offset", VALUEFUNC(_wrap_XingHeader_xing_header_offset), -1);
         | 
| 4766 5076 | 
             
              SwigClassXingHeader.mark = 0;
         | 
| 4767 5077 | 
             
              SwigClassXingHeader.destroy = (void (*)(void *)) free_TagLib_MPEG_XingHeader;
         | 
| @@ -4798,7 +5108,8 @@ SWIGEXPORT void Init_taglib_mpeg(void) { | |
| 4798 5108 | 
             
              SWIG_TypeClientData(SWIGTYPE_p_TagLib__MPEG__Properties, (void *) &SwigClassProperties);
         | 
| 4799 5109 | 
             
              rb_define_alloc_func(SwigClassProperties.klass, _wrap_Properties_allocate);
         | 
| 4800 5110 | 
             
              rb_define_method(SwigClassProperties.klass, "initialize", VALUEFUNC(_wrap_new_Properties), -1);
         | 
| 4801 | 
            -
              rb_define_method(SwigClassProperties.klass, " | 
| 5111 | 
            +
              rb_define_method(SwigClassProperties.klass, "length_in_seconds", VALUEFUNC(_wrap_Properties_length_in_seconds), -1);
         | 
| 5112 | 
            +
              rb_define_method(SwigClassProperties.klass, "length_in_milliseconds", VALUEFUNC(_wrap_Properties_length_in_milliseconds), -1);
         | 
| 4802 5113 | 
             
              rb_define_method(SwigClassProperties.klass, "bitrate", VALUEFUNC(_wrap_Properties_bitrate), -1);
         | 
| 4803 5114 | 
             
              rb_define_method(SwigClassProperties.klass, "sample_rate", VALUEFUNC(_wrap_Properties_sample_rate), -1);
         | 
| 4804 5115 | 
             
              rb_define_method(SwigClassProperties.klass, "channels", VALUEFUNC(_wrap_Properties_channels), -1);
         | 
| @@ -4824,6 +5135,7 @@ SWIGEXPORT void Init_taglib_mpeg(void) { | |
| 4824 5135 | 
             
              rb_define_const(SwigClassFile.klass, "AllTags", SWIG_From_int(static_cast< int >(TagLib::MPEG::File::AllTags)));
         | 
| 4825 5136 | 
             
              rb_define_method(SwigClassFile.klass, "tag", VALUEFUNC(_wrap_File_tag), -1);
         | 
| 4826 5137 | 
             
              rb_define_method(SwigClassFile.klass, "audio_properties", VALUEFUNC(_wrap_File_audio_properties), -1);
         | 
| 5138 | 
            +
              rb_define_method(SwigClassFile.klass, "save", VALUEFUNC(_wrap_File_save), -1);
         | 
| 4827 5139 | 
             
              rb_define_method(SwigClassFile.klass, "id3v2_tag", VALUEFUNC(_wrap_File_id3v2_tag), -1);
         | 
| 4828 5140 | 
             
              rb_define_method(SwigClassFile.klass, "id3v1_tag", VALUEFUNC(_wrap_File_id3v1_tag), -1);
         | 
| 4829 5141 | 
             
              rb_define_method(SwigClassFile.klass, "apetag", VALUEFUNC(_wrap_File_apetag), -1);
         | 
| @@ -4833,8 +5145,10 @@ SWIGEXPORT void Init_taglib_mpeg(void) { | |
| 4833 5145 | 
             
              rb_define_method(SwigClassFile.klass, "next_frame_offset", VALUEFUNC(_wrap_File_next_frame_offset), -1);
         | 
| 4834 5146 | 
             
              rb_define_method(SwigClassFile.klass, "previous_frame_offset", VALUEFUNC(_wrap_File_previous_frame_offset), -1);
         | 
| 4835 5147 | 
             
              rb_define_method(SwigClassFile.klass, "last_frame_offset", VALUEFUNC(_wrap_File_last_frame_offset), -1);
         | 
| 5148 | 
            +
              rb_define_method(SwigClassFile.klass, "id3v1_tag?", VALUEFUNC(_wrap_File_id3v1_tagq___), -1);
         | 
| 5149 | 
            +
              rb_define_method(SwigClassFile.klass, "id3v2_tag?", VALUEFUNC(_wrap_File_id3v2_tagq___), -1);
         | 
| 5150 | 
            +
              rb_define_method(SwigClassFile.klass, "ape_tag?", VALUEFUNC(_wrap_File_ape_tagq___), -1);
         | 
| 4836 5151 | 
             
              rb_define_method(SwigClassFile.klass, "close", VALUEFUNC(_wrap_File_close), -1);
         | 
| 4837 | 
            -
              rb_define_method(SwigClassFile.klass, "save", VALUEFUNC(_wrap_File_save), -1);
         | 
| 4838 5152 | 
             
              SwigClassFile.mark = 0;
         | 
| 4839 5153 | 
             
              SwigClassFile.destroy = (void (*)(void *)) free_taglib_mpeg_file;
         | 
| 4840 5154 | 
             
              SwigClassFile.trackObjects = 1;
         |