diff --git a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.C b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.C index 99b6253..f38d818 100644 --- a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.C +++ b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.C @@ -65,10 +65,8 @@ SpiralGUIType *MixSwitchPlugin::CreateGUI () { void MixSwitchPlugin::ExecuteCommands () { if (m_AudioCH->IsCommandWaiting ()) { switch (m_AudioCH->GetCommand()) { - case (SETCHANS) : SetChans (m_GUIArgs.Chans); - break; - case (SETSWITCH) : SetSwitch (m_GUIArgs.Switch); - break; + case SETCHANS : SetChans (m_GUIArgs.Chans); + break; } } } @@ -109,14 +107,11 @@ void MixSwitchPlugin::SetChans (int n) { UpdatePluginInfoWithHost (); } -void MixSwitchPlugin::SetSwitch (int n) { - m_SwitchPos=(m_GUIArgs.Switch - 1) % (m_PluginInfo.NumInputs - 2); -} - void MixSwitchPlugin::Execute() { int n; float f; int NumChans = m_PluginInfo.NumInputs - 2; + m_SwitchPos=(m_GUIArgs.Switch - 1) % (m_PluginInfo.NumInputs - 2); for (n=0; nBUFSIZE; n++) { if (InputExists (0)) { // Check the Switch Pos CV Value diff --git a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.h b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.h index 92d964e..d94209e 100644 --- a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.h +++ b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPlugin.h @@ -34,7 +34,7 @@ class MixSwitchPlugin : public SpiralPlugin { virtual void StreamIn (istream &s); int GetSwitch (void) { return m_SwitchPos + 1; } int GetChans (void) { return m_PluginInfo.NumInputs - 2; } - enum GUICommands {NONE, SETCHANS, SETSWITCH}; + enum GUICommands {NONE, SETCHANS}; struct GUIArgs { int Chans; int Switch; @@ -43,7 +43,6 @@ class MixSwitchPlugin : public SpiralPlugin { private: GUIArgs m_GUIArgs; void SetChans (int n); - void SetSwitch (int n); int m_SwitchPos; bool m_Triggered; void CreatePorts (int n = 2, bool AddPorts = false); diff --git a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.C b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.C index 1ec7541..1aef282 100644 --- a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.C +++ b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.C @@ -66,7 +66,6 @@ inline void MixSwitchPluginGUI::cb_Switch_i (Fl_Counter* o, void* v) { if (o->value() < 1 || o->value() > m_Chans->value ()) o->value (1); m_GUICH->Set ("Switch", int (o->value ())); - m_GUICH->SetCommand (MixSwitchPlugin::SETSWITCH); } void MixSwitchPluginGUI::cb_Switch (Fl_Counter* o, void* v) { @@ -74,7 +73,8 @@ void MixSwitchPluginGUI::cb_Switch (Fl_Counter* o, void* v) { } void MixSwitchPluginGUI::Update () { - m_Switch->value (m_GUICH->GetInt ("Echo")); + int e = m_GUICH->GetInt ("Echo"); + if (m_Switch->value () != e) m_Switch->value (e); } void MixSwitchPluginGUI::UpdateValues (SpiralPlugin *o) { diff --git a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.h b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.h index 3868051..9479775 100644 --- a/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.h +++ b/SpiralSound/Plugins/MixSwitchPlugin/MixSwitchPluginGUI.h @@ -40,6 +40,8 @@ class MixSwitchPluginGUI : public SpiralPluginGUI { static void cb_Switch (Fl_Counter* o, void* v); inline void cb_Chans_i (Fl_Counter* o, void* v); static void cb_Chans (Fl_Counter* o, void* v); + // Andy Preston - multiple inputs + }; #endif