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__)
35 # define LIBDISCID_API
36 # define LIBDISCID_INTERNAL __attribute__((visibility("hidden")))
37 #elif defined(__SUNPRO_C)
38 # define LIBDISCID_API __global
39 # define LIBDISCID_INTERNAL __hidden
41 # define LIBDISCID_API
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 4
56 #define DISCID_VERSION_NUM 604
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_track_isrc(DiscId *d, int track_num)
Return the ISRC for a track.
LIBDISCID_API DiscId * discid_new()
Return a handle for a new DiscId object.
LIBDISCID_API char * discid_get_id(DiscId *d)
Return a MusicBrainz DiscID.
LIBDISCID_API char * discid_get_submission_url(DiscId *d)
Return an URL for submitting the DiscID to MusicBrainz.
LIBDISCID_API int discid_get_track_offset(DiscId *d, int track_num)
Return the sector offset of a track.
LIBDISCID_API char * discid_get_toc_string(DiscId *d)
Return a string representing CD Table Of Contents (TOC).
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 char * discid_get_version_string(void)
Return the full version string of this library, including the name.
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
#define LIBDISCID_API
Definition: discid.h:41
#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 LIBDISCID_DEPRECATED char * discid_get_webservice_url(DiscId *d)
Return an URL for retrieving CD information from MusicBrainz' web service.
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_freedb_id(DiscId *d)
Return a FreeDB DiscID.
LIBDISCID_API char * discid_get_error_msg(DiscId *d)
Return a human-readable error message.
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_default_device(void)
Return the name of the default disc drive for this machine.
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 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.
LIBDISCID_API char * discid_get_mcn(DiscId *d)
Return the Media Catalogue Number (MCN) for the disc.