| @@ -104,6 +104,7 @@ void StreamPlugin::Reset() | |||||
| m_Pos = 0; | m_Pos = 0; | ||||
| } | } | ||||
| void StreamPlugin::Execute() { | void StreamPlugin::Execute() { | ||||
| if (m_File.IsOpen()) { | if (m_File.IsOpen()) { | ||||
| for (int n=0; n<m_HostInfo->BUFSIZE; n++) { | for (int n=0; n<m_HostInfo->BUFSIZE; n++) { | ||||
| @@ -151,7 +152,6 @@ void StreamPlugin::Execute() { | |||||
| m_File.LoadChunk (m_SampleSize, m_SampleL, m_SampleR); | m_File.LoadChunk (m_SampleSize, m_SampleL, m_SampleR); | ||||
| } | } | ||||
| // finished trigger | // finished trigger | ||||
| if (FinTrig) SetOutput (2, n, 1); | if (FinTrig) SetOutput (2, n, 1); | ||||
| else SetOutput (2, n, 0); | else SetOutput (2, n, 0); | ||||
| @@ -163,7 +163,8 @@ void StreamPlugin::Execute() { | |||||
| SetOutput (3, n, 1); | SetOutput (3, n, 1); | ||||
| m_Pos += m_GUIArgs.PitchMod + CVPitch; | m_Pos += m_GUIArgs.PitchMod + CVPitch; | ||||
| m_GlobalPos += m_GUIArgs.PitchMod + CVPitch; | m_GlobalPos += m_GUIArgs.PitchMod + CVPitch; | ||||
| SetOutput (4, n, m_GlobalPos / m_File.GetSize()); | |||||
| float plop = m_GlobalPos / (float)m_File.GetSize(); | |||||
| SetOutput (4, n, plop); | |||||
| } | } | ||||
| else { | else { | ||||
| SetOutput (0, n, 0); | SetOutput (0, n, 0); | ||||
| @@ -216,7 +217,7 @@ void StreamPlugin::OpenStream (void) { | |||||
| if (m_File.GetSize() < 256) | if (m_File.GetSize() < 256) | ||||
| m_SampleSize = m_File.GetSize(); | m_SampleSize = m_File.GetSize(); | ||||
| else | else | ||||
| m_SampleSize = 256; | |||||
| m_SampleSize = 256; | |||||
| m_SampleL.Allocate (m_SampleSize); | m_SampleL.Allocate (m_SampleSize); | ||||
| m_SampleR.Allocate (m_SampleSize); | m_SampleR.Allocate (m_SampleSize); | ||||
| @@ -16,13 +16,13 @@ | |||||
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||||
| */ | */ | ||||
| #ifndef StreamPLUGIN | |||||
| #define StreamPLUGIN | |||||
| #include "../SpiralPlugin.h" | #include "../SpiralPlugin.h" | ||||
| #include "../../RiffWav.h" | #include "../../RiffWav.h" | ||||
| #include <FL/Fl_Pixmap.H> | #include <FL/Fl_Pixmap.H> | ||||
| #ifndef StreamPLUGIN | |||||
| #define StreamPLUGIN | |||||
| class StreamPlugin : public SpiralPlugin { | class StreamPlugin : public SpiralPlugin { | ||||
| public: | public: | ||||
| StreamPlugin(); | StreamPlugin(); | ||||
| @@ -31,7 +31,7 @@ class StreamPlugin : public SpiralPlugin { | |||||
| virtual SpiralGUIType *CreateGUI(); | virtual SpiralGUIType *CreateGUI(); | ||||
| virtual void Execute(); | virtual void Execute(); | ||||
| virtual void Reset(); | virtual void Reset(); | ||||
| virtual void ExecuteCommands(); | virtual void ExecuteCommands(); | ||||
| virtual void StreamOut (std::ostream &s); | virtual void StreamOut (std::ostream &s); | ||||
| virtual void StreamIn (std::istream &s); | virtual void StreamIn (std::istream &s); | ||||
| @@ -40,6 +40,7 @@ m_PitchValue (1.0f) | |||||
| if (dis > 0 && dis % 2 == 0) m_Display[dis] -> dp (colon); | if (dis > 0 && dis % 2 == 0) m_Display[dis] -> dp (colon); | ||||
| add (m_Display[dis]); | add (m_Display[dis]); | ||||
| } | } | ||||
| UpdateTime (0.0); | |||||
| // volume control | // volume control | ||||
| m_Volume = new Fl_Knob (180, 10, 50, 50, "Volume"); | m_Volume = new Fl_Knob (180, 10, 50, 50, "Volume"); | ||||
| m_Volume->color (Info->GUI_COLOUR); | m_Volume->color (Info->GUI_COLOUR); | ||||
| @@ -149,14 +150,10 @@ m_PitchValue (1.0f) | |||||
| UpdatePitch (true, false, false); | UpdatePitch (true, false, false); | ||||
| } | } | ||||
| StreamPluginGUI::~StreamPluginGUI () { | |||||
| StreamPluginGUI::~StreamPluginGUI() { | |||||
| } | } | ||||
| // Update signalled from plugin | |||||
| void StreamPluginGUI::Update() { | |||||
| float t=m_GUICH->GetFloat ("TimeOut"); | |||||
| m_Pos->value (t); | |||||
| void StreamPluginGUI::UpdateTime (float t) { | |||||
| m_Display[5]->value ((int)(t*100) % 10); | m_Display[5]->value ((int)(t*100) % 10); | ||||
| m_Display[4]->value ((int)(t*10) % 10); | m_Display[4]->value ((int)(t*10) % 10); | ||||
| m_Display[3]->value ((int)t % 10); | m_Display[3]->value ((int)t % 10); | ||||
| @@ -164,6 +161,16 @@ void StreamPluginGUI::Update() { | |||||
| m_Display[1]->value ((int)(t/60) % 10); | m_Display[1]->value ((int)(t/60) % 10); | ||||
| m_Display[0]->value ((int)(t/600) % 10); | m_Display[0]->value ((int)(t/600) % 10); | ||||
| redraw(); | redraw(); | ||||
| } | |||||
| // Update signalled from plugin | |||||
| void StreamPluginGUI::Update() { | |||||
| float t=m_GUICH->GetFloat ("TimeOut"); | |||||
| if (t != m_Pos->value()) { | |||||
| m_Pos->value (t); | |||||
| UpdateTime(t); | |||||
| } | |||||
| SetMaxTime (m_GUICH->GetFloat ("MaxTime")); | SetMaxTime (m_GUICH->GetFloat ("MaxTime")); | ||||
| if (m_Playing != m_GUICH->GetBool ("Playing")) UpdatePlayStatus (); | if (m_Playing != m_GUICH->GetBool ("Playing")) UpdatePlayStatus (); | ||||
| m_GUICH->GetData ("EchoFileName", (void*)m_TextBuf); | m_GUICH->GetData ("EchoFileName", (void*)m_TextBuf); | ||||
| @@ -183,6 +190,7 @@ void StreamPluginGUI::UpdateValues (SpiralPlugin *o) { | |||||
| StreamPlugin *Plugin = (StreamPlugin*)o; | StreamPlugin *Plugin = (StreamPlugin*)o; | ||||
| m_Volume->value (Plugin->GetVolume()); | m_Volume->value (Plugin->GetVolume()); | ||||
| m_PitchValue = Plugin->GetPitch(); | m_PitchValue = Plugin->GetPitch(); | ||||
| UpdateTime (0.0); | |||||
| UpdatePitch (true, true, false); | UpdatePitch (true, true, false); | ||||
| } | } | ||||
| @@ -44,6 +44,7 @@ class StreamPluginGUI : public SpiralPluginGUI { | |||||
| void SetMaxTime (float t) { m_Pos->maximum(t); } | void SetMaxTime (float t) { m_Pos->maximum(t); } | ||||
| void UpdatePitch (bool UpdateIt = true, bool DrawIt = true, bool SendIt = true); | void UpdatePitch (bool UpdateIt = true, bool DrawIt = true, bool SendIt = true); | ||||
| void UpdatePlayStatus (void); | void UpdatePlayStatus (void); | ||||
| void UpdateTime (float t); | |||||
| // Widgets | // Widgets | ||||
| Fl_SevenSeg *m_Display[6]; | Fl_SevenSeg *m_Display[6]; | ||||
| Fl_Knob *m_Volume; | Fl_Knob *m_Volume; | ||||