From 4dfa4d724941fc930b8714c73af5c3d36692edd5 Mon Sep 17 00:00:00 2001 From: "bsongis@gmail.com" Date: Sat, 11 May 2013 05:45:13 +0000 Subject: [PATCH] [Taranis/sky9x] SD sounds directory /SOUNDS/en/SYSTEM instead of /SOUNDS/SYSTEM/en --- src/audio_arm.cpp | 24 +++++++++++++----------- src/gui/menu_model.cpp | 8 ++++---- src/opentx.cpp | 10 +++++----- src/sdcard.h | 8 +++++--- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/audio_arm.cpp b/src/audio_arm.cpp index 3915983b2..865f972f1 100644 --- a/src/audio_arm.cpp +++ b/src/audio_arm.cpp @@ -97,8 +97,8 @@ void refreshSystemAudioFiles() info.lfsize = sizeof(lfn); #endif - char filename[32] = SYSTEM_SOUNDS_PATH "/en/"; - strncpy(filename+sizeof(SYSTEM_SOUNDS_PATH), currentLanguagePack->id, 2); + char filename[32] = SYSTEM_SOUNDS_PATH "/"; + strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); assert(sizeof(audioFilenames)==AU_FRSKY_FIRST*sizeof(char *)); assert(sizeof(sdAvailableSystemAudioFiles)*8 > AU_FRSKY_FIRST); @@ -106,8 +106,8 @@ void refreshSystemAudioFiles() uint32_t availableAudioFiles = 0; for (uint32_t i=0; iid, 2); - strcpy(filename+sizeof(SYSTEM_SOUNDS_PATH)+3, audioFilenames[i]); - strcat(filename+sizeof(SYSTEM_SOUNDS_PATH)+3, SOUNDS_EXT); + strcpy(filename, SYSTEM_SOUNDS_PATH); + strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); + strcpy(filename+sizeof(SYSTEM_SOUNDS_PATH), audioFilenames[i]); + strcat(filename+sizeof(SYSTEM_SOUNDS_PATH), SOUNDS_EXT); return true; } } else if (category == PHASE_AUDIO_CATEGORY) { if (sdAvailablePhaseAudioFiles[index] & ((uint32_t)1 << event)) { strcpy(filename, SOUNDS_PATH "/"); + strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); char *str = strcat_modelname(filename+sizeof(SOUNDS_PATH), g_eeGeneral.currModel); *str++ = '/'; char * tmp = strcat_phasename(str, index); @@ -193,6 +194,7 @@ bool isAudioFileAvailable(uint32_t i, char * filename) else if (category == MIXER_AUDIO_CATEGORY) { if (sdAvailableMixerAudioFiles[index] & ((uint32_t)1 << event)) { strcpy(filename, SOUNDS_PATH "/"); + strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); char *str = strcat_modelname(filename+sizeof(SOUNDS_PATH), g_eeGeneral.currModel); *str++ = '/'; char * tmp = strcat_mixername(str, index); @@ -916,11 +918,11 @@ void pushPrompt(uint16_t prompt, uint8_t id) { #if defined(SDCARD) - char filename[] = SYSTEM_SOUNDS_PATH "/en/0000" SOUNDS_EXT; - strncpy(filename+sizeof(SYSTEM_SOUNDS_PATH), currentLanguagePack->id, 2); + char filename[] = SYSTEM_SOUNDS_PATH "/0000" SOUNDS_EXT; + strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); for (int8_t i=3; i>=0; i--) { - filename[sizeof(SYSTEM_SOUNDS_PATH)+3+i] = '0' + (prompt%10); + filename[sizeof(SYSTEM_SOUNDS_PATH)+i] = '0' + (prompt%10); prompt /= 10; } diff --git a/src/gui/menu_model.cpp b/src/gui/menu_model.cpp index 18159af11..43896f778 100644 --- a/src/gui/menu_model.cpp +++ b/src/gui/menu_model.cpp @@ -4039,8 +4039,8 @@ void onCustomFunctionsMenu(const char *result) int8_t sub = m_posVert - 1; if (result == STR_UPDATE_LIST) { - char directory[] = SOUNDS_PATH "/en"; - strncpy(directory+sizeof(SOUNDS_PATH), currentLanguagePack->id, 2); + char directory[] = SOUNDS_PATH; + strncpy(directory+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); if (!listSdFiles(directory, SOUNDS_EXT, sizeof(g_model.funcSw[sub].param), NULL)) { POPUP_WARNING(STR_NO_SOUNDS_ON_SD); s_menu_flags = 0; @@ -4165,8 +4165,8 @@ void menuModelCustomFunctions(uint8_t event) lcd_putsiAtt(x, y, STR_VCSWFUNC, 0, attr); if (active && event==EVT_KEY_BREAK(KEY_ENTER)) { s_editMode = 0; - char directory[] = SOUNDS_PATH "/en"; - strncpy(directory+sizeof(SOUNDS_PATH), currentLanguagePack->id, 2); + char directory[] = SOUNDS_PATH; + strncpy(directory+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); if (listSdFiles(directory, SOUNDS_EXT, sizeof(sd->param.name), sd->param.name)) { menuHandler = onCustomFunctionsMenu; } diff --git a/src/opentx.cpp b/src/opentx.cpp index 4f1bc30c8..c0a8c516d 100644 --- a/src/opentx.cpp +++ b/src/opentx.cpp @@ -2422,11 +2422,11 @@ uint8_t fnSwitchDuration[NUM_CFN] = { 0 }; inline void playCustomFunctionFile(CustomFnData *sd, uint8_t id) { - char filename[] = SOUNDS_PATH "/en/xxxxxx.wav"; - strncpy(filename+sizeof(SOUNDS_PATH), currentLanguagePack->id, 2); - strncpy(filename+sizeof(SOUNDS_PATH)+3, sd->param.name, sizeof(sd->param.name)); - filename[sizeof(SOUNDS_PATH)+3+sizeof(sd->param.name)] = '\0'; - strcat(filename+sizeof(SOUNDS_PATH)+3, SOUNDS_EXT); + char filename[] = SOUNDS_PATH "/xxxxxx.wav"; + strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); + strncpy(filename+sizeof(SOUNDS_PATH), sd->param.name, sizeof(sd->param.name)); + filename[sizeof(SOUNDS_PATH)+sizeof(sd->param.name)] = '\0'; + strcat(filename+sizeof(SOUNDS_PATH), SOUNDS_EXT); PLAY_FILE(filename, sd->func==FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id); } #endif diff --git a/src/sdcard.h b/src/sdcard.h index 454ce9f4d..de0481d49 100644 --- a/src/sdcard.h +++ b/src/sdcard.h @@ -43,14 +43,16 @@ #define ROOT_PATH "." #define MODELS_PATH "." #define LOGS_PATH "." -#define SOUNDS_PATH "." -#define SYSTEM_SOUNDS_PATH "." +#define SOUNDS_PATH "./en" +#define SOUNDS_PATH_LNG_OFS 2 +#define SYSTEM_SOUNDS_PATH SOUNDS_PATH "/SYSTEM" #define BITMAPS_PATH "." #else #define ROOT_PATH "/" #define MODELS_PATH "/MODELS" #define LOGS_PATH "/LOGS" // no trailing slash = important -#define SOUNDS_PATH "/SOUNDS" // no trailing slash = important +#define SOUNDS_PATH "/SOUNDS/en" // no trailing slash = important +#define SOUNDS_PATH_LNG_OFS 8 #define SYSTEM_SOUNDS_PATH SOUNDS_PATH "/SYSTEM" // no trailing slash = important #define BITMAPS_PATH "/BMP" #endif