1 /* @(#)cdtext.h 1.5 04/03/02 Copyright 1999-2004 J. Schilling */ 2 /* 3 * Generic CD-Text support definitions 4 * 5 * Copyright (c) 1999-2004 J. Schilling 6 */ 7 /* 8 * The contents of this file are subject to the terms of the 9 * Common Development and Distribution License, Version 1.0 only 10 * (the "License"). You may not use this file except in compliance 11 * with the License. 12 * 13 * See the file CDDL.Schily.txt in this distribution for details. 14 * A copy of the CDDL is also available via the Internet at 15 * http://www.opensource.org/licenses/cddl1.txt 16 * 17 * When distributing Covered Code, include this CDDL HEADER in each 18 * file and include the License file CDDL.Schily.txt from this distribution. 19 */ 20 21 #ifndef CDTEXT_H 22 #define CDTEXT_H 23 24 /* 25 * Strings for the CD-Text Pack Type indicators 0x80...0x8F 26 * We cannot use a plain structure here because we like to loop 27 * over all members. 28 */ 29 typedef struct textcodes { 30 char *textcodes[16]; 31 } textptr_t; 32 33 #define tc_title textcodes[0x00] 34 #define tc_performer textcodes[0x01] 35 #define tc_songwriter textcodes[0x02] 36 #define tc_composer textcodes[0x03] 37 #define tc_arranger textcodes[0x04] 38 #define tc_message textcodes[0x05] 39 #define tc_diskid textcodes[0x06] 40 #define tc_genre textcodes[0x07] 41 #define tc_toc textcodes[0x08] 42 #define tc_toc2 textcodes[0x09] 43 44 #define tc_closed_info textcodes[0x0d] 45 #define tc_isrc textcodes[0x0e] 46 47 /* 48 * binaere Felder sind 49 * Disc ID (Wirklich ???) 50 * Genre ID 51 * TOC 52 * Second TOC 53 * Size information 54 */ 55 56 /* 57 * Genre codes from Enhanced CD Specification page 21 58 */ 59 #define GENRE_UNUSED 0 /* not used */ 60 #define GENRE_UNDEFINED 1 /* not defined */ 61 #define GENRE_ADULT_CONTEMP 2 /* Adult Contemporary */ 62 #define GENRE_ALT_ROCK 3 /* Alternative Rock */ 63 #define GENRE_CHILDRENS 4 /* Childrens Music */ 64 #define GENRE_CLASSIC 5 /* Classical */ 65 #define GENRE_CHRIST_CONTEMP 6 /* Contemporary Christian */ 66 #define GENRE_COUNTRY 7 /* Country */ 67 #define GENRE_DANCE 8 /* Dance */ 68 #define GENRE_EASY_LISTENING 9 /* Easy Listening */ 69 #define GENRE_EROTIC 10 /* Erotic */ 70 #define GENRE_FOLK 11 /* Folk */ 71 #define GENRE_GOSPEL 12 /* Gospel */ 72 #define GENRE_HIPHOP 13 /* Hip Hop */ 73 #define GENRE_JAZZ 14 /* Jazz */ 74 #define GENRE_LATIN 15 /* Latin */ 75 #define GENRE_MUSICAL 16 /* Musical */ 76 #define GENRE_NEWAGE 17 /* New Age */ 77 #define GENRE_OPERA 18 /* Opera */ 78 #define GENRE_OPERETTA 19 /* Operetta */ 79 #define GENRE_POP 20 /* Pop Music */ 80 #define GENRE_RAP 21 /* RAP */ 81 #define GENRE_REGGAE 22 /* Reggae */ 82 #define GENRE_ROCK 23 /* Rock Music */ 83 #define GENRE_RYTHMANDBLUES 24 /* Rhythm & Blues */ 84 #define GENRE_SOUNDEFFECTS 25 /* Sound Effects */ 85 #define GENRE_SPOKEN_WORD 26 /* Spoken Word */ 86 #define GENRE_WORLD_MUSIC 28 /* World Music */ 87 #define GENRE_RESERVED 29 /* Reserved is 29..32767 */ 88 #define GENRE_RIAA 32768 /* Registration by RIAA 32768..65535 */ 89 90 /* 91 * Character codings used in CD-Text data. 92 * Korean and Mandarin Chinese to be defined in sept 1996 93 */ 94 #define CC_8859_1 0x00 /* ISO 8859-1 */ 95 #define CC_ASCII 0x01 /* ISO 646, ASCII (7 bit) */ 96 #define CC_RESERVED_02 0x02 /* Reserved codes 0x02..0x7f */ 97 #define CC_KANJI 0x80 /* Music Shift-JIS Kanji */ 98 #define CC_KOREAN 0x81 /* Korean */ 99 #define CC_CHINESE 0x82 /* Mandarin Chinese */ 100 #define CC_RESERVED_83 0x83 /* Reserved codes 0x83..0xFF */ 101 102 103 /* 104 * The language code is encoded as specified in ANNEX 1 to part 5 of EBU 105 * Tech 32 58 -E (1991). 106 * 107 * The current language codes are guessed 108 */ 109 #define LANG_CZECH 6 /* 0x06 */ 110 #define LANG_DANISH 7 /* 0x07 */ 111 #define LANG_GERMAN 8 /* 0x08 */ 112 #define LANG_ENGLISH 9 /* 0x09 */ 113 #define LANG_SPANISH 10 /* 0x0A */ 114 #define LANG_FRENCH 15 /* 0x0F */ 115 #define LANG_ITALIAN 21 /* 0x15 */ 116 #define LANG_HUNGARIAN 27 /* 0x1B */ 117 #define LANG_DUTCH 29 /* 0x1D */ 118 #define LANG_NORWEGIAN 30 /* 0x1E */ 119 #define LANG_POLISH 32 /* 0x20 */ 120 #define LANG_PORTUGUESE 33 /* 0x21 */ 121 #define LANG_SLOVENE 38 /* 0x26 */ 122 #define LANG_FINNISH 39 /* 0x27 */ 123 #define LANG_SWEDISH 40 /* 0x28 */ 124 #define LANG_RUSSIAN 86 /* 0x56 */ 125 #define LANG_KOREAN 101 /* 0x65 */ 126 #define LANG_JAPANESE 105 /* 0x69 */ 127 #define LANG_GREEK 112 /* 0x70 */ 128 #define LANG_CHINESE 117 /* 0x75 */ 129 130 #endif 131