mb-discid 0.1.4 → 0.1.5
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.
- data/CHANGES +6 -1
- data/README +2 -2
- data/Rakefile +3 -3
- data/examples/discid.rb +6 -1
- data/ext/extconf.rb +48 -2
- data/ext/mb_discid.c +26 -1
- metadata +20 -6
data/CHANGES
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
= Changelog
|
2
2
|
|
3
|
+
== 0.1.5 (2011-07-02)
|
4
|
+
* Added binding for get_webservice_url()
|
5
|
+
* Add lib path detection, allows out-of-the-box install when your
|
6
|
+
libdiscid is in /usr/local (Matt Patterson)
|
7
|
+
|
3
8
|
== 0.1.4 (2009-11-19)
|
4
9
|
* Fixed calling +read+ method without argument
|
5
10
|
|
@@ -26,4 +31,4 @@
|
|
26
31
|
== 0.1.0 (2007-06-02)
|
27
32
|
* Initial release
|
28
33
|
|
29
|
-
$Id: CHANGES
|
34
|
+
$Id: CHANGES 333 2011-07-02 13:41:07Z phw $
|
data/README
CHANGED
@@ -7,7 +7,7 @@ to find the release entry for your CD in the MusicBrainz database.
|
|
7
7
|
|
8
8
|
== Requirements
|
9
9
|
* Ruby >= 1.8.6
|
10
|
-
* libdiscid >= 0.
|
10
|
+
* libdiscid >= 0.2.2
|
11
11
|
|
12
12
|
== Installation
|
13
13
|
Before installing rdiscid make sure you have libdiscid installed. See
|
@@ -51,4 +51,4 @@ MB-DiscID is Copyright (c) 2007 Philipp Wolfer.
|
|
51
51
|
It is free softare distributed under a BSD style license. See
|
52
52
|
LICENSE[link:files/LICENSE.html] for details.
|
53
53
|
|
54
|
-
$Id: README
|
54
|
+
$Id: README 315 2010-06-14 21:30:06Z phw $
|
data/Rakefile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# $Id: Rakefile
|
1
|
+
# $Id: Rakefile 330 2011-07-02 13:12:30Z phw $
|
2
2
|
# Copyright (c) 2007, Philipp Wolfer
|
3
3
|
# All rights reserved.
|
4
4
|
# See LICENSE for permissions.
|
@@ -17,7 +17,7 @@ end
|
|
17
17
|
# Packaging tasks: -------------------------------------------------------
|
18
18
|
|
19
19
|
PKG_NAME = 'mb-discid'
|
20
|
-
PKG_VERSION = '0.1.
|
20
|
+
PKG_VERSION = '0.1.5'
|
21
21
|
PKG_SUMMARY = 'Ruby bindings for libdiscid.'
|
22
22
|
PKG_AUTHOR = 'Philipp Wolfer'
|
23
23
|
PKG_EMAIL = 'phw@rubyforge.org'
|
@@ -50,7 +50,7 @@ spec = Gem::Specification.new do |spec|
|
|
50
50
|
spec.extensions << 'ext/extconf.rb'
|
51
51
|
spec.required_ruby_version = ">= 1.8.6"
|
52
52
|
end
|
53
|
-
spec.requirements << 'libdiscid (http://musicbrainz.org/doc/libdiscid)'
|
53
|
+
spec.requirements << 'libdiscid >= 0.2.2 (http://musicbrainz.org/doc/libdiscid)'
|
54
54
|
spec.require_paths = ['lib', 'ext']
|
55
55
|
spec.autorequire = spec.name
|
56
56
|
spec.description = PKG_DESCRIPTION
|
data/examples/discid.rb
CHANGED
@@ -9,7 +9,11 @@
|
|
9
9
|
# Example:
|
10
10
|
# ./discid.rb /dev/dvd
|
11
11
|
#
|
12
|
-
# $Id: discid.rb
|
12
|
+
# $Id: discid.rb 312 2010-06-14 21:04:14Z phw $
|
13
|
+
|
14
|
+
# Just make sure we can run this example from the command
|
15
|
+
# line even if RBrainz is not yet installed properly.
|
16
|
+
$: << 'lib/' << 'ext/' << '../ext/' << '../lib/'
|
13
17
|
|
14
18
|
require 'mb-discid'
|
15
19
|
|
@@ -55,3 +59,4 @@ end
|
|
55
59
|
# Print a submission URL that can be used to submit
|
56
60
|
# the disc ID to MusicBrainz.org.
|
57
61
|
puts "\nSubmit via #{disc.submission_url}"
|
62
|
+
puts "\nWebservice #{disc.webservice_url}"
|
data/ext/extconf.rb
CHANGED
@@ -1,8 +1,54 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# $Id: extconf.rb
|
2
|
+
# $Id: extconf.rb 329 2011-07-02 12:49:58Z phw $
|
3
3
|
|
4
4
|
require 'mkmf'
|
5
5
|
|
6
|
+
LIBDIR = Config::CONFIG['libdir']
|
7
|
+
INCLUDEDIR = Config::CONFIG['includedir']
|
8
|
+
|
9
|
+
$CFLAGS << " #{ENV["CFLAGS"]}"
|
10
|
+
$LIBS << " #{ENV["LIBS"]}"
|
11
|
+
|
12
|
+
# totally thieved from Nokogiri's extconf.rb
|
13
|
+
if Config::CONFIG['target_os'] =~ /mswin32/
|
14
|
+
# There's no default include/lib dir on Windows. Let's just add the Ruby ones
|
15
|
+
# and resort on the search path specified by INCLUDE and LIB environment
|
16
|
+
# variables
|
17
|
+
HEADER_DIRS = [INCLUDEDIR]
|
18
|
+
LIB_DIRS = [LIBDIR]
|
19
|
+
|
20
|
+
else
|
21
|
+
HEADER_DIRS = [
|
22
|
+
# First search /opt/local for macports
|
23
|
+
'/opt/local/include',
|
24
|
+
|
25
|
+
# Then search /usr/local for people that installed from source
|
26
|
+
'/usr/local/include',
|
27
|
+
|
28
|
+
# Check the ruby install locations
|
29
|
+
INCLUDEDIR,
|
30
|
+
|
31
|
+
# Finally fall back to /usr
|
32
|
+
'/usr/include',
|
33
|
+
]
|
34
|
+
|
35
|
+
LIB_DIRS = [
|
36
|
+
# First search /opt/local for macports
|
37
|
+
'/opt/local/lib',
|
38
|
+
|
39
|
+
# Then search /usr/local for people that installed from source
|
40
|
+
'/usr/local/lib',
|
41
|
+
|
42
|
+
# Check the ruby install locations
|
43
|
+
LIBDIR,
|
44
|
+
|
45
|
+
# Finally fall back to /usr
|
46
|
+
'/usr/lib',
|
47
|
+
]
|
48
|
+
end
|
49
|
+
|
50
|
+
dir_config('discid', HEADER_DIRS, LIB_DIRS)
|
51
|
+
|
6
52
|
if have_library('discid', 'discid_new') or
|
7
53
|
have_library('discid.dll', 'discid_new')
|
8
54
|
# Remove -MD from compiler flags on Windows.
|
@@ -10,4 +56,4 @@ if have_library('discid', 'discid_new') or
|
|
10
56
|
create_makefile('MB_DiscID')
|
11
57
|
else
|
12
58
|
puts 'Required library libdiscid not found.'
|
13
|
-
end
|
59
|
+
end
|
data/ext/mb_discid.c
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* $Id: mb_discid.c
|
2
|
+
* $Id: mb_discid.c 312 2010-06-14 21:04:14Z phw $
|
3
3
|
*
|
4
4
|
* Ruby bindings for libdiscid. See http://musicbrainz.org/doc/libdiscid
|
5
5
|
* for more information on libdiscid and MusicBrainz.
|
@@ -65,6 +65,30 @@ static VALUE mb_discid_submission_url(VALUE self)
|
|
65
65
|
}
|
66
66
|
}
|
67
67
|
|
68
|
+
/**
|
69
|
+
* call-seq:
|
70
|
+
* webservice_url() -> string or nil
|
71
|
+
*
|
72
|
+
* Return an URL for retrieving CD information from MusicBrainz' web service
|
73
|
+
*
|
74
|
+
* The URL provides the CD information in XML.
|
75
|
+
* See http://musicbrainz.org/development/mmd for details.
|
76
|
+
*
|
77
|
+
* Returns +nil+ if no ID was yet read.
|
78
|
+
*/
|
79
|
+
static VALUE mb_discid_webservice_url(VALUE self)
|
80
|
+
{
|
81
|
+
if (rb_iv_get(self, "@read") == Qfalse)
|
82
|
+
return Qnil;
|
83
|
+
else
|
84
|
+
{
|
85
|
+
DiscId *disc;
|
86
|
+
Data_Get_Struct(self, DiscId, disc);
|
87
|
+
|
88
|
+
return rb_str_new2(discid_get_webservice_url(disc));
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
68
92
|
/**
|
69
93
|
* call-seq:
|
70
94
|
* freedb_id() -> string or nil
|
@@ -352,6 +376,7 @@ void Init_MB_DiscID()
|
|
352
376
|
rb_define_method(cDiscID, "put", mb_discid_put, 3);
|
353
377
|
rb_define_method(cDiscID, "id", mb_discid_id, 0);
|
354
378
|
rb_define_method(cDiscID, "submission_url", mb_discid_submission_url, 0);
|
379
|
+
rb_define_method(cDiscID, "webservice_url", mb_discid_webservice_url, 0);
|
355
380
|
rb_define_method(cDiscID, "freedb_id", mb_discid_freedb_id, 0);
|
356
381
|
rb_define_method(cDiscID, "first_track_num", mb_discid_first_track_num, 0);
|
357
382
|
rb_define_method(cDiscID, "last_track_num", mb_discid_last_track_num, 0);
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mb-discid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 17
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 5
|
10
|
+
version: 0.1.5
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Philipp Wolfer
|
@@ -9,7 +15,7 @@ autorequire: mb-discid
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2011-07-02 00:00:00 +02:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
@@ -44,21 +50,29 @@ require_paths:
|
|
44
50
|
- lib
|
45
51
|
- ext
|
46
52
|
required_ruby_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
47
54
|
requirements:
|
48
55
|
- - ">="
|
49
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 59
|
58
|
+
segments:
|
59
|
+
- 1
|
60
|
+
- 8
|
61
|
+
- 6
|
50
62
|
version: 1.8.6
|
51
|
-
version:
|
52
63
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
53
65
|
requirements:
|
54
66
|
- - ">="
|
55
67
|
- !ruby/object:Gem::Version
|
68
|
+
hash: 3
|
69
|
+
segments:
|
70
|
+
- 0
|
56
71
|
version: "0"
|
57
|
-
version:
|
58
72
|
requirements:
|
59
|
-
- libdiscid (http://musicbrainz.org/doc/libdiscid)
|
73
|
+
- libdiscid >= 0.2.2 (http://musicbrainz.org/doc/libdiscid)
|
60
74
|
rubyforge_project: rbrainz
|
61
|
-
rubygems_version: 1.3.
|
75
|
+
rubygems_version: 1.3.7
|
62
76
|
signing_key:
|
63
77
|
specification_version: 3
|
64
78
|
summary: Ruby bindings for libdiscid.
|