taglib-ruby 0.7.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +7 -0
  3. data/README.md +25 -10
  4. data/Rakefile +11 -1
  5. data/docs/taglib/aiff.rb +35 -3
  6. data/docs/taglib/base.rb +8 -1
  7. data/docs/taglib/flac.rb +60 -4
  8. data/docs/taglib/id3v1.rb +29 -0
  9. data/docs/taglib/id3v2.rb +1 -1
  10. data/docs/taglib/mp4.rb +124 -13
  11. data/docs/taglib/mpeg.rb +30 -1
  12. data/docs/taglib/ogg.rb +47 -5
  13. data/docs/taglib/vorbis.rb +1 -1
  14. data/docs/taglib/wav.rb +56 -3
  15. data/ext/extconf_common.rb +9 -2
  16. data/ext/taglib_aiff/taglib_aiff.i +16 -0
  17. data/ext/taglib_aiff/taglib_aiff_wrap.cxx +228 -58
  18. data/ext/taglib_base/includes.i +4 -4
  19. data/ext/taglib_base/taglib_base.i +24 -2
  20. data/ext/taglib_base/taglib_base_wrap.cxx +76 -51
  21. data/ext/taglib_flac/taglib_flac.i +14 -18
  22. data/ext/taglib_flac/taglib_flac_wrap.cxx +341 -799
  23. data/ext/taglib_flac_picture/extconf.rb +4 -0
  24. data/ext/taglib_flac_picture/includes.i +15 -0
  25. data/ext/taglib_flac_picture/taglib_flac_picture.i +15 -0
  26. data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +3087 -0
  27. data/ext/taglib_id3v1/taglib_id3v1.i +19 -0
  28. data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +241 -58
  29. data/ext/taglib_id3v2/taglib_id3v2.i +52 -1
  30. data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +152 -155
  31. data/ext/taglib_mp4/taglib_mp4.i +100 -19
  32. data/ext/taglib_mp4/taglib_mp4_wrap.cxx +939 -148
  33. data/ext/taglib_mpeg/taglib_mpeg.i +11 -16
  34. data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +522 -208
  35. data/ext/taglib_ogg/taglib_ogg.i +11 -0
  36. data/ext/taglib_ogg/taglib_ogg_wrap.cxx +328 -57
  37. data/ext/taglib_vorbis/taglib_vorbis.i +8 -0
  38. data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +53 -22
  39. data/ext/taglib_wav/taglib_wav.i +24 -0
  40. data/ext/taglib_wav/taglib_wav_wrap.cxx +543 -198
  41. data/lib/taglib/mp4.rb +2 -1
  42. data/lib/taglib/version.rb +3 -3
  43. data/lib/taglib/wav.rb +4 -0
  44. data/taglib-ruby.gemspec +15 -9
  45. data/tasks/ext.rake +36 -15
  46. data/tasks/swig.rake +26 -2
  47. data/test/aiff_examples_test.rb +1 -1
  48. data/test/aiff_file_test.rb +12 -3
  49. data/test/data/vorbis-create.cpp +20 -1
  50. data/test/data/vorbis.oga +0 -0
  51. data/test/fileref_properties_test.rb +1 -1
  52. data/test/flac_file_test.rb +45 -30
  53. data/test/id3v1_genres_test.rb +23 -0
  54. data/test/id3v1_tag_test.rb +1 -0
  55. data/test/id3v2_tag_test.rb +6 -6
  56. data/test/id3v2_write_test.rb +10 -13
  57. data/test/mp4_file_test.rb +33 -4
  58. data/test/mp4_file_write_test.rb +5 -5
  59. data/test/mp4_items_test.rb +83 -29
  60. data/test/mpeg_file_test.rb +120 -7
  61. data/test/vorbis_file_test.rb +2 -2
  62. data/test/vorbis_tag_test.rb +61 -7
  63. data/test/wav_examples_test.rb +1 -1
  64. data/test/wav_file_test.rb +53 -41
  65. data/test/wav_file_write_test.rb +25 -0
  66. metadata +19 -9
@@ -2,11 +2,16 @@
2
2
  %{
3
3
  #include <taglib/taglib.h>
4
4
  #include <taglib/oggfile.h>
5
+ #include <taglib/flacpicture.h>
5
6
  #include <taglib/xiphcomment.h>
7
+ // Help find FLAC::
8
+ using namespace TagLib;
6
9
  %}
7
10
 
8
11
  %include "../taglib_base/includes.i"
9
12
  %import(module="taglib_base") "../taglib_base/taglib_base.i"
13
+ %include "../taglib_flac_picture/includes.i"
14
+ %import(module="taglib_flac_picture") "../taglib_flac_picture/taglib_flac_picture.i"
10
15
 
11
16
  %typemap(out) TagLib::Ogg::FieldListMap {
12
17
  $result = taglib_ogg_fieldlistmap_to_ruby_hash(*$1);
@@ -15,6 +20,12 @@
15
20
 
16
21
  %include <taglib/oggfile.h>
17
22
 
23
+ %apply SWIGTYPE *DISOWN { TagLib::FLAC::Picture *picture };
24
+ // Don't expose second parameter, memory should be freed by TagLib
25
+ %ignore TagLib::Ogg::XiphComment::removePicture(Picture *, bool);
26
+
27
+ %ignore TagLib::Ogg::XiphComment::removeField;
28
+
18
29
  %rename("contains?") TagLib::Ogg::XiphComment::contains;
19
30
 
20
31
  %include <taglib/xiphcomment.h>
@@ -1828,18 +1828,20 @@ int SWIG_Ruby_arity( VALUE proc, int minimal )
1828
1828
  /* -------- TYPES TABLE (BEGIN) -------- */
1829
1829
 
1830
1830
  #define SWIGTYPE_p_MapT_TagLib__String_TagLib__StringList_t swig_types[0]
1831
- #define SWIGTYPE_p_TagLib__File swig_types[1]
1832
- #define SWIGTYPE_p_TagLib__Ogg__File swig_types[2]
1833
- #define SWIGTYPE_p_TagLib__Ogg__PageHeader swig_types[3]
1834
- #define SWIGTYPE_p_TagLib__Ogg__XiphComment swig_types[4]
1835
- #define SWIGTYPE_p_TagLib__Tag swig_types[5]
1836
- #define SWIGTYPE_p_char swig_types[6]
1837
- #define SWIGTYPE_p_unsigned_char swig_types[7]
1838
- #define SWIGTYPE_p_unsigned_int swig_types[8]
1839
- #define SWIGTYPE_p_unsigned_long swig_types[9]
1840
- #define SWIGTYPE_p_wchar_t swig_types[10]
1841
- static swig_type_info *swig_types[12];
1842
- static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0};
1831
+ #define SWIGTYPE_p_TagLib__FLAC__Picture swig_types[1]
1832
+ #define SWIGTYPE_p_TagLib__File swig_types[2]
1833
+ #define SWIGTYPE_p_TagLib__ListT_TagLib__FLAC__Picture_t swig_types[3]
1834
+ #define SWIGTYPE_p_TagLib__Ogg__File swig_types[4]
1835
+ #define SWIGTYPE_p_TagLib__Ogg__PageHeader swig_types[5]
1836
+ #define SWIGTYPE_p_TagLib__Ogg__XiphComment swig_types[6]
1837
+ #define SWIGTYPE_p_TagLib__Tag swig_types[7]
1838
+ #define SWIGTYPE_p_char swig_types[8]
1839
+ #define SWIGTYPE_p_unsigned_char swig_types[9]
1840
+ #define SWIGTYPE_p_unsigned_int swig_types[10]
1841
+ #define SWIGTYPE_p_unsigned_long swig_types[11]
1842
+ #define SWIGTYPE_p_wchar_t swig_types[12]
1843
+ static swig_type_info *swig_types[14];
1844
+ static swig_module_info swig_module = {swig_types, 13, 0, 0, 0, 0};
1843
1845
  #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1844
1846
  #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1845
1847
 
@@ -1867,7 +1869,10 @@ static VALUE mOgg;
1867
1869
 
1868
1870
  #include <taglib/taglib.h>
1869
1871
  #include <taglib/oggfile.h>
1872
+ #include <taglib/flacpicture.h>
1870
1873
  #include <taglib/xiphcomment.h>
1874
+ // Help find FLAC::
1875
+ using namespace TagLib;
1871
1876
 
1872
1877
 
1873
1878
  #include <taglib/tstring.h>
@@ -1889,7 +1894,7 @@ VALUE taglib_bytevector_to_ruby_string(const TagLib::ByteVector &byteVector) {
1889
1894
  if (byteVector.isNull()) {
1890
1895
  return Qnil;
1891
1896
  } else {
1892
- return rb_tainted_str_new(byteVector.data(), byteVector.size());
1897
+ return rb_str_new(byteVector.data(), byteVector.size());
1893
1898
  }
1894
1899
  }
1895
1900
 
@@ -1905,7 +1910,7 @@ VALUE taglib_string_to_ruby_string(const TagLib::String & string) {
1905
1910
  if (string.isNull()) {
1906
1911
  return Qnil;
1907
1912
  } else {
1908
- VALUE result = rb_tainted_str_new2(string.toCString(true));
1913
+ VALUE result = rb_str_new2(string.toCString(true));
1909
1914
  ASSOCIATE_UTF8_ENCODING(result);
1910
1915
  return result;
1911
1916
  }
@@ -1945,9 +1950,9 @@ VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) {
1945
1950
  VALUE result;
1946
1951
  #ifdef _WIN32
1947
1952
  const char *s = (const char *) filename;
1948
- result = rb_tainted_str_new2(s);
1953
+ result = rb_str_new2(s);
1949
1954
  #else
1950
- result = rb_tainted_str_new2(filename);
1955
+ result = rb_str_new2(filename);
1951
1956
  #endif
1952
1957
  ASSOCIATE_FILESYSTEM_ENCODING(result);
1953
1958
  return result;
@@ -1982,6 +1987,17 @@ TagLib::FileName ruby_string_to_taglib_filename(VALUE s) {
1982
1987
 
1983
1988
 
1984
1989
 
1990
+ VALUE taglib_flac_picturelist_to_ruby_array(const TagLib::List<TagLib::FLAC::Picture *> & list) {
1991
+ VALUE ary = rb_ary_new2(list.size());
1992
+ for (TagLib::List<TagLib::FLAC::Picture *>::ConstIterator it = list.begin(); it != list.end(); it++) {
1993
+ TagLib::FLAC::Picture *picture = *it;
1994
+ VALUE p = SWIG_NewPointerObj(picture, SWIGTYPE_p_TagLib__FLAC__Picture, 0);
1995
+ rb_ary_push(ary, p);
1996
+ }
1997
+ return ary;
1998
+ }
1999
+
2000
+
1985
2001
  #include <limits.h>
1986
2002
  #if !defined(SWIG_NO_LLONG_MAX)
1987
2003
  # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
@@ -2206,7 +2222,7 @@ free_TagLib_Ogg_File(TagLib::Ogg::File *arg1) {
2206
2222
  SWIGINTERN VALUE
2207
2223
  _wrap_File_packet(int argc, VALUE *argv, VALUE self) {
2208
2224
  TagLib::Ogg::File *arg1 = (TagLib::Ogg::File *) 0 ;
2209
- TagLib::uint arg2 ;
2225
+ unsigned int arg2 ;
2210
2226
  void *argp1 = 0 ;
2211
2227
  int res1 = 0 ;
2212
2228
  unsigned int val2 ;
@@ -2224,9 +2240,9 @@ _wrap_File_packet(int argc, VALUE *argv, VALUE self) {
2224
2240
  arg1 = reinterpret_cast< TagLib::Ogg::File * >(argp1);
2225
2241
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
2226
2242
  if (!SWIG_IsOK(ecode2)) {
2227
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "TagLib::uint","packet", 2, argv[0] ));
2243
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","packet", 2, argv[0] ));
2228
2244
  }
2229
- arg2 = static_cast< TagLib::uint >(val2);
2245
+ arg2 = static_cast< unsigned int >(val2);
2230
2246
  result = (arg1)->packet(arg2);
2231
2247
  {
2232
2248
  vresult = taglib_bytevector_to_ruby_string(result);
@@ -2240,7 +2256,7 @@ fail:
2240
2256
  SWIGINTERN VALUE
2241
2257
  _wrap_File_packete___(int argc, VALUE *argv, VALUE self) {
2242
2258
  TagLib::Ogg::File *arg1 = (TagLib::Ogg::File *) 0 ;
2243
- TagLib::uint arg2 ;
2259
+ unsigned int arg2 ;
2244
2260
  TagLib::ByteVector *arg3 = 0 ;
2245
2261
  void *argp1 = 0 ;
2246
2262
  int res1 = 0 ;
@@ -2258,9 +2274,9 @@ _wrap_File_packete___(int argc, VALUE *argv, VALUE self) {
2258
2274
  arg1 = reinterpret_cast< TagLib::Ogg::File * >(argp1);
2259
2275
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
2260
2276
  if (!SWIG_IsOK(ecode2)) {
2261
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "TagLib::uint","setPacket", 2, argv[0] ));
2277
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setPacket", 2, argv[0] ));
2262
2278
  }
2263
- arg2 = static_cast< TagLib::uint >(val2);
2279
+ arg2 = static_cast< unsigned int >(val2);
2264
2280
  {
2265
2281
  tmp3 = ruby_string_to_taglib_bytevector(argv[1]);
2266
2282
  arg3 = &tmp3;
@@ -2573,7 +2589,7 @@ _wrap_XiphComment_year(int argc, VALUE *argv, VALUE self) {
2573
2589
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
2574
2590
  void *argp1 = 0 ;
2575
2591
  int res1 = 0 ;
2576
- TagLib::uint result;
2592
+ unsigned int result;
2577
2593
  VALUE vresult = Qnil;
2578
2594
 
2579
2595
  if ((argc < 0) || (argc > 0)) {
@@ -2584,7 +2600,7 @@ _wrap_XiphComment_year(int argc, VALUE *argv, VALUE self) {
2584
2600
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment const *","year", 1, self ));
2585
2601
  }
2586
2602
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
2587
- result = (TagLib::uint)((TagLib::Ogg::XiphComment const *)arg1)->year();
2603
+ result = (unsigned int)((TagLib::Ogg::XiphComment const *)arg1)->year();
2588
2604
  vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
2589
2605
  return vresult;
2590
2606
  fail:
@@ -2597,7 +2613,7 @@ _wrap_XiphComment_track(int argc, VALUE *argv, VALUE self) {
2597
2613
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
2598
2614
  void *argp1 = 0 ;
2599
2615
  int res1 = 0 ;
2600
- TagLib::uint result;
2616
+ unsigned int result;
2601
2617
  VALUE vresult = Qnil;
2602
2618
 
2603
2619
  if ((argc < 0) || (argc > 0)) {
@@ -2608,7 +2624,7 @@ _wrap_XiphComment_track(int argc, VALUE *argv, VALUE self) {
2608
2624
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment const *","track", 1, self ));
2609
2625
  }
2610
2626
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
2611
- result = (TagLib::uint)((TagLib::Ogg::XiphComment const *)arg1)->track();
2627
+ result = (unsigned int)((TagLib::Ogg::XiphComment const *)arg1)->track();
2612
2628
  vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
2613
2629
  return vresult;
2614
2630
  fail:
@@ -2754,7 +2770,7 @@ fail:
2754
2770
  SWIGINTERN VALUE
2755
2771
  _wrap_XiphComment_yeare___(int argc, VALUE *argv, VALUE self) {
2756
2772
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
2757
- TagLib::uint arg2 ;
2773
+ unsigned int arg2 ;
2758
2774
  void *argp1 = 0 ;
2759
2775
  int res1 = 0 ;
2760
2776
  unsigned int val2 ;
@@ -2770,9 +2786,9 @@ _wrap_XiphComment_yeare___(int argc, VALUE *argv, VALUE self) {
2770
2786
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
2771
2787
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
2772
2788
  if (!SWIG_IsOK(ecode2)) {
2773
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "TagLib::uint","setYear", 2, argv[0] ));
2789
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setYear", 2, argv[0] ));
2774
2790
  }
2775
- arg2 = static_cast< TagLib::uint >(val2);
2791
+ arg2 = static_cast< unsigned int >(val2);
2776
2792
  (arg1)->setYear(arg2);
2777
2793
  return Qnil;
2778
2794
  fail:
@@ -2783,7 +2799,7 @@ fail:
2783
2799
  SWIGINTERN VALUE
2784
2800
  _wrap_XiphComment_tracke___(int argc, VALUE *argv, VALUE self) {
2785
2801
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
2786
- TagLib::uint arg2 ;
2802
+ unsigned int arg2 ;
2787
2803
  void *argp1 = 0 ;
2788
2804
  int res1 = 0 ;
2789
2805
  unsigned int val2 ;
@@ -2799,9 +2815,9 @@ _wrap_XiphComment_tracke___(int argc, VALUE *argv, VALUE self) {
2799
2815
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
2800
2816
  ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2);
2801
2817
  if (!SWIG_IsOK(ecode2)) {
2802
- SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "TagLib::uint","setTrack", 2, argv[0] ));
2818
+ SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","setTrack", 2, argv[0] ));
2803
2819
  }
2804
- arg2 = static_cast< TagLib::uint >(val2);
2820
+ arg2 = static_cast< unsigned int >(val2);
2805
2821
  (arg1)->setTrack(arg2);
2806
2822
  return Qnil;
2807
2823
  fail:
@@ -2838,7 +2854,7 @@ _wrap_XiphComment_field_count(int argc, VALUE *argv, VALUE self) {
2838
2854
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
2839
2855
  void *argp1 = 0 ;
2840
2856
  int res1 = 0 ;
2841
- TagLib::uint result;
2857
+ unsigned int result;
2842
2858
  VALUE vresult = Qnil;
2843
2859
 
2844
2860
  if ((argc < 0) || (argc > 0)) {
@@ -2849,7 +2865,7 @@ _wrap_XiphComment_field_count(int argc, VALUE *argv, VALUE self) {
2849
2865
  SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment const *","fieldCount", 1, self ));
2850
2866
  }
2851
2867
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
2852
- result = (TagLib::uint)((TagLib::Ogg::XiphComment const *)arg1)->fieldCount();
2868
+ result = (unsigned int)((TagLib::Ogg::XiphComment const *)arg1)->fieldCount();
2853
2869
  vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result));
2854
2870
  return vresult;
2855
2871
  fail:
@@ -2883,6 +2899,28 @@ fail:
2883
2899
  }
2884
2900
 
2885
2901
 
2902
+ SWIGINTERN VALUE
2903
+ _wrap_XiphComment_check_key(int argc, VALUE *argv, VALUE self) {
2904
+ TagLib::String *arg1 = 0 ;
2905
+ TagLib::String tmp1 ;
2906
+ bool result;
2907
+ VALUE vresult = Qnil;
2908
+
2909
+ if ((argc < 1) || (argc > 1)) {
2910
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
2911
+ }
2912
+ {
2913
+ tmp1 = ruby_string_to_taglib_string(argv[0]);
2914
+ arg1 = &tmp1;
2915
+ }
2916
+ result = (bool)TagLib::Ogg::XiphComment::checkKey((TagLib::String const &)*arg1);
2917
+ vresult = SWIG_From_bool(static_cast< bool >(result));
2918
+ return vresult;
2919
+ fail:
2920
+ return Qnil;
2921
+ }
2922
+
2923
+
2886
2924
  SWIGINTERN VALUE
2887
2925
  _wrap_XiphComment_vendor_id(int argc, VALUE *argv, VALUE self) {
2888
2926
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
@@ -3045,32 +3083,26 @@ fail:
3045
3083
 
3046
3084
 
3047
3085
  SWIGINTERN VALUE
3048
- _wrap_XiphComment_remove_field__SWIG_0(int argc, VALUE *argv, VALUE self) {
3086
+ _wrap_XiphComment_remove_fields__SWIG_0(int argc, VALUE *argv, VALUE self) {
3049
3087
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3050
3088
  TagLib::String *arg2 = 0 ;
3051
- TagLib::String *arg3 = 0 ;
3052
3089
  void *argp1 = 0 ;
3053
3090
  int res1 = 0 ;
3054
3091
  TagLib::String tmp2 ;
3055
- TagLib::String tmp3 ;
3056
3092
 
3057
- if ((argc < 2) || (argc > 2)) {
3058
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3093
+ if ((argc < 1) || (argc > 1)) {
3094
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3059
3095
  }
3060
3096
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3061
3097
  if (!SWIG_IsOK(res1)) {
3062
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removeField", 1, self ));
3098
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removeFields", 1, self ));
3063
3099
  }
3064
3100
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3065
3101
  {
3066
3102
  tmp2 = ruby_string_to_taglib_string(argv[0]);
3067
3103
  arg2 = &tmp2;
3068
3104
  }
3069
- {
3070
- tmp3 = ruby_string_to_taglib_string(argv[1]);
3071
- arg3 = &tmp3;
3072
- }
3073
- (arg1)->removeField((TagLib::String const &)*arg2,(TagLib::String const &)*arg3);
3105
+ (arg1)->removeFields((TagLib::String const &)*arg2);
3074
3106
  return Qnil;
3075
3107
  fail:
3076
3108
  return Qnil;
@@ -3078,33 +3110,39 @@ fail:
3078
3110
 
3079
3111
 
3080
3112
  SWIGINTERN VALUE
3081
- _wrap_XiphComment_remove_field__SWIG_1(int argc, VALUE *argv, VALUE self) {
3113
+ _wrap_XiphComment_remove_fields__SWIG_1(int argc, VALUE *argv, VALUE self) {
3082
3114
  TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3083
3115
  TagLib::String *arg2 = 0 ;
3116
+ TagLib::String *arg3 = 0 ;
3084
3117
  void *argp1 = 0 ;
3085
3118
  int res1 = 0 ;
3086
3119
  TagLib::String tmp2 ;
3120
+ TagLib::String tmp3 ;
3087
3121
 
3088
- if ((argc < 1) || (argc > 1)) {
3089
- rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3122
+ if ((argc < 2) || (argc > 2)) {
3123
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3090
3124
  }
3091
3125
  res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3092
3126
  if (!SWIG_IsOK(res1)) {
3093
- SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removeField", 1, self ));
3127
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removeFields", 1, self ));
3094
3128
  }
3095
3129
  arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3096
3130
  {
3097
3131
  tmp2 = ruby_string_to_taglib_string(argv[0]);
3098
3132
  arg2 = &tmp2;
3099
3133
  }
3100
- (arg1)->removeField((TagLib::String const &)*arg2);
3134
+ {
3135
+ tmp3 = ruby_string_to_taglib_string(argv[1]);
3136
+ arg3 = &tmp3;
3137
+ }
3138
+ (arg1)->removeFields((TagLib::String const &)*arg2,(TagLib::String const &)*arg3);
3101
3139
  return Qnil;
3102
3140
  fail:
3103
3141
  return Qnil;
3104
3142
  }
3105
3143
 
3106
3144
 
3107
- SWIGINTERN VALUE _wrap_XiphComment_remove_field(int nargs, VALUE *args, VALUE self) {
3145
+ SWIGINTERN VALUE _wrap_XiphComment_remove_fields(int nargs, VALUE *args, VALUE self) {
3108
3146
  int argc;
3109
3147
  VALUE argv[4];
3110
3148
  int ii;
@@ -3124,7 +3162,7 @@ SWIGINTERN VALUE _wrap_XiphComment_remove_field(int nargs, VALUE *args, VALUE se
3124
3162
  int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
3125
3163
  _v = SWIG_CheckState(res);
3126
3164
  if (_v) {
3127
- return _wrap_XiphComment_remove_field__SWIG_1(nargs, args, self);
3165
+ return _wrap_XiphComment_remove_fields__SWIG_0(nargs, args, self);
3128
3166
  }
3129
3167
  }
3130
3168
  }
@@ -3140,17 +3178,38 @@ SWIGINTERN VALUE _wrap_XiphComment_remove_field(int nargs, VALUE *args, VALUE se
3140
3178
  int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0);
3141
3179
  _v = SWIG_CheckState(res);
3142
3180
  if (_v) {
3143
- return _wrap_XiphComment_remove_field__SWIG_0(nargs, args, self);
3181
+ return _wrap_XiphComment_remove_fields__SWIG_1(nargs, args, self);
3144
3182
  }
3145
3183
  }
3146
3184
  }
3147
3185
  }
3148
3186
 
3149
3187
  fail:
3150
- Ruby_Format_OverloadedError( argc, 4, "XiphComment.remove_field",
3151
- " void XiphComment.remove_field(TagLib::String const &key, TagLib::String const &value)\n"
3152
- " void XiphComment.remove_field(TagLib::String const &key)\n");
3188
+ Ruby_Format_OverloadedError( argc, 4, "XiphComment.remove_fields",
3189
+ " void XiphComment.remove_fields(TagLib::String const &key)\n"
3190
+ " void XiphComment.remove_fields(TagLib::String const &key, TagLib::String const &value)\n");
3191
+
3192
+ return Qnil;
3193
+ }
3194
+
3195
+
3196
+ SWIGINTERN VALUE
3197
+ _wrap_XiphComment_remove_all_fields(int argc, VALUE *argv, VALUE self) {
3198
+ TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3199
+ void *argp1 = 0 ;
3200
+ int res1 = 0 ;
3153
3201
 
3202
+ if ((argc < 0) || (argc > 0)) {
3203
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
3204
+ }
3205
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3206
+ if (!SWIG_IsOK(res1)) {
3207
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removeAllFields", 1, self ));
3208
+ }
3209
+ arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3210
+ (arg1)->removeAllFields();
3211
+ return Qnil;
3212
+ fail:
3154
3213
  return Qnil;
3155
3214
  }
3156
3215
 
@@ -3290,6 +3349,203 @@ fail:
3290
3349
  }
3291
3350
 
3292
3351
 
3352
+ SWIGINTERN VALUE
3353
+ _wrap_XiphComment_picture_list(int argc, VALUE *argv, VALUE self) {
3354
+ TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3355
+ void *argp1 = 0 ;
3356
+ int res1 = 0 ;
3357
+ SwigValueWrapper< TagLib::List< TagLib::FLAC::Picture * > > result;
3358
+ VALUE vresult = Qnil;
3359
+
3360
+ if ((argc < 0) || (argc > 0)) {
3361
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
3362
+ }
3363
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3364
+ if (!SWIG_IsOK(res1)) {
3365
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","pictureList", 1, self ));
3366
+ }
3367
+ arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3368
+ result = (arg1)->pictureList();
3369
+ {
3370
+ vresult = taglib_flac_picturelist_to_ruby_array(result);
3371
+ }
3372
+ return vresult;
3373
+ fail:
3374
+ return Qnil;
3375
+ }
3376
+
3377
+
3378
+ SWIGINTERN VALUE
3379
+ _wrap_XiphComment_remove_picture__SWIG_0(int argc, VALUE *argv, VALUE self) {
3380
+ TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3381
+ TagLib::FLAC::Picture *arg2 = (TagLib::FLAC::Picture *) 0 ;
3382
+ bool arg3 ;
3383
+ void *argp1 = 0 ;
3384
+ int res1 = 0 ;
3385
+ int res2 = 0 ;
3386
+ bool val3 ;
3387
+ int ecode3 = 0 ;
3388
+
3389
+ if ((argc < 2) || (argc > 2)) {
3390
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail;
3391
+ }
3392
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3393
+ if (!SWIG_IsOK(res1)) {
3394
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removePicture", 1, self ));
3395
+ }
3396
+ arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3397
+ res2 = SWIG_ConvertPtr(argv[0], SWIG_as_voidptrptr(&arg2), SWIGTYPE_p_TagLib__FLAC__Picture, SWIG_POINTER_DISOWN | 0 );
3398
+ if (!SWIG_IsOK(res2)) {
3399
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "TagLib::FLAC::Picture *","removePicture", 2, argv[0] ));
3400
+ }
3401
+ SWIG_RubyUnlinkObjects(arg2);
3402
+ SWIG_RubyRemoveTracking(arg2);
3403
+ ecode3 = SWIG_AsVal_bool(argv[1], &val3);
3404
+ if (!SWIG_IsOK(ecode3)) {
3405
+ SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "bool","removePicture", 3, argv[1] ));
3406
+ }
3407
+ arg3 = static_cast< bool >(val3);
3408
+ (arg1)->removePicture(arg2,arg3);
3409
+ return Qnil;
3410
+ fail:
3411
+ return Qnil;
3412
+ }
3413
+
3414
+
3415
+ SWIGINTERN VALUE
3416
+ _wrap_XiphComment_remove_picture__SWIG_1(int argc, VALUE *argv, VALUE self) {
3417
+ TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3418
+ TagLib::FLAC::Picture *arg2 = (TagLib::FLAC::Picture *) 0 ;
3419
+ void *argp1 = 0 ;
3420
+ int res1 = 0 ;
3421
+ int res2 = 0 ;
3422
+
3423
+ if ((argc < 1) || (argc > 1)) {
3424
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3425
+ }
3426
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3427
+ if (!SWIG_IsOK(res1)) {
3428
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removePicture", 1, self ));
3429
+ }
3430
+ arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3431
+ res2 = SWIG_ConvertPtr(argv[0], SWIG_as_voidptrptr(&arg2), SWIGTYPE_p_TagLib__FLAC__Picture, SWIG_POINTER_DISOWN | 0 );
3432
+ if (!SWIG_IsOK(res2)) {
3433
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "TagLib::FLAC::Picture *","removePicture", 2, argv[0] ));
3434
+ }
3435
+ SWIG_RubyUnlinkObjects(arg2);
3436
+ SWIG_RubyRemoveTracking(arg2);
3437
+ (arg1)->removePicture(arg2);
3438
+ return Qnil;
3439
+ fail:
3440
+ return Qnil;
3441
+ }
3442
+
3443
+
3444
+ SWIGINTERN VALUE _wrap_XiphComment_remove_picture(int nargs, VALUE *args, VALUE self) {
3445
+ int argc;
3446
+ VALUE argv[4];
3447
+ int ii;
3448
+
3449
+ argc = nargs + 1;
3450
+ argv[0] = self;
3451
+ if (argc > 4) SWIG_fail;
3452
+ for (ii = 1; (ii < argc); ++ii) {
3453
+ argv[ii] = args[ii-1];
3454
+ }
3455
+ if (argc == 2) {
3456
+ int _v;
3457
+ void *vptr = 0;
3458
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__Ogg__XiphComment, 0);
3459
+ _v = SWIG_CheckState(res);
3460
+ if (_v) {
3461
+ void *vptr = 0;
3462
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__FLAC__Picture, 0);
3463
+ _v = SWIG_CheckState(res);
3464
+ if (_v) {
3465
+ return _wrap_XiphComment_remove_picture__SWIG_1(nargs, args, self);
3466
+ }
3467
+ }
3468
+ }
3469
+ if (argc == 3) {
3470
+ int _v;
3471
+ void *vptr = 0;
3472
+ int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_TagLib__Ogg__XiphComment, 0);
3473
+ _v = SWIG_CheckState(res);
3474
+ if (_v) {
3475
+ void *vptr = 0;
3476
+ int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_TagLib__FLAC__Picture, 0);
3477
+ _v = SWIG_CheckState(res);
3478
+ if (_v) {
3479
+ {
3480
+ int res = SWIG_AsVal_bool(argv[2], NULL);
3481
+ _v = SWIG_CheckState(res);
3482
+ }
3483
+ if (_v) {
3484
+ return _wrap_XiphComment_remove_picture__SWIG_0(nargs, args, self);
3485
+ }
3486
+ }
3487
+ }
3488
+ }
3489
+
3490
+ fail:
3491
+ Ruby_Format_OverloadedError( argc, 4, "XiphComment.remove_picture",
3492
+ " void XiphComment.remove_picture(TagLib::FLAC::Picture *picture, bool del)\n"
3493
+ " void XiphComment.remove_picture(TagLib::FLAC::Picture *picture)\n");
3494
+
3495
+ return Qnil;
3496
+ }
3497
+
3498
+
3499
+ SWIGINTERN VALUE
3500
+ _wrap_XiphComment_remove_all_pictures(int argc, VALUE *argv, VALUE self) {
3501
+ TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3502
+ void *argp1 = 0 ;
3503
+ int res1 = 0 ;
3504
+
3505
+ if ((argc < 0) || (argc > 0)) {
3506
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
3507
+ }
3508
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3509
+ if (!SWIG_IsOK(res1)) {
3510
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","removeAllPictures", 1, self ));
3511
+ }
3512
+ arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3513
+ (arg1)->removeAllPictures();
3514
+ return Qnil;
3515
+ fail:
3516
+ return Qnil;
3517
+ }
3518
+
3519
+
3520
+ SWIGINTERN VALUE
3521
+ _wrap_XiphComment_add_picture(int argc, VALUE *argv, VALUE self) {
3522
+ TagLib::Ogg::XiphComment *arg1 = (TagLib::Ogg::XiphComment *) 0 ;
3523
+ TagLib::FLAC::Picture *arg2 = (TagLib::FLAC::Picture *) 0 ;
3524
+ void *argp1 = 0 ;
3525
+ int res1 = 0 ;
3526
+ int res2 = 0 ;
3527
+
3528
+ if ((argc < 1) || (argc > 1)) {
3529
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
3530
+ }
3531
+ res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_TagLib__Ogg__XiphComment, 0 | 0 );
3532
+ if (!SWIG_IsOK(res1)) {
3533
+ SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "TagLib::Ogg::XiphComment *","addPicture", 1, self ));
3534
+ }
3535
+ arg1 = reinterpret_cast< TagLib::Ogg::XiphComment * >(argp1);
3536
+ res2 = SWIG_ConvertPtr(argv[0], SWIG_as_voidptrptr(&arg2), SWIGTYPE_p_TagLib__FLAC__Picture, SWIG_POINTER_DISOWN | 0 );
3537
+ if (!SWIG_IsOK(res2)) {
3538
+ SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "TagLib::FLAC::Picture *","addPicture", 2, argv[0] ));
3539
+ }
3540
+ SWIG_RubyUnlinkObjects(arg2);
3541
+ SWIG_RubyRemoveTracking(arg2);
3542
+ (arg1)->addPicture(arg2);
3543
+ return Qnil;
3544
+ fail:
3545
+ return Qnil;
3546
+ }
3547
+
3548
+
3293
3549
 
3294
3550
  /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
3295
3551
 
@@ -3300,7 +3556,9 @@ static void *_p_TagLib__Ogg__FileTo_p_TagLib__File(void *x, int *SWIGUNUSEDPARM(
3300
3556
  return (void *)((TagLib::File *) ((TagLib::Ogg::File *) x));
3301
3557
  }
3302
3558
  static swig_type_info _swigt__p_MapT_TagLib__String_TagLib__StringList_t = {"_p_MapT_TagLib__String_TagLib__StringList_t", "Map< TagLib::String,TagLib::StringList > *|TagLib::Ogg::FieldListMap *", 0, 0, (void*)0, 0};
3559
+ static swig_type_info _swigt__p_TagLib__FLAC__Picture = {"_p_TagLib__FLAC__Picture", "TagLib::FLAC::Picture *", 0, 0, (void*)0, 0};
3303
3560
  static swig_type_info _swigt__p_TagLib__File = {"_p_TagLib__File", "TagLib::File *", 0, 0, (void*)0, 0};
3561
+ static swig_type_info _swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t = {"_p_TagLib__ListT_TagLib__FLAC__Picture_t", "TagLib::List< TagLib::FLAC::Picture > *|TagLib::FLAC::PictureList *", 0, 0, (void*)0, 0};
3304
3562
  static swig_type_info _swigt__p_TagLib__Ogg__File = {"_p_TagLib__Ogg__File", "TagLib::Ogg::File *", 0, 0, (void*)0, 0};
3305
3563
  static swig_type_info _swigt__p_TagLib__Ogg__PageHeader = {"_p_TagLib__Ogg__PageHeader", "TagLib::Ogg::PageHeader *", 0, 0, (void*)0, 0};
3306
3564
  static swig_type_info _swigt__p_TagLib__Ogg__XiphComment = {"_p_TagLib__Ogg__XiphComment", "TagLib::Ogg::XiphComment *", 0, 0, (void*)0, 0};
@@ -3313,7 +3571,9 @@ static swig_type_info _swigt__p_wchar_t = {"_p_wchar_t", "TagLib::wchar *|wchar_
3313
3571
 
3314
3572
  static swig_type_info *swig_type_initial[] = {
3315
3573
  &_swigt__p_MapT_TagLib__String_TagLib__StringList_t,
3574
+ &_swigt__p_TagLib__FLAC__Picture,
3316
3575
  &_swigt__p_TagLib__File,
3576
+ &_swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t,
3317
3577
  &_swigt__p_TagLib__Ogg__File,
3318
3578
  &_swigt__p_TagLib__Ogg__PageHeader,
3319
3579
  &_swigt__p_TagLib__Ogg__XiphComment,
@@ -3326,7 +3586,9 @@ static swig_type_info *swig_type_initial[] = {
3326
3586
  };
3327
3587
 
3328
3588
  static swig_cast_info _swigc__p_MapT_TagLib__String_TagLib__StringList_t[] = { {&_swigt__p_MapT_TagLib__String_TagLib__StringList_t, 0, 0, 0},{0, 0, 0, 0}};
3589
+ static swig_cast_info _swigc__p_TagLib__FLAC__Picture[] = { {&_swigt__p_TagLib__FLAC__Picture, 0, 0, 0},{0, 0, 0, 0}};
3329
3590
  static swig_cast_info _swigc__p_TagLib__File[] = { {&_swigt__p_TagLib__Ogg__File, _p_TagLib__Ogg__FileTo_p_TagLib__File, 0, 0}, {&_swigt__p_TagLib__File, 0, 0, 0},{0, 0, 0, 0}};
3591
+ static swig_cast_info _swigc__p_TagLib__ListT_TagLib__FLAC__Picture_t[] = { {&_swigt__p_TagLib__ListT_TagLib__FLAC__Picture_t, 0, 0, 0},{0, 0, 0, 0}};
3330
3592
  static swig_cast_info _swigc__p_TagLib__Ogg__File[] = { {&_swigt__p_TagLib__Ogg__File, 0, 0, 0},{0, 0, 0, 0}};
3331
3593
  static swig_cast_info _swigc__p_TagLib__Ogg__PageHeader[] = { {&_swigt__p_TagLib__Ogg__PageHeader, 0, 0, 0},{0, 0, 0, 0}};
3332
3594
  static swig_cast_info _swigc__p_TagLib__Ogg__XiphComment[] = { {&_swigt__p_TagLib__Ogg__XiphComment, 0, 0, 0},{0, 0, 0, 0}};
@@ -3339,7 +3601,9 @@ static swig_cast_info _swigc__p_wchar_t[] = { {&_swigt__p_wchar_t, 0, 0, 0},{0,
3339
3601
 
3340
3602
  static swig_cast_info *swig_cast_initial[] = {
3341
3603
  _swigc__p_MapT_TagLib__String_TagLib__StringList_t,
3604
+ _swigc__p_TagLib__FLAC__Picture,
3342
3605
  _swigc__p_TagLib__File,
3606
+ _swigc__p_TagLib__ListT_TagLib__FLAC__Picture_t,
3343
3607
  _swigc__p_TagLib__Ogg__File,
3344
3608
  _swigc__p_TagLib__Ogg__PageHeader,
3345
3609
  _swigc__p_TagLib__Ogg__XiphComment,
@@ -3605,6 +3869,7 @@ SWIGEXPORT void Init_taglib_ogg(void) {
3605
3869
 
3606
3870
  SWIG_RubyInitializeTrackings();
3607
3871
  rb_require("taglib_base");
3872
+ rb_require("taglib_flac_picture");
3608
3873
 
3609
3874
  SwigClassFile.klass = rb_define_class_under(mOgg, "File", ((swig_class *) SWIGTYPE_p_TagLib__File->clientdata)->klass);
3610
3875
  SWIG_TypeClientData(SWIGTYPE_p_TagLib__Ogg__File, (void *) &SwigClassFile);
@@ -3639,11 +3904,17 @@ SWIGEXPORT void Init_taglib_ogg(void) {
3639
3904
  rb_define_method(SwigClassXiphComment.klass, "empty?", VALUEFUNC(_wrap_XiphComment_emptyq___), -1);
3640
3905
  rb_define_method(SwigClassXiphComment.klass, "field_count", VALUEFUNC(_wrap_XiphComment_field_count), -1);
3641
3906
  rb_define_method(SwigClassXiphComment.klass, "field_list_map", VALUEFUNC(_wrap_XiphComment_field_list_map), -1);
3907
+ rb_define_singleton_method(SwigClassXiphComment.klass, "check_key", VALUEFUNC(_wrap_XiphComment_check_key), -1);
3642
3908
  rb_define_method(SwigClassXiphComment.klass, "vendor_id", VALUEFUNC(_wrap_XiphComment_vendor_id), -1);
3643
3909
  rb_define_method(SwigClassXiphComment.klass, "add_field", VALUEFUNC(_wrap_XiphComment_add_field), -1);
3644
- rb_define_method(SwigClassXiphComment.klass, "remove_field", VALUEFUNC(_wrap_XiphComment_remove_field), -1);
3910
+ rb_define_method(SwigClassXiphComment.klass, "remove_fields", VALUEFUNC(_wrap_XiphComment_remove_fields), -1);
3911
+ rb_define_method(SwigClassXiphComment.klass, "remove_all_fields", VALUEFUNC(_wrap_XiphComment_remove_all_fields), -1);
3645
3912
  rb_define_method(SwigClassXiphComment.klass, "contains?", VALUEFUNC(_wrap_XiphComment_containsq___), -1);
3646
3913
  rb_define_method(SwigClassXiphComment.klass, "render", VALUEFUNC(_wrap_XiphComment_render), -1);
3914
+ rb_define_method(SwigClassXiphComment.klass, "picture_list", VALUEFUNC(_wrap_XiphComment_picture_list), -1);
3915
+ rb_define_method(SwigClassXiphComment.klass, "remove_picture", VALUEFUNC(_wrap_XiphComment_remove_picture), -1);
3916
+ rb_define_method(SwigClassXiphComment.klass, "remove_all_pictures", VALUEFUNC(_wrap_XiphComment_remove_all_pictures), -1);
3917
+ rb_define_method(SwigClassXiphComment.klass, "add_picture", VALUEFUNC(_wrap_XiphComment_add_picture), -1);
3647
3918
  SwigClassXiphComment.mark = 0;
3648
3919
  SwigClassXiphComment.destroy = (void (*)(void *)) free_TagLib_Ogg_XiphComment;
3649
3920
  SwigClassXiphComment.trackObjects = 1;