--- cdtext_private_old.h	2011-04-20 21:23:27.000000000 +0200
+++ cdtext_private.h	2011-04-22 11:13:09.000000000 +0200
@@ -45,13 +45,84 @@
   CDIO_CDTEXT_BLOCKSIZE     = 0x8F
 } cdtext_enums1;
 
+
+/*
+ * genre codes
+ */
+#define CDIO_CDTEXT_GENRE_UNUSED          0	/* not used			    */
+#define CDIO_CDTEXT_GENRE_UNDEFINED       1	/* not defined			    */
+#define CDIO_CDTEXT_GENRE_ADULT_CONTEMP   2	/* Adult Contemporary		    */
+#define CDIO_CDTEXT_GENRE_ALT_ROCK        3	/* Alternative Rock		    */
+#define CDIO_CDTEXT_GENRE_CHILDRENS       4	/* Childrens Music		    */
+#define CDIO_CDTEXT_GENRE_CLASSIC         5	/* Classical			    */
+#define CDIO_CDTEXT_GENRE_CHRIST_CONTEMP  6	/* Contemporary Christian	    */
+#define CDIO_CDTEXT_GENRE_COUNTRY         7	/* Country			    */
+#define CDIO_CDTEXT_GENRE_DANCE           8	/* Dance			    */
+#define CDIO_CDTEXT_GENRE_EASY_LISTENING  9	/* Easy Listening		    */
+#define CDIO_CDTEXT_GENRE_EROTIC         10	/* Erotic			    */
+#define CDIO_CDTEXT_GENRE_FOLK           11	/* Folk				    */
+#define CDIO_CDTEXT_GENRE_GOSPEL         12	/* Gospel			    */
+#define CDIO_CDTEXT_GENRE_HIPHOP         13	/* Hip Hop			    */
+#define CDIO_CDTEXT_GENRE_JAZZ           14	/* Jazz				    */
+#define CDIO_CDTEXT_GENRE_LATIN          15	/* Latin			    */
+#define CDIO_CDTEXT_GENRE_MUSICAL        16	/* Musical			    */
+#define CDIO_CDTEXT_GENRE_NEWAGE         17	/* New Age			    */
+#define CDIO_CDTEXT_GENRE_OPERA          18	/* Opera			    */
+#define CDIO_CDTEXT_GENRE_OPERETTA       19	/* Operetta			    */
+#define CDIO_CDTEXT_GENRE_POP            20	/* Pop Music			    */
+#define CDIO_CDTEXT_GENRE_RAP            21	/* RAP				    */
+#define CDIO_CDTEXT_GENRE_REGGAE         22	/* Reggae			    */
+#define CDIO_CDTEXT_GENRE_ROCK           23	/* Rock Music			    */
+#define CDIO_CDTEXT_GENRE_RYTHMANDBLUES  24	/* Rhythm & Blues		    */
+#define CDIO_CDTEXT_GENRE_SOUNDEFFECTS   25	/* Sound Effects		    */
+#define CDIO_CDTEXT_GENRE_SOUNDTRACK     26	/* Soundtrack			    */
+#define CDIO_CDTEXT_GENRE_SPOKEN_WORD    27	/* Spoken Word			    */
+#define CDIO_CDTEXT_GENRE_WORLD_MUSIC    28	/* World Music			    */
+  
+/* 
+ * charcodes 
+ */
+#define CDIO_CDTEXT_CHARCODE_ISO_8859_1	0x00 /* ISO-8859-1 */
+#define CDIO_CDTEXT_CHARCODE_ASCII	0x01 /* ASCII - 7 bit */
+#define CDIO_CDTEXT_CHARCODE_KANJI	0x80 /* Music Shift-JIS Kanji - double byte */
+#define CDIO_CDTEXT_CHARCODE_KOREAN	0x81 /* Korean */
+#define CDIO_CDTEXT_CHARCODE_CHINESE	0x82 /* Mandarin Chinese */
+#define CDIO_CDTEXT_CHARCODE_UNDEFINED	0xFF /* everything else */
+
+
+/*
+ * The language code is encoded as specified in ANNEX 1 to part 5 of EBU
+ * Tech 32 58 -E (1991).
+ */
+#define CDIO_CDTEXT_LANG_CZECH		0x06
+#define CDIO_CDTEXT_LANG_DANISH		0x07
+#define CDIO_CDTEXT_LANG_GERMAN		0x08
+#define CDIO_CDTEXT_LANG_ENGLISH 	0x09
+#define CDIO_CDTEXT_LANG_SPANISH	0x0A
+#define CDIO_CDTEXT_LANG_FRENCH	 	0x0F
+#define CDIO_CDTEXT_LANG_ITALIAN 	0x15
+#define CDIO_CDTEXT_LANG_HUNGARIAN	0x1b
+#define CDIO_CDTEXT_LANG_DUTCH		0x1d
+#define CDIO_CDTEXT_LANG_NORWEGIAN	0x1e
+#define CDIO_CDTEXT_LANG_POLISH		0x20
+#define CDIO_CDTEXT_LANG_PORTUGUESE	0x21
+#define CDIO_CDTEXT_LANG_SLOVENE	0x26
+#define CDIO_CDTEXT_LANG_FINNISH	0x27
+#define CDIO_CDTEXT_LANG_SWEDISH	0x28
+#define CDIO_CDTEXT_LANG_RUSSIAN	0x56
+#define CDIO_CDTEXT_LANG_KOREAN		0x65
+#define CDIO_CDTEXT_LANG_JAPANESE	0x69
+#define CDIO_CDTEXT_LANG_GREEK		0x70
+#define CDIO_CDTEXT_LANG_CHINESE	0x75
+
+
 #define CDIO_CDTEXT_MAX_PACK_DATA  255
 #define CDIO_CDTEXT_MAX_TEXT_DATA  12
 
 /* From table J.2 - Pack Type Indicator Definitions from 
    Working Draft NCITS XXX T10/1364-D Revision 10G. November 12, 2001.
 */
-/* Title of Alubm name (ID=0) or Track Titles (ID != 0) */
+/* Title of Album name (ID=0) or Track Titles (ID != 0) */
 #define CDIO_CDTEXT_TITLE      0x80 
 
 /* Name(s) of the performer(s) in ASCII */
@@ -113,6 +184,25 @@
 
 PRAGMA_END_PACKED
 
+/*
+ * content of BLOCKSIZE packs
+ */
+typedef struct CDText_blocksize
+{
+  uint8_t charcode;	/* character code */
+  uint8_t i_firstTrack; /* first track number */
+  uint8_t i_lastTrack;  /* last track number */
+  uint8_t copyright;    /* cd-text information copyright byte */
+  uint8_t packcount[16];/* number of packs of each type 
+			 * 0 TITLE; 1 PERFORMER; 2 SONGWRITER; 3 COMPOSER; 
+			 * 4 ARRANGER; 5 MESSAGE; 6 DISCID; 7 GENRE; 
+			 * 8 TOC; 9 TOC2; 10-12 RESERVED; 13 CLOSED; 
+			 * 14 UPC_ISRC; 15 BLOCKSIZE */
+  uint8_t lastseq[8];	/* last sequence for block 0..7 */
+  uint8_t langcode[8];  /* language code for block 0..7 */
+} CDText_blocksize_t;
+
+
 typedef struct CDText_data CDText_data_t;
 
 typedef void (*set_cdtext_field_fn_t) (void *user_data, track_t i_track,
