(PS3/menu_common) Add System BGM Control setting

This commit is contained in:
twinaphex 2013-11-18 19:50:47 +01:00
parent 8465c47cd9
commit 723fddea80
4 changed files with 38 additions and 3 deletions

View File

@ -1951,6 +1951,9 @@ void menu_populate_entries(void *data, unsigned menu_type)
file_list_clear(rgui->selection_buf); file_list_clear(rgui->selection_buf);
file_list_push(rgui->selection_buf, "Mute Audio", RGUI_SETTINGS_AUDIO_MUTE, 0); file_list_push(rgui->selection_buf, "Mute Audio", RGUI_SETTINGS_AUDIO_MUTE, 0);
file_list_push(rgui->selection_buf, "Rate Control Delta", RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA, 0); file_list_push(rgui->selection_buf, "Rate Control Delta", RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA, 0);
#ifdef __CELLOS_LV2__
file_list_push(rgui->selection_buf, "System BGM Control", RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE, 0);
#endif
#ifdef _XBOX1 #ifdef _XBOX1
file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, 0); file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, 0);
#endif #endif

View File

@ -140,6 +140,7 @@ typedef enum
RGUI_SETTINGS_AUDIO_MUTE, RGUI_SETTINGS_AUDIO_MUTE,
RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA, RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA,
RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, RGUI_SETTINGS_AUDIO_VOLUME_LEVEL,
RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE,
RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS, RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS,
RGUI_SETTINGS_ZIP_EXTRACT, RGUI_SETTINGS_ZIP_EXTRACT,
RGUI_SETTINGS_DEBUG_TEXT, RGUI_SETTINGS_DEBUG_TEXT,

View File

@ -27,6 +27,14 @@
#include "../../config.h" #include "../../config.h"
#endif #endif
#if defined(__CELLOS_LV2__)
#include <sdk_version.h>
#if (CELL_SDK_VERSION > 0x340000)
#include <sysutil/sysutil_bgmplayback.h>
#endif
#endif
#ifdef GEKKO #ifdef GEKKO
#define MAX_GAMMA_SETTING 2 #define MAX_GAMMA_SETTING 2
@ -1521,6 +1529,29 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
#endif #endif
} }
break; break;
case RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE:
switch (action)
{
case RGUI_ACTION_OK:
#if (CELL_SDK_VERSION > 0x340000)
if (g_extern.lifecycle_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE))
g_extern.lifecycle_state &= ~(1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE);
else
g_extern.lifecycle_state |= (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE);
if (g_extern.lifecycle_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE))
cellSysutilEnableBgmPlayback();
else
cellSysutilDisableBgmPlayback();
#endif
break;
case RGUI_ACTION_START:
#if (CELL_SDK_VERSION > 0x340000)
g_extern.lifecycle_state |= (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE);
#endif
break;
}
break;
default: default:
break; break;
} }
@ -1855,10 +1886,12 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
(g_extern.lifecycle_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE)) ? "ON" : "OFF"); (g_extern.lifecycle_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE)) ? "ON" : "OFF");
break; break;
#endif #endif
case RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE:
strlcpy(type_str, (g_extern.lifecycle_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE)) ? "ON" : "OFF", sizeof(type_str));
break;
default: default:
type_str[0] = 0; type_str[0] = 0;
*w = 0; *w = 0;
break; break;
} }
} }

View File

@ -1517,8 +1517,6 @@ static int set_setting_action(void *data, uint8_t menu_type, unsigned switchvalu
case SETTING_ENABLE_CUSTOM_BGM: case SETTING_ENABLE_CUSTOM_BGM:
switch (action) switch (action)
{ {
case RGUI_ACTION_LEFT:
case RGUI_ACTION_RIGHT:
case RGUI_ACTION_OK: case RGUI_ACTION_OK:
#if (CELL_SDK_VERSION > 0x340000) #if (CELL_SDK_VERSION > 0x340000)
if (g_extern.lifecycle_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE)) if (g_extern.lifecycle_state & (1ULL << MODE_AUDIO_CUSTOM_BGM_ENABLE))