- Change the name "sound profile" to "sound set", which makes more sense.

- Reset to Default profile in absence of custom sound sets.
This commit is contained in:
Michael Kamensky
2021-11-03 09:33:01 +03:00
parent 74fbb1ed57
commit 61ce25f2dd
11 changed files with 39 additions and 34 deletions

View File

@@ -262,7 +262,7 @@ public enum CSubmenuPreferences implements ICDoc {
initializeAutoUpdaterComboBox(); initializeAutoUpdaterComboBox();
initializeMulliganRuleComboBox(); initializeMulliganRuleComboBox();
initializeAiProfilesComboBox(); initializeAiProfilesComboBox();
initializeSoundProfilesComboBox(); initializeSoundSetsComboBox();
initializeStackAdditionsComboBox(); initializeStackAdditionsComboBox();
initializeLandPlayedComboBox(); initializeLandPlayedComboBox();
initializeColorIdentityCombobox(); initializeColorIdentityCombobox();
@@ -467,10 +467,10 @@ public enum CSubmenuPreferences implements ICDoc {
panel.setComboBox(comboBox, selectedItem); panel.setComboBox(comboBox, selectedItem);
} }
private void initializeSoundProfilesComboBox() { private void initializeSoundSetsComboBox() {
final FPref userSetting = FPref.UI_CURRENT_SOUND_PROFILE; final FPref userSetting = FPref.UI_CURRENT_SOUND_SET;
final FComboBoxPanel<String> panel = this.view.getSoundProfilesComboBoxPanel(); final FComboBoxPanel<String> panel = this.view.getSoundSetsComboBoxPanel();
final FComboBox<String> comboBox = createComboBox(SoundSystem.getAvailableSoundProfiles(), userSetting); final FComboBox<String> comboBox = createComboBox(SoundSystem.getAvailableSoundSets(), userSetting);
final String selectedItem = this.prefs.getPref(userSetting); final String selectedItem = this.prefs.getPref(userSetting);
panel.setComboBox(comboBox, selectedItem); panel.setComboBox(comboBox, selectedItem);
} }

View File

@@ -128,7 +128,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
private final FComboBoxPanel<String> cbpCardArtFormat = new FComboBoxPanel<>(localizer.getMessage("cbpCardArtFormat")+":"); private final FComboBoxPanel<String> cbpCardArtFormat = new FComboBoxPanel<>(localizer.getMessage("cbpCardArtFormat")+":");
private final FComboBoxPanel<String> cbpCardArtPreference = new FComboBoxPanel<>(localizer.getMessage("lblPreferredArt")+":"); private final FComboBoxPanel<String> cbpCardArtPreference = new FComboBoxPanel<>(localizer.getMessage("lblPreferredArt")+":");
private final FComboBoxPanel<String> cbpMulliganRule = new FComboBoxPanel<>(localizer.getMessage("cbpMulliganRule")+":"); private final FComboBoxPanel<String> cbpMulliganRule = new FComboBoxPanel<>(localizer.getMessage("cbpMulliganRule")+":");
private final FComboBoxPanel<String> cbpSoundProfiles = new FComboBoxPanel<>(localizer.getMessage("cbpSoundProfiles")+":"); private final FComboBoxPanel<String> cbpSoundSets = new FComboBoxPanel<>(localizer.getMessage("cbpSoundSets")+":");
private final FComboBoxPanel<String> cbpAiProfiles = new FComboBoxPanel<>(localizer.getMessage("cbpAiProfiles")+":"); private final FComboBoxPanel<String> cbpAiProfiles = new FComboBoxPanel<>(localizer.getMessage("cbpAiProfiles")+":");
private final FComboBoxPanel<String> cbpStackAdditions = new FComboBoxPanel<>(localizer.getMessage("cbpStackAdditions")+":"); private final FComboBoxPanel<String> cbpStackAdditions = new FComboBoxPanel<>(localizer.getMessage("cbpStackAdditions")+":");
private final FComboBoxPanel<String> cbpLandPlayed = new FComboBoxPanel<>(localizer.getMessage("cbpLandPlayed")+":"); private final FComboBoxPanel<String> cbpLandPlayed = new FComboBoxPanel<>(localizer.getMessage("cbpLandPlayed")+":");
@@ -415,8 +415,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
pnlPrefs.add(cbEnableSounds, titleConstraints); pnlPrefs.add(cbEnableSounds, titleConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlEnableSounds")), descriptionConstraints); pnlPrefs.add(new NoteLabel(localizer.getMessage("nlEnableSounds")), descriptionConstraints);
pnlPrefs.add(cbpSoundProfiles, comboBoxConstraints); pnlPrefs.add(cbpSoundSets, comboBoxConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlpSoundProfiles")), descriptionConstraints); pnlPrefs.add(new NoteLabel(localizer.getMessage("nlpSoundSets")), descriptionConstraints);
pnlPrefs.add(cbEnableMusic, titleConstraints); pnlPrefs.add(cbEnableMusic, titleConstraints);
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlEnableMusic")), descriptionConstraints); pnlPrefs.add(new NoteLabel(localizer.getMessage("nlEnableMusic")), descriptionConstraints);
@@ -744,8 +744,8 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
return cbpMulliganRule; return cbpMulliganRule;
} }
public FComboBoxPanel<String> getSoundProfilesComboBoxPanel() { public FComboBoxPanel<String> getSoundSetsComboBoxPanel() {
return cbpSoundProfiles; return cbpSoundSets;
} }
public FComboBoxPanel<String> getAiProfilesComboBoxPanel() { public FComboBoxPanel<String> getAiProfilesComboBoxPanel() {

View File

@@ -612,10 +612,10 @@ public class SettingsPage extends TabPage<SettingsScreen> {
localizer.getMessage("nlVibrateAfterLongPress")), localizer.getMessage("nlVibrateAfterLongPress")),
6); 6);
//Sound Options //Sound Options
lstSettings.addItem(new CustomSelectSetting(FPref.UI_CURRENT_SOUND_PROFILE, lstSettings.addItem(new CustomSelectSetting(FPref.UI_CURRENT_SOUND_SET,
localizer.getMessage("cbpSoundProfiles"), localizer.getMessage("cbpSoundSets"),
localizer.getMessage("nlpSoundProfiles"), localizer.getMessage("nlpSoundSets"),
SoundSystem.getAvailableSoundProfiles()), SoundSystem.getAvailableSoundSets()),
7); 7);
lstSettings.addItem(new CustomSelectSetting(FPref.UI_VOL_SOUNDS, lstSettings.addItem(new CustomSelectSetting(FPref.UI_VOL_SOUNDS,
localizer.getMessage("cbAdjustSoundsVolume"), localizer.getMessage("cbAdjustSoundsVolume"),

View File

@@ -111,7 +111,7 @@ cbpGameLogEntryType=Spielberichtsumfang
cbpCloseAction=Beenden cbpCloseAction=Beenden
cbpDefaultFontSize=Standard Schriftgröße cbpDefaultFontSize=Standard Schriftgröße
cbpCardArtFormat=Kartenbildformat cbpCardArtFormat=Kartenbildformat
cbpSoundProfiles=Sound Profile cbpSoundSets=Sound Set
cbpAiProfiles=KI Persönlichkeit cbpAiProfiles=KI Persönlichkeit
cbpStackAdditions=Nachricht bei Stapeländerung cbpStackAdditions=Nachricht bei Stapeländerung
cbpDisplayCurrentCardColors=Zeige detaillierte Kartenfarben cbpDisplayCurrentCardColors=Zeige detaillierte Kartenfarben
@@ -142,7 +142,7 @@ nlCompactMainMenu=Aktiviere, um im Seitenmenü platzsparend immer nur eine Menü
nlUseSentry=Aktiviere, um automatische Fehlerberichte an die Entwickler zu senden. nlUseSentry=Aktiviere, um automatische Fehlerberichte an die Entwickler zu senden.
GamePlay=Spiel GamePlay=Spiel
nlpMulliganRule=Wähle die Version der Mulligan Regel nlpMulliganRule=Wähle die Version der Mulligan Regel
nlpSoundProfiles=Choose the sound profile from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART) nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART)
nlpAiProfiles=Wähle die Spielweise deines KI-Gegners. nlpAiProfiles=Wähle die Spielweise deines KI-Gegners.
nlpStackAdditions=Wähle, wann du über Änderungen am Stapel benachrichtigt werden möchtest: Niemals, immer oder nur für durch andere Spieler ausgelöste Effekte und Fähigkeiten nlpStackAdditions=Wähle, wann du über Änderungen am Stapel benachrichtigt werden möchtest: Niemals, immer oder nur für durch andere Spieler ausgelöste Effekte und Fähigkeiten
nlAnte=Entscheidet, ob um einen Einsatz (Ante) gespielt wird. nlAnte=Entscheidet, ob um einen Einsatz (Ante) gespielt wird.

View File

@@ -113,7 +113,7 @@ cbpCloseAction=Close Action
cbpDefaultFontSize=Default Font Size cbpDefaultFontSize=Default Font Size
cbpCardArtFormat=Card Art Format cbpCardArtFormat=Card Art Format
cbpAiProfiles=AI Personality cbpAiProfiles=AI Personality
cbpSoundProfiles=Sound Profile cbpSoundSets=Sound Set
cbpStackAdditions=Stack effect notifications cbpStackAdditions=Stack effect notifications
cbpDisplayCurrentCardColors=Show Detailed Card Color cbpDisplayCurrentCardColors=Show Detailed Card Color
cbpAutoYieldMode=Auto-Yield cbpAutoYieldMode=Auto-Yield
@@ -143,7 +143,7 @@ nlCompactMainMenu=Enable for a space efficient sidebar that displays only one me
nlUseSentry=When enabled, automatically submits bug reports to developers. nlUseSentry=When enabled, automatically submits bug reports to developers.
GamePlay=Gameplay GamePlay=Gameplay
nlpMulliganRule=Choose the version of the Mulligan rule nlpMulliganRule=Choose the version of the Mulligan rule
nlpSoundProfiles=Choose the sound profile from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART) nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART)
nlpAiProfiles=Choose your AI opponent nlpAiProfiles=Choose your AI opponent
nlpStackAdditions=Choose when you want to get visual notifications for an effect added to the stack: Never, always, or only for the effects cast/activated by a AI player or triggered by any player nlpStackAdditions=Choose when you want to get visual notifications for an effect added to the stack: Never, always, or only for the effects cast/activated by a AI player or triggered by any player
nlAnte=Determines whether or not the game is played for ante. nlAnte=Determines whether or not the game is played for ante.

View File

@@ -112,7 +112,7 @@ cbpGameLogEntryType=Registro del juego
cbpCloseAction=Acción al cerrar cbpCloseAction=Acción al cerrar
cbpDefaultFontSize=Tamaño de fuente predeterminado cbpDefaultFontSize=Tamaño de fuente predeterminado
cbpCardArtFormat=Card Art Format cbpCardArtFormat=Card Art Format
cbpSoundProfiles=Sound Profile cbpSoundSets=Sound Set
cbpAiProfiles=Personalidad de la IA cbpAiProfiles=Personalidad de la IA
cbpStackAdditions=Efecto de la pila de notificaciones cbpStackAdditions=Efecto de la pila de notificaciones
cbpDisplayCurrentCardColors=Mostrar color de la carta cbpDisplayCurrentCardColors=Mostrar color de la carta
@@ -143,7 +143,7 @@ nlCompactMainMenu=Habilitar para una barra lateral eficiente en espacio que mues
nlUseSentry=Cuando está habilitado, envía automáticamente informes de errores a los desarrolladores. nlUseSentry=Cuando está habilitado, envía automáticamente informes de errores a los desarrolladores.
GamePlay=Juego GamePlay=Juego
nlpMulliganRule=Elige versión de reglas de mulligan nlpMulliganRule=Elige versión de reglas de mulligan
nlpSoundProfiles=Choose the sound profile from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART) nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART)
nlpAiProfiles=Elige tu oponente de la IA nlpAiProfiles=Elige tu oponente de la IA
nlpStackAdditions=Elige cuándo quieres recibir notificaciones visuales para un efecto añadido a la pila: Nunca, siempre o sólo para los efectos lanzados/activados por un jugador IA o activados por cualquier jugador nlpStackAdditions=Elige cuándo quieres recibir notificaciones visuales para un efecto añadido a la pila: Nunca, siempre o sólo para los efectos lanzados/activados por un jugador IA o activados por cualquier jugador
nlAnte=Determina si el juego se juega con apuesta o no. nlAnte=Determina si el juego se juega con apuesta o no.

View File

@@ -111,7 +111,7 @@ cbpGameLogEntryType=Verbosità del registro di gioco
cbpCloseAction=Chiudi cbpCloseAction=Chiudi
cbpDefaultFontSize=Dimensione carattere predefinita cbpDefaultFontSize=Dimensione carattere predefinita
cbpCardArtFormat=Formato dell'Illustrazione delle carte cbpCardArtFormat=Formato dell'Illustrazione delle carte
cbpSoundProfiles=Sound Profile cbpSoundSets=Sound Set
cbpAiProfiles=Personalità dell''IA cbpAiProfiles=Personalità dell''IA
cbpStackAdditions=Notifiche degli effetti in pila cbpStackAdditions=Notifiche degli effetti in pila
cbpDisplayCurrentCardColors=Mostra colore scheda dettagliato cbpDisplayCurrentCardColors=Mostra colore scheda dettagliato
@@ -142,7 +142,7 @@ nlCompactMainMenu=Abilitare per una barra laterale efficiente in termini di spaz
nlUseSentry=Se abilitato, invia automaticamente segnalazioni di bug agli sviluppatori. nlUseSentry=Se abilitato, invia automaticamente segnalazioni di bug agli sviluppatori.
GamePlay=Gameplay GamePlay=Gameplay
nlpMulliganRule=Scegli il tipo di Mulligan nlpMulliganRule=Scegli il tipo di Mulligan
nlpSoundProfiles=Choose the sound profile from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART) nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART)
nlpAiProfiles=Scegli il tuo avversario (IA) nlpAiProfiles=Scegli il tuo avversario (IA)
nlpStackAdditions=Scegli quando vuoi ricevere una notifica visiva di un effetto aggiunto alla pila: Mai, sempre, o solo per gli effetti lanciati/attivati da un giocatore IA o innescati da un qualsiasi giocatore nlpStackAdditions=Scegli quando vuoi ricevere una notifica visiva di un effetto aggiunto alla pila: Mai, sempre, o solo per gli effetti lanciati/attivati da un giocatore IA o innescati da un qualsiasi giocatore
nlAnte=Determina se l''incontro è giocato o meno con la posta. nlAnte=Determina se l''incontro è giocato o meno con la posta.

View File

@@ -112,7 +112,7 @@ cbpGameLogEntryType=ゲームログの詳細レベル
cbpCloseAction=閉じる時の動作 cbpCloseAction=閉じる時の動作
cbpDefaultFontSize=デフォルトのフォントサイズ cbpDefaultFontSize=デフォルトのフォントサイズ
cbpCardArtFormat=カードのアートフォーマット cbpCardArtFormat=カードのアートフォーマット
cbpSoundProfiles=Sound Profile cbpSoundSets=Sound Set
cbpAiProfiles=AI の性格 cbpAiProfiles=AI の性格
cbpStackAdditions=スタック効果通知 cbpStackAdditions=スタック効果通知
cbpDisplayCurrentCardColors=詳細なカードの色を表示 cbpDisplayCurrentCardColors=詳細なカードの色を表示
@@ -143,7 +143,7 @@ nlCompactMainMenu=サイドバーに同時に一つのメニューグループ
nlUseSentry=有効にすると、バグレポートが開発者に自動的に送信されます。 nlUseSentry=有効にすると、バグレポートが開発者に自動的に送信されます。
GamePlay=ゲーム設定 GamePlay=ゲーム設定
nlpMulliganRule=マリガンルールを選択する。 nlpMulliganRule=マリガンルールを選択する。
nlpSoundProfiles=Choose the sound profile from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART) nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART)
nlpAiProfiles=対戦相手 AI の性格を選択する。 nlpAiProfiles=対戦相手 AI の性格を選択する。
nlpStackAdditions=スタックに追加された能力の視覚通知をいつ取得するかを選択しますNever[しない]、Always[常時]、またはAIプレーヤーによってキャスト/起動された能力、または任意のプレーヤーによって誘発された能力に対してのみ nlpStackAdditions=スタックに追加された能力の視覚通知をいつ取得するかを選択しますNever[しない]、Always[常時]、またはAIプレーヤーによってキャスト/起動された能力、または任意のプレーヤーによって誘発された能力に対してのみ
nlAnte=ゲームでアンティ(賭け)ルールを適用するか選択する。 nlAnte=ゲームでアンティ(賭け)ルールを適用するか選択する。

View File

@@ -112,7 +112,7 @@ cbpGameLogEntryType=游戏日志详细程度
cbpCloseAction=关闭动作 cbpCloseAction=关闭动作
cbpDefaultFontSize=默认字体大小 cbpDefaultFontSize=默认字体大小
cbpCardArtFormat=牌张插画格式 cbpCardArtFormat=牌张插画格式
cbpSoundProfiles=Sound Profile cbpSoundSets=Sound Set
cbpAiProfiles=AI强度 cbpAiProfiles=AI强度
cbpStackAdditions=堆叠效应通知 cbpStackAdditions=堆叠效应通知
cbpDisplayCurrentCardColors=显示卡牌颜色详情 cbpDisplayCurrentCardColors=显示卡牌颜色详情
@@ -143,7 +143,7 @@ nlCompactMainMenu=启用节省空间的侧边栏,一次只显示一个菜单
nlUseSentry=启用后,会自动向开发人员提交错误报告。 nlUseSentry=启用后,会自动向开发人员提交错误报告。
GamePlay=游戏 GamePlay=游戏
nlpMulliganRule=选择调度规则 nlpMulliganRule=选择调度规则
nlpSoundProfiles=Choose the sound profile from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART) nlpSoundSets=Choose the sound set from the ones present in the "sound" folder in your Forge cache directory (REQUIRES RESTART)
nlpAiProfiles=选择你的AI对手 nlpAiProfiles=选择你的AI对手
nlpStackAdditions=选择何时因效应进入堆叠而提供视觉提醒从不总是任何由AI释放或起动以及由任何玩家触发的效应。 nlpStackAdditions=选择何时因效应进入堆叠而提供视觉提醒从不总是任何由AI释放或起动以及由任何玩家触发的效应。
nlAnte=确定游戏是否使用赌注 nlAnte=确定游戏是否使用赌注

View File

@@ -121,7 +121,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
UI_VOL_SOUNDS ("100"), UI_VOL_SOUNDS ("100"),
UI_VOL_MUSIC ("100"), UI_VOL_MUSIC ("100"),
UI_ALT_SOUND_SYSTEM ("false"), UI_ALT_SOUND_SYSTEM ("false"),
UI_CURRENT_SOUND_PROFILE ("Default"), UI_CURRENT_SOUND_SET("Default"),
UI_CURRENT_AI_PROFILE ("Default"), UI_CURRENT_AI_PROFILE ("Default"),
UI_CLONE_MODE_SOURCE ("false"), UI_CLONE_MODE_SOURCE ("false"),
UI_MATCH_IMAGE_VISIBLE ("true"), UI_MATCH_IMAGE_VISIBLE ("true"),

View File

@@ -245,9 +245,9 @@ public class SoundSystem {
} }
} }
public static String[] getAvailableSoundProfiles() public static String[] getAvailableSoundSets()
{ {
final List<String> availableProfiles = new ArrayList<>(); final List<String> availableSets = new ArrayList<>();
final File dir = new File(ForgeConstants.CACHE_SOUND_DIR); final File dir = new File(ForgeConstants.CACHE_SOUND_DIR);
if (dir != null && dir.exists()) { if (dir != null && dir.exists()) {
@@ -255,19 +255,24 @@ public class SoundSystem {
for (String fileName : files) { for (String fileName : files) {
String fullPath = ForgeConstants.CACHE_SOUND_DIR + fileName; String fullPath = ForgeConstants.CACHE_SOUND_DIR + fileName;
if (!fileName.equals("Default") && new File(fullPath).isDirectory()) { if (!fileName.equals("Default") && new File(fullPath).isDirectory()) {
availableProfiles.add(fileName); availableSets.add(fileName);
} }
} }
} }
Collections.sort(availableProfiles); Collections.sort(availableSets);
availableProfiles.add(0, "Default"); availableSets.add(0, "Default");
return availableProfiles.toArray(new String[availableProfiles.size()]); if (availableSets.size() == 1) {
// Default profile only - ensure that the preference is set accordingly
FModel.getPreferences().setPref(FPref.UI_CURRENT_SOUND_SET, "Default");
}
return availableSets.toArray(new String[availableSets.size()]);
} }
public static String getSoundDirectory() { public static String getSoundDirectory() {
String profileName = FModel.getPreferences().getPref(FPref.UI_CURRENT_SOUND_PROFILE); String profileName = FModel.getPreferences().getPref(FPref.UI_CURRENT_SOUND_SET);
if (profileName.equals("Default")) { if (profileName.equals("Default")) {
return ForgeConstants.SOUND_DIR; return ForgeConstants.SOUND_DIR;
} else { } else {