taglib-ruby 1.0.0 → 1.1.1
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +33 -0
- data/.yardopts +1 -1
- data/{CHANGES.md → CHANGELOG.md} +35 -14
- data/Gemfile +2 -0
- data/Guardfile +4 -2
- data/README.md +56 -38
- data/Rakefile +8 -8
- data/docs/taglib/aiff.rb +0 -3
- data/docs/taglib/base.rb +0 -4
- data/docs/taglib/flac.rb +1 -3
- data/docs/taglib/id3v2.rb +1 -1
- data/docs/taglib/mp4.rb +2 -4
- data/docs/taglib/mpeg.rb +0 -1
- data/docs/taglib/ogg.rb +0 -4
- data/docs/taglib/vorbis.rb +0 -1
- data/docs/taglib/wav.rb +0 -4
- data/ext/extconf_common.rb +24 -28
- data/ext/taglib_aiff/extconf.rb +2 -0
- data/ext/taglib_aiff/taglib_aiff_wrap.cxx +217 -178
- data/ext/taglib_base/extconf.rb +2 -0
- data/ext/taglib_base/includes.i +25 -0
- data/ext/taglib_base/taglib_base.i +18 -0
- data/ext/taglib_base/taglib_base_wrap.cxx +233 -191
- data/ext/taglib_flac/extconf.rb +2 -0
- data/ext/taglib_flac/taglib_flac.i +7 -0
- data/ext/taglib_flac/taglib_flac_wrap.cxx +235 -189
- data/ext/taglib_flac_picture/extconf.rb +2 -0
- data/ext/taglib_flac_picture/taglib_flac_picture_wrap.cxx +210 -168
- data/ext/taglib_id3v1/extconf.rb +2 -0
- data/ext/taglib_id3v1/taglib_id3v1_wrap.cxx +223 -182
- data/ext/taglib_id3v2/extconf.rb +2 -0
- data/ext/taglib_id3v2/taglib_id3v2.i +17 -0
- data/ext/taglib_id3v2/taglib_id3v2_wrap.cxx +2922 -993
- data/ext/taglib_mp4/extconf.rb +2 -0
- data/ext/taglib_mp4/taglib_mp4_wrap.cxx +295 -260
- data/ext/taglib_mpeg/extconf.rb +2 -0
- data/ext/taglib_mpeg/taglib_mpeg_wrap.cxx +243 -206
- data/ext/taglib_ogg/extconf.rb +2 -0
- data/ext/taglib_ogg/taglib_ogg_wrap.cxx +214 -171
- data/ext/taglib_vorbis/extconf.rb +2 -0
- data/ext/taglib_vorbis/taglib_vorbis_wrap.cxx +217 -178
- data/ext/taglib_wav/extconf.rb +2 -0
- data/ext/taglib_wav/taglib_wav_wrap.cxx +217 -178
- data/lib/taglib/aiff.rb +2 -0
- data/lib/taglib/base.rb +3 -1
- data/lib/taglib/flac.rb +2 -0
- data/lib/taglib/id3v1.rb +2 -0
- data/lib/taglib/id3v2.rb +2 -0
- data/lib/taglib/mp4.rb +10 -13
- data/lib/taglib/mpeg.rb +2 -0
- data/lib/taglib/ogg.rb +2 -0
- data/lib/taglib/version.rb +4 -2
- data/lib/taglib/vorbis.rb +2 -0
- data/lib/taglib/wav.rb +2 -1
- data/lib/taglib.rb +4 -3
- data/taglib-ruby.gemspec +165 -162
- data/tasks/docs_coverage.rake +10 -8
- data/tasks/ext.rake +26 -25
- data/tasks/gemspec_check.rake +7 -5
- data/tasks/swig.rake +10 -11
- data/test/aiff_examples_test.rb +8 -13
- data/test/aiff_file_test.rb +29 -29
- data/test/aiff_file_write_test.rb +19 -20
- data/test/base_test.rb +4 -2
- data/test/data/add-relative-volume.cpp +7 -3
- data/test/data/flac-create.cpp +15 -5
- data/test/data/flac_nopic.flac +0 -0
- data/test/data/get_picture_data.cpp +5 -1
- data/test/data/id3v1-create.cpp +6 -3
- data/test/data/mp4-create.cpp +12 -4
- data/test/data/vorbis-create.cpp +12 -5
- data/test/data/wav-create.cpp +18 -3
- data/test/file_test.rb +7 -5
- data/test/fileref_open_test.rb +12 -10
- data/test/fileref_properties_test.rb +6 -4
- data/test/fileref_write_test.rb +14 -13
- data/test/flac_file_test.rb +32 -27
- data/test/flac_file_write_test.rb +17 -18
- data/test/flac_picture_memory_test.rb +39 -0
- data/test/helper.rb +3 -1
- data/test/id3v1_genres_test.rb +14 -12
- data/test/id3v1_tag_test.rb +7 -5
- data/test/id3v2_frames_test.rb +98 -34
- data/test/id3v2_header_test.rb +14 -13
- data/test/id3v2_memory_test.rb +21 -20
- data/test/id3v2_relative_volume_test.rb +11 -9
- data/test/id3v2_tag_test.rb +16 -14
- data/test/id3v2_unicode_test.rb +12 -10
- data/test/id3v2_unknown_frames_test.rb +7 -5
- data/test/id3v2_write_test.rb +28 -29
- data/test/mp4_file_test.rb +27 -26
- data/test/mp4_file_write_test.rb +12 -13
- data/test/mp4_items_test.rb +78 -79
- data/test/mpeg_file_test.rb +32 -30
- data/test/tag_test.rb +5 -3
- data/test/unicode_filename_test.rb +7 -7
- data/test/vorbis_file_test.rb +14 -12
- data/test/vorbis_tag_test.rb +46 -44
- data/test/wav_examples_test.rb +8 -16
- data/test/wav_file_test.rb +29 -29
- data/test/wav_file_write_test.rb +22 -23
- metadata +26 -23
data/ext/taglib_base/extconf.rb
CHANGED
data/ext/taglib_base/includes.i
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
// Undefine macros we don't need for wrapping
|
4
4
|
#define TAGLIB_EXPORT
|
5
5
|
#define TAGLIB_IGNORE_MISSING_DESTRUCTOR
|
6
|
+
#define TAGLIB_DEPRECATED
|
6
7
|
|
7
8
|
// Replaces the typemap from swigtype.swg and just adds the line
|
8
9
|
// SWIG_RubyUnlinkObjects. This is done to be safe in the case when a
|
@@ -19,6 +20,8 @@
|
|
19
20
|
%{
|
20
21
|
#include <taglib/tstring.h>
|
21
22
|
#include <taglib/tstringlist.h>
|
23
|
+
#include <taglib/tbytevector.h>
|
24
|
+
#include <taglib/tbytevectorlist.h>
|
22
25
|
#include <taglib/tfile.h>
|
23
26
|
|
24
27
|
#if defined(HAVE_RUBY_ENCODING_H) && HAVE_RUBY_ENCODING_H
|
@@ -88,6 +91,28 @@ TagLib::StringList ruby_array_to_taglib_string_list(VALUE ary) {
|
|
88
91
|
return result;
|
89
92
|
}
|
90
93
|
|
94
|
+
VALUE taglib_bytevectorlist_to_ruby_array(const TagLib::ByteVectorList & list) {
|
95
|
+
VALUE ary = rb_ary_new2(list.size());
|
96
|
+
for (TagLib::ByteVectorList::ConstIterator it = list.begin(); it != list.end(); it++) {
|
97
|
+
VALUE s = taglib_bytevector_to_ruby_string(*it);
|
98
|
+
rb_ary_push(ary, s);
|
99
|
+
}
|
100
|
+
return ary;
|
101
|
+
}
|
102
|
+
|
103
|
+
TagLib::ByteVectorList ruby_array_to_taglib_bytevectorlist(VALUE ary) {
|
104
|
+
TagLib::ByteVectorList result = TagLib::ByteVectorList();
|
105
|
+
if (NIL_P(ary)) {
|
106
|
+
return result;
|
107
|
+
}
|
108
|
+
for (long i = 0; i < RARRAY_LEN(ary); i++) {
|
109
|
+
VALUE e = rb_ary_entry(ary, i);
|
110
|
+
TagLib::ByteVector s = ruby_string_to_taglib_bytevector(e);
|
111
|
+
result.append(s);
|
112
|
+
}
|
113
|
+
return result;
|
114
|
+
}
|
115
|
+
|
91
116
|
VALUE taglib_filename_to_ruby_string(TagLib::FileName filename) {
|
92
117
|
VALUE result;
|
93
118
|
#ifdef _WIN32
|
@@ -2,6 +2,7 @@
|
|
2
2
|
%{
|
3
3
|
#include <taglib/taglib.h>
|
4
4
|
#include <taglib/tbytevector.h>
|
5
|
+
#include <taglib/tbytevectorlist.h>
|
5
6
|
#include <taglib/tlist.h>
|
6
7
|
#include <taglib/fileref.h>
|
7
8
|
#include <taglib/tag.h>
|
@@ -12,6 +13,7 @@
|
|
12
13
|
namespace TagLib {
|
13
14
|
class StringList;
|
14
15
|
class ByteVector;
|
16
|
+
class ByteVectorList;
|
15
17
|
|
16
18
|
class String {
|
17
19
|
public:
|
@@ -57,6 +59,22 @@ namespace TagLib {
|
|
57
59
|
}
|
58
60
|
%typemap(typecheck) const TagLib::ByteVector & = char *;
|
59
61
|
|
62
|
+
// ByteVectorList
|
63
|
+
%typemap(out) TagLib::ByteVectorList {
|
64
|
+
$result = taglib_bytevectorlist_to_ruby_array($1);
|
65
|
+
}
|
66
|
+
%typemap(out) TagLib::ByteVectorList * {
|
67
|
+
$result = taglib_bytevectorlist_to_ruby_array(*($1));
|
68
|
+
}
|
69
|
+
%typemap(in) TagLib::ByteVectorList & (TagLib::ByteVectorList tmp) {
|
70
|
+
tmp = ruby_array_to_taglib_bytevectorlist($input);
|
71
|
+
$1 = &tmp;
|
72
|
+
}
|
73
|
+
%typemap(in) TagLib::ByteVectorList * (TagLib::ByteVectorList tmp) {
|
74
|
+
tmp = ruby_array_to_taglib_bytevectorlist($input);
|
75
|
+
$1 = &tmp;
|
76
|
+
}
|
77
|
+
|
60
78
|
// String
|
61
79
|
%typemap(out) TagLib::String {
|
62
80
|
$result = taglib_string_to_ruby_string($1);
|