From: Robert J. <spa...@us...> - 2005-06-04 23:39:51
|
Update of /cvsroot/lmuse/muse/muse In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10913 Modified Files: Tag: REL07 midiseq.cpp Log Message: a "fix" for generating midi clock Index: midiseq.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/midiseq.cpp,v retrieving revision 1.30.2.7 retrieving revision 1.30.2.8 diff -C2 -d -r1.30.2.7 -r1.30.2.8 *** midiseq.cpp 18 Feb 2005 21:31:47 -0000 1.30.2.7 --- midiseq.cpp 4 Jun 2005 23:39:41 -0000 1.30.2.8 *************** *** 326,330 **** timer.setTimerTicks(config.rtcTicks); ! timer.startTimer(); realRtcTicks = config.rtcTicks; return true; --- 326,330 ---- timer.setTimerTicks(config.rtcTicks); ! timer.startTimer(); realRtcTicks = config.rtcTicks; return true; *************** *** 341,345 **** doSetuid(); - timerFd = timer.initTimer(); setRtcTicks(); --- 341,344 ---- *************** *** 355,360 **** void MidiSeq::processMidiClock() { ! if (genMCSync) midiPorts[txSyncPort].sendClock(); /* if (state == START_PLAY) { // start play on sync --- 354,360 ---- void MidiSeq::processMidiClock() { ! if (genMCSync) { midiPorts[txSyncPort].sendClock(); + } /* if (state == START_PLAY) { // start play on sync *************** *** 393,397 **** if (TIMER_DEBUG) { ! if(MidiSeq::ticker++ > 100000) { printf("tick!\n"); --- 393,397 ---- if (TIMER_DEBUG) { ! if(MidiSeq::ticker++ > 100) { printf("tick!\n"); *************** *** 420,425 **** } ! if (idle) return; unsigned curFrame = audio->curFrame(); --- 420,427 ---- } ! if (idle) { ! printf("IDLE\n"); return; + } unsigned curFrame = audio->curFrame(); *************** *** 427,432 **** if (!extSyncFlag.value()) { int curTick = tempomap.frame2tick(curFrame); ! if (curTick >= midiClock) processMidiClock(); } --- 429,441 ---- if (!extSyncFlag.value()) { int curTick = tempomap.frame2tick(curFrame); ! if ( midiClock > curTick + 100) // reinitialize ! midiClock = curTick; ! else if( curTick > midiClock + 100) // reinitialize ! midiClock = curTick; ! ! //printf("curTick=%d >= midiClock=%d\n",curTick,midiClock); ! if (curTick >= midiClock) { processMidiClock(); + } } |