Module: DiscId
- Defined in:
- lib/discid.rb,
lib/discid/lib.rb,
lib/discid/disc.rb,
lib/discid/track.rb,
lib/discid/version.rb,
lib/discid/disc_error.rb
Overview
Copyright (C) 2013-2014 Philipp Wolfer
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Defined Under Namespace
Classes: Disc, DiscError, Track
Constant Summary collapse
- LIBDISCID_VERSION =
Note:
This will only give meaningful results for libdiscid 0.4.0 and higher. For lower versions this constant will always have the value "libdiscid < 0.4.0".
The libdiscid version.
Lib.get_version_string
- VERSION =
The version of ruby-discid.
"1.3.2"
Class Method Summary collapse
-
.default_device ⇒ String
Return the name of the default disc drive for this operating system.
-
.feature_list ⇒ Array<Symbol>
A list of features supported by the current platform.
-
.has_feature?(feature) ⇒ Boolean
Check if a certain feature is implemented on the current platform.
-
.put(first_track, sectors, offsets) ⇒ Disc
Provides the TOC of a known CD.
-
.read(device = nil, *features) ⇒ Disc
Read the disc in the given CD-ROM/DVD-ROM drive extracting only the TOC and additionally specified features.
Class Method Details
.default_device ⇒ String
Return the name of the default disc drive for this operating system.
126 127 128 |
# File 'lib/discid.rb', line 126 def self.default_device Lib.default_device end |
.feature_list ⇒ Array<Symbol>
libdiscid >= 0.5.0 required. Older versions will return only [:read].
A list of features supported by the current platform.
Currently the following features are available:
- :read
- :mcn
- :isrc
155 156 157 |
# File 'lib/discid.rb', line 155 def self.feature_list return Lib::Features.symbols.select {|f| Lib.has_feature(f) == 1} end |
.has_feature?(feature) ⇒ Boolean
libdiscid >= 0.5.0 required. Older versions will return true
for :read
and false
for anything else.
Check if a certain feature is implemented on the current platform.
You can obtain a list of supported features with feature_list.
139 140 141 142 |
# File 'lib/discid.rb', line 139 def self.has_feature?(feature) feature = feature.to_sym if feature.respond_to? :to_sym return self.feature_list.include? feature end |
.put(first_track, sectors, offsets) ⇒ Disc
Provides the TOC of a known CD.
This function may be used if the TOC has been read earlier and you want to calculate the disc ID afterwards, without accessing the disc drive.
117 118 119 120 121 |
# File 'lib/discid.rb', line 117 def self.put(first_track, sectors, offsets) disc = Disc.new disc.put first_track, sectors, offsets return disc end |
.read(device = nil, *features) ⇒ Disc
libdiscid >= 0.5.0 is required for the feature selection to work. Older versions will allways read MCN and ISRCs when supported. See http://musicbrainz.org/doc/libdiscid#Feature_Matrix for a list of supported features by version and platform.
Read the disc in the given CD-ROM/DVD-ROM drive extracting only the TOC and additionally specified features.
This function reads the disc in the drive specified by the given device
identifier. If the device is nil
, the default device, as returned by
default_device, is used.
This function will always read the TOC, but additional features like :mcn
and :isrc
can be set using the features parameter. You can set multiple
features.
99 100 101 102 103 |
# File 'lib/discid.rb', line 99 def self.read(device = nil, *features) disc = Disc.new disc.read device, *features return disc end |