1) cdtext objects are no longer associated with a track but with the disc.
2) - cdio_get_cdtext no longer takes track as an argument - cdtext_get, cdtext_get_const, cdtext_set require track argument 3) Language, Genre, Genre Code and Encoding Fields are now properly parsed and stored in the cdtext object 4) Added public function cdio_get_cdtext_raw to extract the binary CD-Text 5) Added CDTEXTFILE keyword logic in cue sheet parser. Parses binary/raw CD-Text files 6) Added cdtext_genre2str to convert genre code 7) altered the example programs, test drivers, cdda-player and cd-info to work with these changes 8) Added test case 9) A few smaller changes A disc either holds CD-Text for all the tracks or does not hold any. Therefore a CD-Text object for the whole disc seems more natural to me. It also enables us to store global fields, like genre, encoding, language. Patch was tested on GNU/Linux 32 bit running Gentoo.
This commit is contained in:
@@ -63,14 +63,13 @@ _free_image (void *p_user_data)
|
||||
track_info_t *p_tocent = &(p_env->tocent[i_track]);
|
||||
free_if_notnull(p_tocent->filename);
|
||||
free_if_notnull(p_tocent->isrc);
|
||||
cdtext_destroy(&(p_tocent->cdtext));
|
||||
if (p_tocent->data_source) cdio_stdio_destroy(p_tocent->data_source);
|
||||
}
|
||||
|
||||
free_if_notnull(p_env->psz_mcn);
|
||||
free_if_notnull(p_env->psz_cue_name);
|
||||
free_if_notnull(p_env->psz_access_mode);
|
||||
cdtext_destroy(&(p_env->gen.cdtext));
|
||||
cdtext_destroy(p_env->gen.cdtext);
|
||||
cdio_generic_stdio_free(p_env);
|
||||
free(p_env);
|
||||
}
|
||||
@@ -95,6 +94,20 @@ _get_arg_image (void *user_data, const char key[])
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*!
|
||||
Return CD-Text object
|
||||
*/
|
||||
cdtext_t *
|
||||
_get_cdtext_image (void *user_data)
|
||||
{
|
||||
generic_img_private_t *p_env = user_data;
|
||||
|
||||
if(!p_env)
|
||||
return NULL;
|
||||
|
||||
return p_env->cdtext;
|
||||
}
|
||||
|
||||
/*!
|
||||
Get disc type associated with cd_obj.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user