diff options
author | Tim E. Real <termtech@rogers.com> | 2011-01-09 21:32:13 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2011-01-09 21:32:13 +0000 |
commit | 5fa5f8210b4924a1f2ae0100dfb6c0b50c85db81 (patch) | |
tree | 23f4c7ebe7fe8f506aa5d09bce4262b0040453f2 /muse2/muse/ctrl | |
parent | 0e39cb75d7a659322b282a79ca63f10d48fa277a (diff) |
Completed soloing system. Other fixes - see ChangeLog.
Diffstat (limited to 'muse2/muse/ctrl')
-rw-r--r-- | muse2/muse/ctrl/ctrledit.cpp | 22 | ||||
-rw-r--r-- | muse2/muse/ctrl/ctrledit.h | 3 |
2 files changed, 25 insertions, 0 deletions
diff --git a/muse2/muse/ctrl/ctrledit.cpp b/muse2/muse/ctrl/ctrledit.cpp index fe04844d..8842ba97 100644 --- a/muse2/muse/ctrl/ctrledit.cpp +++ b/muse2/muse/ctrl/ctrledit.cpp @@ -132,3 +132,25 @@ void CtrlEdit::setCanvasWidth(int w) { canvas->setFixedWidth(w); } + +void CtrlEdit::setController(int n) +{ + canvas->setController(n); +} + +void CtrlEdit::setController(const QString& name) +{ + int portno = canvas->track()->outPort(); + MidiPort* port = &midiPorts[portno]; + MidiInstrument* instr = port->instrument(); + MidiControllerList* mcl = instr->controller(); + + for (iMidiController ci = mcl->begin(); ci != mcl->end(); ++ci) + { + if (ci->second->name() == name) + { + canvas->setController(ci->second->num()); + break; + } + } +} diff --git a/muse2/muse/ctrl/ctrledit.h b/muse2/muse/ctrl/ctrledit.h index 61bf9b46..eec235b1 100644 --- a/muse2/muse/ctrl/ctrledit.h +++ b/muse2/muse/ctrl/ctrledit.h @@ -37,6 +37,8 @@ class CtrlEdit : public QWidget { void setXPos(int val) { canvas->setXPos(val); } void setXMag(int val) { canvas->setXMag(val); } void setCanvasWidth(int w); + void setController(int /*n*/); + signals: void timeChanged(unsigned); void destroyedCtrl(CtrlEdit*); @@ -48,6 +50,7 @@ class CtrlEdit : public QWidget { bool expand = false, const char* name = 0); void readStatus(Xml&); void writeStatus(int, Xml&); + void setController(const QString& name); }; #endif |