24#ifndef MUSICBRAINZ_DISC_ID_H
25#define MUSICBRAINZ_DISC_ID_H
27#if (defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__))
28# ifdef libdiscid_EXPORTS
29# define LIBDISCID_API __declspec(dllexport)
31# define LIBDISCID_API __declspec(dllimport)
33# define LIBDISCID_INTERNAL
34#elif (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__)
36# define LIBDISCID_INTERNAL __attribute__((visibility("hidden")))
37#elif defined(__SUNPRO_C)
38# define LIBDISCID_API __global
39# define LIBDISCID_INTERNAL __hidden
42# define LIBDISCID_INTERNAL
45#if (defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__))
46#define LIBDISCID_DEPRECATED __declspec(deprecated)
47#elif (defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))) || defined(__clang__)
48#define LIBDISCID_DEPRECATED __attribute__((deprecated))
50#define LIBDISCID_DEPRECATED
53#define DISCID_VERSION_MAJOR 0
54#define DISCID_VERSION_MINOR 6
55#define DISCID_VERSION_PATCH 5
56#define DISCID_VERSION_NUM 605
204 unsigned int features);
206#define DISCID_HAVE_SPARSE_READ
453#define DISCID_FEATURE_STR_READ "read"
454#define DISCID_FEATURE_STR_MCN "mcn"
455#define DISCID_FEATURE_STR_ISRC "isrc"
456#define DISCID_FEATURE_LENGTH 32
#define DISCID_FEATURE_LENGTH
Definition discid.h:456
LIBDISCID_API char * discid_get_mcn(DiscId *d)
Return the Media Catalogue Number (MCN) for the disc.
LIBDISCID_API int discid_get_track_offset(DiscId *d, int track_num)
Return the sector offset of a track.
LIBDISCID_API int discid_get_last_track_num(DiscId *d)
Return the number of the last audio track on this disc.
LIBDISCID_API int discid_get_sectors(DiscId *d)
Return the length of the disc in sectors.
void * DiscId
A transparent handle for an Audio CD.
Definition discid.h:122
LIBDISCID_API int discid_put(DiscId *d, int first, int last, int *offsets)
Provides the TOC of a known CD.
LIBDISCID_API DiscId * discid_new()
Return a handle for a new DiscId object.
discid_feature
PLATFORM-DEPENDENT FEATURES.
Definition discid.h:436
@ DISCID_FEATURE_ISRC
Definition discid.h:439
@ DISCID_FEATURE_READ
Definition discid.h:437
@ DISCID_FEATURE_MCN
Definition discid.h:438
LIBDISCID_API char * discid_get_freedb_id(DiscId *d)
Return a FreeDB DiscID.
LIBDISCID_API char * discid_get_track_isrc(DiscId *d, int track_num)
Return the ISRC for a track.
#define LIBDISCID_API
Definition discid.h:41
LIBDISCID_API LIBDISCID_DEPRECATED char * discid_get_webservice_url(DiscId *d)
Return an URL for retrieving CD information from MusicBrainz' web service.
#define LIBDISCID_DEPRECATED
Definition discid.h:50
LIBDISCID_API int discid_has_feature(enum discid_feature feature)
Check if a certain feature is implemented on the current platform.
LIBDISCID_API char * discid_get_submission_url(DiscId *d)
Return an URL for submitting the DiscID to MusicBrainz.
LIBDISCID_API char * discid_get_version_string(void)
Return the full version string of this library, including the name.
LIBDISCID_API char * discid_get_default_device(void)
Return the name of the default disc drive for this machine.
LIBDISCID_API int discid_get_track_length(DiscId *d, int track_num)
Return the length of a track in sectors.
LIBDISCID_API char * discid_get_toc_string(DiscId *d)
Return a string representing CD Table Of Contents (TOC).
LIBDISCID_API int discid_read_sparse(DiscId *d, const char *device, unsigned int features)
Read the disc in the given CD-ROM/DVD-ROM drive extracting only the TOC and additionally specified fe...
LIBDISCID_API char * discid_get_id(DiscId *d)
Return a MusicBrainz DiscID.
LIBDISCID_API int discid_read(DiscId *d, const char *device)
Read all supported features of the disc in the given CD-ROM/DVD-ROM drive.
LIBDISCID_API void discid_get_feature_list(char *features[DISCID_FEATURE_LENGTH])
Return a list of features supported by the current platform.
LIBDISCID_API char * discid_get_error_msg(DiscId *d)
Return a human-readable error message.
LIBDISCID_API int discid_get_first_track_num(DiscId *d)
Return the number of the first track on this disc.
LIBDISCID_API void discid_free(DiscId *d)
Release the memory allocated for the DiscId object.