From: terminator356 <ter...@us...> - 2009-03-28 01:48:42
|
Update of /cvsroot/lmuse/muse/muse/arranger In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6180/muse/arranger Modified Files: Tag: REL07 trackinfo.cpp Log Message: See ChangeLog Index: trackinfo.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/arranger/trackinfo.cpp,v retrieving revision 1.10.2.6 retrieving revision 1.10.2.7 diff -C2 -d -r1.10.2.6 -r1.10.2.7 *** trackinfo.cpp 9 Mar 2009 02:05:18 -0000 1.10.2.6 --- trackinfo.cpp 28 Mar 2009 01:46:10 -0000 1.10.2.7 *************** *** 279,283 **** audio->msgPlayMidiEvent(&ev); ! MidiInstrument* instr = midiPorts[port].instrument(); const char* name = instr->getPatchName(channel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); --- 279,283 ---- audio->msgPlayMidiEvent(&ev); ! MidiInstrument* instr = mp->instrument(); const char* name = instr->getPatchName(channel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); *************** *** 356,360 **** audio->msgPlayMidiEvent(&ev); ! MidiInstrument* instr = midiPorts[port].instrument(); const char* name = instr->getPatchName(channel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); --- 356,360 ---- audio->msgPlayMidiEvent(&ev); ! MidiInstrument* instr = mp->instrument(); const char* name = instr->getPatchName(channel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); *************** *** 433,437 **** audio->msgPlayMidiEvent(&ev); ! MidiInstrument* instr = midiPorts[port].instrument(); const char* name = instr->getPatchName(channel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); --- 433,437 ---- audio->msgPlayMidiEvent(&ev); ! MidiInstrument* instr = mp->instrument(); const char* name = instr->getPatchName(channel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); *************** *** 810,816 **** midiTrackInfo->iInputChannel->setText(bitmap2String(inChannel)); ! MidiController* mc = midiPorts[outPort].midiController(CTRL_VOLUME); int mn = mc->minVal(); ! int v = midiPorts[outPort].hwCtrlState(outChannel, CTRL_VOLUME); volume = v; if(v == CTRL_VAL_UNKNOWN) --- 810,880 ---- midiTrackInfo->iInputChannel->setText(bitmap2String(inChannel)); ! MidiPort* mp = &midiPorts[outPort]; ! int nprogram = mp->hwCtrlState(outChannel, CTRL_PROGRAM); ! if(nprogram == CTRL_VAL_UNKNOWN) ! { ! midiTrackInfo->iHBank->blockSignals(true); ! midiTrackInfo->iLBank->blockSignals(true); ! midiTrackInfo->iProgram->blockSignals(true); ! midiTrackInfo->iHBank->setValue(0); ! midiTrackInfo->iLBank->setValue(0); ! midiTrackInfo->iProgram->setValue(0); ! midiTrackInfo->iHBank->blockSignals(false); ! midiTrackInfo->iLBank->blockSignals(false); ! midiTrackInfo->iProgram->blockSignals(false); ! ! program = CTRL_VAL_UNKNOWN; ! nprogram = mp->lastValidHWCtrlState(outChannel, CTRL_PROGRAM); ! if(nprogram == CTRL_VAL_UNKNOWN) ! midiTrackInfo->iPatch->setText(QString("<unknown>")); ! else ! { ! MidiInstrument* instr = mp->instrument(); ! const char* name = instr->getPatchName(outChannel, nprogram, song->mtype(), track->type() == Track::DRUM); ! midiTrackInfo->iPatch->setText(QString(name)); ! } ! } ! else ! //if (program != nprogram) ! { ! program = nprogram; ! ! //int hb, lb, pr; ! //if (program == CTRL_VAL_UNKNOWN) { ! // hb = lb = pr = 0; ! // midiTrackInfo->iPatch->setText("---"); ! // } ! //else ! //{ ! MidiInstrument* instr = mp->instrument(); ! const char* name = instr->getPatchName(outChannel, program, song->mtype(), track->type() == Track::DRUM); ! midiTrackInfo->iPatch->setText(QString(name)); ! ! int hb = ((program >> 16) & 0xff) + 1; ! if (hb == 0x100) ! hb = 0; ! int lb = ((program >> 8) & 0xff) + 1; ! if (lb == 0x100) ! lb = 0; ! int pr = (program & 0xff) + 1; ! if (pr == 0x100) ! pr = 0; ! //} ! midiTrackInfo->iHBank->blockSignals(true); ! midiTrackInfo->iLBank->blockSignals(true); ! midiTrackInfo->iProgram->blockSignals(true); ! ! midiTrackInfo->iHBank->setValue(hb); ! midiTrackInfo->iLBank->setValue(lb); ! midiTrackInfo->iProgram->setValue(pr); ! ! midiTrackInfo->iHBank->blockSignals(false); ! midiTrackInfo->iLBank->blockSignals(false); ! midiTrackInfo->iProgram->blockSignals(false); ! } ! ! MidiController* mc = mp->midiController(CTRL_VOLUME); int mn = mc->minVal(); ! int v = mp->hwCtrlState(outChannel, CTRL_VOLUME); volume = v; if(v == CTRL_VAL_UNKNOWN) *************** *** 829,835 **** midiTrackInfo->iLautst->blockSignals(false); ! mc = midiPorts[outPort].midiController(CTRL_PANPOT); mn = mc->minVal(); ! v = midiPorts[outPort].hwCtrlState(outChannel, CTRL_PANPOT); pan = v; if(v == CTRL_VAL_UNKNOWN) --- 893,899 ---- midiTrackInfo->iLautst->blockSignals(false); ! mc = mp->midiController(CTRL_PANPOT); mn = mc->minVal(); ! v = mp->hwCtrlState(outChannel, CTRL_PANPOT); pan = v; if(v == CTRL_VAL_UNKNOWN) *************** *** 898,904 **** program = CTRL_VAL_UNKNOWN; nprogram = mp->lastValidHWCtrlState(outChannel, CTRL_PROGRAM); ! if(nprogram != CTRL_VAL_UNKNOWN) { ! MidiInstrument* instr = midiPorts[outPort].instrument(); const char* name = instr->getPatchName(outChannel, nprogram, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); --- 962,970 ---- program = CTRL_VAL_UNKNOWN; nprogram = mp->lastValidHWCtrlState(outChannel, CTRL_PROGRAM); ! if(nprogram == CTRL_VAL_UNKNOWN) ! midiTrackInfo->iPatch->setText(QString("<unknown>")); ! else { ! MidiInstrument* instr = mp->instrument(); const char* name = instr->getPatchName(outChannel, nprogram, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); *************** *** 909,932 **** program = nprogram; ! int hb, lb, pr; ! if (program == CTRL_VAL_UNKNOWN) { ! hb = lb = pr = 0; ! midiTrackInfo->iPatch->setText("---"); ! } ! else { ! MidiInstrument* instr = midiPorts[outPort].instrument(); const char* name = instr->getPatchName(outChannel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); ! hb = ((program >> 16) & 0xff) + 1; if (hb == 0x100) hb = 0; ! lb = ((program >> 8) & 0xff) + 1; if (lb == 0x100) lb = 0; ! pr = (program & 0xff) + 1; if (pr == 0x100) pr = 0; ! } midiTrackInfo->iHBank->blockSignals(true); midiTrackInfo->iLBank->blockSignals(true); --- 975,999 ---- program = nprogram; ! //int hb, lb, pr; ! //if (program == CTRL_VAL_UNKNOWN) { ! // hb = lb = pr = 0; ! // midiTrackInfo->iPatch->setText("---"); ! // } ! //else ! //{ ! MidiInstrument* instr = mp->instrument(); const char* name = instr->getPatchName(outChannel, program, song->mtype(), track->type() == Track::DRUM); midiTrackInfo->iPatch->setText(QString(name)); ! int hb = ((program >> 16) & 0xff) + 1; if (hb == 0x100) hb = 0; ! int lb = ((program >> 8) & 0xff) + 1; if (lb == 0x100) lb = 0; ! int pr = (program & 0xff) + 1; if (pr == 0x100) pr = 0; ! //} midiTrackInfo->iHBank->blockSignals(true); midiTrackInfo->iLBank->blockSignals(true); *************** *** 944,949 **** //int nvolume = midiPorts[outPort].getCtrl(outChannel, tick, CTRL_VOLUME); // int npan = midiPorts[outPort].getCtrl(outChannel, tick, CTRL_PANPOT); ! MidiController* mc = midiPorts[outPort].midiController(CTRL_VOLUME); ! int v = midiPorts[outPort].hwCtrlState(outChannel, CTRL_VOLUME); if(v != volume) { --- 1011,1016 ---- //int nvolume = midiPorts[outPort].getCtrl(outChannel, tick, CTRL_VOLUME); // int npan = midiPorts[outPort].getCtrl(outChannel, tick, CTRL_PANPOT); ! MidiController* mc = mp->midiController(CTRL_VOLUME); ! int v = mp->hwCtrlState(outChannel, CTRL_VOLUME); if(v != volume) { *************** *** 957,962 **** midiTrackInfo->iLautst->blockSignals(false); } ! mc = midiPorts[outPort].midiController(CTRL_PANPOT); ! v = midiPorts[outPort].hwCtrlState(outChannel, CTRL_PANPOT); if(v != pan) { --- 1024,1029 ---- midiTrackInfo->iLautst->blockSignals(false); } ! mc = mp->midiController(CTRL_PANPOT); ! v = mp->hwCtrlState(outChannel, CTRL_PANPOT); if(v != pan) { *************** *** 988,989 **** --- 1055,1057 ---- } } + |