From f16b2037025918e32c5fd90527f76e1102e5ecb9 Mon Sep 17 00:00:00 2001 From: Orcan Ogetbil Date: Fri, 7 Oct 2011 02:20:29 +0000 Subject: (hopefully) final huge namespace update. --- muse2/muse/song.cpp | 397 ++++++++++++++++++++++++++-------------------------- 1 file changed, 202 insertions(+), 195 deletions(-) (limited to 'muse2/muse/song.cpp') diff --git a/muse2/muse/song.cpp b/muse2/muse/song.cpp index a994b0e6..0f19c313 100644 --- a/muse2/muse/song.cpp +++ b/muse2/muse/song.cpp @@ -63,9 +63,14 @@ #include //#include "utils.h" +namespace MusEGlobal { +MusECore::Song* song = 0; +} + +namespace MusECore { + extern void clearMidiTransforms(); extern void clearMidiInputTransforms(); -Song* song = 0; /* //--------------------------------------------------------- @@ -138,7 +143,7 @@ void Song::putEvent(int pv) void Song::setTempo(int newTempo) { - audio->msgSetTempo(pos[0].tick(), newTempo, true); + MusEGlobal::audio->msgSetTempo(pos[0].tick(), newTempo, true); } //--------------------------------------------------------- @@ -149,14 +154,14 @@ void Song::setTempo(int newTempo) void Song::setSig(int z, int n) { if (_masterFlag) { - audio->msgAddSig(pos[0].tick(), z, n); + MusEGlobal::audio->msgAddSig(pos[0].tick(), z, n); } } void Song::setSig(const AL::TimeSignature& sig) { if (_masterFlag) { - audio->msgAddSig(pos[0].tick(), sig.z, sig.n); + MusEGlobal::audio->msgAddSig(pos[0].tick(), sig.z, sig.n); } } @@ -178,21 +183,21 @@ Track* Song::addNewTrack(QAction* action, Track* insertAt) if(n >= MENU_ADD_SYNTH_ID_BASE) { n -= MENU_ADD_SYNTH_ID_BASE; - if(n >= (int)synthis.size()) + if(n >= (int)MusEGlobal::synthis.size()) return 0; - SynthI* si = createSynthI(synthis[n]->baseName(), synthis[n]->name(), insertAt); + SynthI* si = createSynthI(MusEGlobal::synthis[n]->baseName(), MusEGlobal::synthis[n]->name(), insertAt); if(!si) return 0; // Add instance last in midi device list. for (int i = 0; i < MIDI_PORTS; ++i) { - MidiPort* port = &midiPorts[i]; + MidiPort* port = &MusEGlobal::midiPorts[i]; MidiDevice* dev = port->device(); if (dev==0) { - midiSeq->msgSetMidiDevice(port, si); + MusEGlobal::midiSeq->msgSetMidiDevice(port, si); MusEGlobal::muse->changeConfig(true); // save configuration file deselectTracks(); si->setSelected(true); @@ -244,7 +249,7 @@ Track* Song::addTrack(Track::TrackType type, Track* insertAt) ((MidiTrack*)track)->setOutChannel(9); break; case Track::WAVE: - track = new WaveTrack(); + track = new MusECore::WaveTrack(); ((AudioTrack*)track)->addAuxSend(lastAuxIdx); break; case Track::AUDIO_OUTPUT: @@ -285,14 +290,14 @@ Track* Song::addTrack(Track::TrackType type, Track* insertAt) bool defOutFound = false; /// TODO: Remove this if and when multiple output routes supported. for(int i = 0; i < MIDI_PORTS; ++i) { - MidiPort* mp = &midiPorts[i]; + MidiPort* mp = &MusEGlobal::midiPorts[i]; if(mp->device()) // Only if device is valid. p4.0.17 { c = mp->defaultInChannels(); if(c) { - audio->msgAddRoute(Route(i, c), Route(track, c)); + MusEGlobal::audio->msgAddRoute(Route(i, c), Route(track, c)); updateFlags |= SC_ROUTE; } } @@ -305,7 +310,7 @@ Track* Song::addTrack(Track::TrackType type, Track* insertAt) /// TODO: Switch if and when multiple output routes supported. #if 0 - audio->msgAddRoute(Route(track, c), Route(i, c)); + MusEGlobal::audio->msgAddRoute(Route(track, c), Route(i, c)); updateFlags |= SC_ROUTE; #else for(ch = 0; ch < MIDI_CHANNELS; ++ch) @@ -330,7 +335,7 @@ Track* Song::addTrack(Track::TrackType type, Track* insertAt) // // add default route to master // - OutputList* ol = song->outputs(); + OutputList* ol = MusEGlobal::song->outputs(); if (!ol->empty()) { AudioOutput* ao = ol->front(); switch(type) { @@ -345,19 +350,19 @@ Track* Song::addTrack(Track::TrackType type, Track* insertAt) //case Track::AUDIO_INPUT: // Removed by Tim. // p3.3.38 //case Track::AUDIO_SOFTSYNTH: - audio->msgAddRoute(Route((AudioTrack*)track, -1), Route(ao, -1)); + MusEGlobal::audio->msgAddRoute(Route((AudioTrack*)track, -1), Route(ao, -1)); updateFlags |= SC_ROUTE; break; // p3.3.38 It should actually never get here now, but just in case. case Track::AUDIO_SOFTSYNTH: - audio->msgAddRoute(Route((AudioTrack*)track, 0, ((AudioTrack*)track)->channels()), Route(ao, 0, ((AudioTrack*)track)->channels())); + MusEGlobal::audio->msgAddRoute(Route((AudioTrack*)track, 0, ((AudioTrack*)track)->channels()), Route(ao, 0, ((AudioTrack*)track)->channels())); updateFlags |= SC_ROUTE; break; default: break; } } - audio->msgUpdateSoloStates(); + MusEGlobal::audio->msgUpdateSoloStates(); return track; } @@ -432,7 +437,7 @@ bool Song::addEvent(Event& event, Part* part) int tick = event.tick() + part->tick(); int cntrl = event.dataA(); int val = event.dataB(); - MidiPort* mp = &midiPorts[track->outPort()]; + MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; // Is it a drum controller event, according to the track port's instrument? if(track->type() == Track::DRUM) @@ -442,9 +447,9 @@ bool Song::addEvent(Event& event, Part* part) { int note = cntrl & 0x7f; cntrl &= ~0xff; - ch = drumMap[note].channel; - mp = &midiPorts[drumMap[note].port]; - cntrl |= drumMap[note].anote; + ch = MusEGlobal::drumMap[note].channel; + mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; + cntrl |= MusEGlobal::drumMap[note].anote; } } @@ -506,7 +511,7 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) int ch = track->outChannel(); int tick = oldEvent.tick() + part->tick(); int cntrl = oldEvent.dataA(); - MidiPort* mp = &midiPorts[track->outPort()]; + MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; // Is it a drum controller event, according to the track port's instrument? if(track->type() == Track::DRUM) { @@ -515,9 +520,9 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) { int note = cntrl & 0x7f; cntrl &= ~0xff; - ch = drumMap[note].channel; - mp = &midiPorts[drumMap[note].port]; - cntrl |= drumMap[note].anote; + ch = MusEGlobal::drumMap[note].channel; + mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; + cntrl |= MusEGlobal::drumMap[note].anote; } } @@ -533,7 +538,7 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) int tick = newEvent.tick() + part->tick(); int cntrl = newEvent.dataA(); int val = newEvent.dataB(); - MidiPort* mp = &midiPorts[track->outPort()]; + MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; // Is it a drum controller event, according to the track port's instrument? if(track->type() == Track::DRUM) { @@ -542,9 +547,9 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) { int note = cntrl & 0x7f; cntrl &= ~0xff; - ch = drumMap[note].channel; - mp = &midiPorts[drumMap[note].port]; - cntrl |= drumMap[note].anote; + ch = MusEGlobal::drumMap[note].channel; + mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; + cntrl |= MusEGlobal::drumMap[note].anote; } } @@ -567,7 +572,7 @@ void Song::deleteEvent(Event& event, Part* part) int tick = event.tick() + part->tick(); int cntrl = event.dataA(); - MidiPort* mp = &midiPorts[track->outPort()]; + MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; // Is it a drum controller event, according to the track port's instrument? if(track->type() == Track::DRUM) { @@ -576,9 +581,9 @@ void Song::deleteEvent(Event& event, Part* part) { int note = cntrl & 0x7f; cntrl &= ~0xff; - ch = drumMap[note].channel; - mp = &midiPorts[drumMap[note].port]; - cntrl |= drumMap[note].anote; + ch = MusEGlobal::drumMap[note].channel; + mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; + cntrl |= MusEGlobal::drumMap[note].anote; } } @@ -613,7 +618,7 @@ void Song::remapPortDrumCtrlEvents(int mapidx, int newnote, int newchan, int new if(mt->type() != Track::DRUM) continue; - MidiPort* trackmp = &midiPorts[mt->outPort()]; + MidiPort* trackmp = &MusEGlobal::midiPorts[mt->outPort()]; const PartList* pl = mt->cparts(); for(ciPart ip = pl->begin(); ip != pl->end(); ++ip) { @@ -642,22 +647,22 @@ void Song::remapPortDrumCtrlEvents(int mapidx, int newnote, int newchan, int new if(note == mapidx) { int tick = ev.tick() + part->tick(); - int ch = drumMap[note].channel; - int port = drumMap[note].port; - MidiPort* mp = &midiPorts[port]; - cntrl = (cntrl & ~0xff) | drumMap[note].anote; + int ch = MusEGlobal::drumMap[note].channel; + int port = MusEGlobal::drumMap[note].port; + MidiPort* mp = &MusEGlobal::midiPorts[port]; + cntrl = (cntrl & ~0xff) | MusEGlobal::drumMap[note].anote; // Remove the port controller value. mp->deleteController(ch, tick, cntrl, part); - if(newnote != -1 && newnote != drumMap[note].anote) + if(newnote != -1 && newnote != MusEGlobal::drumMap[note].anote) cntrl = (cntrl & ~0xff) | newnote; if(newchan != -1 && newchan != ch) ch = newchan; if(newport != -1 && newport != port) port = newport; - mp = &midiPorts[port]; + mp = &MusEGlobal::midiPorts[port]; // Add the port controller value. mp->setControllerVal(ch, tick, cntrl, ev.dataB(), part); @@ -683,7 +688,7 @@ void Song::changeAllPortDrumCtrlEvents(bool add, bool drumonly) if(mt->type() != Track::DRUM) continue; - trackmp = &midiPorts[mt->outPort()]; + trackmp = &MusEGlobal::midiPorts[mt->outPort()]; trackch = mt->outChannel(); const PartList* pl = mt->cparts(); for(ciPart ip = pl->begin(); ip != pl->end(); ++ip) @@ -709,9 +714,9 @@ void Song::changeAllPortDrumCtrlEvents(bool add, bool drumonly) if(trackmp->drumController(cntrl)) { int note = cntrl & 0x7f; - ch = drumMap[note].channel; - mp = &midiPorts[drumMap[note].port]; - cntrl = (cntrl & ~0xff) | drumMap[note].anote; + ch = MusEGlobal::drumMap[note].channel; + mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; + cntrl = (cntrl & ~0xff) | MusEGlobal::drumMap[note].anote; } else { @@ -734,13 +739,13 @@ void Song::changeAllPortDrumCtrlEvents(bool add, bool drumonly) void Song::addACEvent(AudioTrack* t, int acid, int frame, double val) { - audio->msgAddACEvent(t, acid, frame, val); + MusEGlobal::audio->msgAddACEvent(t, acid, frame, val); emit controllerChanged(t); } void Song::changeACEvent(AudioTrack* t, int acid, int frame, int newFrame, double val) { - audio->msgChangeACEvent(t, acid, frame, newFrame, val); + MusEGlobal::audio->msgChangeACEvent(t, acid, frame, newFrame, val); emit controllerChanged(t); } @@ -768,7 +773,7 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start // Changed by Tim. p3.3.8 //if (punchin()) - if((audio->loopCount() > 0 && startTick > lPos().tick()) || (punchin() && startTick < lPos().tick())) + if((MusEGlobal::audio->loopCount() > 0 && startTick > lPos().tick()) || (punchin() && startTick < lPos().tick())) { startTick = lpos(); s = events->lower_bound(startTick); @@ -798,7 +803,7 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start } // e = events->end(); //} - if((audio->loopCount() > 0) || (punchout() && endTick > rPos().tick()) ) + if((MusEGlobal::audio->loopCount() > 0) || (punchout() && endTick > rPos().tick()) ) { endTick = rpos(); e = events->lower_bound(endTick); @@ -858,7 +863,7 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start if(part->events()->find(event) == part->events()->end()) part->events()->add(event); } - audio->msgAddPart(part); + MusEGlobal::audio->msgAddPart(part); updateFlags |= SC_PART_INSERTED; return; } @@ -949,7 +954,7 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start // int ch = track->outChannel(); // int tick = event.tick() + part->tick(); // int cntrl = event.dataA(); - // midiPorts[track->outPort()].deleteController(ch, tick, cntrl, part); + // MusEGlobal::midiPorts[track->outPort()].deleteController(ch, tick, cntrl, part); // } // Remove the event from the part's port controller values, and do all clone parts. @@ -1028,7 +1033,7 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start int ch = track->outChannel(); int tick = event.tick() + part->tick(); int cntrl = event.dataA(); - midiPorts[track->outPort()].deleteController(ch, tick, cntrl, part); + MusEGlobal::midiPorts[track->outPort()].deleteController(ch, tick, cntrl, part); } */ // Remove the event from the part's port controller values, and do all clone parts. @@ -1119,7 +1124,7 @@ void Song::setRecord(bool f, bool autoRecEnable) if(MusEGlobal::debugMsg) printf("setRecord recordflag =%d f(record state)=%d autoRecEnable=%d\n", recordFlag, f, autoRecEnable); - if (f && MusEConfig::config.useProjectSaveDialog && MusEGlobal::museProject == MusEGlobal::museProjectInitPath ) { // check that there is a project stored before commencing + if (f && MusEGlobal::config.useProjectSaveDialog && MusEGlobal::museProject == MusEGlobal::museProjectInitPath ) { // check that there is a project stored before commencing // no project, we need to create one. if (!MusEGlobal::muse->saveAs()) return; // could not store project, won't enable record @@ -1130,8 +1135,8 @@ void Song::setRecord(bool f, bool autoRecEnable) Track *selectedTrack = 0; // loop through list and check if any track is rec enabled // if not then rec enable the selected track - WaveTrackList* wtl = waves(); - for (iWaveTrack i = wtl->begin(); i != wtl->end(); ++i) { + MusECore::WaveTrackList* wtl = waves(); + for (MusECore::iWaveTrack i = wtl->begin(); i != wtl->end(); ++i) { if((*i)->recordFlag()) { alreadyRecEnabled = true; @@ -1166,7 +1171,7 @@ void Song::setRecord(bool f, bool autoRecEnable) } } // prepare recording of wave files for all record enabled wave tracks - for (iWaveTrack i = wtl->begin(); i != wtl->end(); ++i) { + for (MusECore::iWaveTrack i = wtl->begin(); i != wtl->end(); ++i) { if((*i)->recordFlag() || (selectedTrack == (*i) && autoRecEnable)) // prepare if record flag or if it is set to recenable { // setRecordFlag may take too long time to complete // so we try this case specifically @@ -1178,7 +1183,7 @@ void Song::setRecord(bool f, bool autoRecEnable) // check for midi devices suitable for recording bool portFound = false; for (int i = 0; i < MIDI_PORTS; ++i) { - MidiDevice* dev = midiPorts[i].device(); + MidiDevice* dev = MusEGlobal::midiPorts[i].device(); if (dev && (dev->rwFlags() & 0x2)) portFound = true; } @@ -1192,7 +1197,7 @@ void Song::setRecord(bool f, bool autoRecEnable) else { bounceTrack = 0; } - if (audio->isPlaying() && f) + if (MusEGlobal::audio->isPlaying() && f) f = false; recordFlag = f; MusEGlobal::recordAction->setChecked(recordFlag); @@ -1259,13 +1264,13 @@ void Song::setQuantize(bool val) void Song::setMasterFlag(bool val) { _masterFlag = val; - if (tempomap.setMasterFlag(cpos(), val)) + if (MusEGlobal::tempomap.setMasterFlag(cpos(), val)) { - //audioDevice->setMaster(val); + //MusEGlobal::audioDevice->setMaster(val); emit songChanged(SC_MASTER); } // Removed. p3.3.26 - //audioDevice->setMaster(val); + //MusEGlobal::audioDevice->setMaster(val); } //--------------------------------------------------------- @@ -1275,7 +1280,7 @@ void Song::setMasterFlag(bool val) void Song::setPlay(bool f) { - if (extSyncFlag.value()) { + if (MusEGlobal::extSyncFlag.value()) { if (MusEGlobal::debugMsg) printf("not allowed while using external sync"); return; @@ -1284,12 +1289,12 @@ void Song::setPlay(bool f) if (!f) MusEGlobal::playAction->setChecked(true); else - audio->msgPlay(true); + MusEGlobal::audio->msgPlay(true); } void Song::setStop(bool f) { - if (extSyncFlag.value()) { + if (MusEGlobal::extSyncFlag.value()) { if (MusEGlobal::debugMsg) printf("not allowed while using external sync"); return; @@ -1298,7 +1303,7 @@ void Song::setStop(bool f) if (!f) MusEGlobal::stopAction->setChecked(true); else - audio->msgPlay(false); + MusEGlobal::audio->msgPlay(false); } void Song::setStopPlay(bool f) @@ -1333,14 +1338,14 @@ void Song::swapTracks(int i1, int i2) //--------------------------------------------------------- void Song::seekTo(int tick) { - if (!audio->isPlaying()) { + if (!MusEGlobal::audio->isPlaying()) { Pos p(tick, true); setPos(0, p); } } //--------------------------------------------------------- // setPos -// song->setPos(Song::CPOS, pos, true, true, true); +// MusEGlobal::song->setPos(Song::CPOS, pos, true, true, true); //--------------------------------------------------------- void Song::setPos(int idx, const Pos& val, bool sig, @@ -1350,27 +1355,27 @@ void Song::setPos(int idx, const Pos& val, bool sig, // idx, sig, isSeek, adjustScrollbar); // val.dump(0); // printf("\n"); - //printf("Song::setPos before audio->msgSeek idx:%d isSeek:%d frame:%d\n", idx, isSeek, val.frame()); + //printf("Song::setPos before MusEGlobal::audio->msgSeek idx:%d isSeek:%d frame:%d\n", idx, isSeek, val.frame()); // If seeking audio, ensure frame resolution CAN be kept throughout. This compares apples and oranges. Moved below. p4.0.33 //if (pos[idx] == val) // return; if (idx == CPOS) { _vcpos = val; - if (isSeek && !extSyncFlag.value()) { - if (val == audio->pos()) + if (isSeek && !MusEGlobal::extSyncFlag.value()) { + if (val == MusEGlobal::audio->pos()) { - //printf("Song::setPos seek audio->pos already == val tick:%d frame:%d\n", val.tick(), val.frame()); + //printf("Song::setPos seek MusEGlobal::audio->pos already == val tick:%d frame:%d\n", val.tick(), val.frame()); return; } - audio->msgSeek(val); - //printf("Song::setPos after audio->msgSeek idx:%d isSeek:%d frame:%d\n", idx, isSeek, val.frame()); + MusEGlobal::audio->msgSeek(val); + //printf("Song::setPos after MusEGlobal::audio->msgSeek idx:%d isSeek:%d frame:%d\n", idx, isSeek, val.frame()); return; } } if (val == pos[idx]) { - //printf("Song::setPos song->pos already == val tick:%d frame:%d\n", val.tick(), val.frame()); + //printf("Song::setPos MusEGlobal::song->pos already == val tick:%d frame:%d\n", val.tick(), val.frame()); return; } pos[idx] = val; @@ -1431,8 +1436,8 @@ void Song::setPos(int idx, const Pos& val, bool sig, void Song::forward() { - unsigned newPos = pos[0].tick() + MusEConfig::config.division; - audio->msgSeek(Pos(newPos, true)); + unsigned newPos = pos[0].tick() + MusEGlobal::config.division; + MusEGlobal::audio->msgSeek(Pos(newPos, true)); } //--------------------------------------------------------- @@ -1442,11 +1447,11 @@ void Song::forward() void Song::rewind() { unsigned newPos; - if (unsigned(MusEConfig::config.division) > pos[0].tick()) + if (unsigned(MusEGlobal::config.division) > pos[0].tick()) newPos = 0; else - newPos = pos[0].tick() - MusEConfig::config.division; - audio->msgSeek(Pos(newPos, true)); + newPos = pos[0].tick() - MusEGlobal::config.division; + MusEGlobal::audio->msgSeek(Pos(newPos, true)); } //--------------------------------------------------------- @@ -1456,12 +1461,12 @@ void Song::rewind() void Song::rewindStart() { // Added by T356 - //audio->msgIdle(true); + //MusEGlobal::audio->msgIdle(true); - audio->msgSeek(Pos(0, true)); + MusEGlobal::audio->msgSeek(Pos(0, true)); // Added by T356 - //audio->msgIdle(false); + //MusEGlobal::audio->msgIdle(false); } //--------------------------------------------------------- @@ -1584,7 +1589,7 @@ int Song::roundDownBar(int t) const void Song::dumpMaster() { - tempomap.dump(); + MusEGlobal::tempomap.dump(); AL::sigmap.dump(); } @@ -1659,7 +1664,7 @@ PartList* Song::getSelectedWaveParts() const // markierte Parts sammeln for (ciTrack t = _tracks.begin(); t != _tracks.end(); ++t) { - WaveTrack* track = dynamic_cast(*t); + MusECore::WaveTrack* track = dynamic_cast(*t); if (track == 0) continue; PartList* pl = track->parts(); @@ -1675,7 +1680,7 @@ PartList* Song::getSelectedWaveParts() const if (parts->empty()) { for (ciTrack t = _tracks.begin(); t != _tracks.end(); ++t) { if ((*t)->selected()) { - WaveTrack* track = dynamic_cast(*t); + MusECore::WaveTrack* track = dynamic_cast(*t); if (track == 0) continue; PartList* pl = track->parts(); @@ -1692,7 +1697,7 @@ void Song::setMType(MType t) { // printf("set MType %d\n", t); _mtype = t; - song->update(SC_SONG_TYPE); // p4.0.7 Tim. + MusEGlobal::song->update(SC_SONG_TYPE); // p4.0.7 Tim. } //--------------------------------------------------------- @@ -1720,17 +1725,17 @@ void Song::beat() for(int port = 0; port < MIDI_PORTS; ++port) { // Must keep them running even if there's no device... - //if(midiPorts[port].device()) - midiPorts[port].syncInfo().setTime(); + //if(MusEGlobal::midiPorts[port].device()) + MusEGlobal::midiPorts[port].syncInfo().setTime(); } - //int tick = audio->tickPos(); - if (audio->isPlaying()) + //int tick = MusEGlobal::audio->tickPos(); + if (MusEGlobal::audio->isPlaying()) { - //Pos tick(audio->tickPos()); + //Pos tick(MusEGlobal::audio->tickPos()); //setPos(0, tick, true, false, true); - setPos(0, audio->tickPos(), true, false, true); + setPos(0, MusEGlobal::audio->tickPos(), true, false, true); } // p3.3.40 Update synth native guis at the heartbeat rate. for(ciSynthI is = _synthIs.begin(); is != _synthIs.end(); ++is) @@ -1756,7 +1761,7 @@ void Song::beat() else if (pitch == MusEGlobal::rcPlayNote) setPlay(true); } - emit song->midiNote(pitch, velo); + emit MusEGlobal::song->midiNote(pitch, velo); --noteFifoSize; } } @@ -1857,10 +1862,10 @@ Marker* Song::setMarkerLock(Marker* m, bool f) void Song::setRecordFlag(Track* track, bool val) { if (track->type() == Track::WAVE) { - WaveTrack* audioTrack = (WaveTrack*)track; + MusECore::WaveTrack* audioTrack = (MusECore::WaveTrack*)track; if(!audioTrack->setRecordFlag1(val)) return; - audio->msgSetRecord(audioTrack, val); + MusEGlobal::audio->msgSetRecord(audioTrack, val); } else { track->setRecordFlag1(val); @@ -1903,13 +1908,13 @@ void Song::undo() updateFlags = 0; if (doUndo1()) return; - audio->msgUndo(); + MusEGlobal::audio->msgUndo(); doUndo3(); MusEGlobal::redoAction->setEnabled(true); MusEGlobal::undoAction->setEnabled(!undoList->empty()); if(updateFlags && (SC_TRACK_REMOVED | SC_TRACK_INSERTED)) - audio->msgUpdateSoloStates(); + MusEGlobal::audio->msgUpdateSoloStates(); emit songChanged(updateFlags); } @@ -1923,13 +1928,13 @@ void Song::redo() updateFlags = 0; if (doRedo1()) return; - audio->msgRedo(); + MusEGlobal::audio->msgRedo(); doRedo3(); MusEGlobal::undoAction->setEnabled(true); MusEGlobal::redoAction->setEnabled(!redoList->empty()); if(updateFlags && (SC_TRACK_REMOVED | SC_TRACK_INSERTED)) - audio->msgUpdateSoloStates(); + MusEGlobal::audio->msgUpdateSoloStates(); emit songChanged(updateFlags); } @@ -2025,25 +2030,25 @@ void Song::processMsg(AudioMsg* msg) case SEQM_ADD_TEMPO: //printf("processMsg (SEQM_ADD_TEMPO) UndoOp::AddTempo. adding tempo at: %d with tempo=%d\n", msg->a, msg->b); addUndo(UndoOp(UndoOp::AddTempo, msg->a, msg->b)); - tempomap.addTempo(msg->a, msg->b); + MusEGlobal::tempomap.addTempo(msg->a, msg->b); updateFlags = SC_TEMPO; break; case SEQM_SET_TEMPO: //printf("processMsg (SEQM_SET_TEMPO) UndoOp::AddTempo. adding tempo at: %d with tempo=%d\n", msg->a, msg->b); addUndo(UndoOp(UndoOp::AddTempo, msg->a, msg->b)); - tempomap.setTempo(msg->a, msg->b); + MusEGlobal::tempomap.setTempo(msg->a, msg->b); updateFlags = SC_TEMPO; break; case SEQM_SET_GLOBAL_TEMPO: - tempomap.setGlobalTempo(msg->a); + MusEGlobal::tempomap.setGlobalTempo(msg->a); break; case SEQM_REMOVE_TEMPO: //printf("processMsg (SEQM_REMOVE_TEMPO) UndoOp::DeleteTempo. adding tempo at: %d with tempo=%d\n", msg->a, msg->b); addUndo(UndoOp(UndoOp::DeleteTempo, msg->a, msg->b)); - tempomap.delTempo(msg->a); + MusEGlobal::tempomap.delTempo(msg->a); updateFlags = SC_TEMPO; break; @@ -2061,13 +2066,13 @@ void Song::processMsg(AudioMsg* msg) case SEQM_ADD_KEY: addUndo(UndoOp(UndoOp::AddKey, msg->a, msg->b)); - keymap.addKey(msg->a, (key_enum) msg->b); + MusEGlobal::keymap.addKey(msg->a, (key_enum) msg->b); updateFlags = SC_KEY; break; case SEQM_REMOVE_KEY: addUndo(UndoOp(UndoOp::DeleteKey, msg->a, msg->b)); - keymap.delKey(msg->a); + MusEGlobal::keymap.delKey(msg->a); updateFlags = SC_KEY; break; @@ -2144,7 +2149,7 @@ void Song::cmdChangePart(Part* oldPart, Part* newPart, bool doCtrls, bool doClon void Song::panic() { - audio->msgPanic(); + MusEGlobal::audio->msgPanic(); } //--------------------------------------------------------- @@ -2174,15 +2179,15 @@ void Song::clear(bool signal, bool /*clear_all*/) for(int i = 0; i < MIDI_PORTS; ++i) { // p3.3.50 Since midi ports are not deleted, clear all midi port in/out routes. They point to non-existant tracks now. - midiPorts[i].inRoutes()->clear(); - midiPorts[i].outRoutes()->clear(); + MusEGlobal::midiPorts[i].inRoutes()->clear(); + MusEGlobal::midiPorts[i].outRoutes()->clear(); // p3.3.50 Reset this. - midiPorts[i].setFoundInSongFile(false); + MusEGlobal::midiPorts[i].setFoundInSongFile(false); //if(clear_all) // Allow not touching devices. p4.0.17 TESTING: Maybe some problems... // This will also close the device. - midiPorts[i].setMidiDevice(0); + MusEGlobal::midiPorts[i].setMidiDevice(0); } _synthIs.clearDelete(); @@ -2194,7 +2199,7 @@ void Song::clear(bool signal, bool /*clear_all*/) do { loop = false; - for(iMidiDevice imd = midiDevices.begin(); imd != midiDevices.end(); ++imd) + for(iMidiDevice imd = MusEGlobal::midiDevices.begin(); imd != MusEGlobal::midiDevices.end(); ++imd) { //if((*imd)->deviceType() == MidiDevice::JACK_MIDI) if(dynamic_cast< MidiJackDevice* >(*imd)) @@ -2202,7 +2207,7 @@ void Song::clear(bool signal, bool /*clear_all*/) //if(clear_all) // Allow not touching devices. p4.0.17 TESTING: Maybe some problems... { // Remove the device from the list. - midiDevices.erase(imd); + MusEGlobal::midiDevices.erase(imd); // Since Jack midi devices are created dynamically, we must delete them. // The destructor unregisters the device from Jack, which also disconnects all device-to-jack routes. // This will also delete all midi-track-to-device routes, they point to non-existant midi tracks @@ -2225,9 +2230,9 @@ void Song::clear(bool signal, bool /*clear_all*/) } while (loop); - tempomap.clear(); + MusEGlobal::tempomap.clear(); AL::sigmap.clear(); - keymap.clear(); + MusEGlobal::keymap.clear(); undoList->clearDelete(); redoList->clear(); _markerList->clear(); @@ -2243,7 +2248,7 @@ void Song::clear(bool signal, bool /*clear_all*/) // Clear all midi port controller values. for(int i = 0; i < MIDI_PORTS; ++i) // Don't remove the controllers, just the values. - midiPorts[i].controller()->clearDelete(false); + MusEGlobal::midiPorts[i].controller()->clearDelete(false); _masterFlag = true; loopFlag = false; @@ -2312,9 +2317,9 @@ void Song::cleanupForQuit() printf("deleting _synthIs\n"); _synthIs.clearDelete(); // each ~SynthI() -> deactivate3() -> ~SynthIF() - tempomap.clear(); + MusEGlobal::tempomap.clear(); AL::sigmap.clear(); - keymap.clear(); + MusEGlobal::keymap.clear(); if(MusEGlobal::debugMsg) printf("deleting undoList, clearing redoList\n"); @@ -2333,13 +2338,13 @@ void Song::cleanupForQuit() // Clear all midi port controllers and values. for(int i = 0; i < MIDI_PORTS; ++i) // Remove the controllers and the values. - midiPorts[i].controller()->clearDelete(true); + MusEGlobal::midiPorts[i].controller()->clearDelete(true); // Can't do this here. Jack isn't running. Fixed. Test OK so far. #if 1 if(MusEGlobal::debugMsg) printf("deleting midi devices except synths\n"); - for(iMidiDevice imd = midiDevices.begin(); imd != midiDevices.end(); ++imd) + for(iMidiDevice imd = MusEGlobal::midiDevices.begin(); imd != MusEGlobal::midiDevices.end(); ++imd) { // Close the device. Handy to do all devices here, including synths. (*imd)->close(); @@ -2348,21 +2353,21 @@ void Song::cleanupForQuit() continue; delete (*imd); } - midiDevices.clear(); // midi devices + MusEGlobal::midiDevices.clear(); // midi devices #endif if(MusEGlobal::debugMsg) printf("deleting global available synths\n"); // Delete all synths. std::vector::iterator is; - for(is = synthis.begin(); is != synthis.end(); ++is) + for(is = MusEGlobal::synthis.begin(); is != MusEGlobal::synthis.end(); ++is) { Synth* s = *is; if(s) delete s; } - synthis.clear(); + MusEGlobal::synthis.clear(); if(MusEGlobal::debugMsg) printf("deleting midi instruments\n"); @@ -2424,7 +2429,7 @@ void Song::seqSignal(int fd) break; case 'G': clearRecAutomation(true); - setPos(0, audio->tickPos(), true, false, true); + setPos(0, MusEGlobal::audio->tickPos(), true, false, true); break; case 'S': // shutdown audio MusEGlobal::muse->seqStop(); @@ -2459,8 +2464,8 @@ void Song::seqSignal(int fd) printf("Song: seqSignal: case f: setFreewheel start\n"); // Enabled by Tim. p3.3.6 - if(MusEConfig::config.freewheelMode) - audioDevice->setFreewheel(true); + if(MusEGlobal::config.freewheelMode) + MusEGlobal::audioDevice->setFreewheel(true); break; @@ -2469,26 +2474,26 @@ void Song::seqSignal(int fd) printf("Song: seqSignal: case F: setFreewheel stop\n"); // Enabled by Tim. p3.3.6 - if(MusEConfig::config.freewheelMode) - audioDevice->setFreewheel(false); + if(MusEGlobal::config.freewheelMode) + MusEGlobal::audioDevice->setFreewheel(false); - audio->msgPlay(false); + MusEGlobal::audio->msgPlay(false); #if 0 if (record()) - audio->recordStop(); + MusEGlobal::audio->recordStop(); setStopPlay(false); #endif break; case 'C': // Graph changed - if (audioDevice) - audioDevice->graphChanged(); + if (MusEGlobal::audioDevice) + MusEGlobal::audioDevice->graphChanged(); break; // p3.3.37 case 'R': // Registration changed - if (audioDevice) - audioDevice->registrationChanged(); + if (MusEGlobal::audioDevice) + MusEGlobal::audioDevice->registrationChanged(); break; default: @@ -2534,7 +2539,7 @@ void Song::recordEvent(MidiTrack* mt, Event& event) part->setName(mt->name()); event.move(-startTick); part->events()->add(event); - audio->msgAddPart(part); + MusEGlobal::audio->msgAddPart(part); return; } part = (MidiPart*)(ip->second); @@ -2559,15 +2564,15 @@ void Song::recordEvent(MidiTrack* mt, Event& event) if(ev.dataB() == event.dataB()) return; // Indicate do undo, and do port controller values and clone parts. - audio->msgChangeEvent(ev, event, part, true, true, true); + MusEGlobal::audio->msgChangeEvent(ev, event, part, true, true, true); return; } } } // Indicate do undo, and do port controller values and clone parts. - //audio->msgAddEvent(event, part); - audio->msgAddEvent(event, part, true, true, true); + //MusEGlobal::audio->msgAddEvent(event, part); + MusEGlobal::audio->msgAddEvent(event, part, true, true, true); } //--------------------------------------------------------- @@ -2593,9 +2598,9 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a canAdd = true; //int frame = pos[0].frame(); - int frame = audio->pos().frame(); // Try this. p4.0.33 + int frame = MusEGlobal::audio->pos().frame(); // Try this. p4.0.33 - //printf("pos[0]:%d f:%d tickPos:%d f:%d\n", pos[0].tick(), pos[0].frame(), audio->tickPos(), Pos(audio->tickPos(), true).frame()); + //printf("pos[0]:%d f:%d tickPos:%d f:%d\n", pos[0].tick(), pos[0].frame(), MusEGlobal::audio->tickPos(), Pos(MusEGlobal::audio->tickPos(), true).frame()); //ctlval = cl->curVal(); //AutomationType at = track->MusEGlobal::automationType(); @@ -2626,7 +2631,7 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a //menu->setItemEnabled(HEADER, false); //MenuTitleItem* title = new MenuTitleItem(tr("Automation:")); ddskrjo //menu->insertItem(title, HEADER, HEADER); ddskrjo - menu->addAction(new MusEWidget::MenuTitleItem(tr("Automation:"), menu)); + menu->addAction(new MusEGui::MenuTitleItem(tr("Automation:"), menu)); //menu->insertSeparator(SEP1); @@ -2679,29 +2684,29 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a switch(sel) { case ADD_EVENT: - audio->msgAddACEvent(track, acid, pos[0].frame(), ctlval); + MusEGlobal::audio->msgAddACEvent(track, acid, pos[0].frame(), ctlval); break; case CLEAR_EVENT: - audio->msgEraseACEvent(track, acid, pos[0].frame()); + MusEGlobal::audio->msgEraseACEvent(track, acid, pos[0].frame()); break; case CLEAR_RANGE: - audio->msgEraseRangeACEvents(track, acid, pos[1].frame(), pos[2].frame()); + MusEGlobal::audio->msgEraseRangeACEvents(track, acid, pos[1].frame(), pos[2].frame()); break; case CLEAR_ALL_EVENTS: if(QMessageBox::question(MusEGlobal::muse, QString("Muse"), tr("Clear all controller events?"), tr("&Ok"), tr("&Cancel"), QString::null, 0, 1 ) == 0) - audio->msgClearControllerEvents(track, acid); + MusEGlobal::audio->msgClearControllerEvents(track, acid); break; case PREV_EVENT: - audio->msgSeekPrevACEvent(track, acid); + MusEGlobal::audio->msgSeekPrevACEvent(track, acid); break; case NEXT_EVENT: - audio->msgSeekNextACEvent(track, acid); + MusEGlobal::audio->msgSeekNextACEvent(track, acid); break; default: @@ -2738,7 +2743,7 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo mt = (MidiTrack*)part->track(); int portno = mt->outPort(); int channel = mt->outChannel(); - MidiPort* mp = &midiPorts[portno]; + MidiPort* mp = &MusEGlobal::midiPorts[portno]; int dctl = ctlnum; // Is it a drum controller, according to the track port's instrument? @@ -2748,12 +2753,12 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo // Change the controller event's index into the drum map to an instrument note. int note = ctlnum & 0x7f; dctl &= ~0xff; - channel = drumMap[note].channel; - mp = &midiPorts[drumMap[note].port]; - dctl |= drumMap[note].anote; + channel = MusEGlobal::drumMap[note].channel; + mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; + dctl |= MusEGlobal::drumMap[note].anote; } - //printf("Song::execMidiAutomationCtlPopup ctlnum:%d dctl:%d anote:%d\n", ctlnum, dctl, drumMap[ctlnum & 0x7f].anote); + //printf("Song::execMidiAutomationCtlPopup ctlnum:%d dctl:%d anote:%d\n", ctlnum, dctl, MusEGlobal::drumMap[ctlnum & 0x7f].anote); unsigned tick = cpos(); @@ -2880,7 +2885,7 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo e.setTick(tick - part->tick()); // Indicate do undo, and do port controller values and clone parts. - audio->msgChangeEvent(ev, e, part, true, true, true); + MusEGlobal::audio->msgChangeEvent(ev, e, part, true, true, true); } else { @@ -2889,7 +2894,7 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo { e.setTick(tick - part->tick()); // Indicate do undo, and do port controller values and clone parts. - audio->msgAddEvent(e, part, true, true, true); + MusEGlobal::audio->msgAddEvent(e, part, true, true, true); } else { @@ -2903,33 +2908,33 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo e.setTick(tick - startTick); part->events()->add(e); // Allow undo. - audio->msgAddPart(part); + MusEGlobal::audio->msgAddPart(part); } } } break; case CLEAR_EVENT: // Indicate do undo, and do port controller values and clone parts. - audio->msgDeleteEvent(ev, part, true, true, true); + MusEGlobal::audio->msgDeleteEvent(ev, part, true, true, true); break; //case CLEAR_RANGE: - //audio->msgEraseRangeACEvents(track, acid, pos[1].frame(), pos[2].frame()); + //MusEGlobal::audio->msgEraseRangeACEvents(track, acid, pos[1].frame(), pos[2].frame()); //break; //case CLEAR_ALL_EVENTS: //if(QMessageBox::question(MusEGlobal::muse, QString("Muse"), // tr("Clear all controller events?"), tr("&Ok"), tr("&Cancel"), // QString::null, 0, 1 ) == 0) - //audio->msgClearControllerEvents(track, acid); + //MusEGlobal::audio->msgClearControllerEvents(track, acid); //break; //case PREV_EVENT: - //audio->msgSeekPrevACEvent(track, acid); + //MusEGlobal::audio->msgSeekPrevACEvent(track, acid); //break; //case NEXT_EVENT: - //audio->msgSeekNextACEvent(track, acid); + //MusEGlobal::audio->msgSeekNextACEvent(track, acid); //break; default: @@ -2991,7 +2996,7 @@ void Song::processAutomationEvents() void Song::abortRolling() { if (record()) - audio->recordStop(); + MusEGlobal::audio->recordStop(); setStopPlay(false); } @@ -3020,7 +3025,7 @@ void Song::connectJackRoutes(AudioTrack* track, bool disconnect) if(!disconnect) ao->setName(ao->name()); // Now reconnect the output routes. - if(MusEGlobal::checkAudioDevice() && audio->isRunning()) + if(MusEGlobal::checkAudioDevice() && MusEGlobal::audio->isRunning()) { for(int ch = 0; ch < ao->channels(); ++ch) { @@ -3031,15 +3036,15 @@ void Song::connectJackRoutes(AudioTrack* track, bool disconnect) if ((r.type == Route::JACK_ROUTE) && (r.channel == ch)) { if(disconnect) - audioDevice->disconnect(ao->jackPort(ch), r.jackPort); + MusEGlobal::audioDevice->disconnect(ao->jackPort(ch), r.jackPort); else - audioDevice->connect(ao->jackPort(ch), r.jackPort); + MusEGlobal::audioDevice->connect(ao->jackPort(ch), r.jackPort); break; } } if(disconnect) { - audioDevice->unregisterPort(ao->jackPort(ch)); + MusEGlobal::audioDevice->unregisterPort(ao->jackPort(ch)); ao->setJackPort(ch, 0); } } @@ -3053,7 +3058,7 @@ void Song::connectJackRoutes(AudioTrack* track, bool disconnect) if(!disconnect) ai->setName(ai->name()); // Now reconnect the input routes. - if(MusEGlobal::checkAudioDevice() && audio->isRunning()) + if(MusEGlobal::checkAudioDevice() && MusEGlobal::audio->isRunning()) { for(int ch = 0; ch < ai->channels(); ++ch) { @@ -3064,15 +3069,15 @@ void Song::connectJackRoutes(AudioTrack* track, bool disconnect) if ((r.type == Route::JACK_ROUTE) && (r.channel == ch)) { if(disconnect) - audioDevice->disconnect(r.jackPort, ai->jackPort(ch)); + MusEGlobal::audioDevice->disconnect(r.jackPort, ai->jackPort(ch)); else - audioDevice->connect(r.jackPort, ai->jackPort(ch)); + MusEGlobal::audioDevice->connect(r.jackPort, ai->jackPort(ch)); break; } } if(disconnect) { - audioDevice->unregisterPort(ai->jackPort(ch)); + MusEGlobal::audioDevice->unregisterPort(ai->jackPort(ch)); ai->setJackPort(ch, 0); } } @@ -3124,13 +3129,13 @@ void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) pup->clear(); gid = 0; - //MidiInPortList* tl = song->midiInPorts(); + //MidiInPortList* tl = MusEGlobal::song->midiInPorts(); //for(iMidiInPort i = tl->begin();i != tl->end(); ++i) for(int i = 0; i < MIDI_PORTS; ++i) { //MidiInPort* track = *i; // NOTE: Could possibly list all devices, bypassing ports, but no, let's stick wth ports. - MidiPort* mp = &midiPorts[i]; + MidiPort* mp = &MusEGlobal::midiPorts[i]; MidiDevice* md = mp->device(); if(!md) continue; @@ -3187,7 +3192,7 @@ void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) // pup->insertItem(titel); // if (!MusEGlobal::checkAudioDevice()) return; -// std::list ol = audioDevice->outputPorts(); +// std::list ol = MusEGlobal::audioDevice->outputPorts(); // for (std::list::iterator ip = ol.begin(); ip != ol.end(); ++ip) { // int id = pup->insertItem(*ip, (gid * 16) + i); // Route dst(*ip, true, i); @@ -3220,7 +3225,7 @@ void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) //if(MusEGlobal::debugMsg) //printf("Song::chooseMidiRoutes mdidx:%d ch:%d\n", mdidx, ch); - MidiPort* mp = &midiPorts[mdidx]; + MidiPort* mp = &MusEGlobal::midiPorts[mdidx]; MidiDevice* md = mp->device(); if(!md) { @@ -3259,12 +3264,12 @@ void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) if(dst) { //printf("Song::chooseMidiRoutes removing route src track name: %s dst device name: %s\n", track->name().toLatin1().constData(), md->name().toLatin1().constData()); - audio->msgRemoveRoute(bRoute, aRoute); + MusEGlobal::audio->msgRemoveRoute(bRoute, aRoute); } else { //printf("Song::chooseMidiRoutes removing route src device name: %s dst track name: %s\n", md->name().toLatin1().constData(), track->name().toLatin1().constData()); - audio->msgRemoveRoute(aRoute, bRoute); + MusEGlobal::audio->msgRemoveRoute(aRoute, bRoute); } } else @@ -3273,19 +3278,19 @@ void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) if(dst) { //printf("Song::chooseMidiRoutes adding route src track name: %s dst device name: %s\n", track->name().toLatin1().constData(), md->name().toLatin1().constData()); - audio->msgAddRoute(bRoute, aRoute); + MusEGlobal::audio->msgAddRoute(bRoute, aRoute); } else { //printf("Song::chooseMidiRoutes adding route src device name: %s dst track name: %s\n", md->name().toLatin1().constData(), track->name().toLatin1().constData()); - audio->msgAddRoute(aRoute, bRoute); + MusEGlobal::audio->msgAddRoute(aRoute, bRoute); } } //printf("Song::chooseMidiRoutes calling msgUpdateSoloStates\n"); - audio->msgUpdateSoloStates(); - //printf("Song::chooseMidiRoutes calling song->update\n"); - song->update(SC_ROUTE); + MusEGlobal::audio->msgUpdateSoloStates(); + //printf("Song::chooseMidiRoutes calling MusEGlobal::song->update\n"); + MusEGlobal::song->update(SC_ROUTE); // p3.3.46 ///goto _redisplay; @@ -3305,7 +3310,7 @@ void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) void Song::insertTrack0(Track* track, int idx) { insertTrack1(track, idx); - insertTrack2(track, idx); // audio->msgInsertTrack(track, idx, false); + insertTrack2(track, idx); // MusEGlobal::audio->msgInsertTrack(track, idx, false); insertTrack3(track, idx); } @@ -3356,15 +3361,15 @@ void Song::insertTrack2(Track* track, int idx) break; case Track::WAVE: - _waves.push_back((WaveTrack*)track); + _waves.push_back((MusECore::WaveTrack*)track); break; case Track::AUDIO_OUTPUT: _outputs.push_back((AudioOutput*)track); // set default master & monitor if not defined - if (audio->audioMaster() == 0) - audio->setMaster((AudioOutput*)track); - if (audio->audioMonitor() == 0) - audio->setMonitor((AudioOutput*)track); + if (MusEGlobal::audio->audioMaster() == 0) + MusEGlobal::audio->setMaster((AudioOutput*)track); + if (MusEGlobal::audio->audioMonitor() == 0) + MusEGlobal::audio->setMonitor((AudioOutput*)track); break; case Track::AUDIO_GROUP: _groups.push_back((AudioGroup*)track); @@ -3378,7 +3383,7 @@ void Song::insertTrack2(Track* track, int idx) case Track::AUDIO_SOFTSYNTH: { SynthI* s = (SynthI*)track; - midiDevices.add(s); + MusEGlobal::midiDevices.add(s); midiInstruments.push_back(s); _synthIs.push_back(s); } @@ -3402,7 +3407,7 @@ void Song::insertTrack2(Track* track, int idx) for (iTrack i = _tracks.begin(); i != _tracks.end(); ++i) { if ((*i)->isMidiTrack()) continue; - WaveTrack* wt = (WaveTrack*)*i; + MusECore::WaveTrack* wt = (MusECore::WaveTrack*)*i; if (wt->hasAuxSend()) { wt->addAuxSend(n); } @@ -3476,14 +3481,14 @@ void Song::insertTrack2(Track* track, int idx) { //printf("Song::insertTrack2 %s in route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 Route src(track, r->channel); - midiPorts[r->midiPort].outRoutes()->push_back(src); + MusEGlobal::midiPorts[r->midiPort].outRoutes()->push_back(src); } rl = track->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { //printf("Song::insertTrack2 %s out route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 Route src(track, r->channel); - midiPorts[r->midiPort].inRoutes()->push_back(src); + MusEGlobal::midiPorts[r->midiPort].inRoutes()->push_back(src); } } else @@ -3540,7 +3545,7 @@ void Song::insertTrack3(Track* /*track*/, int /*idx*/)//prevent compiler warning void Song::removeTrack0(Track* track) { removeTrack1(track); - audio->msgRemoveTrack(track); + MusEGlobal::audio->msgRemoveTrack(track); removeTrack3(track); //delete track; update(SC_TRACK_REMOVED); @@ -3705,14 +3710,14 @@ void Song::removeTrack2(Track* track) { //printf("Song::removeTrack2 %s in route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 Route src(track, r->channel); - midiPorts[r->midiPort].outRoutes()->removeRoute(src); + MusEGlobal::midiPorts[r->midiPort].outRoutes()->removeRoute(src); } rl = track->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { //printf("Song::removeTrack2 %s out route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 Route src(track, r->channel); - midiPorts[r->midiPort].inRoutes()->removeRoute(src); + MusEGlobal::midiPorts[r->midiPort].inRoutes()->removeRoute(src); } } else @@ -3779,7 +3784,7 @@ void Song::executeScript(const char* scriptfile, PartList* parts, int quant, boo // NOTE // CONTROLLER // - song->startUndo(); // undo this entire block + MusEGlobal::song->startUndo(); // undo this entire block for (iPart i = parts->begin(); i != parts->end(); i++) { //const char* tmp = tmpnam(NULL); char tmp[16] = "muse-tmp-XXXXXX"; @@ -3807,11 +3812,11 @@ void Song::executeScript(const char* scriptfile, PartList* parts, int quant, boo fprintf(fp,"NOTE %d %d %d %d\n", ev.tick(), ev.dataA(), ev.lenTick(), ev.dataB()); // Indicate no undo, and do not do port controller values and clone parts. - audio->msgDeleteEvent(ev, part, false, false, false); + MusEGlobal::audio->msgDeleteEvent(ev, part, false, false, false); } else if (ev.type()==Controller) { fprintf(fp,"CONTROLLER %d %d %d %d\n", ev.tick(), ev.dataA(), ev.dataB(), ev.dataC()); // Indicate no undo, and do not do port controller values and clone parts. - audio->msgDeleteEvent(ev, part, false, false, false); + MusEGlobal::audio->msgDeleteEvent(ev, part, false, false, false); } } fclose(fp); @@ -3853,7 +3858,7 @@ void Song::executeScript(const char* scriptfile, PartList* parts, int quant, boo e.setVelo(velo); e.setLenTick(len); // Indicate no undo, and do not do port controller values and clone parts. - audio->msgAddEvent(e, part, false, false, false); + MusEGlobal::audio->msgAddEvent(e, part, false, false, false); } if (line.startsWith("CONTROLLER")) { @@ -3868,7 +3873,7 @@ void Song::executeScript(const char* scriptfile, PartList* parts, int quant, boo e.setB(b); e.setB(c); // Indicate no undo, and do not do port controller values and clone parts. - audio->msgAddEvent(e, part, false, false, false); + MusEGlobal::audio->msgAddEvent(e, part, false, false, false); } } file.close(); @@ -3973,3 +3978,5 @@ void Song::informAboutNewParts(Part* orig, Part* p1, Part* p2, Part* p3, Part* p informAboutNewParts(temp); } + +} // namespace MusECore -- cgit v1.2.3