Changed cdtext_select_language to take a cdtext_lang_t instead of a const char * to specify the desired language.

This commit is contained in:
Leon Merten Lohse
2012-03-22 22:21:52 +01:00
parent 2a6f153952
commit 591c23ee48
5 changed files with 9 additions and 12 deletions

View File

@@ -20,7 +20,7 @@
libcdio. See also corresponding C++ programs of similar names. */
#define EXAMPLE_CUE_FILE "../test/data/cdtext.cue"
#define EXAMPLE_PREF_LANG "German"
#define EXAMPLE_PREF_LANG CDTEXT_LANGUAGE_GERMAN
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -78,7 +78,7 @@ print_disc_info(CdIo_t *p_cdio) {
/* select language */
if(cdtext_select_language(cdtext, EXAMPLE_PREF_LANG)) {
printf("%s selected.\n", EXAMPLE_PREF_LANG);
printf("%s selected.\n", cdtext_lang2str (EXAMPLE_PREF_LANG));
} else {
printf("'%s' is not available. Using '%s'\n", EXAMPLE_PREF_LANG,
cdtext_lang2str (cdtext_get_language (cdtext)));

View File

@@ -86,7 +86,7 @@ cdtext_lang_t getLanguage()
/*!
selects a language
*/
bool selectLanguage(const char *lang)
bool selectLanguage(cdtext_lang_t lang)
{
return cdtext_select_language(p_cdtext, lang);
}

View File

@@ -277,7 +277,7 @@ cdtext_lang_t cdtext_get_language (const cdtext_t *p_cdtext);
@return true on success, false if language is not available
*/
bool cdtext_select_language(cdtext_t *p_cdtext, const char *lang);
bool cdtext_select_language(cdtext_t *p_cdtext, cdtext_lang_t lang);
/*
Returns a list of available languages or NULL.

View File

@@ -342,24 +342,21 @@ cdtext_lang_t
return false.
@param p_cdtext the CD-TEXT object
@param language string representation of the language
@param language language identifier
@return true on success, false if language is not available
*/
bool
cdtext_select_language(cdtext_t *p_cdtext, const char *language)
cdtext_select_language(cdtext_t *p_cdtext, cdtext_lang_t language)
{
cdtext_lang_t lang_id;
lang_id = cdtext_is_language(language);
if(NULL == p_cdtext)
return false;
if (CDTEXT_LANGUAGE_UNKNOWN != lang_id)
if (CDTEXT_LANGUAGE_UNKNOWN != language)
{
int i;
for (i=0; i<CDTEXT_NUM_BLOCKS_MAX; i++) {
if (lang_id == p_cdtext->block[i].language_code) {
if (language == p_cdtext->block[i].language_code) {
p_cdtext->block_i = i;
return true;
}

View File

@@ -445,7 +445,7 @@ print_cdtext_info(CdIo_t *p_cdio, track_t i_tracks, track_t i_first_track) {
languages = cdtext_list_languages(p_cdtext);
for(i=0; i<8; i++)
if ( CDTEXT_LANGUAGE_UNKNOWN != languages[i]
&& cdtext_select_language(p_cdtext, cdtext_lang2str(languages[i])))
&& cdtext_select_language(p_cdtext, languages[i]))
{
printf("\nLanguage %d '%s':\n", i, cdtext_lang2str(languages[i]));