From: werner s. <wsc...@us...> - 2004-12-15 15:11:32
|
Update of /cvsroot/lmuse/muse/muse In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12811/muse Modified Files: confmport.cpp song.cpp synth.cpp synth.h ticksynth.cpp vst.cpp vst.h Log Message: fix bug #1085738 Index: confmport.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/confmport.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** confmport.cpp 14 Sep 2004 18:17:22 -0000 1.11 --- confmport.cpp 15 Dec 2004 15:11:19 -0000 1.12 *************** *** 339,343 **** return; } ! audio->msgRemoveTrack(*ii); } --- 339,343 ---- return; } ! song->removeTrack0(*ii); } Index: ticksynth.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/ticksynth.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ticksynth.cpp 25 Sep 2004 08:03:15 -0000 1.8 --- ticksynth.cpp 15 Dec 2004 15:11:20 -0000 1.9 *************** *** 25,29 **** virtual void incInstances(int) {} virtual void* instantiate(); ! virtual SynthIF* createSIF(); }; --- 25,29 ---- virtual void incInstances(int) {} virtual void* instantiate(); ! virtual SynthIF* createSIF(SynthI*); }; *************** *** 124,128 **** //--------------------------------------------------------- ! SynthIF* MetronomeSynth::createSIF() { return new MetronomeSynthIF(); --- 124,128 ---- //--------------------------------------------------------- ! SynthIF* MetronomeSynth::createSIF(SynthI*) { return new MetronomeSynthIF(); *************** *** 163,168 **** metronomeSynth = new MetronomeSynth(&fi); metronome = new SynthI(); ! QString name("metronome"); ! metronome->initInstance(metronomeSynth, name); } --- 163,168 ---- metronomeSynth = new MetronomeSynth(&fi); metronome = new SynthI(); ! metronome->setName("metronome"); ! metronome->initInstance(metronomeSynth); } Index: vst.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/vst.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** vst.cpp 14 Dec 2004 12:07:11 -0000 1.26 --- vst.cpp 15 Dec 2004 15:11:20 -0000 1.27 *************** *** 711,715 **** //--------------------------------------------------------- ! SynthIF* VstSynth::createSIF() { VstSynthIF* sif = new VstSynthIF(); --- 711,715 ---- //--------------------------------------------------------- ! SynthIF* VstSynth::createSIF(SynthI*) { VstSynthIF* sif = new VstSynthIF(); Index: synth.h =================================================================== RCS file: /cvsroot/lmuse/muse/muse/synth.h,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** synth.h 25 Sep 2004 08:03:15 -0000 1.34 --- synth.h 15 Dec 2004 15:11:20 -0000 1.35 *************** *** 44,48 **** QString baseName() const { return info.baseName(); } QString path() const { return info.dirPath(true); } ! virtual SynthIF* createSIF() = 0; }; --- 44,48 ---- QString baseName() const { return info.baseName(); } QString path() const { return info.dirPath(true); } ! virtual SynthIF* createSIF(SynthI*) = 0; }; *************** *** 59,64 **** virtual const char* description() const; virtual const char* version() const; ! virtual void* instantiate(); ! virtual SynthIF* createSIF(); }; --- 59,64 ---- virtual const char* description() const; virtual const char* version() const; ! virtual void* instantiate(const QString&); ! virtual SynthIF* createSIF(SynthI*); }; *************** *** 125,129 **** bool getData(unsigned a, int b, unsigned c, float** data); ! bool initInstance(Synth* s, const QString& instanceName); void read(QDomNode); --- 125,129 ---- bool getData(unsigned a, int b, unsigned c, float** data); ! bool initInstance(Synth* s); void read(QDomNode); *************** *** 191,195 **** virtual void setParameter(int, float) {} virtual int getControllerInfo(int id, const char** name, int* ctrl, int* min, int* max); ! bool init(Synth* s); }; --- 191,195 ---- virtual void setParameter(int, float) {} virtual int getControllerInfo(int id, const char** name, int* ctrl, int* min, int* max); ! bool init(Synth* s, SynthI* si); }; Index: synth.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/synth.cpp,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** synth.cpp 12 Dec 2004 10:06:57 -0000 1.57 --- synth.cpp 15 Dec 2004 15:11:20 -0000 1.58 *************** *** 123,132 **** //--------------------------------------------------------- ! void* MessSynth::instantiate() { ++_instances; - QString n; - n.setNum(_instances); - QString instanceName = baseName() + "-" + n; doSetuid(); const char* path = info.filePath().latin1(); --- 123,129 ---- //--------------------------------------------------------- ! void* MessSynth::instantiate(const QString& instanceName) { ++_instances; doSetuid(); const char* path = info.filePath().latin1(); *************** *** 191,197 **** //--------------------------------------------------------- ! bool MessSynthIF::init(Synth* s) { ! _mess = (Mess*)((MessSynth*)s)->instantiate(); return (_mess == 0); } --- 188,194 ---- //--------------------------------------------------------- ! bool MessSynthIF::init(Synth* s, SynthI* si) { ! _mess = (Mess*)((MessSynth*)s)->instantiate(si->name()); return (_mess == 0); } *************** *** 210,217 **** //--------------------------------------------------------- ! SynthIF* MessSynth::createSIF() { MessSynthIF* sif = new MessSynthIF(); ! sif->init(this); return sif; } --- 207,214 ---- //--------------------------------------------------------- ! SynthIF* MessSynth::createSIF(SynthI* si) { MessSynthIF* sif = new MessSynthIF(); ! sif->init(this, si); return sif; } *************** *** 222,232 **** //--------------------------------------------------------- ! bool SynthI::initInstance(Synth* s, const QString& instanceName) { synthesizer = s; ! sif = s->createSIF(); ! setName(instanceName); // set midi device name ! setIName(instanceName); // set instrument name AudioTrack::setChannels(sif->channels()); --- 219,228 ---- //--------------------------------------------------------- ! bool SynthI::initInstance(Synth* s) { synthesizer = s; ! sif = s->createSIF(this); ! setIName(name()); // set instrument name AudioTrack::setChannels(sif->channels()); *************** *** 447,451 **** if (s == 0) return; ! if (initInstance(s, name())) return; song->insertTrack0(this, -1); --- 443,447 ---- if (s == 0) return; ! if (initInstance(s)) return; song->insertTrack0(this, -1); Index: vst.h =================================================================== RCS file: /cvsroot/lmuse/muse/muse/vst.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** vst.h 15 Sep 2004 18:25:33 -0000 1.11 --- vst.h 15 Dec 2004 15:11:20 -0000 1.12 *************** *** 62,66 **** virtual ~VstSynth() {} virtual void incInstances(int val); ! virtual SynthIF* createSIF(); }; --- 62,66 ---- virtual ~VstSynth() {} virtual void incInstances(int val); ! virtual SynthIF* createSIF(SynthI*); }; Index: song.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/song.cpp,v retrieving revision 1.86 retrieving revision 1.87 diff -C2 -d -r1.86 -r1.87 *** song.cpp 9 Oct 2004 15:57:01 -0000 1.86 --- song.cpp 15 Dec 2004 15:11:19 -0000 1.87 *************** *** 120,127 **** SynthI* si = new SynthI(); ! QString n; ! n.setNum(s->instances()); ! QString instance_name = s->baseName() + "-" + n; ! if (si->initInstance(s, instance_name)) { delete si; return 0; --- 120,142 ---- SynthI* si = new SynthI(); ! int i; ! for (i = s->instances(); i < 1000; ++i) { ! QString instanceName = ("%1-%2"); ! instanceName = instanceName.arg(s->baseName()).arg(i); ! ! SynthIList* sl = syntis(); ! iSynthI sii; ! for (sii = sl->begin(); sii != sl->end(); ++sii) { ! if ((*sii)->name() == instanceName) ! break; ! } ! if (sii == sl->end()) { ! si->setName(instanceName); ! break; ! } ! } ! ! ! if (si->initInstance(s)) { delete si; return 0; *************** *** 1637,1641 **** Synth* sy = s->synth(); if (!s->isActivated()) { ! s->initInstance(sy, s->name()); } } --- 1652,1656 ---- Synth* sy = s->synth(); if (!s->isActivated()) { ! s->initInstance(sy); } } |