From c1d2c3d2f9029fee218bd16b03102e81f43aef50 Mon Sep 17 00:00:00 2001 From: Dimitris Panokostas Date: Mon, 17 Aug 2020 14:28:13 +0200 Subject: [PATCH 1/2] Added CD Turbo checkbox Also moved CD Volume slider to Sound panel --- src/osdep/gui/Navigation.cpp | 37 +++++++++++------------ src/osdep/gui/PanelHD.cpp | 57 ++++++++++-------------------------- src/osdep/gui/PanelSound.cpp | 37 +++++++++++++++++++++++ 3 files changed, 71 insertions(+), 60 deletions(-) diff --git a/src/osdep/gui/Navigation.cpp b/src/osdep/gui/Navigation.cpp index 3399ff9f..2934b4b3 100644 --- a/src/osdep/gui/Navigation.cpp +++ b/src/osdep/gui/Navigation.cpp @@ -183,8 +183,8 @@ static NavigationMap navMap[] = // active move left move right move up move down // PanelHD - {"cmdProp0", "Hard drives/CD", "cmdDel0", "CDVol", "cmdProp1"}, - {"cmdDel0", "cmdProp0", "Hard drives/CD", "CDVol", "cmdDel1"}, + {"cmdProp0", "Hard drives/CD", "cmdDel0", "chkCDTurbo", "cmdProp1"}, + {"cmdDel0", "cmdProp0", "Hard drives/CD", "chkCDTurbo", "cmdDel1"}, {"cmdProp1", "Hard drives/CD", "cmdDel1", "cmdProp0", "cmdProp2"}, {"cmdDel1", "cmdProp1", "Hard drives/CD", "cmdDel0", "cmdDel2"}, {"cmdProp2", "Hard drives/CD", "cmdDel2", "cmdProp1", "cmdProp3"}, @@ -196,13 +196,13 @@ static NavigationMap navMap[] = {"cmdAddDir", "Hard drives/CD", "cmdAddHDF", "cmdProp4", "chkHDRO"}, {"cmdAddHDF", "cmdAddDir", "cmdCreateHDF", "cmdDel4", "chkHDRO"}, {"cmdCreateHDF", "cmdAddHDF", "Hard drives / CD", "cmdDel4", "chkSCSI" }, - {"chkHDRO", "Hard drives / CD", "chkSCSI", "cmdAddDir", "CD drive" }, + {"chkHDRO", "Hard drives / CD", "chkSCSI", "cmdAddDir", "chkCD" }, {"chkSCSI", "chkHDRO", "Hard drives / CD", "cmdCreateHDF", "cdEject" }, - {"CD drive", "Hard drives/CD", "cdEject", "chkHDRO", "cboCD"}, - {"cdEject", "CD drive", "CDSelect", "chkSCSI", "cboCD" }, + {"chkCD", "Hard drives/CD", "cdEject", "chkHDRO", "cboCD"}, + {"cdEject", "chkCD", "CDSelect", "chkSCSI", "cboCD" }, {"CDSelect", "cdEject", "Hard drives/CD", "cmdCreateHDF", "cboCD"}, - {"cboCD", "Hard drives/CD", "Hard drives/CD", "CD drive", "CDVol"}, - {"CDVol", "", "", "cboCD", "cmdProp0"}, + {"cboCD", "Hard drives/CD", "Hard drives/CD", "chkCD", "chkCDTurbo"}, + { "chkCDTurbo", "Hard drives/CD", "Hard drives/CD", "cboCD", "cmdProp0" }, // active move left move right move up move down // PanelDisplay @@ -234,17 +234,18 @@ static NavigationMap navMap[] = // active move left move right move up move down //PanelSound - {"sndDisable", "Sound", "sldPaulaVol", "cboFrequency", "sndDisEmu"}, - {"sndDisEmu", "Sound", "sldPaulaVol", "sndDisable", "sndEmulate"}, - {"sndEmulate", "Sound", "sldPaulaVol", "sndDisEmu", "sndEmuBest"}, - {"sndEmuBest", "Sound", "sldPaulaVol", "sndEmulate", "cboChannelMode"}, - {"cboChannelMode", "Sound", "cboSeparation", "sndEmuBest", "cboFrequency"}, - {"cboFrequency", "Sound", "cboFilter", "cboChannelMode", "sndDisable"}, - {"cboInterpol", "cboSeparation", "Sound", "sldPaulaVol", "cboFilter"}, - {"cboFilter", "Sound", "Sound", "cboInterpol", "sldPaulaVol"}, - {"cboSeparation", "cboChannelMode", "cboInterpol", "sndEmuBest", "cboStereoDelay"}, - {"cboStereoDelay", "cboFrequency", "cboFilter", "cboSeparation", "sldPaulaVol"}, - {"sldPaulaVol", "", "", "cboStereoDelay", "cboInterpol"}, + { "sndDisable", "Sound", "sldPaulaVol", "cboFrequency", "sndDisEmu" }, + { "sndDisEmu", "Sound", "sldPaulaVol", "sndDisable", "sndEmulate" }, + { "sndEmulate", "Sound", "sldPaulaVol", "sndDisEmu", "sndEmuBest" }, + { "sndEmuBest", "Sound", "sldPaulaVol", "sndEmulate", "cboChannelMode" }, + { "cboChannelMode", "Sound", "cboSeparation", "sndEmuBest", "cboFrequency" }, + { "cboFrequency", "Sound", "cboFilter", "cboChannelMode", "sndDisable" }, + { "cboInterpol", "cboSeparation", "Sound", "sldCDVol", "cboFilter" }, + { "cboFilter", "Sound", "Sound", "cboInterpol", "sldPaulaVol" }, + { "cboSeparation", "cboChannelMode", "cboInterpol", "sndEmuBest", "cboStereoDelay" }, + { "cboStereoDelay", "cboFrequency", "cboFilter", "cboSeparation", "sldPaulaVol" }, + { "sldPaulaVol", "", "", "cboStereoDelay", "sldCDVol" }, + { "sldCDVol", "", "", "sldPaulaVol", "cboInterpol" }, // active move left move right move up move down // PanelInput diff --git a/src/osdep/gui/PanelHD.cpp b/src/osdep/gui/PanelHD.cpp index 088e6d30..f54c31b2 100644 --- a/src/osdep/gui/PanelHD.cpp +++ b/src/osdep/gui/PanelHD.cpp @@ -59,9 +59,7 @@ static gcn::CheckBox* chkCD; static gcn::DropDown* cboCDFile; static gcn::Button* cmdCDEject; static gcn::Button* cmdCDSelect; -static gcn::Label* lblCDVol; -static gcn::Label* lblCDVolInfo; -static gcn::Slider* sldCDVol; +static gcn::CheckBox* chkCDTurbo; static int GetHDType(const int index) { @@ -240,15 +238,17 @@ public: chkScsi->setSelected(true); } } - RefreshPanelHD(); - RefreshPanelQuickstart(); } + else if (actionEvent.getSource() == chkCDTurbo) + changed_prefs.cd_speed = chkCDTurbo->isSelected() ? 0 : 100; + + RefreshPanelHD(); + RefreshPanelQuickstart(); } }; CDCheckActionListener* cdCheckActionListener; - class CDButtonActionListener : public gcn::ActionListener { public: @@ -293,22 +293,12 @@ public: CDButtonActionListener* cdButtonActionListener; - class GenericActionListener : public gcn::ActionListener { public: void action(const gcn::ActionEvent& actionEvent) override { - if (actionEvent.getSource() == sldCDVol) - { - const auto newvol = 100 - static_cast(sldCDVol->getValue()); - if (changed_prefs.sound_volume_cd != newvol) - { - changed_prefs.sound_volume_cd = newvol; - RefreshPanelHD(); - } - } - else if (actionEvent.getSource() == chkHDReadOnly) + if (actionEvent.getSource() == chkHDReadOnly) { changed_prefs.harddrive_read_only = chkHDReadOnly->isSelected(); } @@ -438,9 +428,13 @@ void InitPanelHD(const struct _ConfigCategory& category) chkScsi->addActionListener(genericActionListener); chkCD = new gcn::CheckBox("CD drive"); - chkCD->setId("CD drive"); + chkCD->setId("chkCD"); chkCD->addActionListener(cdCheckActionListener); + chkCDTurbo = new gcn::CheckBox("CDTV/CDTV-CR/CD32 turbo CD read speed"); + chkCDTurbo->setId("chkCDTurbo"); + chkCDTurbo->addActionListener(cdCheckActionListener); + cmdCDEject = new gcn::Button("Eject"); cmdCDEject->setSize(SMALL_BUTTON_WIDTH * 2, SMALL_BUTTON_HEIGHT); cmdCDEject->setBaseColor(gui_baseCol); @@ -460,17 +454,6 @@ void InitPanelHD(const struct _ConfigCategory& category) cboCDFile->setId("cboCD"); cboCDFile->addActionListener(cdFileActionListener); - lblCDVol = new gcn::Label("CD Volume:"); - lblCDVol->setAlignment(gcn::Graphics::RIGHT); - sldCDVol = new gcn::Slider(0, 100); - sldCDVol->setSize(200, SLIDER_HEIGHT); - sldCDVol->setBaseColor(gui_baseCol); - sldCDVol->setMarkerLength(20); - sldCDVol->setStepLength(10); - sldCDVol->setId("CDVol"); - sldCDVol->addActionListener(genericActionListener); - lblCDVolInfo = new gcn::Label("80 %"); - int posX = DISTANCE_BORDER + 2 + SMALL_BUTTON_WIDTH + 34; for (col = 0; col < COL_COUNT; ++col) { @@ -516,9 +499,7 @@ void InitPanelHD(const struct _ConfigCategory& category) category.panel->add(cboCDFile, DISTANCE_BORDER, posY); posY += cboCDFile->getHeight() + DISTANCE_NEXT_Y; - category.panel->add(lblCDVol, DISTANCE_BORDER, posY); - category.panel->add(sldCDVol, DISTANCE_BORDER + lblCDVol->getWidth() + 8, posY); - category.panel->add(lblCDVolInfo, sldCDVol->getX() + sldCDVol->getWidth() + 12, posY); + category.panel->add(chkCDTurbo, DISTANCE_BORDER, posY); RefreshPanelHD(); } @@ -550,9 +531,7 @@ void ExitPanelHD() delete cmdCDEject; delete cmdCDSelect; delete cboCDFile; - delete lblCDVol; - delete lblCDVolInfo; - delete sldCDVol; + delete chkCDTurbo; delete cdCheckActionListener; delete cdButtonActionListener; @@ -660,13 +639,7 @@ void RefreshPanelHD() cmdCDEject->setEnabled(changed_prefs.cdslots[0].inuse); cmdCDSelect->setEnabled(changed_prefs.cdslots[0].inuse); cboCDFile->setEnabled(changed_prefs.cdslots[0].inuse); - sldCDVol->setEnabled(changed_prefs.cdslots[0].inuse); - lblCDVol->setEnabled(changed_prefs.cdslots[0].inuse); - lblCDVolInfo->setEnabled(changed_prefs.cdslots[0].inuse); - - sldCDVol->setValue(100 - changed_prefs.sound_volume_cd); - snprintf(tmp, 32, "%d %%", 100 - changed_prefs.sound_volume_cd); - lblCDVolInfo->setCaption(tmp); + chkCDTurbo->setSelected(changed_prefs.cd_speed == 0); } diff --git a/src/osdep/gui/PanelSound.cpp b/src/osdep/gui/PanelSound.cpp index 4132edab..01be8f82 100644 --- a/src/osdep/gui/PanelSound.cpp +++ b/src/osdep/gui/PanelSound.cpp @@ -35,6 +35,9 @@ static gcn::Window* grpVolume; static gcn::Label* lblPaulaVol; static gcn::Label* lblPaulaVolInfo; static gcn::Slider* sldPaulaVol; +static gcn::Label* lblCDVol; +static gcn::Label* lblCDVolInfo; +static gcn::Slider* sldCDVol; static int curr_separation_idx; static int curr_stereodelay_idx; @@ -322,6 +325,12 @@ public: if (changed_prefs.sound_volume_paula != newvol) changed_prefs.sound_volume_paula = newvol; } + else if (actionEvent.getSource() == sldCDVol) + { + const auto newvol = 100 - static_cast(sldCDVol->getValue()); + if (changed_prefs.sound_volume_cd != newvol) + changed_prefs.sound_volume_cd = newvol; + } RefreshPanelSound(); } @@ -415,6 +424,17 @@ void InitPanelSound(const struct _ConfigCategory& category) sldPaulaVol->addActionListener(soundActionListener); lblPaulaVolInfo = new gcn::Label("100 %"); + lblCDVol = new gcn::Label("CD Volume:"); + lblCDVol->setAlignment(gcn::Graphics::RIGHT); + sldCDVol = new gcn::Slider(0, 100); + sldCDVol->setSize(150, SLIDER_HEIGHT); + sldCDVol->setBaseColor(gui_baseCol); + sldCDVol->setMarkerLength(20); + sldCDVol->setStepLength(10); + sldCDVol->setId("sldCDVol"); + sldCDVol->addActionListener(soundActionListener); + lblCDVolInfo = new gcn::Label("80 %"); + grpSound = new gcn::Window("Sound Emulation"); grpSound->add(optSoundDisabled, 10, 10); grpSound->add(optSoundDisabledEmu, 10, 40); @@ -429,6 +449,9 @@ void InitPanelSound(const struct _ConfigCategory& category) grpVolume->add(lblPaulaVol, 10, 10); grpVolume->add(sldPaulaVol, lblPaulaVol->getX() + lblPaulaVol->getWidth() + 10, lblPaulaVol->getY()); grpVolume->add(lblPaulaVolInfo, sldPaulaVol->getX() + sldPaulaVol->getWidth() + 10, sldPaulaVol->getY()); + grpVolume->add(lblCDVol, lblPaulaVol->getX(), lblPaulaVol->getY() + lblPaulaVol->getHeight() + DISTANCE_NEXT_Y); + grpVolume->add(sldCDVol, sldPaulaVol->getX(), lblCDVol->getY()); + grpVolume->add(lblCDVolInfo, sldCDVol->getX() + sldCDVol->getWidth() + 10, sldCDVol->getY()); grpVolume->setMovable(false); grpVolume->setSize(category.panel->getWidth() - DISTANCE_BORDER * 2 - grpSound->getWidth() - DISTANCE_NEXT_X, grpSound->getHeight()); grpVolume->setTitleBarHeight(TITLEBAR_HEIGHT); @@ -469,6 +492,12 @@ void ExitPanelSound() delete optSoundEmulated; delete optSoundEmulatedBest; delete grpSound; + delete lblPaulaVol; + delete lblPaulaVolInfo; + delete sldPaulaVol; + delete lblCDVol; + delete lblCDVolInfo; + delete sldCDVol; delete grpVolume; delete lblChannelMode; delete cboChannelMode; @@ -567,6 +596,14 @@ void RefreshPanelSound() snprintf(tmp, sizeof tmp - 1, "%d %%", 100 - changed_prefs.sound_volume_paula); lblPaulaVolInfo->setCaption(tmp); + sldCDVol->setEnabled(changed_prefs.cdslots[0].inuse); + lblCDVol->setEnabled(changed_prefs.cdslots[0].inuse); + lblCDVolInfo->setEnabled(changed_prefs.cdslots[0].inuse); + + sldCDVol->setValue(100 - changed_prefs.sound_volume_cd); + snprintf(tmp, 10, "%d %%", 100 - changed_prefs.sound_volume_cd); + lblCDVolInfo->setCaption(tmp); + cboChannelMode->setEnabled(changed_prefs.produce_sound > 0); lblFrequency->setEnabled(changed_prefs.produce_sound > 0); cboFrequency->setEnabled(changed_prefs.produce_sound > 0); From 08ea446136eeaf2fd1ce09aea62293c31e00fdf6 Mon Sep 17 00:00:00 2001 From: Dimitris Panokostas Date: Mon, 17 Aug 2020 14:30:14 +0200 Subject: [PATCH 2/2] Updated beta version date --- src/osdep/target.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osdep/target.h b/src/osdep/target.h index 06b04ba3..1f2c551d 100644 --- a/src/osdep/target.h +++ b/src/osdep/target.h @@ -22,8 +22,8 @@ #define GETBDM(x) (((x) - (((x) / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define AMIBERRYVERSION _T("Amiberry v3.2 beta (2020-08-16)") -#define AMIBERRYDATE MAKEBD(2020, 8, 16) +#define AMIBERRYVERSION _T("Amiberry v3.2 beta (2020-08-17)") +#define AMIBERRYDATE MAKEBD(2020, 8, 17) #define IHF_WINDOWHIDDEN 6