Browse Source

The -lm option appearing twice at linking caused an error.

master
thesloth 22 years ago
parent
commit
a71cb761d6
17 changed files with 172 additions and 56 deletions
  1. +1
    -1
      SpiralSound/Plugins/KeyboardPlugin/Makefile.in
  2. +1
    -2
      SpiralSound/Plugins/LFOPlugin/Makefile
  3. +1
    -2
      SpiralSound/Plugins/MeterPlugin/Makefile
  4. +1
    -1
      SpiralSound/Plugins/SeqSelectorPlugin/Makefile.in
  5. +1
    -1
      SpiralSound/Plugins/SequencerPlugin/Makefile.in
  6. +1
    -1
      SpiralSound/Plugins/SmoothPlugin/Makefile.in
  7. +1
    -1
      SpiralSound/Plugins/SpiralLoopPlugin/Makefile.in
  8. +1
    -1
      SpiralSound/Plugins/SplitterPlugin/Makefile.in
  9. +1
    -1
      SpiralSound/Plugins/StereoMixerPlugin/Makefile.in
  10. +1
    -1
      SpiralSound/Plugins/StreamPlugin/Makefile.in
  11. +36
    -9
      SpiralSound/Plugins/StreamPlugin/StreamPlugin.C
  12. +7
    -0
      SpiralSound/Plugins/StreamPlugin/StreamPlugin.h
  13. +85
    -27
      SpiralSound/Plugins/StreamPlugin/StreamPluginGUI.C
  14. +31
    -5
      SpiralSound/Plugins/StreamPlugin/StreamPluginGUI.h
  15. +1
    -1
      SpiralSound/Plugins/WaveShaperPlugin/Makefile.in
  16. +1
    -1
      SpiralSound/Plugins/WaveTablePlugin/Makefile.in
  17. +1
    -1
      SpiralSound/Plugins/XFadePlugin/Makefile.in

+ 1
- 1
SpiralSound/Plugins/KeyboardPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl -pthread
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl -pthread
MOC = moc
UIC =



+ 1
- 2
SpiralSound/Plugins/LFOPlugin/Makefile View File

@@ -1,4 +1,3 @@
# Generated automatically from Makefile.in by configure.
#############################################################################
# Makefile for building LFOPlugin.so
# Generated by tmake at 22:13, 2001/09/17
@@ -15,7 +14,7 @@ CXXFLAGS= -pipe -Wall -O3 -ffast-math -DNO_DEBUG -Wno-unused -fPIC -fPIC
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib -lfltk -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib -L/usr/X11R6/lib -lfltk -lGL -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 2
SpiralSound/Plugins/MeterPlugin/Makefile View File

@@ -1,4 +1,3 @@
# Generated automatically from Makefile.in by configure.
#############################################################################
# Makefile for building MeterPlugin.so
#############################################################################
@@ -12,7 +11,7 @@ CXXFLAGS= -pipe -Wall -O3 -ffast-math -DNO_DEBUG -Wno-unused -fPIC -fPIC
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib -lfltk -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib -L/usr/X11R6/lib -lfltk -lGL -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/SeqSelectorPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/SequencerPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/SmoothPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/SpiralLoopPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/SplitterPlugin/Makefile.in View File

@@ -15,7 +15,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/StereoMixerPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/StreamPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 36
- 9
SpiralSound/Plugins/StreamPlugin/StreamPlugin.C View File

@@ -70,10 +70,17 @@ m_Mode(PLAYM)
m_StreamDesc.TriggerUp = true;
m_StreamDesc.SampleRate = 44100;
m_StreamDesc.Stereo = false;

m_AudioCH->Register("Volume",&m_StreamDesc.Volume);
m_AudioCH->Register("Pitch",&m_StreamDesc.PitchMod,ChannelHandler::INPUT);
m_AudioCH->RegisterData("FileName",ChannelHandler::INPUT,&m_FileNameArg,sizeof(m_FileNameArg));
m_AudioCH->Register("Time",&m_TimeArg);
m_AudioCH->Register("TimeOut",&m_TimeOut,ChannelHandler::OUTPUT);
}

StreamPlugin::~StreamPlugin()
{
cerr << "I'm deleted" << endl;
}

PluginInfo &StreamPlugin::Initialise(const HostInfo *Host)
@@ -84,11 +91,9 @@ PluginInfo &StreamPlugin::Initialise(const HostInfo *Host)

SpiralGUIType *StreamPlugin::CreateGUI()
{
m_GUI = new StreamPluginGUI(m_PluginInfo.Width,
m_PluginInfo.Height,
this,m_HostInfo);
m_GUI->hide();
return m_GUI;
return new StreamPluginGUI(m_PluginInfo.Width,
m_PluginInfo.Height,
this,m_AudioCH,m_HostInfo);
}

void StreamPlugin::Execute()
@@ -137,8 +142,29 @@ void StreamPlugin::Execute()
m_GlobalPos+=m_StreamDesc.PitchMod+CVPitch;
}
if (((StreamPluginGUI*)m_GUI)->visible())
((StreamPluginGUI*)m_GUI)->SetTime(GetTime());
//if (((StreamPluginGUI*)m_GUI)->visible())
// ((StreamPluginGUI*)m_GUI)->SetTime(GetTime());
//Joe must fix this.
m_TimeOut=GetTime();
}
}

void StreamPlugin::ExecuteCommands()
{
if (m_AudioCH->IsCommandWaiting())
{
switch(m_AudioCH->GetCommand())
{
case (LOAD) : OpenStream(m_FileNameArg); break;
case (RESTART) : Restart(); break;
case (STOP) : Stop(); break;
case (PLAY) : Play(); break;
case (HALF) : m_StreamDesc.PitchMod/=2; break;
case (RESET) : m_StreamDesc.PitchMod=1; break;
case (DOUBLE) : m_StreamDesc.PitchMod*=2; break;
case (NUDGE) : Nudge(); break;
case (SET_TIME) : SetTime(m_TimeArg); break;
}
}
}

@@ -195,9 +221,10 @@ void StreamPlugin::OpenStream(const string &Name)
if (m_StreamDesc.Stereo)
{
m_StreamDesc.Pitch*=2;
((StreamPluginGUI*)m_GUI)->SetMaxTime(GetLength());
//((StreamPluginGUI*)m_GUI)->SetMaxTime(GetLength());
}
else ((StreamPluginGUI*)m_GUI)->SetMaxTime(GetLength()/2);
//else ((StreamPluginGUI*)m_GUI)->SetMaxTime(GetLength()/2);
//Joe this must use the chanel handler
}



+ 7
- 0
SpiralSound/Plugins/StreamPlugin/StreamPlugin.h View File

@@ -44,12 +44,15 @@ class StreamPlugin : public SpiralPlugin
public:
enum Mode{PLAYM,STOPM};

enum GUICommands{LOAD,RESTART,STOP,PLAY,HALF,RESET,DOUBLE,NUDGE,SET_TIME};

StreamPlugin();
virtual ~StreamPlugin();
virtual PluginInfo &Initialise(const HostInfo *Host);
virtual SpiralGUIType *CreateGUI();
virtual void Execute();
virtual void ExecuteCommands();
virtual void StreamOut(ostream &s);
virtual void StreamIn(istream &s);
@@ -85,6 +88,10 @@ private:
float m_GlobalPos;
float m_Pitch;
Mode m_Mode;

char m_FileNameArg[256];
float m_TimeArg;
float m_TimeOut;
};

#endif

+ 85
- 27
SpiralSound/Plugins/StreamPlugin/StreamPluginGUI.C View File

@@ -26,15 +26,21 @@ static const int GUIBG_COLOUR = 144;
static const int GUIBG2_COLOUR = 145;
char PitchLabel[256];

bool StreamPluginGUI::TimerSet=false;
vector<StreamPluginGUI*> StreamPluginGUI::PluginList;

////////////////////////////////////////////

StreamPluginGUI::StreamPluginGUI(int w, int h,StreamPlugin *o,const HostInfo *Info) :
SpiralPluginGUI(w,h,o)
StreamPluginGUI::StreamPluginGUI(int w, int h,StreamPlugin *o,ChannelHandler *ch,const HostInfo *Info) :
SpiralPluginGUI(w,h,o,ch)
{
m_Plugin=o;
StartTimer(this);
int Width=20;
int Height=100;
//What are Width and Height for.

m_PitchValue=1.0f;
m_Load = new Fl_Button(2, 130, 30, 30, "Load");
m_Load->labelsize(9);
@@ -158,8 +164,17 @@ SpiralPluginGUI(w,h,o)
end();
}

void StreamPluginGUI::SetTime(float t)
StreamPluginGUI::~StreamPluginGUI()
{
cerr << "~StreamPluginGUI" << endl;
StopTimer(this);
}

void StreamPluginGUI::SetTime()
{
cerr << "foo" << endl;
float t=m_GUICH->GetFloat("TimeOut");

m_Pos->value(t);

m_Display[5]->value((int)(t*100)%10);
@@ -174,11 +189,13 @@ void StreamPluginGUI::SetTime(float t)
}


void StreamPluginGUI::UpdateValues()
void StreamPluginGUI::UpdateValues(SpiralPlugin *o)
{
m_Volume->value(m_Plugin->GetVolume());
m_Pitch->value(m_Plugin->GetPitch()+10);
m_Loop->value(m_Plugin->GetLoop());
StreamPlugin *Plugin = (StreamPlugin*)o;

m_Volume->value(Plugin->GetVolume());
m_Pitch->value(Plugin->GetPitch()+10);
m_Loop->value(Plugin->GetLoop());
}
inline void StreamPluginGUI::cb_Load_i(Fl_Button* o, void* v)
@@ -187,33 +204,36 @@ inline void StreamPluginGUI::cb_Load_i(Fl_Button* o, void* v)
if (fn && fn!='\0')
{
m_Plugin->OpenStream(fn);
strcpy(m_TextBuf,fn);
m_GUICH->Set("FileName",m_TextBuf);
m_GUICH->SetCommand(StreamPlugin::LOAD);
}
}
void StreamPluginGUI::cb_Load(Fl_Button* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Load_i(o,v);}

inline void StreamPluginGUI::cb_Volume_i(Fl_Knob* o, void* v)
{ m_Plugin->SetVolume(o->value()); }
{ m_GUICH->Set("Volume",(float)o->value()); }
void StreamPluginGUI::cb_Volume(Fl_Knob* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Volume_i(o,v);}

inline void StreamPluginGUI::cb_Pitch_i(Fl_Slider* o, void* v)
{
m_Plugin->SetPitch(o->value()-10);
m_GUICH->Set("Pitch",(float)o->value()-10);
sprintf(PitchLabel,"%1.3f ",o->value()-10);
m_Pitch->label(PitchLabel);
m_PitchValue=o->value()-10;
}
void StreamPluginGUI::cb_Pitch(Fl_Slider* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Pitch_i(o,v);}

inline void StreamPluginGUI::cb_Loop_i(Fl_Button* o, void* v)
inline void StreamPluginGUI::cb_Loop_i(Fl_Button* o, void* v) //Why is this function named so.
{
float p=m_Plugin->GetPitch()*2;
m_Plugin->SetPitch(p);
sprintf(PitchLabel,"%1.3f ",p);
m_PitchValue*=2.0f;
m_GUICH->SetCommand(StreamPlugin::DOUBLE);
sprintf(PitchLabel,"%1.3f ",m_PitchValue);
m_Pitch->label(PitchLabel);
m_Pitch->value(p+10);
m_Pitch->value(m_PitchValue+10);
redraw();
}
void StreamPluginGUI::cb_Loop(Fl_Button* o, void* v)
@@ -221,37 +241,38 @@ void StreamPluginGUI::cb_Loop(Fl_Button* o, void* v)

inline void StreamPluginGUI::cb_Div_i(Fl_Button* o, void* v)
{
float p=m_Plugin->GetPitch()/2.0f;
m_Plugin->SetPitch(p);
sprintf(PitchLabel,"%1.3f ",p);
m_PitchValue/=2.0f;
m_GUICH->SetCommand(StreamPlugin::HALF);
sprintf(PitchLabel,"%1.3f ",m_PitchValue);
m_Pitch->label(PitchLabel);
m_Pitch->value(p+10);
m_Pitch->value(m_PitchValue+10);
redraw();
}
void StreamPluginGUI::cb_Div(Fl_Button* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Div_i(o,v);}

inline void StreamPluginGUI::cb_ToStart_i(Fl_Button* o, void* v)
{ m_Plugin->Restart(); }
{ m_GUICH->SetCommand(StreamPlugin::RESTART); }
void StreamPluginGUI::cb_ToStart(Fl_Button* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_ToStart_i(o,v);}

inline void StreamPluginGUI::cb_Stop_i(Fl_Button* o, void* v)
{ m_Plugin->Stop(); }
{ m_GUICH->SetCommand(StreamPlugin::STOP); }
void StreamPluginGUI::cb_Stop(Fl_Button* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Stop_i(o,v);}

inline void StreamPluginGUI::cb_Play_i(Fl_Button* o, void* v)
{ m_Plugin->Play(); }
{ m_GUICH->SetCommand(StreamPlugin::PLAY); }
void StreamPluginGUI::cb_Play(Fl_Button* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Play_i(o,v);}

inline void StreamPluginGUI::cb_Reset_i(Fl_Button* o, void* v)
{
m_Plugin->SetPitch(1);
m_GUICH->SetCommand(StreamPlugin::RESET);
sprintf(PitchLabel,"%1.3f ",1.0);
m_Pitch->label(PitchLabel);
m_Pitch->value(11);
m_PitchValue=1.0f;
redraw();
}
void StreamPluginGUI::cb_Reset(Fl_Button* o, void* v)
@@ -259,13 +280,50 @@ void StreamPluginGUI::cb_Reset(Fl_Button* o, void* v)

inline void StreamPluginGUI::cb_Nudge_i(Fl_Button* o, void* v)
{
m_Plugin->Nudge();
m_GUICH->SetCommand(StreamPlugin::NUDGE);
}
void StreamPluginGUI::cb_Nudge(Fl_Button* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Nudge_i(o,v);}

inline void StreamPluginGUI::cb_Pos_i(Fl_Slider* o, void* v)
{ m_Plugin->SetTime(o->value()); }
{
m_GUICH->Set("Time",(float)o->value());
m_GUICH->SetCommand(StreamPlugin::SET_TIME);
}
void StreamPluginGUI::cb_Pos(Fl_Slider* o, void* v)
{ ((StreamPluginGUI*)(o->parent()))->cb_Pos_i(o,v);}

//The timer stuff

#define TIME_OUT_DURATION 0.01
//This is temparary, should use a variable, and let it be set from the command line ore something.

void StreamPluginGUI::StartTimer(StreamPluginGUI* p)
{
if (!TimerSet)
{
Fl::add_timeout(TIME_OUT_DURATION,&StreamPluginGUI::TimerCallBack);
TimerSet=True;
}
PluginList.push_back(p);
}

void StreamPluginGUI::StopTimer(StreamPluginGUI* p)
{
cerr << "StopTimer" << endl;
for (vector<StreamPluginGUI*>::iterator i=PluginList.begin();i!=PluginList.end();i++)
if ((*i)==p)
i=PluginList.erase(i);
}

//If Spiral synth modular unloaded the .so file this is in, the timeout
//would probably cause a problem
void StreamPluginGUI::TimerCallBack(void* x)
{
/*for(vector<const StreamPluginGUI*>::iterator i=PluginList.begin();
i!=PluginList.end();i++)
{*/
for (vector<StreamPluginGUI*>::iterator i=PluginList.begin();i!=PluginList.end();i++)
(*i)->SetTime();
Fl::add_timeout(TIME_OUT_DURATION,&StreamPluginGUI::TimerCallBack);
}

+ 31
- 5
SpiralSound/Plugins/StreamPlugin/StreamPluginGUI.h View File

@@ -32,18 +32,40 @@
#ifndef MixerGUI
#define MixerGUI

class StreamPluginGUI;

/*struct Compare_thingy
{
bool operator() (const StreamPluginGUI* s1,const StreamPluginGUI* s2) const
{
return s1<s2;
}
};*/

class StreamPluginGUI : public SpiralPluginGUI
{
public:
StreamPluginGUI(int w, int h, StreamPlugin *o,const HostInfo *Info);
StreamPluginGUI(int w, int h, StreamPlugin *o,ChannelHandler *ch,const HostInfo *Info);
virtual ~StreamPluginGUI();
virtual void UpdateValues();
virtual SpiralPlugin* GetPlugin() { return m_Plugin; }
void SetTime(float t);
virtual void UpdateValues(SpiralPlugin *o);
void SetTime();
void SetMaxTime(float t) { m_Pos->maximum(t); }

StreamPlugin *m_Plugin;
//Stuff for the timer
static bool TimerSet;
/*static struct Compare_thingy
{
bool operator() (const StreamPluginGUI* s1,const StreamPluginGUI* s2) const
{
return s1<s2;
}
};*/
//static set<const StreamPluginGUI*,Compare_thingy> PluginList;
static vector<StreamPluginGUI*> PluginList;
static void StartTimer(StreamPluginGUI* p);
static void StopTimer(StreamPluginGUI* p);
static void TimerCallBack(void* x);
private:
Fl_Button* m_Load;
@@ -62,6 +84,10 @@ private:
Fl_SevenSeg* m_Display[6];
Fl_Slider* m_Pos;

char m_TextBuf[256];

float m_PitchValue;
//// Callbacks ////
inline void cb_Load_i(Fl_Button* o, void* v);


+ 1
- 1
SpiralSound/Plugins/WaveShaperPlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/WaveTablePlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



+ 1
- 1
SpiralSound/Plugins/XFadePlugin/Makefile.in View File

@@ -14,7 +14,7 @@ CXXFLAGS= @CXXFLAGS@
INCPATH = -I/usr/X11R6/include
LINK = g++ -shared
LFLAGS =
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -lm -ldl
LIBS = -L/usr/X11R6/lib @FLTK_LIBS@ -lGL -lXext -lX11 -ldl
MOC = moc
UIC =



Loading…
Cancel
Save