taglib-ruby 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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;
|