Merge pull request #9214 from tmtvl/9107-playlist-name-sanitization

9107 playlist name sanitization
This commit is contained in:
Twinaphex 2019-07-30 21:48:30 +02:00 committed by GitHub
commit 7ebee349ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 1412 additions and 89 deletions

View File

@ -259,7 +259,8 @@ OBJ += \
$(LIBRETRO_COMM_DIR)/features/features_cpu.o \ $(LIBRETRO_COMM_DIR)/features/features_cpu.o \
performance_counters.o \ performance_counters.o \
verbosity.o \ verbosity.o \
midi/drivers/null_midi.o midi/drivers/null_midi.o \
$(LIBRETRO_COMM_DIR)/playlists/label_sanitization.o
ifeq ($(HAVE_AUDIOMIXER), 1) ifeq ($(HAVE_AUDIOMIXER), 1)

View File

@ -1617,3 +1617,8 @@ SSL
#ifdef HAVE_EASTEREGG #ifdef HAVE_EASTEREGG
#include "../cores/libretro-gong/gong.c" #include "../cores/libretro-gong/gong.c"
#endif #endif
/*============================================================
PLAYLIST NAME SANITIZATION
============================================================ */
#include "../libretro-common/playlists/label_sanitization.c"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1254,6 +1254,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"قائمة التشغيل") "قائمة التشغيل")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"قوائم التشغيل") "قوائم التشغيل")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Touch Support") "Touch Support")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1270,6 +1270,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"游戏列表文件夹") "游戏列表文件夹")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"游戏列表") "游戏列表")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"触摸支持") "触摸支持")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1156,6 +1156,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"遊戲列表目錄") "遊戲列表目錄")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"遊戲列表") "遊戲列表")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"觸控支援") "觸控支援")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1205,6 +1205,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Playlists") "Playlists")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Playlists") "Playlists")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Touch-Unterstützung") "Touch-Unterstützung")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2006,6 +2006,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Λίστες Αναπαραγωγής" "Λίστες Αναπαραγωγής"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Υποστήριξη Αφής" "Υποστήριξη Αφής"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1063,6 +1063,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Playlists") "Playlists")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Playlists") "Playlists")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Touch Support") "Touch Support")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2060,6 +2060,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Listas de reproducción" "Listas de reproducción"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Soporte táctil" "Soporte táctil"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2133,6 +2133,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Listes de lecture" "Listes de lecture"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Prise en charge du tactile" "Prise en charge du tactile"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1207,6 +1207,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Playlists") "Playlists")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Playlists") "Playlists")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Supporto touch") "Supporto touch")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500)
#if (_MSC_VER >= 1700 && _MSC_VER < 1910) #if (_MSC_VER >= 1700 && _MSC_VER < 1910)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2171,6 +2171,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"プレイリスト" "プレイリスト"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"タッチ対応" "タッチ対応"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2160,6 +2160,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"실행목록" "실행목록"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"터치 지원" "터치 지원"

View File

@ -273,6 +273,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION,
"deferred_dropdown_box_list_resolution") "deferred_dropdown_box_list_resolution")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE, MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE,
"deferred_dropdown_box_list_playlist_default_core") "deferred_dropdown_box_list_playlist_default_core")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE,
"deferred_dropdown_box_list_playlist_label_display_mode")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST, MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST,
"deferred_configurations_list") "deferred_configurations_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST, MSG_HASH(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST,
@ -887,6 +889,22 @@ MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE,
"playlist_manager_default_core") "playlist_manager_default_core")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES, MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES,
"playlist_manager_reset_cores") "playlist_manager_reset_cores")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"playlist_manager_label_display_mode")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"playlist_manager_label_display_mode_default")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"playlist_manager_label_display_mode_remove_parens")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"playlist_manager_label_display_mode_remove_brackets")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"playlist_manager_label_display_mode_remove_parens_and_brackets")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"playlist_manager_label_display_mode_keep_region")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"playlist_manager_label_display_mode_keep_disc_index")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"playlist_manager_label_display_mode_keep_region_and_disc_index")
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_SETTINGS_BEGIN, MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_SETTINGS_BEGIN,
"playlist_settings_begin") "playlist_settings_begin")
MSG_HASH(MENU_ENUM_LABEL_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_POINTER_ENABLE,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1062,6 +1062,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Afspeellijsten") "Afspeellijsten")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Afspeellijsten") "Afspeellijsten")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Touch Ondersteuning") "Touch Ondersteuning")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1259,6 +1259,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Listy odtwarzania") "Listy odtwarzania")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Listy odtwarzania") "Listy odtwarzania")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Obsługa dotyku") "Obsługa dotyku")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2172,6 +2172,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Listas de Reprodução" "Listas de Reprodução"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LIST, MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LIST,
"Gerenciamento de Listas de Reprodução" "Gerenciamento de Listas de Reprodução"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1147,6 +1147,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Pasta de listas de reprodução") "Pasta de listas de reprodução")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Definições de listas de reprodução") "Definições de listas de reprodução")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Suporte de ponteiros") "Suporte de ponteiros")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1171,6 +1171,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Плейлисты") "Плейлисты")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Плейлисты") "Плейлисты")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Поддержка Touch") "Поддержка Touch")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -2128,6 +2128,42 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Oynatma Listeleri" "Oynatma Listeleri"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Dokunmatik Desteği" "Dokunmatik Desteği"

View File

@ -2196,6 +2196,42 @@ MSG_HASH(
MSG_PLAYLIST_MANAGER_CORES_RESET, MSG_PLAYLIST_MANAGER_CORES_RESET,
"Cores reset: " "Cores reset: "
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Touch Support" "Touch Support"

View File

@ -1,4 +1,4 @@
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700) #if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */ /* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8") #pragma execution_character_set("utf-8")
@ -1174,6 +1174,42 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_DIRECTORY,
"Playlists Danh mục") "Playlists Danh mục")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS, MSG_HASH(MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
"Playlists") "Playlists")
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Label Display Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
"Change how the content labels are displayed in this playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT,
"Show full labels"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS,
"Remove () content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
"Remove [] content"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS,
"Remove () and []"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION,
"Keep region"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
"Keep disc index"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX,
"Keep region and disc index"
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE, MSG_HASH(MENU_ENUM_LABEL_VALUE_POINTER_ENABLE,
"Touch Support") "Touch Support")
MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT, MSG_HASH(MENU_ENUM_LABEL_VALUE_PORT,

View File

@ -0,0 +1,54 @@
/* Copyright (C) 2010-2019 The RetroArch team
*
* ---------------------------------------------------------------------------------------
* The following license statement only applies to this file (file_path.h).
* ---------------------------------------------------------------------------------------
*
* Permission is hereby granted, free of charge,
* to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include <stddef.h>
#include <boolean.h>
void label_sanitize(char *label, bool (*left)(char*), bool (*right)(char*));
bool left_parens(char *left);
bool right_parens(char *right);
bool left_brackets(char *left);
bool right_brackets(char *right);
bool left_parens_or_brackets(char *left);
bool right_parens_or_brackets(char *right);
bool left_exclusion(char *left, const char **strings, const size_t strings_count);
bool left_parens_or_brackets_excluding_region(char *left);
bool left_parens_or_brackets_excluding_disc(char *left);
bool left_parens_or_brackets_excluding_region_or_disc(char *left);
void label_remove_parens(char *label);
void label_remove_brackets(char *label);
void label_remove_parens_and_brackets(char *label);
void label_keep_region(char *label);
void label_keep_disc(char *label);
void label_keep_region_and_disc(char *label);

View File

@ -0,0 +1,193 @@
/* Copyright (C) 2010-2019 The RetroArch team
*
* ---------------------------------------------------------------------------------------
* The following license statement only applies to this file (file_path.h).
* ---------------------------------------------------------------------------------------
*
* Permission is hereby granted, free of charge,
* to any person obtaining a copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#include <playlists/label_sanitization.h>
#include <compat/strl.h>
#include <retro_miscellaneous.h>
#include <string/stdstring.h>
#include <string.h>
const size_t disc_strings_length = 3;
const char *disc_strings[3] = {
"(CD",
"(Disc",
"(Disk"
};
const size_t region_strings_length = 20;
/*
* We'll use the standard No-Intro regions for now.
*/
const char *region_strings[20] = {
"(Australia)", /* Dont use with Europe */
"(Brazil)",
"(Canada)", /* Dont use with USA */
"(China)",
"(France)",
"(Germany)",
"(Hong Kong)",
"(Italy)",
"(Japan)",
"(Korea)",
"(Netherlands)",
"(Spain)",
"(Sweden)",
"(USA)", /* Includes Canada */
"(World)",
"(Europe)", /* Includes Australia */
"(Asia)",
"(Japan, USA)",
"(Japan, Europe)",
"(USA, Europe)"
};
/*
* Does not work with nested blocks.
*/
void label_sanitize(char *label, bool (*left)(char*), bool (*right)(char*))
{
bool copy = true;
int rindex = 0;
int lindex = 0;
char new_label[PATH_MAX_LENGTH];
for (; lindex < PATH_MAX_LENGTH && label[lindex] != '\0'; lindex++)
{
if (copy)
{
/* check for the start of the range */
if ((*left)(&label[lindex]))
copy = false;
if (copy)
new_label[rindex++] = label[lindex];
}
else if ((*right)(&label[lindex]))
copy = true;
}
new_label[rindex] = '\0';
strlcpy(label, new_label, PATH_MAX_LENGTH);
}
bool left_parens(char *left)
{
return left[0] == '(';
}
bool right_parens(char *right)
{
return right[0] == ')';
}
bool left_brackets(char *left)
{
return left[0] == '[';
}
bool right_brackets(char *right)
{
return right[0] == ']';
}
bool left_parens_or_brackets(char *left)
{
return left[0] == '(' || left[0] == '[';
}
bool right_parens_or_brackets(char *right)
{
return right[0] == ')' || right[0] == ']';
}
bool left_exclusion(char *left, const char **strings, const size_t strings_count)
{
int i;
char exclusion_string[32];
char comparison_string[32];
strlcpy(exclusion_string, left, 32);
string_to_upper(exclusion_string);
for (i = 0; i < strings_count; i++)
{
strlcpy(comparison_string, strings[i], 32);
string_to_upper(comparison_string);
if (string_is_equal_fast(exclusion_string, comparison_string, strlen(comparison_string)))
return true;
}
return false;
}
bool left_parens_or_brackets_excluding_region(char *left)
{
return left_parens_or_brackets(left)
&& !left_exclusion(left, region_strings, region_strings_length);
}
bool left_parens_or_brackets_excluding_disc(char *left)
{
return left_parens_or_brackets(left)
&& !left_exclusion(left, disc_strings, disc_strings_length);
}
bool left_parens_or_brackets_excluding_region_or_disc(char *left)
{
return left_parens_or_brackets(left)
&& !left_exclusion(left, region_strings, region_strings_length)
&& !left_exclusion(left, disc_strings, disc_strings_length);
}
void label_remove_parens(char *label)
{
label_sanitize(label, left_parens, right_parens);
}
void label_remove_brackets(char *label)
{
label_sanitize(label, left_brackets, right_brackets);
}
void label_remove_parens_and_brackets(char *label)
{
label_sanitize(label, left_parens_or_brackets, right_parens_or_brackets);
}
void label_keep_region(char *label)
{
label_sanitize(label, left_parens_or_brackets_excluding_region, right_parens_or_brackets);
}
void label_keep_disc(char *label)
{
label_sanitize(label, left_parens_or_brackets_excluding_disc, right_parens_or_brackets);
}
void label_keep_region_and_disc(char *label)
{
label_sanitize(label, left_parens_or_brackets_excluding_region_or_disc, right_parens_or_brackets);
}

View File

@ -640,6 +640,7 @@ generic_deferred_push_clear_general(deferred_push_dropdown_box_list, PUSH_DEFAUL
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_special, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_SPECIAL) generic_deferred_push_clear_general(deferred_push_dropdown_box_list_special, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_SPECIAL)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_resolution, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_RESOLUTION) generic_deferred_push_clear_general(deferred_push_dropdown_box_list_resolution, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_RESOLUTION)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_playlist_default_core, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE) generic_deferred_push_clear_general(deferred_push_dropdown_box_list_playlist_default_core, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_playlist_label_display_mode, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LABEL_DISPLAY_MODE)
static int menu_cbs_init_bind_deferred_push_compare_label( static int menu_cbs_init_bind_deferred_push_compare_label(
menu_file_list_cbs_t *cbs, menu_file_list_cbs_t *cbs,
@ -680,6 +681,11 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_dropdown_box_list_playlist_default_core); BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_dropdown_box_list_playlist_default_core);
return 0; return 0;
} }
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_dropdown_box_list_playlist_label_display_mode);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_LIST))) else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_LIST)))
{ {
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_browse_url_list); BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_browse_url_list);

View File

@ -1098,6 +1098,52 @@ static void menu_action_setting_disp_set_label_playlist_associations(file_list_t
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), len); strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE), len);
} }
static void menu_action_setting_disp_set_label_playlist_label_display_mode(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *path,
char *s2, size_t len2)
{
enum playlist_label_display_mode label_display_mode;
int msg_index;
playlist_t *playlist = playlist_get_cached();
if (!playlist)
return;
label_display_mode = playlist_get_label_display_mode(playlist);
*w = 19;
strlcpy(s2, path, len2);
switch (label_display_mode)
{
case LABEL_DISPLAY_MODE_REMOVE_PARENTHESES :
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS), len);
break;
case LABEL_DISPLAY_MODE_REMOVE_BRACKETS :
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS), len);
break;
case LABEL_DISPLAY_MODE_REMOVE_PARENTHESES_AND_BRACKETS :
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS), len);
break;
case LABEL_DISPLAY_MODE_KEEP_DISC_INDEX :
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX), len);
break;
case LABEL_DISPLAY_MODE_KEEP_REGION :
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION), len);
break;
case LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX :
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX), len);
break;
default:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT), len);
}
}
static void menu_action_setting_disp_set_label_core_options(file_list_t* list, static void menu_action_setting_disp_set_label_core_options(file_list_t* list,
unsigned *w, unsigned type, unsigned i, unsigned *w, unsigned type, unsigned i,
const char *label, const char *label,
@ -1345,6 +1391,10 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
BIND_ACTION_GET_VALUE(cbs, BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_playlist_associations); menu_action_setting_disp_set_label_playlist_associations);
break; break;
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_playlist_label_display_mode);
break;
default: default:
return - 1; return - 1;
} }

View File

@ -434,6 +434,28 @@ static int playlist_association_left(unsigned type, const char *label,
return 0; return 0;
} }
static int playlist_label_display_mode_left(unsigned type, const char *label,
bool wraparound)
{
enum playlist_label_display_mode label_display_mode;
playlist_t *playlist = playlist_get_cached();
if (!playlist)
return -1;
label_display_mode = playlist_get_label_display_mode(playlist);
if (label_display_mode != LABEL_DISPLAY_MODE_DEFAULT)
label_display_mode = (enum playlist_label_display_mode)((int)label_display_mode - 1);
else if (wraparound)
label_display_mode = LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX;
playlist_set_label_display_mode(playlist, label_display_mode);
playlist_write_file(playlist);
return 0;
}
static int core_setting_left(unsigned type, const char *label, static int core_setting_left(unsigned type, const char *label,
bool wraparound) bool wraparound)
{ {
@ -676,6 +698,9 @@ static int menu_cbs_init_bind_left_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
BIND_ACTION_LEFT(cbs, playlist_association_left); BIND_ACTION_LEFT(cbs, playlist_association_left);
break; break;
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
BIND_ACTION_LEFT(cbs, playlist_label_display_mode_left);
break;
default: default:
return -1; return -1;
} }

View File

@ -177,6 +177,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION; return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION;
case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE: case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE:
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE; return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE;
case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE;
case ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST: case ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST; return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST;
case ACTION_OK_DL_ACCOUNTS_LIST: case ACTION_OK_DL_ACCOUNTS_LIST:
@ -390,6 +392,15 @@ int generic_action_ok_displaylist_push(const char *path,
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE; info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE;
dl_type = DISPLAYLIST_GENERIC; dl_type = DISPLAYLIST_GENERIC;
break; break;
case ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
info.type = type;
info.directory_ptr = idx;
info_path = path;
info_label = msg_hash_to_str(
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE;
dl_type = DISPLAYLIST_GENERIC;
break;
case ACTION_OK_DL_USER_BINDS_LIST: case ACTION_OK_DL_USER_BINDS_LIST:
info.type = type; info.type = type;
info.directory_ptr = idx; info.directory_ptr = idx;
@ -5359,6 +5370,19 @@ static int action_ok_push_dropdown_item_playlist_default_core(const char *path,
return action_cancel_pop_default(NULL, NULL, 0, 0); return action_cancel_pop_default(NULL, NULL, 0, 0);
} }
static int action_ok_push_dropdown_item_playlist_label_display_mode(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
playlist_t *playlist = playlist_get_cached();
playlist_set_label_display_mode(playlist, (enum playlist_label_display_mode)idx);
/* In all cases, update file on disk */
playlist_write_file(playlist);
return action_cancel_pop_default(NULL, NULL, 0, 0);
}
static int action_ok_push_default(const char *path, static int action_ok_push_default(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx) const char *label, unsigned type, size_t idx, size_t entry_idx)
{ {
@ -5547,6 +5571,16 @@ static int action_ok_playlist_default_core(const char *path,
return 0; return 0;
} }
static int action_ok_playlist_label_display_mode(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
generic_action_ok_displaylist_push(
NULL,
NULL, NULL, 0, 0, 0,
ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE);
return 0;
}
static int action_ok_netplay_enable_host(const char *path, static int action_ok_netplay_enable_host(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx) const char *label, unsigned type, size_t idx, size_t entry_idx)
{ {
@ -6364,6 +6398,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
BIND_ACTION_OK(cbs, action_ok_playlist_default_core); BIND_ACTION_OK(cbs, action_ok_playlist_default_core);
break; break;
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
BIND_ACTION_OK(cbs, action_ok_playlist_label_display_mode);
break;
case MENU_ENUM_LABEL_UPDATE_ASSETS: case MENU_ENUM_LABEL_UPDATE_ASSETS:
BIND_ACTION_OK(cbs, action_ok_update_assets); BIND_ACTION_OK(cbs, action_ok_update_assets);
break; break;
@ -6530,6 +6567,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE: case MENU_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
BIND_ACTION_OK(cbs, action_ok_playlist_default_core); BIND_ACTION_OK(cbs, action_ok_playlist_default_core);
break; break;
case MENU_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
BIND_ACTION_OK(cbs, action_ok_playlist_label_display_mode);
break;
default: default:
return -1; return -1;
} }
@ -6653,6 +6693,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
case MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_DEFAULT_CORE: case MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_DEFAULT_CORE:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_playlist_default_core); BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_playlist_default_core);
break; break;
case MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_playlist_label_display_mode);
break;
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS: case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
BIND_ACTION_OK(cbs, action_ok_push_default); BIND_ACTION_OK(cbs, action_ok_push_default);
break; break;

View File

@ -547,6 +547,28 @@ static int playlist_association_right(unsigned type, const char *label,
return 0; return 0;
} }
static int playlist_label_display_mode_right(unsigned type, const char *label,
bool wraparound)
{
enum playlist_label_display_mode label_display_mode;
playlist_t *playlist = playlist_get_cached();
if (!playlist)
return -1;
label_display_mode = playlist_get_label_display_mode(playlist);
if (label_display_mode != LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX)
label_display_mode = (enum playlist_label_display_mode)((int)label_display_mode + 1);
else if (wraparound)
label_display_mode = LABEL_DISPLAY_MODE_DEFAULT;
playlist_set_label_display_mode(playlist, label_display_mode);
playlist_write_file(playlist);
return 0;
}
int core_setting_right(unsigned type, const char *label, int core_setting_right(unsigned type, const char *label,
bool wraparound) bool wraparound)
{ {
@ -825,6 +847,9 @@ static int menu_cbs_init_bind_right_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
BIND_ACTION_RIGHT(cbs, playlist_association_right); BIND_ACTION_RIGHT(cbs, playlist_association_right);
break; break;
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
BIND_ACTION_RIGHT(cbs, playlist_label_display_mode_right);
break;
default: default:
return -1; return -1;
} }

View File

@ -242,6 +242,20 @@ static int action_start_playlist_association(unsigned type, const char *label)
return 0; return 0;
} }
static int action_start_playlist_label_display_mode(unsigned type, const char *label)
{
playlist_t *playlist = playlist_get_cached();
if (!playlist)
return -1;
/* Set label display mode to the default */
playlist_set_label_display_mode(playlist, LABEL_DISPLAY_MODE_DEFAULT);
playlist_write_file(playlist);
return 0;
}
static int action_start_video_resolution(unsigned type, const char *label) static int action_start_video_resolution(unsigned type, const char *label)
{ {
unsigned width = 0, height = 0; unsigned width = 0, height = 0;
@ -319,6 +333,9 @@ static int menu_cbs_init_bind_start_compare_label(menu_file_list_cbs_t *cbs)
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE: case MENU_ENUM_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE:
BIND_ACTION_START(cbs, action_start_playlist_association); BIND_ACTION_START(cbs, action_start_playlist_association);
break; break;
case MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE:
BIND_ACTION_START(cbs, action_start_playlist_label_display_mode);
break;
default: default:
return -1; return -1;
} }

View File

@ -1366,6 +1366,12 @@ int menu_cbs_init_bind_title(menu_file_list_cbs_t *cbs,
BIND_ACTION_GET_TITLE(cbs, action_get_title_dropdown_item); BIND_ACTION_GET_TITLE(cbs, action_get_title_dropdown_item);
return 0; return 0;
} }
if (string_is_equal(label,
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_title_dropdown_item);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS))) if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS)))
{ {
BIND_ACTION_GET_TITLE(cbs, action_get_quick_menu_views_settings_list); BIND_ACTION_GET_TITLE(cbs, action_get_quick_menu_views_settings_list);

View File

@ -49,6 +49,7 @@ enum
ACTION_OK_DL_DROPDOWN_BOX_LIST_SPECIAL, ACTION_OK_DL_DROPDOWN_BOX_LIST_SPECIAL,
ACTION_OK_DL_DROPDOWN_BOX_LIST_RESOLUTION, ACTION_OK_DL_DROPDOWN_BOX_LIST_RESOLUTION,
ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE, ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE,
ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE,
ACTION_OK_DL_OPEN_ARCHIVE, ACTION_OK_DL_OPEN_ARCHIVE,
ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE, ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE,
ACTION_OK_DL_MUSIC, ACTION_OK_DL_MUSIC,

View File

@ -25,6 +25,7 @@
#include <lists/dir_list.h> #include <lists/dir_list.h>
#include <file/file_path.h> #include <file/file_path.h>
#include <file/archive_file.h> #include <file/archive_file.h>
#include <playlists/label_sanitization.h>
#include <string/stdstring.h> #include <string/stdstring.h>
#include <streams/file_stream.h> #include <streams/file_stream.h>
#include <features/features_cpu.h> #include <features/features_cpu.h>
@ -849,6 +850,7 @@ static int menu_displaylist_parse_playlist(menu_displaylist_info_t *info,
size_t list_size = playlist_size(playlist); size_t list_size = playlist_size(playlist);
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
bool show_inline_core_name = false; bool show_inline_core_name = false;
void (*sanitization)(char*);
label_spacer[0] = '\0'; label_spacer[0] = '\0';
@ -905,6 +907,30 @@ static int menu_displaylist_parse_playlist(menu_displaylist_info_t *info,
/* Preallocate the file list */ /* Preallocate the file list */
file_list_reserve(info->list, list_size); file_list_reserve(info->list, list_size);
switch (playlist_get_label_display_mode(playlist))
{
case LABEL_DISPLAY_MODE_REMOVE_PARENTHESES :
sanitization = &label_remove_parens;
break;
case LABEL_DISPLAY_MODE_REMOVE_BRACKETS :
sanitization = &label_remove_brackets;
break;
case LABEL_DISPLAY_MODE_REMOVE_PARENTHESES_AND_BRACKETS :
sanitization = &label_remove_parens_and_brackets;
break;
case LABEL_DISPLAY_MODE_KEEP_DISC_INDEX :
sanitization = &label_keep_disc;
break;
case LABEL_DISPLAY_MODE_KEEP_REGION :
sanitization = &label_keep_region;
break;
case LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX :
sanitization = &label_keep_region_and_disc;
break;
default :
sanitization = NULL;
}
for (i = 0; i < list_size; i++) for (i = 0; i < list_size; i++)
{ {
char menu_entry_label[PATH_MAX_LENGTH]; char menu_entry_label[PATH_MAX_LENGTH];
@ -926,7 +952,11 @@ static int menu_displaylist_parse_playlist(menu_displaylist_info_t *info,
if (string_is_empty(entry->label)) if (string_is_empty(entry->label))
fill_short_pathname_representation(menu_entry_label, entry->path, sizeof(menu_entry_label)); fill_short_pathname_representation(menu_entry_label, entry->path, sizeof(menu_entry_label));
else else
{
strlcpy(menu_entry_label, entry->label, sizeof(menu_entry_label)); strlcpy(menu_entry_label, entry->label, sizeof(menu_entry_label));
if (sanitization)
(*sanitization)(menu_entry_label);
}
if (show_inline_core_name) if (show_inline_core_name)
{ {
@ -2697,6 +2727,13 @@ static bool menu_displaylist_parse_playlist_manager_settings(
MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES, MENU_ENUM_LABEL_PLAYLIST_MANAGER_RESET_CORES,
FILE_TYPE_PLAYLIST_ENTRY, 0, 0); FILE_TYPE_PLAYLIST_ENTRY, 0, 0);
/* Label display mode */
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE),
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE),
MENU_ENUM_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
MENU_SETTING_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE, 0, 0);
/* TODO: Add /* TODO: Add
* - Remove invalid entries */ * - Remove invalid entries */
@ -3706,6 +3743,74 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
} }
} }
break; break;
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
{
playlist_t *playlist = playlist_get_cached();
if (playlist)
{
enum playlist_label_display_mode label_display_mode = playlist_get_label_display_mode(playlist);
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX),
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
0, 0))
count++;
menu_entries_set_checked(list, label_display_mode, true);
}
}
break;
case DISPLAYLIST_PERFCOUNTERS_CORE: case DISPLAYLIST_PERFCOUNTERS_CORE:
case DISPLAYLIST_PERFCOUNTERS_FRONTEND: case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
{ {
@ -6609,6 +6714,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_NETWORK_INFO: case DISPLAYLIST_NETWORK_INFO:
case DISPLAYLIST_DROPDOWN_LIST_RESOLUTION: case DISPLAYLIST_DROPDOWN_LIST_RESOLUTION:
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE: case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE:
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
case DISPLAYLIST_PERFCOUNTERS_CORE: case DISPLAYLIST_PERFCOUNTERS_CORE:
case DISPLAYLIST_PERFCOUNTERS_FRONTEND: case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
case DISPLAYLIST_MENU_SETTINGS_LIST: case DISPLAYLIST_MENU_SETTINGS_LIST:
@ -6629,6 +6735,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
break; break;
case DISPLAYLIST_DROPDOWN_LIST_RESOLUTION: case DISPLAYLIST_DROPDOWN_LIST_RESOLUTION:
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE: case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE:
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LABEL_DISPLAY_MODE:
menu_entries_append_enum(info->list, menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_ENTRIES_TO_DISPLAY),
msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY), msg_hash_to_str(MENU_ENUM_LABEL_NO_ENTRIES_TO_DISPLAY),

View File

@ -61,6 +61,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_DROPDOWN_LIST_SPECIAL, DISPLAYLIST_DROPDOWN_LIST_SPECIAL,
DISPLAYLIST_DROPDOWN_LIST_RESOLUTION, DISPLAYLIST_DROPDOWN_LIST_RESOLUTION,
DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE, DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_DEFAULT_CORE,
DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LABEL_DISPLAY_MODE,
DISPLAYLIST_CDROM_DETAIL_INFO, DISPLAYLIST_CDROM_DETAIL_INFO,
DISPLAYLIST_INFO, DISPLAYLIST_INFO,
DISPLAYLIST_HELP, DISPLAYLIST_HELP,

View File

@ -87,6 +87,7 @@ enum menu_settings_type
MENU_SETTING_DROPDOWN_ITEM, MENU_SETTING_DROPDOWN_ITEM,
MENU_SETTING_DROPDOWN_ITEM_RESOLUTION, MENU_SETTING_DROPDOWN_ITEM_RESOLUTION,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_DEFAULT_CORE, MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_DEFAULT_CORE,
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LABEL_DISPLAY_MODE,
MENU_SETTING_DROPDOWN_SETTING_CORE_OPTIONS_ITEM, MENU_SETTING_DROPDOWN_SETTING_CORE_OPTIONS_ITEM,
MENU_SETTING_DROPDOWN_SETTING_STRING_OPTIONS_ITEM, MENU_SETTING_DROPDOWN_SETTING_STRING_OPTIONS_ITEM,
MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM, MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM,
@ -121,6 +122,7 @@ enum menu_settings_type
MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS, MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS,
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS,
MENU_SETTING_PLAYLIST_MANAGER_DEFAULT_CORE, MENU_SETTING_PLAYLIST_MANAGER_DEFAULT_CORE,
MENU_SETTING_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE,
MENU_WIFI, MENU_WIFI,
MENU_ROOM, MENU_ROOM,
MENU_ROOM_LAN, MENU_ROOM_LAN,

View File

@ -1148,6 +1148,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_SPECIAL, MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_SPECIAL,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION, MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_RESOLUTION,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE, MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_DEFAULT_CORE,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE,
MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST, MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST,
MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST, MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST,
@ -1833,6 +1834,16 @@ enum msg_hash_enums
MSG_PLAYLIST_MANAGER_RESETTING_CORES, MSG_PLAYLIST_MANAGER_RESETTING_CORES,
MSG_PLAYLIST_MANAGER_CORES_RESET, MSG_PLAYLIST_MANAGER_CORES_RESET,
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_DEFAULT),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_BRACKETS),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_REMOVE_PARENS_AND_BRACKETS),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_DISC_INDEX),
MENU_LABEL(PLAYLIST_MANAGER_LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX),
MENU_LABEL(CORE_UPDATER_SETTINGS), MENU_LABEL(CORE_UPDATER_SETTINGS),
MENU_LABEL(LAKKA_SERVICES), MENU_LABEL(LAKKA_SERVICES),
MENU_LABEL(SHADER_APPLY_CHANGES), MENU_LABEL(SHADER_APPLY_CHANGES),
@ -2534,6 +2545,8 @@ enum msg_hash_enums
#define MENU_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE 0x86EDE19DU #define MENU_LABEL_PLAYLIST_MANAGER_DEFAULT_CORE 0x86EDE19DU
#define MENU_LABEL_PLAYLIST_MANAGER_LABEL_DISPLAY_MODE 0xE0E1CD5BU
/* Menu settings */ /* Menu settings */
#define MENU_LABEL_XMB_FONT 0x0ECA56CA2 #define MENU_LABEL_XMB_FONT 0x0ECA56CA2

View File

@ -43,6 +43,7 @@
struct content_playlist struct content_playlist
{ {
bool modified; bool modified;
enum playlist_label_display_mode label_display_mode;
size_t size; size_t size;
size_t cap; size_t cap;
@ -67,6 +68,7 @@ typedef struct
struct string_list **current_entry_string_list_val; struct string_list **current_entry_string_list_val;
char *current_meta_string; char *current_meta_string;
char **current_meta_val; char **current_meta_val;
int *current_meta_int_val;
char *current_items_string; char *current_items_string;
bool in_items; bool in_items;
bool in_subsystem_roms; bool in_subsystem_roms;
@ -224,6 +226,13 @@ char *playlist_get_conf_path(playlist_t *playlist)
return playlist->conf_path; return playlist->conf_path;
} }
enum playlist_label_display_mode playlist_get_label_display_mode(playlist_t *playlist)
{
if (!playlist)
return LABEL_DISPLAY_MODE_DEFAULT;
return playlist->label_display_mode;
}
/** /**
* playlist_get_index: * playlist_get_index:
* @playlist : Playlist handle. * @playlist : Playlist handle.
@ -1203,15 +1212,17 @@ void playlist_write_file(playlist_t *playlist)
if (!string_is_empty(playlist->default_core_path) && if (!string_is_empty(playlist->default_core_path) &&
!string_is_empty(playlist->default_core_name)) !string_is_empty(playlist->default_core_name))
{ {
filestream_printf(file, "default_core_path = \"%s\"\ndefault_core_name = \"%s\"\n", filestream_printf(file, "default_core_path = \"%s\"\ndefault_core_name = \"%s\"\nlabel_display_mode = \"%d\"\n",
playlist->default_core_path, playlist->default_core_path,
playlist->default_core_name playlist->default_core_name,
playlist->label_display_mode
); );
} }
} }
else else
#endif #endif
{ {
char label_display_mode[4] = {0};
JSONContext context = {0}; JSONContext context = {0};
context.writer = JSON_Writer_Create(NULL); context.writer = JSON_Writer_Create(NULL);
context.file = file; context.file = file;
@ -1234,8 +1245,8 @@ void playlist_write_file(playlist_t *playlist)
STRLEN_CONST("version"), JSON_UTF8); STRLEN_CONST("version"), JSON_UTF8);
JSON_Writer_WriteColon(context.writer); JSON_Writer_WriteColon(context.writer);
JSON_Writer_WriteSpace(context.writer, 1); JSON_Writer_WriteSpace(context.writer, 1);
JSON_Writer_WriteString(context.writer, "1.1", JSON_Writer_WriteString(context.writer, "1.2",
STRLEN_CONST("1.1"), JSON_UTF8); STRLEN_CONST("1.2"), JSON_UTF8);
JSON_Writer_WriteComma(context.writer); JSON_Writer_WriteComma(context.writer);
JSON_Writer_WriteNewLine(context.writer); JSON_Writer_WriteNewLine(context.writer);
@ -1271,6 +1282,18 @@ void playlist_write_file(playlist_t *playlist)
JSON_Writer_WriteComma(context.writer); JSON_Writer_WriteComma(context.writer);
JSON_Writer_WriteNewLine(context.writer); JSON_Writer_WriteNewLine(context.writer);
snprintf(label_display_mode, sizeof(label_display_mode), "%u", playlist->label_display_mode);
JSON_Writer_WriteSpace(context.writer, 2);
JSON_Writer_WriteString(context.writer, "label_display_mode",
STRLEN_CONST("label_display_mode"), JSON_UTF8);
JSON_Writer_WriteColon(context.writer);
JSON_Writer_WriteSpace(context.writer, 1);
JSON_Writer_WriteNumber(context.writer, label_display_mode,
strlen(label_display_mode), JSON_UTF8);
JSON_Writer_WriteComma(context.writer);
JSON_Writer_WriteNewLine(context.writer);
JSON_Writer_WriteSpace(context.writer, 2); JSON_Writer_WriteSpace(context.writer, 2);
JSON_Writer_WriteString(context.writer, "items", JSON_Writer_WriteString(context.writer, "items",
STRLEN_CONST("items"), JSON_UTF8); STRLEN_CONST("items"), JSON_UTF8);
@ -1721,6 +1744,8 @@ static JSON_Parser_HandlerResult JSONNumberHandler(JSON_Parser parser, char *pVa
free(pCtx->current_meta_string); free(pCtx->current_meta_string);
pCtx->current_meta_string = NULL; pCtx->current_meta_string = NULL;
*pCtx->current_meta_int_val = (int)strtoul(pValue, NULL, 10);
} }
} }
} }
@ -1820,6 +1845,8 @@ static JSON_Parser_HandlerResult JSONObjectMemberHandler(JSON_Parser parser, cha
pCtx->current_meta_val = &pCtx->playlist->default_core_path; pCtx->current_meta_val = &pCtx->playlist->default_core_path;
else if (string_is_equal(pValue, "default_core_name")) else if (string_is_equal(pValue, "default_core_name"))
pCtx->current_meta_val = &pCtx->playlist->default_core_name; pCtx->current_meta_val = &pCtx->playlist->default_core_name;
else if (string_is_equal(pValue, "label_display_mode"))
pCtx->current_meta_int_val = (int*)&pCtx->playlist->label_display_mode;
else else
{ {
/* ignore unknown members */ /* ignore unknown members */
@ -2009,8 +2036,8 @@ json_cleanup:
metadata_char = filestream_getc(file); metadata_char = filestream_getc(file);
} }
/* Search backwards for the next two newlines */ /* Search backwards for the next three newlines */
while (metadata_counter < 2) while (metadata_counter < 3)
{ {
filestream_seek(file, -2, SEEK_CUR); filestream_seek(file, -2, SEEK_CUR);
if (filestream_error(file)) if (filestream_error(file))
@ -2041,6 +2068,26 @@ json_cleanup:
get_old_format_metadata_value( get_old_format_metadata_value(
metadata_line, default_core_name, sizeof(default_core_name)); metadata_line, default_core_name, sizeof(default_core_name));
/* > Get label_display_mode */
if (!filestream_gets(file, metadata_line, sizeof(metadata_line)))
goto end;
if (strncmp("label_display_mode",
metadata_line,
STRLEN_CONST("label_display_mode")) == 0)
{
char *start = NULL;
start = strchr(metadata_line, '\"');
if (start)
{
start++;
if (*start >= '0' && *start <= '9')
playlist->label_display_mode = (enum playlist_label_display_mode)(*start - '0');
}
}
/* > Populate playlist fields, if required */ /* > Populate playlist fields, if required */
if (!string_is_empty(default_core_path) && if (!string_is_empty(default_core_path) &&
!string_is_empty(default_core_name)) !string_is_empty(default_core_name))
@ -2153,6 +2200,7 @@ playlist_t *playlist_init(const char *path, size_t size)
playlist->default_core_name = NULL; playlist->default_core_name = NULL;
playlist->default_core_path = NULL; playlist->default_core_path = NULL;
playlist->entries = entries; playlist->entries = entries;
playlist->label_display_mode = LABEL_DISPLAY_MODE_DEFAULT;
playlist_read_file(playlist, path); playlist_read_file(playlist, path);
@ -2378,3 +2426,14 @@ void playlist_set_default_core_name(playlist_t *playlist, const char *core_name)
playlist->modified = true; playlist->modified = true;
} }
} }
void playlist_set_label_display_mode(playlist_t *playlist, enum playlist_label_display_mode label_display_mode)
{
if (!playlist)
return;
if (playlist->label_display_mode != label_display_mode) {
playlist->label_display_mode = label_display_mode;
playlist->modified = true;
}
}

View File

@ -41,6 +41,17 @@ enum playlist_file_mode
PLAYLIST_SAVE PLAYLIST_SAVE
}; };
enum playlist_label_display_mode
{
LABEL_DISPLAY_MODE_DEFAULT = 0,
LABEL_DISPLAY_MODE_REMOVE_PARENTHESES,
LABEL_DISPLAY_MODE_REMOVE_BRACKETS,
LABEL_DISPLAY_MODE_REMOVE_PARENTHESES_AND_BRACKETS,
LABEL_DISPLAY_MODE_KEEP_REGION,
LABEL_DISPLAY_MODE_KEEP_DISC_INDEX,
LABEL_DISPLAY_MODE_KEEP_REGION_AND_DISC_INDEX
};
struct playlist_entry struct playlist_entry
{ {
char *path; char *path;
@ -213,9 +224,11 @@ void playlist_get_db_name(playlist_t *playlist, size_t idx,
char *playlist_get_default_core_path(playlist_t *playlist); char *playlist_get_default_core_path(playlist_t *playlist);
char *playlist_get_default_core_name(playlist_t *playlist); char *playlist_get_default_core_name(playlist_t *playlist);
enum playlist_label_display_mode playlist_get_label_display_mode(playlist_t *playlist);
void playlist_set_default_core_path(playlist_t *playlist, const char *core_path); void playlist_set_default_core_path(playlist_t *playlist, const char *core_path);
void playlist_set_default_core_name(playlist_t *playlist, const char *core_name); void playlist_set_default_core_name(playlist_t *playlist, const char *core_name);
void playlist_set_label_display_mode(playlist_t *playlist, enum playlist_label_display_mode label_display_mode);
RETRO_END_DECLS RETRO_END_DECLS