From 1b1f8d605fc7068cd2236611b5dba4c13010999b Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Wed, 17 May 2017 15:51:43 -0700 Subject: [PATCH] Add menu entries for selecting the timidity config --- src/menu/menudef.cpp | 8 ++++++++ wadsrc/static/language.enu | 1 + wadsrc/static/menudef.txt | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/src/menu/menudef.cpp b/src/menu/menudef.cpp index e7818d8492..d97705b34a 100644 --- a/src/menu/menudef.cpp +++ b/src/menu/menudef.cpp @@ -1386,6 +1386,7 @@ static void InitMusicMenus() DMenuDescriptor **gusmenu = MenuDescriptors.CheckKey("GusConfigMenu"); DMenuDescriptor **timiditymenu = MenuDescriptors.CheckKey("TimidityExeMenu"); DMenuDescriptor **wildmidimenu = MenuDescriptors.CheckKey("WildMidiConfigMenu"); + DMenuDescriptor **timiditycfgmenu = MenuDescriptors.CheckKey("TimidityConfigMenu"); DMenuDescriptor **fluidmenu = MenuDescriptors.CheckKey("FluidPatchsetMenu"); const char *key, *value; @@ -1426,6 +1427,11 @@ static void InitMusicMenus() auto it = CreateOptionMenuItemCommand(key, FStringf("wildmidi_config %s", NicePath(value).GetChars()), true); static_cast(*wildmidimenu)->mItems.Push(it); } + if (timiditycfgmenu != nullptr) + { + auto it = CreateOptionMenuItemCommand(key, FStringf("timidity_config \"%s\"", NicePath(value).GetChars()), true); + static_cast(*timiditycfgmenu)->mItems.Push(it); + } } } } @@ -1437,6 +1443,8 @@ static void InitMusicMenus() if (it != nullptr) d->mItems.Delete(d->mItems.Find(it)); it = d->GetItem("WildMidiConfigMenu"); if (it != nullptr) d->mItems.Delete(d->mItems.Find(it)); + it = d->GetItem("TimidityConfigMenu"); + if (it != nullptr) d->mItems.Delete(d->mItems.Find(it)); } #ifdef _WIN32 // Different Timidity paths only make sense if they can be stored in arbitrary paths with local configs (i.e. not if things are done the Linux way) if (GameConfig->SetSection("TimidityExes")) diff --git a/wadsrc/static/language.enu b/wadsrc/static/language.enu index 1edd845005..3c20a7bfd8 100644 --- a/wadsrc/static/language.enu +++ b/wadsrc/static/language.enu @@ -2163,6 +2163,7 @@ ADVSNDMNU_REVERB = "Reverb"; ADVSNDMNU_FLUIDVOICES = "MIDI voices"; ADVSNDMNU_TIMIDITY = "Timidity++"; ADVSNDMNU_TIMIDITYEXE = "Path for executable"; +ADVSNDMNU_TIMIDITYCONFIG = "Timidity config file"; ADVSNDMNU_TIMIDITYCHORUS = "Chorus"; ADVSNDMNU_TIMIDITYVOLUME = "Relative volume"; ADVSNDMNU_WILDMIDI = "WildMidi"; diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index 978774c4c1..b95d538524 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -1680,6 +1680,8 @@ OptionMenu AdvSoundOptions protected { SubMenu "$ADVSNDMNU_SELCONFIG", "TimidityExeMenu" } + TextField "$ADVSNDMNU_TIMIDITYCONFIG", "timidity_config" + SubMenu "$ADVSNDMNU_SELCONFIG", "TimidityConfigMenu" Option "$ADVSNDMNU_REVERB", "timidity_reverb", "OnOff" Option "$ADVSNDMNU_TIMIDITYCHORUS", "timidity_chorus", "OnOff" Slider "$ADVSNDMNU_TIMIDITYVOLUME", "timidity_mastervolume", 0, 4, 0.2, 1 @@ -1705,6 +1707,11 @@ OptionMenu TimidityExeMenu protected Title "$ADVSNDMNU_SELCONFIG" } +OptionMenu TimidityConfigMenu protected +{ + Title "$ADVSNDMNU_SELCONFIG" +} + OptionMenu FluidPatchsetMenu protected { Title "$ADVSNDMNU_SELCONFIG"