taglib-ruby 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/CHANGELOG.md +6 -0
- data/README.md +1 -1
- data/ext/taglib_aiff/taglib_aiff.i +1 -0
- data/ext/taglib_aiff/taglib_aiff_wrap.cxx +106 -53
- data/ext/taglib_base/taglib_base.i +16 -4
- data/ext/taglib_base/taglib_base_wrap.cxx +133 -80
- data/ext/taglib_flac/taglib_flac.i +1 -0
- data/ext/taglib_flac/taglib_flac_wrap.cxx +126 -73
- data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +105 -52
- data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +106 -53
- data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +198 -149
- data/ext/taglib_mp4/taglib_mp4.i +1 -0
- data/ext/taglib_mp4/taglib_mp4_wrap.cxx +134 -81
- data/ext/taglib_mpeg/taglib_mpeg.i +1 -0
- data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +134 -81
- data/ext/taglib_ogg/taglib_ogg_wrap.cxx +120 -67
- data/ext/taglib_vorbis/taglib_vorbis.i +1 -0
- data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +116 -63
- data/ext/taglib_wav/taglib_wav.i +1 -0
- data/ext/taglib_wav/taglib_wav_wrap.cxx +112 -59
- data/lib/taglib/version.rb +1 -1
- data/taglib-ruby.gemspec +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a55f54bdc833c65711a28fbbe37d76b25f0b0c09eadc035e468c342805b4634f
|
4
|
+
data.tar.gz: dbcee5669f1aa0675026aed4f644f37bffd3025c3553a516eaf1187348147235
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29780812c27444ee090922a6c132bbc39f4a31332bc9b5b76c69170ecfca0f52a0b4e885ba3f7db5d389c86ad4bd55ffca06f4f28621a70b487e175f6c08f6a8
|
7
|
+
data.tar.gz: 7b17dcb6eaf9a80bc12ff4e31d1032935a874b1fb49c283d054f9b2605d1eac56deeb716f35944f6e407bd47f10c1aa1a71a893de354ff6f52b2e448b7150b55
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
github: robinst
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,12 @@ All notable changes to this project will be documented in this file.
|
|
6
6
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
7
7
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
8
8
|
|
9
|
+
## 1.1.3 - 2022-12-29
|
10
|
+
### Changed
|
11
|
+
- Fix warning `warning: undefining the allocator of T_DATA class
|
12
|
+
swig_runtime_data` on Ruby 3.2
|
13
|
+
- Upgraded to SWIG 4.1.1
|
14
|
+
|
9
15
|
## 1.1.2 - 2022-04-13
|
10
16
|
### Fixed
|
11
17
|
- Fix UserTextIdentificationFrame's constructor so that overloaded
|
data/README.md
CHANGED
@@ -151,7 +151,7 @@ To do everything in one command:
|
|
151
151
|
|
152
152
|
## License
|
153
153
|
|
154
|
-
Copyright (c) 2010-
|
154
|
+
Copyright (c) 2010-2022 Robin Stocker and others, see Git history.
|
155
155
|
|
156
156
|
`taglib-ruby` is distributed under the MIT License, see
|
157
157
|
[LICENSE.txt](LICENSE.txt) for details.
|
@@ -23,6 +23,7 @@
|
|
23
23
|
%ignore TagLib::RIFF::AIFF::File::File(IOStream *, bool, Properties::ReadStyle);
|
24
24
|
%ignore TagLib::RIFF::AIFF::File::File(IOStream *, bool);
|
25
25
|
%ignore TagLib::RIFF::AIFF::File::File(IOStream *);
|
26
|
+
%ignore TagLib::RIFF::AIFF::File::isSupported(IOStream *);
|
26
27
|
|
27
28
|
// Ignore the unified property interface.
|
28
29
|
%ignore TagLib::RIFF::AIFF::File::properties;
|
@@ -1,45 +1,17 @@
|
|
1
1
|
/* ----------------------------------------------------------------------------
|
2
|
-
* This file was automatically generated by SWIG (
|
3
|
-
* Version 4.
|
2
|
+
* This file was automatically generated by SWIG (https://www.swig.org).
|
3
|
+
* Version 4.1.1
|
4
4
|
*
|
5
|
-
*
|
6
|
-
*
|
7
|
-
* changes to this file unless you know what you are doing--modify the SWIG
|
8
|
-
* interface file instead.
|
5
|
+
* Do not make changes to this file unless you know what you are doing - modify
|
6
|
+
* the SWIG interface file instead.
|
9
7
|
* ----------------------------------------------------------------------------- */
|
10
8
|
|
11
9
|
static void free_taglib_riff_aiff_file(void *ptr);
|
12
10
|
|
13
11
|
|
14
12
|
|
15
|
-
#
|
13
|
+
#define SWIG_VERSION 0x040101
|
16
14
|
#define SWIGRUBY
|
17
|
-
#endif
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
#ifdef __cplusplus
|
22
|
-
/* SwigValueWrapper is described in swig.swg */
|
23
|
-
template<typename T> class SwigValueWrapper {
|
24
|
-
struct SwigMovePointer {
|
25
|
-
T *ptr;
|
26
|
-
SwigMovePointer(T *p) : ptr(p) { }
|
27
|
-
~SwigMovePointer() { delete ptr; }
|
28
|
-
SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
|
29
|
-
} pointer;
|
30
|
-
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
|
31
|
-
SwigValueWrapper(const SwigValueWrapper<T>& rhs);
|
32
|
-
public:
|
33
|
-
SwigValueWrapper() : pointer(0) { }
|
34
|
-
SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
|
35
|
-
operator T&() const { return *pointer.ptr; }
|
36
|
-
T *operator&() { return pointer.ptr; }
|
37
|
-
};
|
38
|
-
|
39
|
-
template <typename T> T SwigValueInit() {
|
40
|
-
return T();
|
41
|
-
}
|
42
|
-
#endif
|
43
15
|
|
44
16
|
/* -----------------------------------------------------------------------------
|
45
17
|
* This section contains generic SWIG labels for method/variable
|
@@ -335,6 +307,8 @@ template <typename T> T SwigValueInit() {
|
|
335
307
|
#define SWIG_POINTER_DISOWN 0x1
|
336
308
|
#define SWIG_CAST_NEW_MEMORY 0x2
|
337
309
|
#define SWIG_POINTER_NO_NULL 0x4
|
310
|
+
#define SWIG_POINTER_CLEAR 0x8
|
311
|
+
#define SWIG_POINTER_RELEASE (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
|
338
312
|
|
339
313
|
/* Flags for new pointer objects */
|
340
314
|
#define SWIG_POINTER_OWN 0x1
|
@@ -406,7 +380,7 @@ template <typename T> T SwigValueInit() {
|
|
406
380
|
SWIG errors code.
|
407
381
|
|
408
382
|
Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
|
409
|
-
allows
|
383
|
+
allows returning the 'cast rank', for example, if you have this
|
410
384
|
|
411
385
|
int food(double)
|
412
386
|
int fooi(int);
|
@@ -420,7 +394,13 @@ template <typename T> T SwigValueInit() {
|
|
420
394
|
*/
|
421
395
|
|
422
396
|
#define SWIG_OK (0)
|
397
|
+
/* Runtime errors are < 0 */
|
423
398
|
#define SWIG_ERROR (-1)
|
399
|
+
/* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
|
400
|
+
/* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
|
401
|
+
/* Errors < -200 are generic runtime specific errors */
|
402
|
+
#define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
|
403
|
+
|
424
404
|
#define SWIG_IsOK(r) (r >= 0)
|
425
405
|
#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
|
426
406
|
|
@@ -435,7 +415,7 @@ template <typename T> T SwigValueInit() {
|
|
435
415
|
#define SWIG_OLDOBJ (SWIG_OK)
|
436
416
|
#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
|
437
417
|
#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
|
438
|
-
/* Check, add and del mask methods */
|
418
|
+
/* Check, add and del object mask methods */
|
439
419
|
#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
|
440
420
|
#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
|
441
421
|
#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
|
@@ -581,7 +561,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
|
|
581
561
|
Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
|
582
562
|
*/
|
583
563
|
SWIGRUNTIME swig_cast_info *
|
584
|
-
SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
|
564
|
+
SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
|
585
565
|
if (ty) {
|
586
566
|
swig_cast_info *iter = ty->cast;
|
587
567
|
while (iter) {
|
@@ -641,9 +621,9 @@ SWIG_TypeName(const swig_type_info *ty) {
|
|
641
621
|
SWIGRUNTIME const char *
|
642
622
|
SWIG_TypePrettyName(const swig_type_info *type) {
|
643
623
|
/* The "str" field contains the equivalent pretty names of the
|
644
|
-
type, separated by vertical-bar characters.
|
645
|
-
|
646
|
-
|
624
|
+
type, separated by vertical-bar characters. Choose the last
|
625
|
+
name. It should be the most specific; a fully resolved name
|
626
|
+
but not necessarily with default template parameters expanded. */
|
647
627
|
if (!type) return NULL;
|
648
628
|
if (type->str != NULL) {
|
649
629
|
const char *last_name = type->str;
|
@@ -863,7 +843,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
|
|
863
843
|
}
|
864
844
|
#endif
|
865
845
|
|
866
|
-
/*
|
846
|
+
/* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
|
867
847
|
#define SWIG_UnknownError -1
|
868
848
|
#define SWIG_IOError -2
|
869
849
|
#define SWIG_RuntimeError -3
|
@@ -879,9 +859,25 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
|
|
879
859
|
#define SWIG_NullReferenceError -13
|
880
860
|
|
881
861
|
|
862
|
+
#if __GNUC__ >= 7
|
863
|
+
#pragma GCC diagnostic push
|
864
|
+
#if defined(__cplusplus)
|
865
|
+
#pragma GCC diagnostic ignored "-Wregister"
|
866
|
+
#if __GNUC__ >= 10
|
867
|
+
#pragma GCC diagnostic ignored "-Wvolatile"
|
868
|
+
#if __GNUC__ >= 11
|
869
|
+
#pragma GCC diagnostic ignored "-Wdeprecated-enum-enum-conversion"
|
870
|
+
#endif
|
871
|
+
#endif
|
872
|
+
#endif
|
873
|
+
#endif
|
882
874
|
|
883
875
|
#include <ruby.h>
|
884
876
|
|
877
|
+
#if __GNUC__ >= 7
|
878
|
+
#pragma GCC diagnostic pop
|
879
|
+
#endif
|
880
|
+
|
885
881
|
/* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which
|
886
882
|
* breaks using rb_intern as an lvalue, as SWIG does. We work around this
|
887
883
|
* issue for now by disabling this.
|
@@ -1661,6 +1657,11 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
|
|
1661
1657
|
own->own = 0;
|
1662
1658
|
}
|
1663
1659
|
|
1660
|
+
if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE)) {
|
1661
|
+
if (!RDATA(obj)->dfree)
|
1662
|
+
return SWIG_ERROR_RELEASE_NOT_OWNED;
|
1663
|
+
}
|
1664
|
+
|
1664
1665
|
/* Check to see if the input object is giving up ownership
|
1665
1666
|
of the underlying C struct or C++ object. If so then we
|
1666
1667
|
need to reset the destructor since the Ruby object no
|
@@ -1672,7 +1673,7 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
|
|
1672
1673
|
swig_class *sklass = (swig_class *) ty->clientdata;
|
1673
1674
|
track = sklass->trackObjects;
|
1674
1675
|
}
|
1675
|
-
|
1676
|
+
|
1676
1677
|
if (track) {
|
1677
1678
|
/* We are tracking objects for this class. Thus we change the destructor
|
1678
1679
|
* to SWIG_RubyRemoveTracking. This allows us to
|
@@ -1686,6 +1687,10 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,
|
|
1686
1687
|
}
|
1687
1688
|
}
|
1688
1689
|
|
1690
|
+
if (flags & SWIG_POINTER_CLEAR) {
|
1691
|
+
DATA_PTR(obj) = 0;
|
1692
|
+
}
|
1693
|
+
|
1689
1694
|
/* Do type-checking if type info was provided */
|
1690
1695
|
if (ty) {
|
1691
1696
|
if (ty->clientdata) {
|
@@ -1793,6 +1798,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer)
|
|
1793
1798
|
{
|
1794
1799
|
/* register a new class */
|
1795
1800
|
VALUE cl = rb_define_class("swig_runtime_data", rb_cObject);
|
1801
|
+
rb_undef_alloc_func(cl);
|
1796
1802
|
/* create and store the structure pointer to a global variable */
|
1797
1803
|
swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer);
|
1798
1804
|
rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer);
|
@@ -1823,7 +1829,7 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
|
|
1823
1829
|
{
|
1824
1830
|
if ( rb_respond_to( proc, swig_arity_id ) )
|
1825
1831
|
{
|
1826
|
-
VALUE num =
|
1832
|
+
VALUE num = rb_funcall2( proc, swig_arity_id, 0, 0 );
|
1827
1833
|
int arity = NUM2INT(num);
|
1828
1834
|
if ( arity < 0 && (arity+1) < -minimal ) return 1;
|
1829
1835
|
if ( arity == minimal ) return 1;
|
@@ -1841,7 +1847,7 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
|
|
1841
1847
|
|
1842
1848
|
#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
|
1843
1849
|
|
1844
|
-
#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; }
|
1850
|
+
#define SWIG_contract_assert(expr, msg) do { if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } } while (0)
|
1845
1851
|
|
1846
1852
|
|
1847
1853
|
|
@@ -1868,12 +1874,56 @@ static swig_module_info swig_module = {swig_types, 9, 0, 0, 0, 0};
|
|
1868
1874
|
|
1869
1875
|
static VALUE mAIFF;
|
1870
1876
|
|
1871
|
-
#
|
1872
|
-
#
|
1877
|
+
#ifdef __cplusplus
|
1878
|
+
#include <utility>
|
1879
|
+
/* SwigValueWrapper is described in swig.swg */
|
1880
|
+
template<typename T> class SwigValueWrapper {
|
1881
|
+
struct SwigSmartPointer {
|
1882
|
+
T *ptr;
|
1883
|
+
SwigSmartPointer(T *p) : ptr(p) { }
|
1884
|
+
~SwigSmartPointer() { delete ptr; }
|
1885
|
+
SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
|
1886
|
+
void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
|
1887
|
+
} pointer;
|
1888
|
+
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
|
1889
|
+
SwigValueWrapper(const SwigValueWrapper<T>& rhs);
|
1890
|
+
public:
|
1891
|
+
SwigValueWrapper() : pointer(0) { }
|
1892
|
+
SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
|
1893
|
+
#if __cplusplus >=201103L
|
1894
|
+
SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
|
1895
|
+
operator T&&() const { return std::move(*pointer.ptr); }
|
1896
|
+
#else
|
1897
|
+
operator T&() const { return *pointer.ptr; }
|
1898
|
+
#endif
|
1899
|
+
T *operator&() const { return pointer.ptr; }
|
1900
|
+
static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
|
1901
|
+
};
|
1873
1902
|
|
1903
|
+
/*
|
1904
|
+
* SwigValueInit() is a generic initialisation solution as the following approach:
|
1905
|
+
*
|
1906
|
+
* T c_result = T();
|
1907
|
+
*
|
1908
|
+
* doesn't compile for all types for example:
|
1909
|
+
*
|
1910
|
+
* unsigned int c_result = unsigned int();
|
1911
|
+
*/
|
1912
|
+
template <typename T> T SwigValueInit() {
|
1913
|
+
return T();
|
1914
|
+
}
|
1874
1915
|
|
1875
|
-
#
|
1876
|
-
#define
|
1916
|
+
#if __cplusplus >=201103L
|
1917
|
+
# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
|
1918
|
+
#else
|
1919
|
+
# define SWIG_STD_MOVE(OBJ) OBJ
|
1920
|
+
#endif
|
1921
|
+
|
1922
|
+
#endif
|
1923
|
+
|
1924
|
+
|
1925
|
+
#define SWIG_RUBY_THREAD_BEGIN_BLOCK
|
1926
|
+
#define SWIG_RUBY_THREAD_END_BLOCK
|
1877
1927
|
|
1878
1928
|
|
1879
1929
|
#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a))
|
@@ -2042,7 +2092,7 @@ SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
|
|
2042
2092
|
}
|
2043
2093
|
|
2044
2094
|
|
2045
|
-
/*@SWIG:/usr/local/Cellar/swig/4.
|
2095
|
+
/*@SWIG:/usr/local/Cellar/swig/4.1.1/share/swig/4.1.1/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
|
2046
2096
|
SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
|
2047
2097
|
{
|
2048
2098
|
VALUE *args = (VALUE *)arg;
|
@@ -2641,7 +2691,7 @@ SWIGINTERN VALUE _wrap_new_File(int nargs, VALUE *args, VALUE self) {
|
|
2641
2691
|
argv[ii] = args[ii];
|
2642
2692
|
}
|
2643
2693
|
if (argc == 1) {
|
2644
|
-
int _v;
|
2694
|
+
int _v = 0;
|
2645
2695
|
int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
|
2646
2696
|
_v = SWIG_CheckState(res);
|
2647
2697
|
if (_v) {
|
@@ -2649,7 +2699,7 @@ SWIGINTERN VALUE _wrap_new_File(int nargs, VALUE *args, VALUE self) {
|
|
2649
2699
|
}
|
2650
2700
|
}
|
2651
2701
|
if (argc == 2) {
|
2652
|
-
int _v;
|
2702
|
+
int _v = 0;
|
2653
2703
|
int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
|
2654
2704
|
_v = SWIG_CheckState(res);
|
2655
2705
|
if (_v) {
|
@@ -2663,7 +2713,7 @@ SWIGINTERN VALUE _wrap_new_File(int nargs, VALUE *args, VALUE self) {
|
|
2663
2713
|
}
|
2664
2714
|
}
|
2665
2715
|
if (argc == 3) {
|
2666
|
-
int _v;
|
2716
|
+
int _v = 0;
|
2667
2717
|
int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
|
2668
2718
|
_v = SWIG_CheckState(res);
|
2669
2719
|
if (_v) {
|
@@ -2822,7 +2872,7 @@ static swig_type_info _swigt__p_TagLib__RIFF__AIFF__File = {"_p_TagLib__RIFF__AI
|
|
2822
2872
|
static swig_type_info _swigt__p_TagLib__RIFF__AIFF__Properties = {"_p_TagLib__RIFF__AIFF__Properties", "TagLib::RIFF::AIFF::Properties *", 0, 0, (void*)0, 0};
|
2823
2873
|
static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
|
2824
2874
|
static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "TagLib::uchar *|unsigned char *", 0, 0, (void*)0, 0};
|
2825
|
-
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int
|
2875
|
+
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "TagLib::uint *|unsigned int *", 0, 0, (void*)0, 0};
|
2826
2876
|
static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "TagLib::ulong *|unsigned long *", 0, 0, (void*)0, 0};
|
2827
2877
|
static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_t *", 0, 0, (void*)0, 0};
|
2828
2878
|
|
@@ -2915,9 +2965,12 @@ extern "C" {
|
|
2915
2965
|
#define SWIGRUNTIME_DEBUG
|
2916
2966
|
#endif
|
2917
2967
|
|
2968
|
+
#ifndef SWIG_INIT_CLIENT_DATA_TYPE
|
2969
|
+
#define SWIG_INIT_CLIENT_DATA_TYPE void *
|
2970
|
+
#endif
|
2918
2971
|
|
2919
2972
|
SWIGRUNTIME void
|
2920
|
-
SWIG_InitializeModule(
|
2973
|
+
SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
|
2921
2974
|
size_t i;
|
2922
2975
|
swig_module_info *module_head, *iter;
|
2923
2976
|
int init;
|
@@ -34,13 +34,25 @@ namespace TagLib {
|
|
34
34
|
|
35
35
|
// Rename setters to Ruby convention (combining SWIG rename functions
|
36
36
|
// does not seem to be possible, thus resort to some magic)
|
37
|
+
// We used to do this with one "command" filter, but support for that was
|
38
|
+
// removed in SWIG 4.1.0. This is a bit uglier because we need one filter for
|
39
|
+
// setOne, one for setOneTwo, and one for setOneTwoThree. Looks like we don't
|
40
|
+
// need one for 4 yet.
|
37
41
|
// setFoo -> foo=
|
38
|
-
%rename("%(
|
39
|
-
regexmatch$name="^set[A-Z]") "";
|
42
|
+
%rename("%(regex:/set([A-Z][a-z]*)([A-Z][a-z]*)([A-Z][a-z]*)/\\L\\1_\\2_\\3=/)s",
|
43
|
+
regexmatch$name="^set([A-Z][a-z]*){3}$") "";
|
44
|
+
%rename("%(regex:/set([A-Z][a-z]*)([A-Z][a-z]*)/\\L\\1_\\2=/)s",
|
45
|
+
regexmatch$name="^set([A-Z][a-z]*){2}$") "";
|
46
|
+
%rename("%(regex:/set([A-Z][a-z]*)/\\L\\1=/)s",
|
47
|
+
regexmatch$name="^set([A-Z][a-z]*)$") "";
|
40
48
|
|
41
49
|
// isFoo -> foo?
|
42
|
-
%rename("%(
|
43
|
-
regexmatch$name="^is[A-Z]") "";
|
50
|
+
%rename("%(regex:/is([A-Z][a-z]*)([A-Z][a-z]*)([A-Z][a-z]*)/\\L\\1_\\2_\\3?/)s",
|
51
|
+
regexmatch$name="^is([A-Z][a-z]*){3}$") "";
|
52
|
+
%rename("%(regex:/is([A-Z][a-z]*)([A-Z][a-z]*)/\\L\\1_\\2?/)s",
|
53
|
+
regexmatch$name="^is([A-Z][a-z]*){2}$") "";
|
54
|
+
%rename("%(regex:/is([A-Z][a-z]*)/\\L\\1?/)s",
|
55
|
+
regexmatch$name="^is([A-Z][a-z]*)$") "";
|
44
56
|
|
45
57
|
// ByteVector
|
46
58
|
%typemap(out) TagLib::ByteVector {
|