taglib-ruby 0.7.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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;