include/id3/globals.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00034
#ifndef _ID3LIB_GLOBALS_H_
00035
#define _ID3LIB_GLOBALS_H_
00036
00037
#include <stdlib.h>
00038
#include "id3/sized_types.h"
00039
00040
00041
00042
00043
00044
#ifdef WIN32
00045
# define LINKOPTION_STATIC 1 //both for use and creation of static lib
00046
# define LINKOPTION_CREATE_DYNAMIC 2 //should only be used by prj/id3lib.dsp
00047
# define LINKOPTION_USE_DYNAMIC 3 //if your project links id3lib dynamic
00048
# ifndef ID3LIB_LINKOPTION
00049
# pragma message("*** NOTICE *** (not a real error)")
00050
# pragma message("* You should include a define in your project which reflect how you link the library")
00051
# pragma message("* If you use id3lib.lib or libprj/id3lib.dsp (you link static) you should add")
00052
# pragma message("* ID3LIB_LINKOPTION=1 to your preprocessor definitions of your project.")
00053
# pragma message("* If you use id3lib.dll (you link dynamic) you should add ID3LIB_LINKOPTION=3")
00054
# pragma message("* to your preprocessor definitions of your project.")
00055
# pragma message("***")
00056
# error read message above or win32.readme.first.txt
00057
# else
00058
# if (ID3LIB_LINKOPTION == LINKOPTION_CREATE_DYNAMIC)
00059
00060
# define ID3_C_EXPORT extern _declspec(dllexport)
00061
# define ID3_CPP_EXPORT __declspec(dllexport)
00062
# define CCONV __stdcall // Added for VB & Delphi Compatibility - By FrogPrince Advised By Lothar
00063
# endif
00064
# if (ID3LIB_LINKOPTION == LINKOPTION_STATIC)
00065
00066
# define ID3_C_EXPORT
00067
# define ID3_CPP_EXPORT
00068
# define CCONV
00069
# endif
00070
# if (ID3LIB_LINKOPTION == LINKOPTION_USE_DYNAMIC)
00071
00072
# define ID3_C_EXPORT extern _declspec(dllimport)
00073
# define ID3_CPP_EXPORT __declspec(dllimport) //functions like these shouldn't be used by vb and delphi,
00074
# define CCONV __stdcall // Added for VB & Delphi Compatibility - By FrogPrince Advised By Lothar
00075
# endif
00076
# endif
00077
#else
00078 # define ID3_C_EXPORT
00079 # define ID3_CPP_EXPORT
00080 # define CCONV
00081
#endif
00082
00083 #define ID3_C_VAR extern
00084
00085
#ifndef __cplusplus
00086
00087
typedef int bool;
00088
# define false (0)
00089
# define true (!false)
00090
00091
#endif
00092
00093 ID3_C_VAR const char *
const ID3LIB_NAME;
00094 ID3_C_VAR const char *
const ID3LIB_RELEASE;
00095 ID3_C_VAR const char *
const ID3LIB_FULL_NAME;
00096 ID3_C_VAR const int ID3LIB_MAJOR_VERSION;
00097 ID3_C_VAR const int ID3LIB_MINOR_VERSION;
00098 ID3_C_VAR const int ID3LIB_PATCH_VERSION;
00099 ID3_C_VAR const int ID3LIB_INTERFACE_AGE;
00100 ID3_C_VAR const int ID3LIB_BINARY_AGE;
00101
00102 #define ID3_TAGID "ID3"
00103 #define ID3_TAGIDSIZE (3)
00104 #define ID3_TAGHEADERSIZE (10)
00105
00111 #define STR_V1_COMMENT_DESC "ID3v1 Comment"
00112
00113
00114 typedef unsigned char uchar;
00115 typedef long unsigned int luint;
00116
00117 typedef uint16
unicode_t;
00118 typedef uint16
flags_t;
00119
00120 #define NULL_UNICODE ((unicode_t) '\0')
00121
00122
00123
00124
00125
00126
#ifdef __cplusplus
00127 # define ID3_ENUM(E) enum E
00128 # define ID3_STRUCT(S) struct S
00129
#else
00130
# define ID3_ENUM(E) typedef enum _ ## E E; enum _ ## E
00131
# define ID3_STRUCT(S) typedef struct _ ## S S; struct _ ## S
00132
#endif
00133
00137 ID3_ENUM(ID3_TextEnc)
00138 {
00139
ID3TE_NONE = -1,
00140
ID3TE_ISO8859_1,
00141
ID3TE_UTF16,
00142
ID3TE_UTF16BE,
00143
ID3TE_UTF8,
00144
ID3TE_NUMENCODINGS,
00145
ID3TE_ASCII =
ID3TE_ISO8859_1,
00146
ID3TE_UNICODE =
ID3TE_UTF16
00147 };
00148
00149 #define ID3TE_IS_SINGLE_BYTE_ENC(enc) ((enc) == ID3TE_ISO8859_1 || (enc) == ID3TE_UTF8)
00150 #define ID3TE_IS_DOUBLE_BYTE_ENC(enc) ((enc) == ID3TE_UTF16 || (enc) == ID3TE_UTF16BE)
00151
00154 ID3_ENUM(ID3_V1Spec)
00155 {
00156
ID3V1_0 = 0,
00157
ID3V1_1,
00158
ID3V1_NUMSPECS
00159 };
00160
00161 ID3_ENUM(ID3_V2Spec)
00162 {
00163
ID3V2_UNKNOWN = -1,
00164
ID3V2_2_0 = 0,
00165
ID3V2_2_1,
00166
ID3V2_3_0,
00167
ID3V2_4_0,
00168
ID3V2_EARLIEST =
ID3V2_2_0,
00169
ID3V2_LATEST =
ID3V2_3_0
00170 };
00171
00174 ID3_ENUM(ID3_TagType)
00175 {
00176
ID3TT_NONE = 0,
00177
ID3TT_ID3V1 = 1 << 0,
00178
ID3TT_ID3V2 = 1 << 1,
00179
ID3TT_LYRICS3 = 1 << 2,
00180
ID3TT_LYRICS3V2 = 1 << 3,
00181
ID3TT_MUSICMATCH = 1 << 4,
00183
ID3TT_LYRICS =
ID3TT_LYRICS3,
00185
ID3TT_ID3 =
ID3TT_ID3V1 |
ID3TT_ID3V2,
00187
ID3TT_ALL = ~
ID3TT_NONE,
00189
ID3TT_PREPENDED =
ID3TT_ID3V2,
00191
ID3TT_APPENDED =
ID3TT_ALL & ~
ID3TT_ID3V2
00192 };
00193
00197 ID3_ENUM(ID3_FieldID)
00198 {
00199
ID3FN_NOFIELD = 0,
00200
ID3FN_TEXTENC,
00201
ID3FN_TEXT,
00202
ID3FN_URL,
00203
ID3FN_DATA,
00204
ID3FN_DESCRIPTION,
00205
ID3FN_OWNER,
00206
ID3FN_EMAIL,
00207
ID3FN_RATING,
00208
ID3FN_FILENAME,
00209
ID3FN_LANGUAGE,
00210
ID3FN_PICTURETYPE,
00211
ID3FN_IMAGEFORMAT,
00212
ID3FN_MIMETYPE,
00213
ID3FN_COUNTER,
00214
ID3FN_ID,
00215
ID3FN_VOLUMEADJ,
00216
ID3FN_NUMBITS,
00217
ID3FN_VOLCHGRIGHT,
00218
ID3FN_VOLCHGLEFT,
00219
ID3FN_PEAKVOLRIGHT,
00220
ID3FN_PEAKVOLLEFT,
00221
ID3FN_TIMESTAMPFORMAT,
00222
ID3FN_CONTENTTYPE,
00223
ID3FN_LASTFIELDID
00224 };
00225
00229 ID3_ENUM(ID3_FrameID)
00230 {
00231
ID3FID_NOFRAME = 0,
00232
ID3FID_AUDIOCRYPTO,
00233
ID3FID_PICTURE,
00234
ID3FID_AUDIOSEEKPOINT,
00235
ID3FID_COMMENT,
00236
ID3FID_COMMERCIAL,
00237
ID3FID_CRYPTOREG,
00238
ID3FID_EQUALIZATION2,
00239
ID3FID_EQUALIZATION,
00240
ID3FID_EVENTTIMING,
00241
ID3FID_GENERALOBJECT,
00242
ID3FID_GROUPINGREG,
00243
ID3FID_INVOLVEDPEOPLE,
00244
ID3FID_LINKEDINFO,
00245
ID3FID_CDID,
00246
ID3FID_MPEGLOOKUP,
00247
ID3FID_OWNERSHIP,
00248
ID3FID_PRIVATE,
00249
ID3FID_PLAYCOUNTER,
00250
ID3FID_POPULARIMETER,
00251
ID3FID_POSITIONSYNC,
00252
ID3FID_BUFFERSIZE,
00253
ID3FID_VOLUMEADJ2,
00254
ID3FID_VOLUMEADJ,
00255
ID3FID_REVERB,
00256
ID3FID_SEEKFRAME,
00257
ID3FID_SIGNATURE,
00258
ID3FID_SYNCEDLYRICS,
00259
ID3FID_SYNCEDTEMPO,
00260
ID3FID_ALBUM,
00261
ID3FID_BPM,
00262
ID3FID_COMPOSER,
00263
ID3FID_CONTENTTYPE,
00264
ID3FID_COPYRIGHT,
00265
ID3FID_DATE,
00266
ID3FID_ENCODINGTIME,
00267
ID3FID_PLAYLISTDELAY,
00268
ID3FID_ORIGRELEASETIME,
00269
ID3FID_RECORDINGTIME,
00270
ID3FID_RELEASETIME,
00271
ID3FID_TAGGINGTIME,
00272
ID3FID_INVOLVEDPEOPLE2,
00273
ID3FID_ENCODEDBY,
00274
ID3FID_LYRICIST,
00275
ID3FID_FILETYPE,
00276
ID3FID_TIME,
00277
ID3FID_CONTENTGROUP,
00278
ID3FID_TITLE,
00279
ID3FID_SUBTITLE,
00280
ID3FID_INITIALKEY,
00281
ID3FID_LANGUAGE,
00282
ID3FID_SONGLEN,
00283
ID3FID_MUSICIANCREDITLIST,
00284
ID3FID_MEDIATYPE,
00285
ID3FID_MOOD,
00286
ID3FID_ORIGALBUM,
00287
ID3FID_ORIGFILENAME,
00288
ID3FID_ORIGLYRICIST,
00289
ID3FID_ORIGARTIST,
00290
ID3FID_ORIGYEAR,
00291
ID3FID_FILEOWNER,
00292
ID3FID_LEADARTIST,
00293
ID3FID_BAND,
00294
ID3FID_CONDUCTOR,
00295
ID3FID_MIXARTIST,
00296
ID3FID_PARTINSET,
00297
ID3FID_PRODUCEDNOTICE,
00298
ID3FID_PUBLISHER,
00299
ID3FID_TRACKNUM,
00300
ID3FID_RECORDINGDATES,
00301
ID3FID_NETRADIOSTATION,
00302
ID3FID_NETRADIOOWNER,
00303
ID3FID_SIZE,
00304
ID3FID_ALBUMSORTORDER,
00305
ID3FID_PERFORMERSORTORDER,
00306
ID3FID_TITLESORTORDER,
00307
ID3FID_ISRC,
00308
ID3FID_ENCODERSETTINGS,
00309
ID3FID_SETSUBTITLE,
00310
ID3FID_USERTEXT,
00311
ID3FID_YEAR,
00312
ID3FID_UNIQUEFILEID,
00313
ID3FID_TERMSOFUSE,
00314
ID3FID_UNSYNCEDLYRICS,
00315
ID3FID_WWWCOMMERCIALINFO,
00316
ID3FID_WWWCOPYRIGHT,
00317
ID3FID_WWWAUDIOFILE,
00318
ID3FID_WWWARTIST,
00319
ID3FID_WWWAUDIOSOURCE,
00320
ID3FID_WWWRADIOPAGE,
00321
ID3FID_WWWPAYMENT,
00322
ID3FID_WWWPUBLISHER,
00323
ID3FID_WWWUSER,
00324
ID3FID_METACRYPTO,
00325
ID3FID_METACOMPRESSION,
00326
ID3FID_LASTFRAMEID
00327 };
00328
00329 ID3_ENUM(ID3_V1Lengths)
00330 {
00331
ID3_V1_LEN = 128,
00332
ID3_V1_LEN_ID = 3,
00333
ID3_V1_LEN_TITLE = 30,
00334
ID3_V1_LEN_ARTIST = 30,
00335
ID3_V1_LEN_ALBUM = 30,
00336
ID3_V1_LEN_YEAR = 4,
00337
ID3_V1_LEN_COMMENT = 30,
00338
ID3_V1_LEN_GENRE = 1
00339 };
00340
00341 ID3_ENUM(ID3_FieldFlags)
00342 {
00343
ID3FF_NONE = 0,
00344
ID3FF_CSTR = 1 << 0,
00345
ID3FF_LIST = 1 << 1,
00346
ID3FF_ENCODABLE = 1 << 2,
00347
ID3FF_TEXTLIST =
ID3FF_CSTR |
ID3FF_LIST |
ID3FF_ENCODABLE
00348 };
00349
00351 ID3_ENUM(ID3_FieldType)
00352 {
00353
ID3FTY_NONE = -1,
00354
ID3FTY_INTEGER = 0,
00355
ID3FTY_BINARY,
00356
ID3FTY_TEXTSTRING,
00357
ID3FTY_NUMTYPES
00358 };
00359
00363 ID3_ENUM(ID3_Err)
00364 {
00365
ID3E_NoError = 0,
00366
ID3E_NoMemory,
00367
ID3E_NoData,
00368
ID3E_BadData,
00369
ID3E_NoBuffer,
00370
ID3E_SmallBuffer,
00371
ID3E_InvalidFrameID,
00372
ID3E_FieldNotFound,
00373
ID3E_UnknownFieldType,
00374
ID3E_TagAlreadyAttached,
00375
ID3E_InvalidTagVersion,
00376
ID3E_NoFile,
00377
ID3E_ReadOnly,
00378
ID3E_zlibError
00379 };
00380
00381 ID3_ENUM(ID3_ContentType)
00382 {
00383
ID3CT_OTHER = 0,
00384
ID3CT_LYRICS,
00385
ID3CT_TEXTTRANSCRIPTION,
00386
ID3CT_MOVEMENT,
00387
ID3CT_EVENTS,
00388
ID3CT_CHORD,
00389
ID3CT_TRIVIA
00390 };
00391
00392 ID3_ENUM(ID3_PictureType)
00393 {
00394
ID3PT_OTHER = 0,
00395
ID3PT_PNG32ICON = 1,
00396
ID3PT_OTHERICON = 2,
00397
ID3PT_COVERFRONT = 3,
00398
ID3PT_COVERBACK = 4,
00399
ID3PT_LEAFLETPAGE = 5,
00400
ID3PT_MEDIA = 6,
00401
ID3PT_LEADARTIST = 7,
00402
ID3PT_ARTIST = 8,
00403
ID3PT_CONDUCTOR = 9,
00404
ID3PT_BAND = 10,
00405
ID3PT_COMPOSER = 11,
00406
ID3PT_LYRICIST = 12,
00407
ID3PT_REC_LOCATION = 13,
00408
ID3PT_RECORDING = 14,
00409
ID3PT_PERFORMANCE = 15,
00410
ID3PT_VIDEO = 16,
00411
ID3PT_FISH = 17,
00412
ID3PT_ILLUSTRATION = 18,
00413
ID3PT_ARTISTLOGO = 19,
00414
ID3PT_PUBLISHERLOGO = 20
00415 };
00416
00417 ID3_ENUM(ID3_TimeStampFormat)
00418 {
00419
ID3TSF_FRAME = 1,
00420
ID3TSF_MS
00421 };
00422
00423 ID3_ENUM(MP3_BitRates)
00424 {
00425
MP3BITRATE_FALSE = -1,
00426
MP3BITRATE_NONE = 0,
00427
MP3BITRATE_8K = 8000,
00428
MP3BITRATE_16K = 16000,
00429
MP3BITRATE_24K = 24000,
00430
MP3BITRATE_32K = 32000,
00431
MP3BITRATE_40K = 40000,
00432
MP3BITRATE_48K = 48000,
00433
MP3BITRATE_56K = 56000,
00434
MP3BITRATE_64K = 64000,
00435
MP3BITRATE_80K = 80000,
00436
MP3BITRATE_96K = 96000,
00437
MP3BITRATE_112K = 112000,
00438
MP3BITRATE_128K = 128000,
00439
MP3BITRATE_144K = 144000,
00440
MP3BITRATE_160K = 160000,
00441
MP3BITRATE_176K = 176000,
00442
MP3BITRATE_192K = 192000,
00443
MP3BITRATE_224K = 224000,
00444
MP3BITRATE_256K = 256000,
00445
MP3BITRATE_288K = 288000,
00446
MP3BITRATE_320K = 320000,
00447
MP3BITRATE_352K = 352000,
00448
MP3BITRATE_384K = 384000,
00449
MP3BITRATE_416K = 416000,
00450
MP3BITRATE_448K = 448000
00451 };
00452
00453 ID3_ENUM(Mpeg_Layers)
00454 {
00455
MPEGLAYER_FALSE = -1,
00456
MPEGLAYER_UNDEFINED,
00457
MPEGLAYER_III,
00458
MPEGLAYER_II,
00459
MPEGLAYER_I
00460 };
00461
00462 ID3_ENUM(Mpeg_Version)
00463 {
00464
MPEGVERSION_FALSE = -1,
00465
MPEGVERSION_2_5,
00466
MPEGVERSION_Reserved,
00467
MPEGVERSION_2,
00468
MPEGVERSION_1
00469 };
00470
00471 ID3_ENUM(Mp3_Frequencies)
00472 {
00473
MP3FREQUENCIES_FALSE = -1,
00474
MP3FREQUENCIES_Reserved = 0,
00475
MP3FREQUENCIES_8000HZ = 8000,
00476
MP3FREQUENCIES_11025HZ = 11025,
00477
MP3FREQUENCIES_12000HZ = 12000,
00478
MP3FREQUENCIES_16000HZ = 16000,
00479
MP3FREQUENCIES_22050HZ = 22050,
00480
MP3FREQUENCIES_24000HZ = 24000,
00481
MP3FREQUENCIES_32000HZ = 32000,
00482
MP3FREQUENCIES_48000HZ = 48000,
00483
MP3FREQUENCIES_44100HZ = 44100,
00484 };
00485
00486 ID3_ENUM(Mp3_ChannelMode)
00487 {
00488
MP3CHANNELMODE_FALSE = -1,
00489
MP3CHANNELMODE_STEREO,
00490
MP3CHANNELMODE_JOINT_STEREO,
00491
MP3CHANNELMODE_DUAL_CHANNEL,
00492
MP3CHANNELMODE_SINGLE_CHANNEL
00493 };
00494
00495 ID3_ENUM(Mp3_ModeExt)
00496 {
00497
MP3MODEEXT_FALSE = -1,
00498
MP3MODEEXT_0,
00499
MP3MODEEXT_1,
00500
MP3MODEEXT_2,
00501
MP3MODEEXT_3
00502 };
00503
00504 ID3_ENUM(Mp3_Emphasis)
00505 {
00506
MP3EMPHASIS_FALSE = -1,
00507
MP3EMPHASIS_NONE,
00508
MP3EMPHASIS_50_15MS,
00509
MP3EMPHASIS_Reserved,
00510
MP3EMPHASIS_CCIT_J17
00511 };
00512
00513 ID3_ENUM(Mp3_Crc)
00514 {
00515
MP3CRC_ERROR_SIZE = -2,
00516
MP3CRC_MISMATCH = -1,
00517
MP3CRC_NONE = 0,
00518
MP3CRC_OK = 1
00519 };
00520
00521 ID3_STRUCT(
Mp3_Headerinfo)
00522 {
00523 Mpeg_Layers layer;
00524 Mpeg_Version version;
00525 MP3_BitRates bitrate;
00526 Mp3_ChannelMode channelmode;
00527 Mp3_ModeExt modeext;
00528 Mp3_Emphasis emphasis;
00529 Mp3_Crc crc;
00530 uint32 vbr_bitrate;
00531 uint32 frequency;
00532 uint32 framesize;
00533 uint32 frames;
00534 uint32 time;
00535 bool privatebit;
00536 bool copyrighted;
00537 bool original;
00538 };
00539
00540 #define ID3_NR_OF_V1_GENRES 148
00541
00542
static const char *ID3_v1_genre_description[
ID3_NR_OF_V1_GENRES] =
00543 {
00544
"Blues",
00545
"Classic Rock",
00546
"Country",
00547
"Dance",
00548
"Disco",
00549
"Funk",
00550
"Grunge",
00551
"Hip-Hop",
00552
"Jazz",
00553
"Metal",
00554
"New Age",
00555
"Oldies",
00556
"Other",
00557
"Pop",
00558
"R&B",
00559
"Rap",
00560
"Reggae",
00561
"Rock",
00562
"Techno",
00563
"Industrial",
00564
"Alternative",
00565
"Ska",
00566
"Death Metal",
00567
"Pranks",
00568
"Soundtrack",
00569
"Euro-Techno",
00570
"Ambient",
00571
"Trip-Hop",
00572
"Vocal",
00573
"Jazz+Funk",
00574
"Fusion",
00575
"Trance",
00576
"Classical",
00577
"Instrumental",
00578
"Acid",
00579
"House",
00580
"Game",
00581
"Sound Clip",
00582
"Gospel",
00583
"Noise",
00584
"AlternRock",
00585
"Bass",
00586
"Soul",
00587
"Punk",
00588
"Space",
00589
"Meditative",
00590
"Instrumental Pop",
00591
"Instrumental Rock",
00592
"Ethnic",
00593
"Gothic",
00594
"Darkwave",
00595
"Techno-Industrial",
00596
"Electronic",
00597
"Pop-Folk",
00598
"Eurodance",
00599
"Dream",
00600
"Southern Rock",
00601
"Comedy",
00602
"Cult",
00603
"Gangsta",
00604
"Top 40",
00605
"Christian Rap",
00606
"Pop/Funk",
00607
"Jungle",
00608
"Native American",
00609
"Cabaret",
00610
"New Wave",
00611
"Psychadelic",
00612
"Rave",
00613
"Showtunes",
00614
"Trailer",
00615
"Lo-Fi",
00616
"Tribal",
00617
"Acid Punk",
00618
"Acid Jazz",
00619
"Polka",
00620
"Retro",
00621
"Musical",
00622
"Rock & Roll",
00623
"Hard Rock",
00624
00625
"Folk",
00626
"Folk-Rock",
00627
"National Folk",
00628
"Swing",
00629
"Fast Fusion",
00630
"Bebob",
00631
"Latin",
00632
"Revival",
00633
"Celtic",
00634
"Bluegrass",
00635
"Avantgarde",
00636
"Gothic Rock",
00637
"Progressive Rock",
00638
"Psychedelic Rock",
00639
"Symphonic Rock",
00640
"Slow Rock",
00641
"Big Band",
00642
"Chorus",
00643
"Easy Listening",
00644
"Acoustic",
00645
"Humour",
00646
"Speech",
00647
"Chanson",
00648
"Opera",
00649
"Chamber Music",
00650
"Sonata",
00651
"Symphony",
00652
"Booty Bass",
00653
"Primus",
00654
"Porn Groove",
00655
"Satire",
00656
"Slow Jam",
00657
"Club",
00658
"Tango",
00659
"Samba",
00660
"Folklore",
00661
"Ballad",
00662
"Power Ballad",
00663
"Rhythmic Soul",
00664
"Freestyle",
00665
"Duet",
00666
"Punk Rock",
00667
"Drum Solo",
00668
"A capella",
00669
"Euro-House",
00670
"Dance Hall",
00671
"Goa",
00672
"Drum & Bass",
00673
"Club-House",
00674
"Hardcore",
00675
"Terror",
00676
"Indie",
00677
"Britpop",
00678
"Negerpunk",
00679
"Polsk Punk",
00680
"Beat",
00681
"Christian Gangsta Rap",
00682
"Heavy Metal",
00683
"Black Metal",
00684
"Crossover",
00685
"Contemporary Christian",
00686
"Christian Rock ",
00687
"Merengue",
00688
"Salsa",
00689
"Trash Metal",
00690
"Anime",
00691
"JPop",
00692
"Synthpop"
00693 };
00694
00695 #define ID3_V1GENRE2DESCRIPTION(x) (x < ID3_NR_OF_V1_GENRES && x >= 0) ? ID3_v1_genre_description[x] : NULL
00696
00697 #define MASK(bits) ((1 << (bits)) - 1)
00698 #define MASK1 MASK(1)
00699 #define MASK2 MASK(2)
00700 #define MASK3 MASK(3)
00701 #define MASK4 MASK(4)
00702 #define MASK5 MASK(5)
00703 #define MASK6 MASK(6)
00704 #define MASK7 MASK(7)
00705 #define MASK8 MASK(8)
00706
00707
00708
00709
00710
#ifdef WIN32
00711
00712
00713
00714
00715
# define ID3_DIR_SEPARATOR '\\'
00716
# define ID3_DIR_SEPARATOR_S "\\"
00717
# define ID3_SEARCHPATH_SEPARATOR ';'
00718
# define ID3_SEARCHPATH_SEPARATOR_S ";"
00719
00720
#else
00721
00722
# ifndef _EMX_
00723
00724
00725 # define ID3_DIR_SEPARATOR '/'
00726 # define ID3_DIR_SEPARATOR_S "/"
00727 # define ID3_SEARCHPATH_SEPARATOR ':'
00728 # define ID3_SEARCHPATH_SEPARATOR_S ":"
00729
00730
# else
00731
00732
00733
# define ID3_DIR_SEPARATOR '/'
00734
# define ID3_DIR_SEPARATOR_S "/"
00735
# define ID3_SEARCHPATH_SEPARATOR ';'
00736
# define ID3_SEARCHPATH_SEPARATOR_S ";"
00737
00738
# endif
00739
00740
#endif
00741
00742
#ifndef NULL
00743 # define NULL ((void*) 0)
00744
#endif
00745
00746
#endif
00747
Generated on Thu Jun 3 16:57:08 2004 for id3lib by
1.3.7