Browse Source

Added help text function plus bit of help text - to be completed

master
waxfrenzy 22 years ago
parent
commit
4e39deb527
2 changed files with 100 additions and 75 deletions
  1. +98
    -75
      SpiralSound/Plugins/LADSPAPlugin/LADSPAPluginGUI.C
  2. +2
    -0
      SpiralSound/Plugins/LADSPAPlugin/LADSPAPluginGUI.h

+ 98
- 75
SpiralSound/Plugins/LADSPAPlugin/LADSPAPluginGUI.C View File

@@ -144,6 +144,104 @@ LADSPAPluginGUI::~LADSPAPluginGUI(void)
Fl::check();
}

// Rearrange knobs depending on connections
// Knobs corresponding to connected ports are hidden,
// the rest are shown
void LADSPAPluginGUI::UpdateDefaultAdjustControls(void)
{
int column = 0;

// First, clear out all groups in Pack
// We need to remove all the knobs first, or they'll go
// with the group. Which would be bad.
while (m_ControlPack->children() > 0) {
Fl_Group *Group = (Fl_Group *)m_ControlPack->child(0);
while (Group->children() > 0) {
Fl_Knob *Knob = (Fl_Knob *)Group->child(0);
Group->remove(Knob);
}
m_ControlPack->remove(Group);
}

Fl_Group *NewGroup = new Fl_Group(0,0,460,65,"");
NewGroup->box(FL_FLAT_BOX);
m_ControlPack->add(NewGroup);

for (unsigned long p = 0; p < m_InputPortCount; p++)
{
if (!m_InputPortValues[p].Connected) {
m_PortDefaultAdjust[p]->position(50 + column * 105, 0);
m_PortDefaultAdjust[p]->show();
NewGroup->add(m_PortDefaultAdjust[p]);

column++;
if ((column > 3) && (p < m_InputPortCount - 1)) {
NewGroup = new Fl_Group(0,0,460,65,"");
NewGroup->box(FL_FLAT_BOX);
m_ControlPack->add(NewGroup);

column = 0;
}
} else {
m_PortDefaultAdjust[p]->hide();
}
}

m_ControlScroll->redraw();
}

// This lot is only done on patch load
void LADSPAPluginGUI::UpdateValues(SpiralPlugin *o)
{
LADSPAPlugin* Plugin = (LADSPAPlugin*)o;
SetPluginIndex(Plugin->GetPluginIndex());
SetName(Plugin->GetName());
SetMaker(Plugin->GetMaker());
SetTabIndex(Plugin->GetTabIndex());
SetUpdateInputs(Plugin->GetUpdateInputs());

m_InputPortCount = Plugin->GetInputPortCount();
const char *name;
PortSettings settings;
float defolt;

for (unsigned long p = 0; p < m_InputPortCount; p++) {
name = Plugin->GetInputPortName(p);
settings = Plugin->GetInputPortSettings(p);
defolt = Plugin->GetInputPortDefault(p);
AddPortInfo(name);
SetPortSettings(p, settings.Min, settings.Max, settings.Clamp, defolt);
SetDefaultAdjust(p);
}

UpdateDefaultAdjustControls();

m_PortIndex = m_InputPortCount;
}

// ****************************************************************************
// ** Protected Member Functions **
// ****************************************************************************

const string LADSPAPluginGUI::GetHelpText(const string &loc)
{
// if (loc == "DE") {
// } else if (loc == "FR") {
// } else {
// Default to English?
return string("LADSPA Plugin\n\n")
+ "This plugin allows you to use any LADSPA plugin in SSM.\n\n"
+ "It grows or shrinks the device GUI to allow you to connect\n"
+ "up the ports as any other native SSM plugin, so you can\n"
+ "seamlessly use the plugins as part of your layouts.\n\n"
+ "";
// }
}

// ****************************************************************************
// ** Private Member Functions **
// ****************************************************************************

void LADSPAPluginGUI::SetTabIndex(int index)
{
m_TabIndex = index;
@@ -284,81 +382,6 @@ void LADSPAPluginGUI::AddPortInfo(const char *Info)
m_PortDefaultAdjust.push_back(NewKnob);
}

// Rearrange knobs depending on connections
// Knobs corresponding to connected ports are hidden,
// the rest are shown
void LADSPAPluginGUI::UpdateDefaultAdjustControls(void)
{
int column = 0;

// First, clear out all groups in Pack
// We need to remove all the knobs first, or they'll go
// with the group. Which would be bad.
while (m_ControlPack->children() > 0) {
Fl_Group *Group = (Fl_Group *)m_ControlPack->child(0);
while (Group->children() > 0) {
Fl_Knob *Knob = (Fl_Knob *)Group->child(0);
Group->remove(Knob);
}
m_ControlPack->remove(Group);
}

Fl_Group *NewGroup = new Fl_Group(0,0,460,65,"");
NewGroup->box(FL_FLAT_BOX);
m_ControlPack->add(NewGroup);

for (unsigned long p = 0; p < m_InputPortCount; p++)
{
if (!m_InputPortValues[p].Connected) {
m_PortDefaultAdjust[p]->position(50 + column * 105, 0);
m_PortDefaultAdjust[p]->show();
NewGroup->add(m_PortDefaultAdjust[p]);

column++;
if ((column > 3) && (p < m_InputPortCount - 1)) {
NewGroup = new Fl_Group(0,0,460,65,"");
NewGroup->box(FL_FLAT_BOX);
m_ControlPack->add(NewGroup);

column = 0;
}
} else {
m_PortDefaultAdjust[p]->hide();
}
}

m_ControlScroll->redraw();
}

// This lot is only done on patch load
void LADSPAPluginGUI::UpdateValues(SpiralPlugin *o)
{
LADSPAPlugin* Plugin = (LADSPAPlugin*)o;
SetPluginIndex(Plugin->GetPluginIndex());
SetName(Plugin->GetName());
SetMaker(Plugin->GetMaker());
SetTabIndex(Plugin->GetTabIndex());
SetUpdateInputs(Plugin->GetUpdateInputs());

m_InputPortCount = Plugin->GetInputPortCount();
const char *name;
PortSettings settings;
float defolt;

for (unsigned long p = 0; p < m_InputPortCount; p++) {
name = Plugin->GetInputPortName(p);
settings = Plugin->GetInputPortSettings(p);
defolt = Plugin->GetInputPortDefault(p);
AddPortInfo(name);
SetPortSettings(p, settings.Min, settings.Max, settings.Clamp, defolt);
SetDefaultAdjust(p);
}

UpdateDefaultAdjustControls();

m_PortIndex = m_InputPortCount;
}

// This is done all the time
void LADSPAPluginGUI::Update(void)
{


+ 2
- 0
SpiralSound/Plugins/LADSPAPlugin/LADSPAPluginGUI.h View File

@@ -56,6 +56,8 @@ public:
virtual void UpdateValues(SpiralPlugin *o);
virtual void Update(void);

protected:
const string GetHelpText(const string &loc);
private:
void AddPortInfo(const char *Info);
void SetTabIndex(int index);


Loading…
Cancel
Save