From: Robert J. <spa...@us...> - 2006-02-01 23:17:47
|
Update of /cvsroot/lmuse/muse/muse In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17865/muse Modified Files: Tag: REL07 app.cpp audio.cpp audiotrack.cpp globals.h node.cpp route.cpp seqmsg.cpp sync.cpp Log Message: paranoid checking of audiodevice Index: node.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/Attic/node.cpp,v retrieving revision 1.36.2.4 retrieving revision 1.36.2.5 diff -C2 -d -r1.36.2.4 -r1.36.2.5 *** node.cpp 28 Dec 2005 22:17:55 -0000 1.36.2.4 --- node.cpp 1 Feb 2006 23:17:38 -0000 1.36.2.5 *************** *** 581,584 **** --- 581,585 ---- bool AudioInput::getData(unsigned, int channels, unsigned nframes, float** buffer) { + if (!checkAudioDevice()) return false; for (int ch = 0; ch < channels; ++ch) { void* jackPort = jackPorts[ch]; *************** *** 598,601 **** --- 599,603 ---- { _name = s; + if (!checkAudioDevice()) return; for (int i = 0; i < channels(); ++i) { char buffer[128]; *************** *** 727,730 **** --- 729,733 ---- { _nframes = nframes; + if (!checkAudioDevice()) return; for (int i = 0; i < channels(); ++i) { if (jackPorts[i]) { *************** *** 799,802 **** --- 802,806 ---- { _name = s; + if (!checkAudioDevice()) return; for (int i = 0; i < channels(); ++i) { char buffer[128]; Index: audiotrack.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/audiotrack.cpp,v retrieving revision 1.14.2.1 retrieving revision 1.14.2.2 diff -C2 -d -r1.14.2.1 -r1.14.2.2 *** audiotrack.cpp 2 Jan 2006 23:15:08 -0000 1.14.2.1 --- audiotrack.cpp 1 Feb 2006 23:17:38 -0000 1.14.2.2 *************** *** 408,412 **** AudioInput::~AudioInput() { ! for (int i = 0; i < _channels; ++i) audioDevice->unregisterPort(jackPorts[i]); } --- 408,413 ---- AudioInput::~AudioInput() { ! if (!checkAudioDevice()) return; ! for (int i = 0; i < _channels; ++i) audioDevice->unregisterPort(jackPorts[i]); } *************** *** 480,483 **** --- 481,485 ---- AudioOutput::~AudioOutput() { + if (!checkAudioDevice()) return; for (int i = 0; i < _channels; ++i) audioDevice->unregisterPort(jackPorts[i]); Index: seqmsg.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/seqmsg.cpp,v retrieving revision 1.32.2.3 retrieving revision 1.32.2.4 diff -C2 -d -r1.32.2.3 -r1.32.2.4 *** seqmsg.cpp 13 Dec 2005 20:56:14 -0000 1.32.2.3 --- seqmsg.cpp 1 Feb 2006 23:17:38 -0000 1.32.2.4 *************** *** 75,78 **** --- 75,79 ---- { msgRemoveRoute1(src, dst); + if (!checkAudioDevice()) return; if (src.type == JACK_ROUTE) audioDevice->disconnect(src.jackPort, ((AudioInput*)dst.track)->jackPort(dst.channel)); *************** *** 101,108 **** --- 102,111 ---- { if (src.type == JACK_ROUTE) { + if (!checkAudioDevice()) return; if (isRunning()) audioDevice->connect(src.jackPort, ((AudioInput*)dst.track)->jackPort(dst.channel)); } else if (dst.type == JACK_ROUTE) { + if (!checkAudioDevice()) return; if (audio->isRunning()) audioDevice->connect(((AudioOutput*)src.track)->jackPort(dst.channel), dst.jackPort); *************** *** 203,206 **** --- 206,210 ---- if (!name.isEmpty()) { if (node->type() == Track::AUDIO_INPUT) { + if (!checkAudioDevice()) return; AudioInput* ai = (AudioInput*)node; for (int i = 0; i < mc; ++i) { *************** *** 225,228 **** --- 229,233 ---- } else if (node->type() == Track::AUDIO_OUTPUT) { + if (!checkAudioDevice()) return; AudioOutput* ao = (AudioOutput*)node; for (int i = 0; i < mc; ++i) { *************** *** 274,277 **** --- 279,283 ---- void Audio::msgSeek(const Pos& pos) { + if (!checkAudioDevice()) return; audioDevice->seekTransport(pos.frame()); } *************** *** 698,701 **** --- 704,708 ---- { _bounce = true; + if (!checkAudioDevice()) return; audioDevice->seekTransport(song->lPos().frame()); } Index: sync.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/sync.cpp,v retrieving revision 1.6.2.6 retrieving revision 1.6.2.7 diff -C2 -d -r1.6.2.6 -r1.6.2.7 *** sync.cpp 18 Dec 2005 20:38:58 -0000 1.6.2.6 --- sync.cpp 1 Feb 2006 23:17:38 -0000 1.6.2.7 *************** *** 107,110 **** --- 107,111 ---- Pos tp(mmcPos, true); + if (!checkAudioDevice()) return; audioDevice->seekTransport(tp.frame()); alignAllTicks(); *************** *** 260,263 **** --- 261,265 ---- return; Pos pos((config.division * midiBeat) / 4, true); + if (!checkAudioDevice()) return; audioDevice->seekTransport(pos.frame()); alignAllTicks(); *************** *** 435,438 **** --- 437,441 ---- if (!audio->isPlaying() /*state == IDLE*/) { //seek(0); + if (!checkAudioDevice()) return; audioDevice->seekTransport(0); unsigned curFrame = audio->curFrame(); *************** *** 494,497 **** --- 497,501 ---- //state = PLAY; //write(sigFd, "1", 1); // say PLAY to gui + if (!checkAudioDevice()) return; audioDevice->startTransport(); return; Index: globals.h =================================================================== RCS file: /cvsroot/lmuse/muse/muse/globals.h,v retrieving revision 1.10.2.4 retrieving revision 1.10.2.5 diff -C2 -d -r1.10.2.4 -r1.10.2.5 *** globals.h 28 Dec 2005 22:17:55 -0000 1.10.2.4 --- globals.h 1 Feb 2006 23:17:38 -0000 1.10.2.5 *************** *** 138,141 **** --- 138,142 ---- extern void doSetuid(); extern void undoSetuid(); + extern bool checkAudioDevice(); #endif Index: app.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/app.cpp,v retrieving revision 1.113.2.24 retrieving revision 1.113.2.25 diff -C2 -d -r1.113.2.24 -r1.113.2.25 *** app.cpp 28 Dec 2005 22:17:55 -0000 1.113.2.24 --- app.cpp 1 Feb 2006 23:17:38 -0000 1.113.2.25 *************** *** 297,300 **** --- 297,304 ---- } + //--------------------------------------------------------- + // seqRestart + //--------------------------------------------------------- + bool MusE::seqRestart() { Index: audio.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/audio.cpp,v retrieving revision 1.59.2.10 retrieving revision 1.59.2.11 diff -C2 -d -r1.59.2.10 -r1.59.2.11 *** audio.cpp 26 Dec 2005 21:13:21 -0000 1.59.2.10 --- audio.cpp 1 Feb 2006 23:17:38 -0000 1.59.2.11 *************** *** 155,158 **** --- 155,159 ---- for (int x=0; x < (*i)->channels();x++) (*i)->setJackPort(x,0); + //printf("name=%s\n",(*i)->name().latin1()); (*i)->setName((*i)->name()); // restore jack connection } *************** *** 241,244 **** --- 242,246 ---- extern int watchAudio; ++watchAudio; // make a simple watchdog happy + if (!checkAudioDevice()) return; if (msg) { processMsg(msg); *************** *** 483,486 **** --- 485,489 ---- song->processMsg(msg); if (isPlaying()) { + if (!checkAudioDevice()) return; _pos.setTick(curTickPos); int samplePos = _pos.frame(); *************** *** 524,527 **** --- 527,531 ---- } _pos = p; + if (!checkAudioDevice()) return; syncFrame = audioDevice->framePos(); frameOffset = syncFrame - _pos.frame(); Index: route.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/route.cpp,v retrieving revision 1.18 retrieving revision 1.18.2.1 diff -C2 -d -r1.18 -r1.18.2.1 *** route.cpp 14 Jul 2004 18:32:48 -0000 1.18 --- route.cpp 1 Feb 2006 23:17:38 -0000 1.18.2.1 *************** *** 217,220 **** --- 217,221 ---- } if (type == JACK_ROUTE) { + if (!checkAudioDevice()) return ""; return s + audioDevice->portName(jackPort); } *************** *** 245,248 **** --- 246,250 ---- return Route(track, channel); } + if (!checkAudioDevice()) return Route((AudioTrack*)NULL,0); void* p = audioDevice->findPort(s.latin1()); if (p) *************** *** 250,253 **** --- 252,256 ---- } else { + if (!checkAudioDevice()) return Route((AudioTrack*)NULL,0); void* p = audioDevice->findPort(s.latin1()); if (p) *************** *** 379,385 **** if (type == 0) printf("Route dump: track <%s> channel %d\n", track->name().latin1(), channel); ! else printf("Route dump: jPort <%s> channel %d\n", audioDevice->portName(jackPort).latin1(), channel); } --- 382,390 ---- if (type == 0) printf("Route dump: track <%s> channel %d\n", track->name().latin1(), channel); ! else { ! if (!checkAudioDevice()) return; printf("Route dump: jPort <%s> channel %d\n", audioDevice->portName(jackPort).latin1(), channel); + } } *************** *** 393,398 **** if (type == 0) return track == a.track; ! else return audioDevice->portName(jackPort) == audioDevice->portName(a.jackPort); } return false; --- 398,405 ---- if (type == 0) return track == a.track; ! else { ! if (!checkAudioDevice()) return false; return audioDevice->portName(jackPort) == audioDevice->portName(a.jackPort); + } } return false; |