Browse Source

Fixed braindead name-reading code (my fault :) - added length value for name

master
waxfrenzy 22 years ago
parent
commit
92d9190a62
1 changed files with 55 additions and 8 deletions
  1. +55
    -8
      SpiralSound/Plugins/ControllerPlugin/ControllerPlugin.C

+ 55
- 8
SpiralSound/Plugins/ControllerPlugin/ControllerPlugin.C View File

@@ -49,21 +49,21 @@ string GetGroupName()
ControllerPlugin::ControllerPlugin() :
m_Num(4)
{
m_Version=4;
m_Version=5;
m_PluginInfo.Name="CV Control";
m_PluginInfo.Width=240;
m_PluginInfo.Height=224;
m_PluginInfo.NumInputs=0;
m_PluginInfo.NumOutputs=4;
m_PluginInfo.PortTips.push_back("CV 1");
m_PluginInfo.PortTips.push_back("CV 2");
m_PluginInfo.PortTips.push_back("CV 3");
m_PluginInfo.PortTips.push_back("CV 4");
m_PluginInfo.PortTips.push_back("CV 1");
m_PluginInfo.PortTips.push_back("CV 2");
m_PluginInfo.PortTips.push_back("CV 3");
m_PluginInfo.PortTips.push_back("CV 4");
for (int n=0; n<MAX_CHANNELS; n++)
{
m_ChannelVal[n]=0.0f;
m_ChannelVal[n]=0.0f;
m_MinVal[n]=-1.0f;
m_MaxVal[n]=1.0f;
m_Names[n]="Name";
@@ -173,6 +173,18 @@ void ControllerPlugin::StreamOut(ostream &s)

switch (m_Version)
{
case 5:
{
s<<m_Num<<endl;
for (int n=0; n<m_Num; n++)
{
s<<m_Names[n].size()<<" ";
s<<m_Names[n]<<" ";
s<<m_MinVal[n]<<" ";
s<<m_MaxVal[n]<<" ";
s<<m_ChannelVal[n]<<endl;
}
} break;
case 4:
{
s<<m_Num<<endl;
@@ -216,6 +228,41 @@ void ControllerPlugin::StreamIn(istream &s)

switch (version)
{
case 5:
{
Clear();

s>>m_Num;
string name;
for (int n=0; n<m_Num; n++)
{
char Buf[4096];
int size,dummy;
s>>size;
s.ignore(1);
if (size > 0) {
s.get(Buf,size+1);
m_Names[n]=Buf;
} else {
m_Names[n] = "";
}
s>>m_MinVal[n];
s>>m_MaxVal[n];
s>>m_ChannelVal[n];
}

// add the channels one by one
for (int n=0; n<m_Num; n++)
{
char t[256];
sprintf(t,"CV %d",n);
m_PluginInfo.PortTips.push_back(t);
AddOutput();
}

m_PluginInfo.NumOutputs=m_Num;
UpdatePluginInfoWithHost();
} break;
case 4:
{
Clear();


Loading…
Cancel
Save