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.