taglib-ruby 0.6.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +1 -1
- data/{CHANGES.md → CHANGELOG.md} +46 -11
- data/README.md +61 -17
- data/Rakefile +12 -3
- data/docs/taglib/aiff.rb +95 -0
- data/docs/taglib/base.rb +30 -2
- data/docs/taglib/flac.rb +60 -4
- data/docs/taglib/id3v1.rb +29 -0
- data/docs/taglib/id3v2.rb +22 -3
- data/docs/taglib/mp4.rb +124 -13
- data/docs/taglib/mpeg.rb +30 -1
- data/docs/taglib/ogg.rb +47 -5
- data/docs/taglib/riff.rb +3 -0
- data/docs/taglib/vorbis.rb +1 -1
- data/docs/taglib/wav.rb +116 -0
- data/ext/extconf_common.rb +24 -3
- data/ext/taglib_aiff/extconf.rb +4 -0
- data/ext/taglib_aiff/taglib_aiff.i +84 -0
- data/ext/taglib_aiff/taglib_aiff_wrap.cxx +3111 -0
- data/ext/taglib_base/includes.i +34 -5
- data/ext/taglib_base/taglib_base.i +42 -2
- data/ext/taglib_base/taglib_base_wrap.cxx +226 -186
- data/ext/taglib_flac/taglib_flac.i +21 -18
- data/ext/taglib_flac/taglib_flac_wrap.cxx +519 -955
- 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 +391 -193
- data/ext/taglib_id3v2/relativevolumeframe.i +4 -17
- data/ext/taglib_id3v2/taglib_id3v2.i +72 -2
- data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +3051 -1113
- data/ext/taglib_mp4/taglib_mp4.i +101 -20
- data/ext/taglib_mp4/taglib_mp4_wrap.cxx +1088 -282
- data/ext/taglib_mpeg/taglib_mpeg.i +11 -16
- data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +646 -317
- data/ext/taglib_ogg/taglib_ogg.i +11 -0
- data/ext/taglib_ogg/taglib_ogg_wrap.cxx +478 -192
- data/ext/taglib_vorbis/taglib_vorbis.i +8 -0
- data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +202 -156
- data/ext/taglib_wav/extconf.rb +4 -0
- data/ext/taglib_wav/taglib_wav.i +90 -0
- data/ext/taglib_wav/taglib_wav_wrap.cxx +3423 -0
- data/lib/taglib.rb +2 -0
- data/lib/taglib/aiff.rb +7 -0
- data/lib/taglib/mp4.rb +2 -1
- data/lib/taglib/version.rb +2 -2
- data/lib/taglib/wav.rb +11 -0
- data/taglib-ruby.gemspec +42 -8
- data/tasks/ext.rake +48 -20
- data/tasks/gemspec_check.rake +1 -1
- data/tasks/swig.rake +36 -2
- data/test/aiff_examples_test.rb +39 -0
- data/test/aiff_file_test.rb +103 -0
- data/test/aiff_file_write_test.rb +88 -0
- data/test/data/Makefile +8 -2
- data/test/data/aiff-sample.aiff +0 -0
- data/test/data/flac_nopic.flac +0 -0
- data/test/data/vorbis-create.cpp +20 -1
- data/test/data/vorbis.oga +0 -0
- data/test/data/wav-create.cpp +55 -0
- data/test/data/wav-dump.cpp +74 -0
- data/test/data/wav-sample.wav +0 -0
- data/test/file_test.rb +21 -0
- data/test/fileref_properties_test.rb +1 -1
- data/test/flac_file_test.rb +45 -30
- data/test/flac_picture_memory_test.rb +43 -0
- data/test/id3v1_genres_test.rb +23 -0
- data/test/id3v1_tag_test.rb +1 -0
- data/test/id3v2_frames_test.rb +64 -0
- data/test/id3v2_tag_test.rb +6 -6
- data/test/id3v2_unknown_frames_test.rb +30 -0
- 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 +42 -0
- data/test/wav_file_test.rb +108 -0
- data/test/wav_file_write_test.rb +113 -0
- metadata +86 -56
@@ -1,6 +1,7 @@
|
|
1
1
|
%module "TagLib::ID3v1"
|
2
2
|
%{
|
3
3
|
#include <taglib/id3v1tag.h>
|
4
|
+
#include <taglib/id3v1genres.h>
|
4
5
|
%}
|
5
6
|
|
6
7
|
%include "../taglib_base/includes.i"
|
@@ -8,4 +9,22 @@
|
|
8
9
|
|
9
10
|
%include <taglib/id3v1tag.h>
|
10
11
|
|
12
|
+
%typemap(out) TagLib::ID3v1::GenreMap {
|
13
|
+
$result = taglib_id3v1_genre_map_to_ruby_hash($1);
|
14
|
+
}
|
15
|
+
|
16
|
+
%include <taglib/id3v1genres.h>
|
17
|
+
|
18
|
+
%{
|
19
|
+
VALUE taglib_id3v1_genre_map_to_ruby_hash(const TagLib::ID3v1::GenreMap &map) {
|
20
|
+
VALUE hsh = rb_hash_new();
|
21
|
+
for (TagLib::ID3v1::GenreMap::ConstIterator it = map.begin(); it != map.end(); it++) {
|
22
|
+
rb_hash_aset(hsh,
|
23
|
+
taglib_string_to_ruby_string(it->first),
|
24
|
+
INT2NUM(it->second));
|
25
|
+
}
|
26
|
+
return hsh;
|
27
|
+
}
|
28
|
+
%}
|
29
|
+
|
11
30
|
// vim: set filetype=cpp sw=2 ts=2 expandtab:
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
2
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
3
|
-
* Version
|
4
|
-
*
|
5
|
-
* This file is not intended to be easily readable and contains a number of
|
3
|
+
* Version 3.0.7
|
4
|
+
*
|
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
|
7
|
-
* changes to this file unless you know what you are doing--modify the SWIG
|
8
|
-
* interface file instead.
|
7
|
+
* changes to this file unless you know what you are doing--modify the SWIG
|
8
|
+
* interface file instead.
|
9
9
|
* ----------------------------------------------------------------------------- */
|
10
10
|
|
11
11
|
#define SWIGRUBY
|
@@ -65,28 +65,28 @@ template <typename T> T SwigValueInit() {
|
|
65
65
|
#ifndef SWIGUNUSED
|
66
66
|
# if defined(__GNUC__)
|
67
67
|
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
|
68
|
-
# define SWIGUNUSED __attribute__ ((__unused__))
|
68
|
+
# define SWIGUNUSED __attribute__ ((__unused__))
|
69
69
|
# else
|
70
70
|
# define SWIGUNUSED
|
71
71
|
# endif
|
72
72
|
# elif defined(__ICC)
|
73
|
-
# define SWIGUNUSED __attribute__ ((__unused__))
|
73
|
+
# define SWIGUNUSED __attribute__ ((__unused__))
|
74
74
|
# else
|
75
|
-
# define SWIGUNUSED
|
75
|
+
# define SWIGUNUSED
|
76
76
|
# endif
|
77
77
|
#endif
|
78
78
|
|
79
79
|
#ifndef SWIG_MSC_UNSUPPRESS_4505
|
80
80
|
# if defined(_MSC_VER)
|
81
81
|
# pragma warning(disable : 4505) /* unreferenced local function has been removed */
|
82
|
-
# endif
|
82
|
+
# endif
|
83
83
|
#endif
|
84
84
|
|
85
85
|
#ifndef SWIGUNUSEDPARM
|
86
86
|
# ifdef __cplusplus
|
87
87
|
# define SWIGUNUSEDPARM(p)
|
88
88
|
# else
|
89
|
-
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
|
89
|
+
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
|
90
90
|
# endif
|
91
91
|
#endif
|
92
92
|
|
@@ -129,7 +129,7 @@ template <typename T> T SwigValueInit() {
|
|
129
129
|
# define SWIGSTDCALL __stdcall
|
130
130
|
# else
|
131
131
|
# define SWIGSTDCALL
|
132
|
-
# endif
|
132
|
+
# endif
|
133
133
|
#endif
|
134
134
|
|
135
135
|
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
|
@@ -142,6 +142,19 @@ template <typename T> T SwigValueInit() {
|
|
142
142
|
# define _SCL_SECURE_NO_DEPRECATE
|
143
143
|
#endif
|
144
144
|
|
145
|
+
/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
|
146
|
+
#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
|
147
|
+
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
|
148
|
+
#endif
|
149
|
+
|
150
|
+
/* Intel's compiler complains if a variable which was never initialised is
|
151
|
+
* cast to void, which is a common idiom which we use to indicate that we
|
152
|
+
* are aware a variable isn't used. So we just silence that warning.
|
153
|
+
* See: https://github.com/swig/swig/issues/192 for more discussion.
|
154
|
+
*/
|
155
|
+
#ifdef __INTEL_COMPILER
|
156
|
+
# pragma warning disable 592
|
157
|
+
#endif
|
145
158
|
|
146
159
|
/* -----------------------------------------------------------------------------
|
147
160
|
* This section contains generic SWIG labels for method/variable
|
@@ -174,28 +187,28 @@ template <typename T> T SwigValueInit() {
|
|
174
187
|
#ifndef SWIGUNUSED
|
175
188
|
# if defined(__GNUC__)
|
176
189
|
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
|
177
|
-
# define SWIGUNUSED __attribute__ ((__unused__))
|
190
|
+
# define SWIGUNUSED __attribute__ ((__unused__))
|
178
191
|
# else
|
179
192
|
# define SWIGUNUSED
|
180
193
|
# endif
|
181
194
|
# elif defined(__ICC)
|
182
|
-
# define SWIGUNUSED __attribute__ ((__unused__))
|
195
|
+
# define SWIGUNUSED __attribute__ ((__unused__))
|
183
196
|
# else
|
184
|
-
# define SWIGUNUSED
|
197
|
+
# define SWIGUNUSED
|
185
198
|
# endif
|
186
199
|
#endif
|
187
200
|
|
188
201
|
#ifndef SWIG_MSC_UNSUPPRESS_4505
|
189
202
|
# if defined(_MSC_VER)
|
190
203
|
# pragma warning(disable : 4505) /* unreferenced local function has been removed */
|
191
|
-
# endif
|
204
|
+
# endif
|
192
205
|
#endif
|
193
206
|
|
194
207
|
#ifndef SWIGUNUSEDPARM
|
195
208
|
# ifdef __cplusplus
|
196
209
|
# define SWIGUNUSEDPARM(p)
|
197
210
|
# else
|
198
|
-
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
|
211
|
+
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
|
199
212
|
# endif
|
200
213
|
#endif
|
201
214
|
|
@@ -238,7 +251,7 @@ template <typename T> T SwigValueInit() {
|
|
238
251
|
# define SWIGSTDCALL __stdcall
|
239
252
|
# else
|
240
253
|
# define SWIGSTDCALL
|
241
|
-
# endif
|
254
|
+
# endif
|
242
255
|
#endif
|
243
256
|
|
244
257
|
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
|
@@ -251,6 +264,19 @@ template <typename T> T SwigValueInit() {
|
|
251
264
|
# define _SCL_SECURE_NO_DEPRECATE
|
252
265
|
#endif
|
253
266
|
|
267
|
+
/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
|
268
|
+
#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
|
269
|
+
# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
|
270
|
+
#endif
|
271
|
+
|
272
|
+
/* Intel's compiler complains if a variable which was never initialised is
|
273
|
+
* cast to void, which is a common idiom which we use to indicate that we
|
274
|
+
* are aware a variable isn't used. So we just silence that warning.
|
275
|
+
* See: https://github.com/swig/swig/issues/192 for more discussion.
|
276
|
+
*/
|
277
|
+
#ifdef __INTEL_COMPILER
|
278
|
+
# pragma warning disable 592
|
279
|
+
#endif
|
254
280
|
|
255
281
|
/* -----------------------------------------------------------------------------
|
256
282
|
* swigrun.swg
|
@@ -276,7 +302,7 @@ template <typename T> T SwigValueInit() {
|
|
276
302
|
You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
|
277
303
|
creating a static or dynamic library from the SWIG runtime code.
|
278
304
|
In 99.9% of the cases, SWIG just needs to declare them as 'static'.
|
279
|
-
|
305
|
+
|
280
306
|
But only do this if strictly necessary, ie, if you have problems
|
281
307
|
with your compiler or suchlike.
|
282
308
|
*/
|
@@ -302,16 +328,16 @@ template <typename T> T SwigValueInit() {
|
|
302
328
|
#define SWIG_POINTER_OWN 0x1
|
303
329
|
|
304
330
|
|
305
|
-
/*
|
331
|
+
/*
|
306
332
|
Flags/methods for returning states.
|
307
|
-
|
308
|
-
The SWIG conversion methods, as ConvertPtr, return an integer
|
333
|
+
|
334
|
+
The SWIG conversion methods, as ConvertPtr, return an integer
|
309
335
|
that tells if the conversion was successful or not. And if not,
|
310
336
|
an error code can be returned (see swigerrors.swg for the codes).
|
311
|
-
|
337
|
+
|
312
338
|
Use the following macros/flags to set or process the returning
|
313
339
|
states.
|
314
|
-
|
340
|
+
|
315
341
|
In old versions of SWIG, code such as the following was usually written:
|
316
342
|
|
317
343
|
if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
|
@@ -344,23 +370,23 @@ template <typename T> T SwigValueInit() {
|
|
344
370
|
} else {
|
345
371
|
// fail code
|
346
372
|
}
|
347
|
-
|
373
|
+
|
348
374
|
I.e., now SWIG_ConvertPtr can return new objects and you can
|
349
375
|
identify the case and take care of the deallocation. Of course that
|
350
376
|
also requires SWIG_ConvertPtr to return new result values, such as
|
351
377
|
|
352
|
-
int SWIG_ConvertPtr(obj, ptr,...) {
|
353
|
-
if (<obj is ok>) {
|
354
|
-
if (<need new object>) {
|
355
|
-
*ptr = <ptr to new allocated object>;
|
356
|
-
return SWIG_NEWOBJ;
|
357
|
-
} else {
|
358
|
-
*ptr = <ptr to old object>;
|
359
|
-
return SWIG_OLDOBJ;
|
360
|
-
}
|
361
|
-
} else {
|
362
|
-
return SWIG_BADOBJ;
|
363
|
-
}
|
378
|
+
int SWIG_ConvertPtr(obj, ptr,...) {
|
379
|
+
if (<obj is ok>) {
|
380
|
+
if (<need new object>) {
|
381
|
+
*ptr = <ptr to new allocated object>;
|
382
|
+
return SWIG_NEWOBJ;
|
383
|
+
} else {
|
384
|
+
*ptr = <ptr to old object>;
|
385
|
+
return SWIG_OLDOBJ;
|
386
|
+
}
|
387
|
+
} else {
|
388
|
+
return SWIG_BADOBJ;
|
389
|
+
}
|
364
390
|
}
|
365
391
|
|
366
392
|
Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
|
@@ -374,17 +400,17 @@ template <typename T> T SwigValueInit() {
|
|
374
400
|
int fooi(int);
|
375
401
|
|
376
402
|
and you call
|
377
|
-
|
403
|
+
|
378
404
|
food(1) // cast rank '1' (1 -> 1.0)
|
379
405
|
fooi(1) // cast rank '0'
|
380
406
|
|
381
407
|
just use the SWIG_AddCast()/SWIG_CheckState()
|
382
408
|
*/
|
383
409
|
|
384
|
-
#define SWIG_OK (0)
|
410
|
+
#define SWIG_OK (0)
|
385
411
|
#define SWIG_ERROR (-1)
|
386
412
|
#define SWIG_IsOK(r) (r >= 0)
|
387
|
-
#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
|
413
|
+
#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
|
388
414
|
|
389
415
|
/* The CastRankLimit says how many bits are used for the cast rank */
|
390
416
|
#define SWIG_CASTRANKLIMIT (1 << 8)
|
@@ -415,14 +441,14 @@ template <typename T> T SwigValueInit() {
|
|
415
441
|
# endif
|
416
442
|
# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
|
417
443
|
# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
|
418
|
-
SWIGINTERNINLINE int SWIG_AddCast(int r) {
|
444
|
+
SWIGINTERNINLINE int SWIG_AddCast(int r) {
|
419
445
|
return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
|
420
446
|
}
|
421
|
-
SWIGINTERNINLINE int SWIG_CheckState(int r) {
|
422
|
-
return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
|
447
|
+
SWIGINTERNINLINE int SWIG_CheckState(int r) {
|
448
|
+
return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
|
423
449
|
}
|
424
450
|
#else /* no cast-rank mode */
|
425
|
-
# define SWIG_AddCast
|
451
|
+
# define SWIG_AddCast(r) (r)
|
426
452
|
# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
|
427
453
|
#endif
|
428
454
|
|
@@ -466,7 +492,7 @@ typedef struct swig_module_info {
|
|
466
492
|
void *clientdata; /* Language specific module data */
|
467
493
|
} swig_module_info;
|
468
494
|
|
469
|
-
/*
|
495
|
+
/*
|
470
496
|
Compare two type names skipping the space characters, therefore
|
471
497
|
"char*" == "char *" and "Class<int>" == "Class<int >", etc.
|
472
498
|
|
@@ -486,18 +512,18 @@ SWIG_TypeNameComp(const char *f1, const char *l1,
|
|
486
512
|
|
487
513
|
/*
|
488
514
|
Check type equivalence in a name list like <name1>|<name2>|...
|
489
|
-
Return 0 if
|
515
|
+
Return 0 if equal, -1 if nb < tb, 1 if nb > tb
|
490
516
|
*/
|
491
517
|
SWIGRUNTIME int
|
492
|
-
|
493
|
-
int equiv =
|
518
|
+
SWIG_TypeCmp(const char *nb, const char *tb) {
|
519
|
+
int equiv = 1;
|
494
520
|
const char* te = tb + strlen(tb);
|
495
521
|
const char* ne = nb;
|
496
|
-
while (
|
522
|
+
while (equiv != 0 && *ne) {
|
497
523
|
for (nb = ne; *ne; ++ne) {
|
498
524
|
if (*ne == '|') break;
|
499
525
|
}
|
500
|
-
equiv =
|
526
|
+
equiv = SWIG_TypeNameComp(nb, ne, tb, te);
|
501
527
|
if (*ne) ++ne;
|
502
528
|
}
|
503
529
|
return equiv;
|
@@ -505,24 +531,13 @@ SWIG_TypeEquiv(const char *nb, const char *tb) {
|
|
505
531
|
|
506
532
|
/*
|
507
533
|
Check type equivalence in a name list like <name1>|<name2>|...
|
508
|
-
Return 0 if equal,
|
534
|
+
Return 0 if not equal, 1 if equal
|
509
535
|
*/
|
510
536
|
SWIGRUNTIME int
|
511
|
-
|
512
|
-
|
513
|
-
const char* te = tb + strlen(tb);
|
514
|
-
const char* ne = nb;
|
515
|
-
while (!equiv && *ne) {
|
516
|
-
for (nb = ne; *ne; ++ne) {
|
517
|
-
if (*ne == '|') break;
|
518
|
-
}
|
519
|
-
equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
|
520
|
-
if (*ne) ++ne;
|
521
|
-
}
|
522
|
-
return equiv;
|
537
|
+
SWIG_TypeEquiv(const char *nb, const char *tb) {
|
538
|
+
return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
|
523
539
|
}
|
524
540
|
|
525
|
-
|
526
541
|
/*
|
527
542
|
Check the typename
|
528
543
|
*/
|
@@ -550,7 +565,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
|
|
550
565
|
return 0;
|
551
566
|
}
|
552
567
|
|
553
|
-
/*
|
568
|
+
/*
|
554
569
|
Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
|
555
570
|
*/
|
556
571
|
SWIGRUNTIME swig_cast_info *
|
@@ -585,7 +600,7 @@ SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
|
|
585
600
|
return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
|
586
601
|
}
|
587
602
|
|
588
|
-
/*
|
603
|
+
/*
|
589
604
|
Dynamic pointer casting. Down an inheritance hierarchy
|
590
605
|
*/
|
591
606
|
SWIGRUNTIME swig_type_info *
|
@@ -629,7 +644,7 @@ SWIG_TypePrettyName(const swig_type_info *type) {
|
|
629
644
|
return type->name;
|
630
645
|
}
|
631
646
|
|
632
|
-
/*
|
647
|
+
/*
|
633
648
|
Set the clientdata field for a type
|
634
649
|
*/
|
635
650
|
SWIGRUNTIME void
|
@@ -637,14 +652,14 @@ SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
|
|
637
652
|
swig_cast_info *cast = ti->cast;
|
638
653
|
/* if (ti->clientdata == clientdata) return; */
|
639
654
|
ti->clientdata = clientdata;
|
640
|
-
|
655
|
+
|
641
656
|
while (cast) {
|
642
657
|
if (!cast->converter) {
|
643
658
|
swig_type_info *tc = cast->type;
|
644
659
|
if (!tc->clientdata) {
|
645
660
|
SWIG_TypeClientData(tc, clientdata);
|
646
661
|
}
|
647
|
-
}
|
662
|
+
}
|
648
663
|
cast = cast->next;
|
649
664
|
}
|
650
665
|
}
|
@@ -653,31 +668,31 @@ SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
|
|
653
668
|
SWIG_TypeClientData(ti, clientdata);
|
654
669
|
ti->owndata = 1;
|
655
670
|
}
|
656
|
-
|
671
|
+
|
657
672
|
/*
|
658
673
|
Search for a swig_type_info structure only by mangled name
|
659
674
|
Search is a O(log #types)
|
660
|
-
|
661
|
-
We start searching at module start, and finish searching when start == end.
|
675
|
+
|
676
|
+
We start searching at module start, and finish searching when start == end.
|
662
677
|
Note: if start == end at the beginning of the function, we go all the way around
|
663
678
|
the circular list.
|
664
679
|
*/
|
665
680
|
SWIGRUNTIME swig_type_info *
|
666
|
-
SWIG_MangledTypeQueryModule(swig_module_info *start,
|
667
|
-
swig_module_info *end,
|
681
|
+
SWIG_MangledTypeQueryModule(swig_module_info *start,
|
682
|
+
swig_module_info *end,
|
668
683
|
const char *name) {
|
669
684
|
swig_module_info *iter = start;
|
670
685
|
do {
|
671
686
|
if (iter->size) {
|
672
|
-
|
673
|
-
|
687
|
+
size_t l = 0;
|
688
|
+
size_t r = iter->size - 1;
|
674
689
|
do {
|
675
690
|
/* since l+r >= 0, we can (>> 1) instead (/ 2) */
|
676
|
-
|
691
|
+
size_t i = (l + r) >> 1;
|
677
692
|
const char *iname = iter->types[i]->name;
|
678
693
|
if (iname) {
|
679
|
-
|
680
|
-
if (compare == 0) {
|
694
|
+
int compare = strcmp(name, iname);
|
695
|
+
if (compare == 0) {
|
681
696
|
return iter->types[i];
|
682
697
|
} else if (compare < 0) {
|
683
698
|
if (i) {
|
@@ -702,14 +717,14 @@ SWIG_MangledTypeQueryModule(swig_module_info *start,
|
|
702
717
|
Search for a swig_type_info structure for either a mangled name or a human readable name.
|
703
718
|
It first searches the mangled names of the types, which is a O(log #types)
|
704
719
|
If a type is not found it then searches the human readable names, which is O(#types).
|
705
|
-
|
706
|
-
We start searching at module start, and finish searching when start == end.
|
720
|
+
|
721
|
+
We start searching at module start, and finish searching when start == end.
|
707
722
|
Note: if start == end at the beginning of the function, we go all the way around
|
708
723
|
the circular list.
|
709
724
|
*/
|
710
725
|
SWIGRUNTIME swig_type_info *
|
711
|
-
SWIG_TypeQueryModule(swig_module_info *start,
|
712
|
-
swig_module_info *end,
|
726
|
+
SWIG_TypeQueryModule(swig_module_info *start,
|
727
|
+
swig_module_info *end,
|
713
728
|
const char *name) {
|
714
729
|
/* STEP 1: Search the name field using binary search */
|
715
730
|
swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
|
@@ -720,7 +735,7 @@ SWIG_TypeQueryModule(swig_module_info *start,
|
|
720
735
|
of the str field (the human readable name) */
|
721
736
|
swig_module_info *iter = start;
|
722
737
|
do {
|
723
|
-
|
738
|
+
size_t i = 0;
|
724
739
|
for (; i < iter->size; ++i) {
|
725
740
|
if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
|
726
741
|
return iter->types[i];
|
@@ -728,56 +743,56 @@ SWIG_TypeQueryModule(swig_module_info *start,
|
|
728
743
|
iter = iter->next;
|
729
744
|
} while (iter != end);
|
730
745
|
}
|
731
|
-
|
746
|
+
|
732
747
|
/* neither found a match */
|
733
748
|
return 0;
|
734
749
|
}
|
735
750
|
|
736
|
-
/*
|
751
|
+
/*
|
737
752
|
Pack binary data into a string
|
738
753
|
*/
|
739
754
|
SWIGRUNTIME char *
|
740
755
|
SWIG_PackData(char *c, void *ptr, size_t sz) {
|
741
756
|
static const char hex[17] = "0123456789abcdef";
|
742
|
-
|
743
|
-
|
757
|
+
const unsigned char *u = (unsigned char *) ptr;
|
758
|
+
const unsigned char *eu = u + sz;
|
744
759
|
for (; u != eu; ++u) {
|
745
|
-
|
760
|
+
unsigned char uu = *u;
|
746
761
|
*(c++) = hex[(uu & 0xf0) >> 4];
|
747
762
|
*(c++) = hex[uu & 0xf];
|
748
763
|
}
|
749
764
|
return c;
|
750
765
|
}
|
751
766
|
|
752
|
-
/*
|
767
|
+
/*
|
753
768
|
Unpack binary data from a string
|
754
769
|
*/
|
755
770
|
SWIGRUNTIME const char *
|
756
771
|
SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
|
757
|
-
|
758
|
-
|
772
|
+
unsigned char *u = (unsigned char *) ptr;
|
773
|
+
const unsigned char *eu = u + sz;
|
759
774
|
for (; u != eu; ++u) {
|
760
|
-
|
761
|
-
|
775
|
+
char d = *(c++);
|
776
|
+
unsigned char uu;
|
762
777
|
if ((d >= '0') && (d <= '9'))
|
763
778
|
uu = ((d - '0') << 4);
|
764
779
|
else if ((d >= 'a') && (d <= 'f'))
|
765
780
|
uu = ((d - ('a'-10)) << 4);
|
766
|
-
else
|
781
|
+
else
|
767
782
|
return (char *) 0;
|
768
783
|
d = *(c++);
|
769
784
|
if ((d >= '0') && (d <= '9'))
|
770
785
|
uu |= (d - '0');
|
771
786
|
else if ((d >= 'a') && (d <= 'f'))
|
772
787
|
uu |= (d - ('a'-10));
|
773
|
-
else
|
788
|
+
else
|
774
789
|
return (char *) 0;
|
775
790
|
*u = uu;
|
776
791
|
}
|
777
792
|
return c;
|
778
793
|
}
|
779
794
|
|
780
|
-
/*
|
795
|
+
/*
|
781
796
|
Pack 'void *' into a string buffer.
|
782
797
|
*/
|
783
798
|
SWIGRUNTIME char *
|
@@ -837,18 +852,18 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
|
|
837
852
|
#endif
|
838
853
|
|
839
854
|
/* Errors in SWIG */
|
840
|
-
#define SWIG_UnknownError -1
|
841
|
-
#define SWIG_IOError -2
|
842
|
-
#define SWIG_RuntimeError -3
|
843
|
-
#define SWIG_IndexError -4
|
844
|
-
#define SWIG_TypeError -5
|
845
|
-
#define SWIG_DivisionByZero -6
|
846
|
-
#define SWIG_OverflowError -7
|
847
|
-
#define SWIG_SyntaxError -8
|
848
|
-
#define SWIG_ValueError -9
|
855
|
+
#define SWIG_UnknownError -1
|
856
|
+
#define SWIG_IOError -2
|
857
|
+
#define SWIG_RuntimeError -3
|
858
|
+
#define SWIG_IndexError -4
|
859
|
+
#define SWIG_TypeError -5
|
860
|
+
#define SWIG_DivisionByZero -6
|
861
|
+
#define SWIG_OverflowError -7
|
862
|
+
#define SWIG_SyntaxError -8
|
863
|
+
#define SWIG_ValueError -9
|
849
864
|
#define SWIG_SystemError -10
|
850
865
|
#define SWIG_AttributeError -11
|
851
|
-
#define SWIG_MemoryError -12
|
866
|
+
#define SWIG_MemoryError -12
|
852
867
|
#define SWIG_NullReferenceError -13
|
853
868
|
|
854
869
|
|
@@ -1514,14 +1529,13 @@ SWIG_Ruby_InitRuntime(void)
|
|
1514
1529
|
SWIGRUNTIME void
|
1515
1530
|
SWIG_Ruby_define_class(swig_type_info *type)
|
1516
1531
|
{
|
1517
|
-
VALUE klass;
|
1518
1532
|
char *klass_name = (char *) malloc(4 + strlen(type->name) + 1);
|
1519
1533
|
sprintf(klass_name, "TYPE%s", type->name);
|
1520
1534
|
if (NIL_P(_cSWIG_Pointer)) {
|
1521
1535
|
_cSWIG_Pointer = rb_define_class_under(_mSWIG, "Pointer", rb_cObject);
|
1522
1536
|
rb_undef_method(CLASS_OF(_cSWIG_Pointer), "new");
|
1523
1537
|
}
|
1524
|
-
|
1538
|
+
rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer);
|
1525
1539
|
free((void *) klass_name);
|
1526
1540
|
}
|
1527
1541
|
|
@@ -1774,7 +1788,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer)
|
|
1774
1788
|
SWIGINTERN
|
1775
1789
|
int SWIG_Ruby_isCallable( VALUE proc )
|
1776
1790
|
{
|
1777
|
-
if ( rb_respond_to( proc, swig_call_id )
|
1791
|
+
if ( rb_respond_to( proc, swig_call_id ) )
|
1778
1792
|
return 1;
|
1779
1793
|
return 0;
|
1780
1794
|
}
|
@@ -1787,7 +1801,7 @@ int SWIG_Ruby_isCallable( VALUE proc )
|
|
1787
1801
|
SWIGINTERN
|
1788
1802
|
int SWIG_Ruby_arity( VALUE proc, int minimal )
|
1789
1803
|
{
|
1790
|
-
if ( rb_respond_to( proc, swig_arity_id )
|
1804
|
+
if ( rb_respond_to( proc, swig_arity_id ) )
|
1791
1805
|
{
|
1792
1806
|
VALUE num = rb_funcall( proc, swig_arity_id, 0 );
|
1793
1807
|
int arity = NUM2INT(num);
|
@@ -1813,17 +1827,18 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
|
|
1813
1827
|
|
1814
1828
|
/* -------- TYPES TABLE (BEGIN) -------- */
|
1815
1829
|
|
1816
|
-
#define
|
1817
|
-
#define
|
1818
|
-
#define
|
1819
|
-
#define
|
1820
|
-
#define
|
1821
|
-
#define
|
1822
|
-
#define
|
1823
|
-
#define
|
1824
|
-
#define
|
1825
|
-
|
1826
|
-
static
|
1830
|
+
#define SWIGTYPE_p_MapT_TagLib__String_int_t swig_types[0]
|
1831
|
+
#define SWIGTYPE_p_TagLib__File swig_types[1]
|
1832
|
+
#define SWIGTYPE_p_TagLib__ID3v1__StringHandler swig_types[2]
|
1833
|
+
#define SWIGTYPE_p_TagLib__ID3v1__Tag swig_types[3]
|
1834
|
+
#define SWIGTYPE_p_TagLib__Tag swig_types[4]
|
1835
|
+
#define SWIGTYPE_p_char swig_types[5]
|
1836
|
+
#define SWIGTYPE_p_unsigned_char swig_types[6]
|
1837
|
+
#define SWIGTYPE_p_unsigned_int swig_types[7]
|
1838
|
+
#define SWIGTYPE_p_unsigned_long swig_types[8]
|
1839
|
+
#define SWIGTYPE_p_wchar_t swig_types[9]
|
1840
|
+
static swig_type_info *swig_types[11];
|
1841
|
+
static swig_module_info swig_module = {swig_types, 10, 0, 0, 0, 0};
|
1827
1842
|
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
1828
1843
|
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
1829
1844
|
|
@@ -1838,7 +1853,7 @@ static VALUE mID3v1;
|
|
1838
1853
|
#define SWIG_RUBY_THREAD_END_BLOCK
|
1839
1854
|
|
1840
1855
|
|
1841
|
-
#define SWIGVERSION
|
1856
|
+
#define SWIGVERSION 0x030007
|
1842
1857
|
#define SWIG_VERSION SWIGVERSION
|
1843
1858
|
|
1844
1859
|
|
@@ -1850,6 +1865,7 @@ static VALUE mID3v1;
|
|
1850
1865
|
|
1851
1866
|
|
1852
1867
|
#include <taglib/id3v1tag.h>
|
1868
|
+
#include <taglib/id3v1genres.h>
|
1853
1869
|
|
1854
1870
|
|
1855
1871
|
#include <taglib/tstring.h>
|
@@ -1859,9 +1875,11 @@ static VALUE mID3v1;
|
|
1859
1875
|
#if defined(HAVE_RUBY_ENCODING_H) && HAVE_RUBY_ENCODING_H
|
1860
1876
|
# include <ruby/encoding.h>
|
1861
1877
|
# define ASSOCIATE_UTF8_ENCODING(value) rb_enc_associate(value, rb_utf8_encoding());
|
1878
|
+
# define ASSOCIATE_FILESYSTEM_ENCODING(value) rb_enc_associate(value, rb_filesystem_encoding());
|
1862
1879
|
# define CONVERT_TO_UTF8(value) rb_str_export_to_enc(value, rb_utf8_encoding())
|
1863
1880
|
#else
|
1864
1881
|
# define ASSOCIATE_UTF8_ENCODING(value) /* nothing */
|
1882
|
+
# define ASSOCIATE_FILESYSTEM_ENCODING(value)
|
1865
1883
|
# define CONVERT_TO_UTF8(value) value
|
1866
1884
|
#endif
|
1867
1885
|
|
@@ -1869,7 +1887,7 @@ VALUE taglib_bytevector_to_ruby_string(const TagLib::ByteVector &byteVector) {
|
|
1869
1887
|
if (byteVector.isNull()) {
|
1870
1888
|
return Qnil;
|
1871
1889
|
} else {
|
1872
|
-
return
|
1890
|
+
return rb_str_new(byteVector.data(), byteVector.size());
|
1873
1891
|
}
|
1874
1892
|
}
|
1875
1893
|
|
@@ -1885,7 +1903,7 @@ VALUE taglib_string_to_ruby_string(const TagLib::String & string) {
|
|
1885
1903
|
if (string.isNull()) {
|
1886
1904
|
return Qnil;
|
1887
1905
|
} else {
|
1888
|
-
VALUE result =
|
1906
|
+
VALUE result = rb_str_new2(string.toCString(true));
|
1889
1907
|
ASSOCIATE_UTF8_ENCODING(result);
|
1890
1908
|
return result;
|
1891
1909
|
}
|
@@ -1914,7 +1932,7 @@ TagLib::StringList ruby_array_to_taglib_string_list(VALUE ary) {
|
|
1914
1932
|
return result;
|
1915
1933
|
}
|
1916
1934
|
for (long i = 0; i < RARRAY_LEN(ary); i++) {
|
1917
|
-
VALUE e =
|
1935
|
+
VALUE e = rb_ary_entry(ary, i);
|
1918
1936
|
TagLib::String s = ruby_string_to_taglib_string(e);
|
1919
1937
|
result.append(s);
|
1920
1938
|
}
|
@@ -1922,12 +1940,15 @@ TagLib::StringList ruby_array_to_taglib_string_list(VALUE ary) {
|
|
1922
1940
|
}
|
1923
1941
|
|
1924
1942
|
VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) {
|
1943
|
+
VALUE result;
|
1925
1944
|
#ifdef _WIN32
|
1926
1945
|
const char *s = (const char *) filename;
|
1927
|
-
|
1946
|
+
result = rb_str_new2(s);
|
1928
1947
|
#else
|
1929
|
-
|
1948
|
+
result = rb_str_new2(filename);
|
1930
1949
|
#endif
|
1950
|
+
ASSOCIATE_FILESYSTEM_ENCODING(result);
|
1951
|
+
return result;
|
1931
1952
|
}
|
1932
1953
|
|
1933
1954
|
TagLib::FileName ruby_string_to_taglib_filename(VALUE s) {
|
@@ -2016,7 +2037,7 @@ SWIG_ruby_failed(void)
|
|
2016
2037
|
}
|
2017
2038
|
|
2018
2039
|
|
2019
|
-
/*@SWIG:/usr/local/share/swig/
|
2040
|
+
/*@SWIG:/usr/local/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2020
2041
|
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
|
2021
2042
|
{
|
2022
2043
|
VALUE obj = args[0];
|
@@ -2072,7 +2093,7 @@ SWIG_From_unsigned_SS_int (unsigned int value)
|
|
2072
2093
|
}
|
2073
2094
|
|
2074
2095
|
|
2075
|
-
/*@SWIG:/usr/local/share/swig/
|
2096
|
+
/*@SWIG:/usr/local/share/swig/3.0.7/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2076
2097
|
SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
|
2077
2098
|
{
|
2078
2099
|
VALUE obj = args[0];
|
@@ -2116,8 +2137,75 @@ SWIG_AsVal_unsigned_SS_int (VALUE obj, unsigned int *val)
|
|
2116
2137
|
return res;
|
2117
2138
|
}
|
2118
2139
|
|
2140
|
+
|
2141
|
+
SWIGINTERN int
|
2142
|
+
SWIG_AsVal_int (VALUE obj, int *val)
|
2143
|
+
{
|
2144
|
+
long v;
|
2145
|
+
int res = SWIG_AsVal_long (obj, &v);
|
2146
|
+
if (SWIG_IsOK(res)) {
|
2147
|
+
if ((v < INT_MIN || v > INT_MAX)) {
|
2148
|
+
return SWIG_OverflowError;
|
2149
|
+
} else {
|
2150
|
+
if (val) *val = static_cast< int >(v);
|
2151
|
+
}
|
2152
|
+
}
|
2153
|
+
return res;
|
2154
|
+
}
|
2155
|
+
|
2156
|
+
|
2157
|
+
SWIGINTERNINLINE VALUE
|
2158
|
+
SWIG_From_int (int value)
|
2159
|
+
{
|
2160
|
+
return SWIG_From_long (value);
|
2161
|
+
}
|
2162
|
+
|
2163
|
+
|
2164
|
+
VALUE taglib_id3v1_genre_map_to_ruby_hash(const TagLib::ID3v1::GenreMap &map) {
|
2165
|
+
VALUE hsh = rb_hash_new();
|
2166
|
+
for (TagLib::ID3v1::GenreMap::ConstIterator it = map.begin(); it != map.end(); it++) {
|
2167
|
+
rb_hash_aset(hsh,
|
2168
|
+
taglib_string_to_ruby_string(it->first),
|
2169
|
+
INT2NUM(it->second));
|
2170
|
+
}
|
2171
|
+
return hsh;
|
2172
|
+
}
|
2173
|
+
|
2119
2174
|
static swig_class SwigClassStringHandler;
|
2120
2175
|
|
2176
|
+
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
2177
|
+
SWIGINTERN VALUE
|
2178
|
+
_wrap_StringHandler_allocate(VALUE self) {
|
2179
|
+
#else
|
2180
|
+
SWIGINTERN VALUE
|
2181
|
+
_wrap_StringHandler_allocate(int argc, VALUE *argv, VALUE self) {
|
2182
|
+
#endif
|
2183
|
+
|
2184
|
+
|
2185
|
+
VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v1__StringHandler);
|
2186
|
+
#ifndef HAVE_RB_DEFINE_ALLOC_FUNC
|
2187
|
+
rb_obj_call_init(vresult, argc, argv);
|
2188
|
+
#endif
|
2189
|
+
return vresult;
|
2190
|
+
}
|
2191
|
+
|
2192
|
+
|
2193
|
+
SWIGINTERN VALUE
|
2194
|
+
_wrap_new_StringHandler(int argc, VALUE *argv, VALUE self) {
|
2195
|
+
TagLib::ID3v1::StringHandler *result = 0 ;
|
2196
|
+
|
2197
|
+
if ((argc < 0) || (argc > 0)) {
|
2198
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
2199
|
+
}
|
2200
|
+
result = (TagLib::ID3v1::StringHandler *)new TagLib::ID3v1::StringHandler();
|
2201
|
+
DATA_PTR(self) = result;
|
2202
|
+
SWIG_RubyAddTracking(result, self);
|
2203
|
+
return self;
|
2204
|
+
fail:
|
2205
|
+
return Qnil;
|
2206
|
+
}
|
2207
|
+
|
2208
|
+
|
2121
2209
|
SWIGINTERN VALUE
|
2122
2210
|
_wrap_StringHandler_parse(int argc, VALUE *argv, VALUE self) {
|
2123
2211
|
TagLib::ID3v1::StringHandler *arg1 = (TagLib::ID3v1::StringHandler *) 0 ;
|
@@ -2182,39 +2270,6 @@ fail:
|
|
2182
2270
|
}
|
2183
2271
|
|
2184
2272
|
|
2185
|
-
#ifdef HAVE_RB_DEFINE_ALLOC_FUNC
|
2186
|
-
SWIGINTERN VALUE
|
2187
|
-
_wrap_StringHandler_allocate(VALUE self) {
|
2188
|
-
#else
|
2189
|
-
SWIGINTERN VALUE
|
2190
|
-
_wrap_StringHandler_allocate(int argc, VALUE *argv, VALUE self) {
|
2191
|
-
#endif
|
2192
|
-
|
2193
|
-
|
2194
|
-
VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_TagLib__ID3v1__StringHandler);
|
2195
|
-
#ifndef HAVE_RB_DEFINE_ALLOC_FUNC
|
2196
|
-
rb_obj_call_init(vresult, argc, argv);
|
2197
|
-
#endif
|
2198
|
-
return vresult;
|
2199
|
-
}
|
2200
|
-
|
2201
|
-
|
2202
|
-
SWIGINTERN VALUE
|
2203
|
-
_wrap_new_StringHandler(int argc, VALUE *argv, VALUE self) {
|
2204
|
-
TagLib::ID3v1::StringHandler *result = 0 ;
|
2205
|
-
|
2206
|
-
if ((argc < 0) || (argc > 0)) {
|
2207
|
-
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
2208
|
-
}
|
2209
|
-
result = (TagLib::ID3v1::StringHandler *)new TagLib::ID3v1::StringHandler();
|
2210
|
-
DATA_PTR(self) = result;
|
2211
|
-
SWIG_RubyAddTracking(result, self);
|
2212
|
-
return self;
|
2213
|
-
fail:
|
2214
|
-
return Qnil;
|
2215
|
-
}
|
2216
|
-
|
2217
|
-
|
2218
2273
|
SWIGINTERN void
|
2219
2274
|
free_TagLib_ID3v1_StringHandler(TagLib::ID3v1::StringHandler *arg1) {
|
2220
2275
|
SWIG_RubyRemoveTracking(arg1);
|
@@ -2511,7 +2566,7 @@ _wrap_Tag_year(int argc, VALUE *argv, VALUE self) {
|
|
2511
2566
|
TagLib::ID3v1::Tag *arg1 = (TagLib::ID3v1::Tag *) 0 ;
|
2512
2567
|
void *argp1 = 0 ;
|
2513
2568
|
int res1 = 0 ;
|
2514
|
-
|
2569
|
+
unsigned int result;
|
2515
2570
|
VALUE vresult = Qnil;
|
2516
2571
|
|
2517
2572
|
if ((argc < 0) || (argc > 0)) {
|
@@ -2522,7 +2577,7 @@ _wrap_Tag_year(int argc, VALUE *argv, VALUE self) {
|
|
2522
2577
|
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::ID3v1::Tag const *","year", 1, self ));
|
2523
2578
|
}
|
2524
2579
|
arg1 = reinterpret_cast< TagLib::ID3v1::Tag * >(argp1);
|
2525
|
-
result = (
|
2580
|
+
result = (unsigned int)((TagLib::ID3v1::Tag const *)arg1)->year();
|
2526
2581
|
vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
|
2527
2582
|
return vresult;
|
2528
2583
|
fail:
|
@@ -2535,7 +2590,7 @@ _wrap_Tag_track(int argc, VALUE *argv, VALUE self) {
|
|
2535
2590
|
TagLib::ID3v1::Tag *arg1 = (TagLib::ID3v1::Tag *) 0 ;
|
2536
2591
|
void *argp1 = 0 ;
|
2537
2592
|
int res1 = 0 ;
|
2538
|
-
|
2593
|
+
unsigned int result;
|
2539
2594
|
VALUE vresult = Qnil;
|
2540
2595
|
|
2541
2596
|
if ((argc < 0) || (argc > 0)) {
|
@@ -2546,7 +2601,7 @@ _wrap_Tag_track(int argc, VALUE *argv, VALUE self) {
|
|
2546
2601
|
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::ID3v1::Tag const *","track", 1, self ));
|
2547
2602
|
}
|
2548
2603
|
arg1 = reinterpret_cast< TagLib::ID3v1::Tag * >(argp1);
|
2549
|
-
result = (
|
2604
|
+
result = (unsigned int)((TagLib::ID3v1::Tag const *)arg1)->track();
|
2550
2605
|
vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
|
2551
2606
|
return vresult;
|
2552
2607
|
fail:
|
@@ -2692,7 +2747,7 @@ fail:
|
|
2692
2747
|
SWIGINTERN VALUE
|
2693
2748
|
_wrap_Tag_yeare___(int argc, VALUE *argv, VALUE self) {
|
2694
2749
|
TagLib::ID3v1::Tag *arg1 = (TagLib::ID3v1::Tag *) 0 ;
|
2695
|
-
|
2750
|
+
unsigned int arg2 ;
|
2696
2751
|
void *argp1 = 0 ;
|
2697
2752
|
int res1 = 0 ;
|
2698
2753
|
unsigned int val2 ;
|
@@ -2708,9 +2763,9 @@ _wrap_Tag_yeare___(int argc, VALUE *argv, VALUE self) {
|
|
2708
2763
|
arg1 = reinterpret_cast< TagLib::ID3v1::Tag * >(argp1);
|
2709
2764
|
ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
|
2710
2765
|
if (!SWIG_IsOK(ecode2)) {
|
2711
|
-
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "
|
2766
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setYear", 2, argv[0] ));
|
2712
2767
|
}
|
2713
|
-
arg2 = static_cast<
|
2768
|
+
arg2 = static_cast< unsigned int >(val2);
|
2714
2769
|
(arg1)->setYear(arg2);
|
2715
2770
|
return Qnil;
|
2716
2771
|
fail:
|
@@ -2721,7 +2776,7 @@ fail:
|
|
2721
2776
|
SWIGINTERN VALUE
|
2722
2777
|
_wrap_Tag_tracke___(int argc, VALUE *argv, VALUE self) {
|
2723
2778
|
TagLib::ID3v1::Tag *arg1 = (TagLib::ID3v1::Tag *) 0 ;
|
2724
|
-
|
2779
|
+
unsigned int arg2 ;
|
2725
2780
|
void *argp1 = 0 ;
|
2726
2781
|
int res1 = 0 ;
|
2727
2782
|
unsigned int val2 ;
|
@@ -2737,9 +2792,9 @@ _wrap_Tag_tracke___(int argc, VALUE *argv, VALUE self) {
|
|
2737
2792
|
arg1 = reinterpret_cast< TagLib::ID3v1::Tag * >(argp1);
|
2738
2793
|
ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
|
2739
2794
|
if (!SWIG_IsOK(ecode2)) {
|
2740
|
-
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "
|
2795
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setTrack", 2, argv[0] ));
|
2741
2796
|
}
|
2742
|
-
arg2 = static_cast<
|
2797
|
+
arg2 = static_cast< unsigned int >(val2);
|
2743
2798
|
(arg1)->setTrack(arg2);
|
2744
2799
|
return Qnil;
|
2745
2800
|
fail:
|
@@ -2747,6 +2802,59 @@ fail:
|
|
2747
2802
|
}
|
2748
2803
|
|
2749
2804
|
|
2805
|
+
SWIGINTERN VALUE
|
2806
|
+
_wrap_Tag_genre_number(int argc, VALUE *argv, VALUE self) {
|
2807
|
+
TagLib::ID3v1::Tag *arg1 = (TagLib::ID3v1::Tag *) 0 ;
|
2808
|
+
void *argp1 = 0 ;
|
2809
|
+
int res1 = 0 ;
|
2810
|
+
unsigned int result;
|
2811
|
+
VALUE vresult = Qnil;
|
2812
|
+
|
2813
|
+
if ((argc < 0) || (argc > 0)) {
|
2814
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
2815
|
+
}
|
2816
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__ID3v1__Tag, 0 | 0 );
|
2817
|
+
if (!SWIG_IsOK(res1)) {
|
2818
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::ID3v1::Tag const *","genreNumber", 1, self ));
|
2819
|
+
}
|
2820
|
+
arg1 = reinterpret_cast< TagLib::ID3v1::Tag * >(argp1);
|
2821
|
+
result = (unsigned int)((TagLib::ID3v1::Tag const *)arg1)->genreNumber();
|
2822
|
+
vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
|
2823
|
+
return vresult;
|
2824
|
+
fail:
|
2825
|
+
return Qnil;
|
2826
|
+
}
|
2827
|
+
|
2828
|
+
|
2829
|
+
SWIGINTERN VALUE
|
2830
|
+
_wrap_Tag_genre_numbere___(int argc, VALUE *argv, VALUE self) {
|
2831
|
+
TagLib::ID3v1::Tag *arg1 = (TagLib::ID3v1::Tag *) 0 ;
|
2832
|
+
unsigned int arg2 ;
|
2833
|
+
void *argp1 = 0 ;
|
2834
|
+
int res1 = 0 ;
|
2835
|
+
unsigned int val2 ;
|
2836
|
+
int ecode2 = 0 ;
|
2837
|
+
|
2838
|
+
if ((argc < 1) || (argc > 1)) {
|
2839
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
2840
|
+
}
|
2841
|
+
res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__ID3v1__Tag, 0 | 0 );
|
2842
|
+
if (!SWIG_IsOK(res1)) {
|
2843
|
+
SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::ID3v1::Tag *","setGenreNumber", 1, self ));
|
2844
|
+
}
|
2845
|
+
arg1 = reinterpret_cast< TagLib::ID3v1::Tag * >(argp1);
|
2846
|
+
ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
|
2847
|
+
if (!SWIG_IsOK(ecode2)) {
|
2848
|
+
SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setGenreNumber", 2, argv[0] ));
|
2849
|
+
}
|
2850
|
+
arg2 = static_cast< unsigned int >(val2);
|
2851
|
+
(arg1)->setGenreNumber(arg2);
|
2852
|
+
return Qnil;
|
2853
|
+
fail:
|
2854
|
+
return Qnil;
|
2855
|
+
}
|
2856
|
+
|
2857
|
+
|
2750
2858
|
SWIGINTERN VALUE
|
2751
2859
|
_wrap_Tag_string_handlere___(int argc, VALUE *argv, VALUE self) {
|
2752
2860
|
TagLib::ID3v1::StringHandler *arg1 = (TagLib::ID3v1::StringHandler *) 0 ;
|
@@ -2768,12 +2876,97 @@ fail:
|
|
2768
2876
|
}
|
2769
2877
|
|
2770
2878
|
|
2879
|
+
SWIGINTERN VALUE
|
2880
|
+
_wrap_genre_list(int argc, VALUE *argv, VALUE self) {
|
2881
|
+
TagLib::StringList result;
|
2882
|
+
VALUE vresult = Qnil;
|
2883
|
+
|
2884
|
+
if ((argc < 0) || (argc > 0)) {
|
2885
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
2886
|
+
}
|
2887
|
+
result = TagLib::ID3v1::genreList();
|
2888
|
+
{
|
2889
|
+
vresult = taglib_string_list_to_ruby_array(result);
|
2890
|
+
}
|
2891
|
+
return vresult;
|
2892
|
+
fail:
|
2893
|
+
return Qnil;
|
2894
|
+
}
|
2895
|
+
|
2896
|
+
|
2897
|
+
SWIGINTERN VALUE
|
2898
|
+
_wrap_genre_map(int argc, VALUE *argv, VALUE self) {
|
2899
|
+
TagLib::ID3v1::GenreMap result;
|
2900
|
+
VALUE vresult = Qnil;
|
2901
|
+
|
2902
|
+
if ((argc < 0) || (argc > 0)) {
|
2903
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
|
2904
|
+
}
|
2905
|
+
result = TagLib::ID3v1::genreMap();
|
2906
|
+
{
|
2907
|
+
vresult = taglib_id3v1_genre_map_to_ruby_hash(result);
|
2908
|
+
}
|
2909
|
+
return vresult;
|
2910
|
+
fail:
|
2911
|
+
return Qnil;
|
2912
|
+
}
|
2913
|
+
|
2914
|
+
|
2915
|
+
SWIGINTERN VALUE
|
2916
|
+
_wrap_genre(int argc, VALUE *argv, VALUE self) {
|
2917
|
+
int arg1 ;
|
2918
|
+
int val1 ;
|
2919
|
+
int ecode1 = 0 ;
|
2920
|
+
TagLib::String result;
|
2921
|
+
VALUE vresult = Qnil;
|
2922
|
+
|
2923
|
+
if ((argc < 1) || (argc > 1)) {
|
2924
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
2925
|
+
}
|
2926
|
+
ecode1 = SWIG_AsVal_int(argv[0], &val1);
|
2927
|
+
if (!SWIG_IsOK(ecode1)) {
|
2928
|
+
SWIG_exception_fail(SWIG_ArgError(ecode1), Ruby_Format_TypeError( "", "int","TagLib::ID3v1::genre", 1, argv[0] ));
|
2929
|
+
}
|
2930
|
+
arg1 = static_cast< int >(val1);
|
2931
|
+
result = TagLib::ID3v1::genre(arg1);
|
2932
|
+
{
|
2933
|
+
vresult = taglib_string_to_ruby_string(result);
|
2934
|
+
}
|
2935
|
+
return vresult;
|
2936
|
+
fail:
|
2937
|
+
return Qnil;
|
2938
|
+
}
|
2939
|
+
|
2940
|
+
|
2941
|
+
SWIGINTERN VALUE
|
2942
|
+
_wrap_genre_index(int argc, VALUE *argv, VALUE self) {
|
2943
|
+
TagLib::String *arg1 = 0 ;
|
2944
|
+
TagLib::String tmp1 ;
|
2945
|
+
int result;
|
2946
|
+
VALUE vresult = Qnil;
|
2947
|
+
|
2948
|
+
if ((argc < 1) || (argc > 1)) {
|
2949
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
|
2950
|
+
}
|
2951
|
+
{
|
2952
|
+
tmp1 = ruby_string_to_taglib_string(argv[0]);
|
2953
|
+
arg1 = &tmp1;
|
2954
|
+
}
|
2955
|
+
result = (int)TagLib::ID3v1::genreIndex((TagLib::String const &)*arg1);
|
2956
|
+
vresult = SWIG_From_int(static_cast< int >(result));
|
2957
|
+
return vresult;
|
2958
|
+
fail:
|
2959
|
+
return Qnil;
|
2960
|
+
}
|
2961
|
+
|
2962
|
+
|
2771
2963
|
|
2772
2964
|
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
|
2773
2965
|
|
2774
2966
|
static void *_p_TagLib__ID3v1__TagTo_p_TagLib__Tag(void *x, int *SWIGUNUSEDPARM(newmemory)) {
|
2775
2967
|
return (void *)((TagLib::Tag *) ((TagLib::ID3v1::Tag *) x));
|
2776
2968
|
}
|
2969
|
+
static swig_type_info _swigt__p_MapT_TagLib__String_int_t = {"_p_MapT_TagLib__String_int_t", "TagLib::ID3v1::GenreMap *|Map< TagLib::String,int > *", 0, 0, (void*)0, 0};
|
2777
2970
|
static swig_type_info _swigt__p_TagLib__File = {"_p_TagLib__File", "TagLib::File *", 0, 0, (void*)0, 0};
|
2778
2971
|
static swig_type_info _swigt__p_TagLib__ID3v1__StringHandler = {"_p_TagLib__ID3v1__StringHandler", "TagLib::ID3v1::StringHandler *", 0, 0, (void*)0, 0};
|
2779
2972
|
static swig_type_info _swigt__p_TagLib__ID3v1__Tag = {"_p_TagLib__ID3v1__Tag", "TagLib::ID3v1::Tag *", 0, 0, (void*)0, 0};
|
@@ -2785,6 +2978,7 @@ static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "TagLib::ul
|
|
2785
2978
|
static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_t *", 0, 0, (void*)0, 0};
|
2786
2979
|
|
2787
2980
|
static swig_type_info *swig_type_initial[] = {
|
2981
|
+
&_swigt__p_MapT_TagLib__String_int_t,
|
2788
2982
|
&_swigt__p_TagLib__File,
|
2789
2983
|
&_swigt__p_TagLib__ID3v1__StringHandler,
|
2790
2984
|
&_swigt__p_TagLib__ID3v1__Tag,
|
@@ -2796,6 +2990,7 @@ static swig_type_info *swig_type_initial[] = {
|
|
2796
2990
|
&_swigt__p_wchar_t,
|
2797
2991
|
};
|
2798
2992
|
|
2993
|
+
static swig_cast_info _swigc__p_MapT_TagLib__String_int_t[] = { {&_swigt__p_MapT_TagLib__String_int_t, 0, 0, 0},{0, 0, 0, 0}};
|
2799
2994
|
static swig_cast_info _swigc__p_TagLib__File[] = { {&_swigt__p_TagLib__File, 0, 0, 0},{0, 0, 0, 0}};
|
2800
2995
|
static swig_cast_info _swigc__p_TagLib__ID3v1__StringHandler[] = { {&_swigt__p_TagLib__ID3v1__StringHandler, 0, 0, 0},{0, 0, 0, 0}};
|
2801
2996
|
static swig_cast_info _swigc__p_TagLib__ID3v1__Tag[] = { {&_swigt__p_TagLib__ID3v1__Tag, 0, 0, 0},{0, 0, 0, 0}};
|
@@ -2807,6 +3002,7 @@ static swig_cast_info _swigc__p_unsigned_long[] = { {&_swigt__p_unsigned_long,
|
|
2807
3002
|
static swig_cast_info _swigc__p_wchar_t[] = { {&_swigt__p_wchar_t, 0, 0, 0},{0, 0, 0, 0}};
|
2808
3003
|
|
2809
3004
|
static swig_cast_info *swig_cast_initial[] = {
|
3005
|
+
_swigc__p_MapT_TagLib__String_int_t,
|
2810
3006
|
_swigc__p_TagLib__File,
|
2811
3007
|
_swigc__p_TagLib__ID3v1__StringHandler,
|
2812
3008
|
_swigc__p_TagLib__ID3v1__Tag,
|
@@ -2823,18 +3019,18 @@ static swig_cast_info *swig_cast_initial[] = {
|
|
2823
3019
|
|
2824
3020
|
/* -----------------------------------------------------------------------------
|
2825
3021
|
* Type initialization:
|
2826
|
-
* This problem is tough by the requirement that no dynamic
|
2827
|
-
* memory is used. Also, since swig_type_info structures store pointers to
|
3022
|
+
* This problem is tough by the requirement that no dynamic
|
3023
|
+
* memory is used. Also, since swig_type_info structures store pointers to
|
2828
3024
|
* swig_cast_info structures and swig_cast_info structures store pointers back
|
2829
|
-
* to swig_type_info structures, we need some lookup code at initialization.
|
2830
|
-
* The idea is that swig generates all the structures that are needed.
|
2831
|
-
* The runtime then collects these partially filled structures.
|
2832
|
-
* The SWIG_InitializeModule function takes these initial arrays out of
|
3025
|
+
* to swig_type_info structures, we need some lookup code at initialization.
|
3026
|
+
* The idea is that swig generates all the structures that are needed.
|
3027
|
+
* The runtime then collects these partially filled structures.
|
3028
|
+
* The SWIG_InitializeModule function takes these initial arrays out of
|
2833
3029
|
* swig_module, and does all the lookup, filling in the swig_module.types
|
2834
3030
|
* array with the correct data and linking the correct swig_cast_info
|
2835
3031
|
* structures together.
|
2836
3032
|
*
|
2837
|
-
* The generated swig_type_info structures are assigned
|
3033
|
+
* The generated swig_type_info structures are assigned statically to an initial
|
2838
3034
|
* array. We just loop through that array, and handle each type individually.
|
2839
3035
|
* First we lookup if this type has been already loaded, and if so, use the
|
2840
3036
|
* loaded structure instead of the generated one. Then we have to fill in the
|
@@ -2844,17 +3040,17 @@ static swig_cast_info *swig_cast_initial[] = {
|
|
2844
3040
|
* a column is one of the swig_cast_info structures for that type.
|
2845
3041
|
* The cast_initial array is actually an array of arrays, because each row has
|
2846
3042
|
* a variable number of columns. So to actually build the cast linked list,
|
2847
|
-
* we find the array of casts associated with the type, and loop through it
|
3043
|
+
* we find the array of casts associated with the type, and loop through it
|
2848
3044
|
* adding the casts to the list. The one last trick we need to do is making
|
2849
3045
|
* sure the type pointer in the swig_cast_info struct is correct.
|
2850
3046
|
*
|
2851
|
-
* First off, we lookup the cast->type name to see if it is already loaded.
|
3047
|
+
* First off, we lookup the cast->type name to see if it is already loaded.
|
2852
3048
|
* There are three cases to handle:
|
2853
3049
|
* 1) If the cast->type has already been loaded AND the type we are adding
|
2854
3050
|
* casting info to has not been loaded (it is in this module), THEN we
|
2855
3051
|
* replace the cast->type pointer with the type pointer that has already
|
2856
3052
|
* been loaded.
|
2857
|
-
* 2) If BOTH types (the one we are adding casting info to, and the
|
3053
|
+
* 2) If BOTH types (the one we are adding casting info to, and the
|
2858
3054
|
* cast->type) are loaded, THEN the cast info has already been loaded by
|
2859
3055
|
* the previous module so we just ignore it.
|
2860
3056
|
* 3) Finally, if cast->type has not already been loaded, then we add that
|
@@ -2878,7 +3074,7 @@ SWIGRUNTIME void
|
|
2878
3074
|
SWIG_InitializeModule(void *clientdata) {
|
2879
3075
|
size_t i;
|
2880
3076
|
swig_module_info *module_head, *iter;
|
2881
|
-
int
|
3077
|
+
int init;
|
2882
3078
|
|
2883
3079
|
/* check to see if the circular list has been setup, if not, set it up */
|
2884
3080
|
if (swig_module.next==0) {
|
@@ -2897,27 +3093,23 @@ SWIG_InitializeModule(void *clientdata) {
|
|
2897
3093
|
/* This is the first module loaded for this interpreter */
|
2898
3094
|
/* so set the swig module into the interpreter */
|
2899
3095
|
SWIG_SetModule(clientdata, &swig_module);
|
2900
|
-
module_head = &swig_module;
|
2901
3096
|
} else {
|
2902
3097
|
/* the interpreter has loaded a SWIG module, but has it loaded this one? */
|
2903
|
-
found=0;
|
2904
3098
|
iter=module_head;
|
2905
3099
|
do {
|
2906
3100
|
if (iter==&swig_module) {
|
2907
|
-
|
2908
|
-
|
3101
|
+
/* Our module is already in the list, so there's nothing more to do. */
|
3102
|
+
return;
|
2909
3103
|
}
|
2910
3104
|
iter=iter->next;
|
2911
3105
|
} while (iter!= module_head);
|
2912
3106
|
|
2913
|
-
/*
|
2914
|
-
if (found) return;
|
2915
|
-
/* otherwise we must add out module into the list */
|
3107
|
+
/* otherwise we must add our module into the list */
|
2916
3108
|
swig_module.next = module_head->next;
|
2917
3109
|
module_head->next = &swig_module;
|
2918
3110
|
}
|
2919
3111
|
|
2920
|
-
/* When multiple
|
3112
|
+
/* When multiple interpreters are used, a module could have already been initialized in
|
2921
3113
|
a different interpreter, but not yet have a pointer in this interpreter.
|
2922
3114
|
In this case, we do not want to continue adding types... everything should be
|
2923
3115
|
set up already */
|
@@ -2931,7 +3123,7 @@ SWIG_InitializeModule(void *clientdata) {
|
|
2931
3123
|
swig_type_info *type = 0;
|
2932
3124
|
swig_type_info *ret;
|
2933
3125
|
swig_cast_info *cast;
|
2934
|
-
|
3126
|
+
|
2935
3127
|
#ifdef SWIGRUNTIME_DEBUG
|
2936
3128
|
printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
|
2937
3129
|
#endif
|
@@ -2958,7 +3150,7 @@ SWIG_InitializeModule(void *clientdata) {
|
|
2958
3150
|
/* Insert casting types */
|
2959
3151
|
cast = swig_module.cast_initial[i];
|
2960
3152
|
while (cast->type) {
|
2961
|
-
|
3153
|
+
|
2962
3154
|
/* Don't need to add information already in the list */
|
2963
3155
|
ret = 0;
|
2964
3156
|
#ifdef SWIGRUNTIME_DEBUG
|
@@ -3107,9 +3299,15 @@ SWIGEXPORT void Init_taglib_id3v1(void) {
|
|
3107
3299
|
rb_define_method(SwigClassTag.klass, "genre=", VALUEFUNC(_wrap_Tag_genree___), -1);
|
3108
3300
|
rb_define_method(SwigClassTag.klass, "year=", VALUEFUNC(_wrap_Tag_yeare___), -1);
|
3109
3301
|
rb_define_method(SwigClassTag.klass, "track=", VALUEFUNC(_wrap_Tag_tracke___), -1);
|
3302
|
+
rb_define_method(SwigClassTag.klass, "genre_number", VALUEFUNC(_wrap_Tag_genre_number), -1);
|
3303
|
+
rb_define_method(SwigClassTag.klass, "genre_number=", VALUEFUNC(_wrap_Tag_genre_numbere___), -1);
|
3110
3304
|
rb_define_singleton_method(SwigClassTag.klass, "string_handler=", VALUEFUNC(_wrap_Tag_string_handlere___), -1);
|
3111
3305
|
SwigClassTag.mark = 0;
|
3112
3306
|
SwigClassTag.destroy = (void (*)(void *)) free_TagLib_ID3v1_Tag;
|
3113
3307
|
SwigClassTag.trackObjects = 1;
|
3308
|
+
rb_define_module_function(mID3v1, "genre_list", VALUEFUNC(_wrap_genre_list), -1);
|
3309
|
+
rb_define_module_function(mID3v1, "genre_map", VALUEFUNC(_wrap_genre_map), -1);
|
3310
|
+
rb_define_module_function(mID3v1, "genre", VALUEFUNC(_wrap_genre), -1);
|
3311
|
+
rb_define_module_function(mID3v1, "genre_index", VALUEFUNC(_wrap_genre_index), -1);
|
3114
3312
|
}
|
3115
3313
|
|