Update of /cvsroot/lmuse/muse/muse/widgets In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6180/muse/widgets Modified Files: Tag: REL07 genset.cpp gensetbase.ui midisync.ui midisyncimpl.cpp midisyncimpl.h mtrackinfobase.ui Log Message: See ChangeLog Index: midisyncimpl.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/widgets/midisyncimpl.cpp,v retrieving revision 1.1.1.1.2.1 retrieving revision 1.1.1.1.2.2 diff -C2 -d -r1.1.1.1.2.1 -r1.1.1.1.2.2 *** midisyncimpl.cpp 28 Dec 2005 23:37:33 -0000 1.1.1.1.2.1 --- midisyncimpl.cpp 28 Mar 2009 01:46:10 -0000 1.1.1.1.2.2 *************** *** 7,12 **** //========================================================= ! #include "midisyncimpl.h" ! #include "sync.h" #include <qspinbox.h> #include <qcombobox.h> --- 7,14 ---- //========================================================= ! //#include "midisyncimpl.h" ! //#include "sync.h" ! //#include "globals.h" ! #include <qspinbox.h> #include <qcombobox.h> *************** *** 14,33 **** #include <qbuttongroup.h> #include <qpushbutton.h> //--------------------------------------------------------- ! // syncChanged ! // val = 1 - Master Mode ! // 0 - Slave Mode //--------------------------------------------------------- ! void MidiSyncConfig::syncChanged(int val) { ! //acceptMTCCheckbox->setEnabled(val); ! acceptMTCCheckbox->setEnabled(false); ! acceptMCCheckbox->setEnabled(val); ! acceptMMCCheckbox->setEnabled(val); } //--------------------------------------------------------- // MidiSyncConfig // Midi Sync Config --- 16,187 ---- #include <qbuttongroup.h> #include <qpushbutton.h> + #include <qinputdialog.h> + //#include <qlistview.h> + #include <qheader.h> + #include <qtimer.h> + //#include <qwhatsthis.h> + #include <qmessagebox.h> + + #include "song.h" + #include "midiport.h" + #include "midiseq.h" + #include "mididev.h" + #include "icons.h" + #include "sync.h" + #include "globals.h" + #include "midisyncimpl.h" + + enum { DEVCOL_NO = 0, DEVCOL_NAME, DEVCOL_IN, DEVCOL_TICKIN, DEVCOL_RID, DEVCOL_RCLK, DEVCOL_RMMC, DEVCOL_RMTC, + //enum { DEVCOL_NAME = 0, DEVCOL_IN, DEVCOL_RID, DEVCOL_RCLK, DEVCOL_RMMC, DEVCOL_RMTC, + DEVCOL_TID, DEVCOL_TCLK, DEVCOL_TMMC, DEVCOL_TMTC }; + + //MidiSyncInfo tmpMidiSyncPorts[MIDI_PORTS]; //--------------------------------------------------------- ! // MSyncHeaderTip::maybeTip //--------------------------------------------------------- ! void MSyncHeaderTip::maybeTip(const QPoint &pos) { ! QHeader* w = (QHeader*)parentWidget(); ! int section = w->sectionAt(pos.x()); ! if (section == -1) ! return; ! QRect r(w->sectionPos(section), 0, w->sectionSize(section), ! w->height()); ! QString p; ! switch (section) { ! case DEVCOL_NO: p = QHeader::tr("Port Number"); break; ! case DEVCOL_NAME: p = QHeader::tr("Name of the midi device associated with" ! " this port number"); break; ! case DEVCOL_IN: p = QHeader::tr("Midi realtime input detected"); break; ! case DEVCOL_TICKIN: p = QHeader::tr("Midi tick input detected"); break; ! case DEVCOL_RID: p = QHeader::tr("Receive id number. Double click to edit."); break; ! case DEVCOL_RCLK: p = QHeader::tr("Accept midi realtime input"); break; ! case DEVCOL_RMMC: p = QHeader::tr("Accept MMC input"); break; ! case DEVCOL_RMTC: p = QHeader::tr("Accept MTC input"); break; ! case DEVCOL_TID: p = QHeader::tr("Transmit id number. Double click to edit."); break; ! case DEVCOL_TCLK: p = QHeader::tr("Send midi realtime output"); break; ! case DEVCOL_TMMC: p = QHeader::tr("Send MMC output"); break; ! case DEVCOL_TMTC: p = QHeader::tr("Send MTC output"); break; ! default: return; ! } ! tip(r, p); } //--------------------------------------------------------- + // MSyncWhatsThis::text + //--------------------------------------------------------- + + QString MSyncWhatsThis::text(const QPoint& pos) + { + int n = header->cellAt(pos.x()); + if (n == -1) + return QString::null; + switch (header->mapToLogical(n)) { + case DEVCOL_NO: + return QHeader::tr("Port Number"); + case DEVCOL_NAME: + return QHeader::tr("Name of the midi device associated with this port number"); + case DEVCOL_IN: + return QHeader::tr("Midi realtime input detected, including clock/start/stop/continue, and song position. " + "Current port actually used is red. Click to force a port to be current."); + case DEVCOL_TICKIN: + return QHeader::tr("Midi tick input detected"); + case DEVCOL_RID: + return QHeader::tr("Receive id number"); + case DEVCOL_RCLK: + return QHeader::tr("Accept midi realtime input, including clock/start/stop/continue, and song position. " + "Only one input is used for clock. Auto-acquire: If two or more port realtime inputs " + "are enabled, the first clock detected is used, until clock is lost, then another " + "can take over. Non-clock events (start,stop etc) are accepted by ALL enabled ports. " + "This means you may have several master devices connected, and muse will accept input " + "from any, including one clock (best if each turns off its clock at stop, so muse can " + "re-acquire the clock from another port. Click on detect indicator to force another.) "); + case DEVCOL_RMMC: + return QHeader::tr("Accept MMC input"); + case DEVCOL_RMTC: + return QHeader::tr("Accept MTC input"); + case DEVCOL_TID: + return QHeader::tr("Transmit id number"); + case DEVCOL_TCLK: + return QHeader::tr("Send midi realtime output, including clock/start/stop/continue, and song position. " + "If 'Slave to External Sync' is chosen, muse can re-transmit midi realtime input " + " messages to any other chosen ports. This means you may have several slave devices " + "connected, and muse can re-send realtime messages to any or all of them. "); + case DEVCOL_TMMC: + return QHeader::tr("Send MMC output"); + case DEVCOL_TMTC: + return QHeader::tr("Send MTC output"); + default: + break; + } + return QString::null; + } + + /* + //--------------------------------------------------------- + // MidiSyncLViewItem + // setDevice + //--------------------------------------------------------- + + void MidiSyncLViewItem::setDevice(MidiDevice* d) + { + _device = d; + if(_device) + _syncInfo.copyParams(_device->syncInfo()); + } + */ + + //--------------------------------------------------------- + // MidiSyncLViewItem + // setPort + //--------------------------------------------------------- + + void MidiSyncLViewItem::setPort(int port) + { + _port = port; + if(_port < 0 || port > MIDI_PORTS) + return; + + //_syncInfo.copyParams(midiPorts[port].syncInfo()); + copyFromSyncInfo(midiPorts[port].syncInfo()); + } + + //--------------------------------------------------------- + // MidiSyncLViewItem + // copyFromSyncInfo + //--------------------------------------------------------- + + void MidiSyncLViewItem::copyFromSyncInfo(const MidiSyncInfo &sp) + { + _idOut = sp.idOut(); + _idIn = sp.idIn(); + _sendMC = sp.MCOut(); + _sendMMC = sp.MMCOut(); + _sendMTC = sp.MTCOut(); + _recMC = sp.MCIn(); + _recMMC = sp.MMCIn(); + _recMTC = sp.MTCIn(); + } + + //--------------------------------------------------------- + // MidiSyncLViewItem + // copyToSyncInfo + //--------------------------------------------------------- + + void MidiSyncLViewItem::copyToSyncInfo(MidiSyncInfo &sp) + { + sp.setIdOut(_idOut); + sp.setIdIn(_idIn); + sp.setMCOut(_sendMC); + sp.setMMCOut(_sendMMC); + sp.setMTCOut(_sendMTC); + sp.setMCIn(_recMC); + sp.setMMCIn(_recMMC); + sp.setMTCIn(_recMTC); + } + + //--------------------------------------------------------- // MidiSyncConfig // Midi Sync Config *************** *** 36,62 **** MidiSyncConfig::MidiSyncConfig(QWidget* parent, const char* name) : MidiSyncConfigBase(parent, name) ! { connect(okButton, SIGNAL(clicked()), SLOT(ok())); connect(applyButton, SIGNAL(clicked()), SLOT(apply())); connect(cancelButton, SIGNAL(clicked()), SLOT(cancel())); ! connect(syncMode, SIGNAL(clicked(int)), SLOT(syncChanged(int))); ! bool ext = extSyncFlag.value(); ! syncMode->setButton(int(ext)); ! ! dstDevId->setValue(txDeviceId); ! srcDevId->setValue(rxDeviceId); ! srcSyncPort->setValue(rxSyncPort + 1); ! dstSyncPort->setValue(txSyncPort + 1); ! mtcSync->setChecked(genMTCSync); ! mcSync->setChecked(genMCSync); ! midiMachineControl->setChecked(genMMC); ! //acceptMTCCheckbox->setChecked(acceptMTC); ! acceptMTCCheckbox->setChecked(false); ! acceptMCCheckbox->setChecked(acceptMC); ! acceptMMCCheckbox->setChecked(acceptMMC); mtcSyncType->setCurrentItem(mtcType); --- 190,333 ---- MidiSyncConfig::MidiSyncConfig(QWidget* parent, const char* name) : MidiSyncConfigBase(parent, name) ! { ! _synctooltip = 0; ! ! _dirty = false; ! applyButton->setEnabled(false); ! ! //inHeartBeat = true; ! ! //for(int i = 0; i < MIDI_PORTS; ++i) ! // tmpMidiSyncPorts[i] = midiSyncPorts[i]; ! ! //bool ext = extSyncFlag.value(); ! //syncMode->setButton(int(ext)); ! //syncChanged(ext); ! // extSyncCheckbox->setChecked(extSyncFlag.value()); ! ! // dstDevId->setValue(txDeviceId); ! // srcDevId->setValue(rxDeviceId); ! // srcSyncPort->setValue(rxSyncPort + 1); ! // dstSyncPort->setValue(txSyncPort + 1); ! ! // mtcSync->setChecked(genMTCSync); ! // mcSync->setChecked(genMCSync); ! // midiMachineControl->setChecked(genMMC); ! ! // acceptMTCCheckbox->setChecked(acceptMTC); ! //acceptMTCCheckbox->setChecked(false); ! // acceptMCCheckbox->setChecked(acceptMC); ! // acceptMMCCheckbox->setChecked(acceptMMC); ! ! // mtcSyncType->setCurrentItem(mtcType); ! ! // mtcOffH->setValue(mtcOffset.h()); ! // mtcOffM->setValue(mtcOffset.m()); ! // mtcOffS->setValue(mtcOffset.s()); ! // mtcOffF->setValue(mtcOffset.f()); ! // mtcOffSf->setValue(mtcOffset.sf()); ! ! ! ! ! devicesListView->setSorting(-1); ! devicesListView->setAllColumnsShowFocus(true); ! devicesListView->addColumn(tr("Port")); ! devicesListView->addColumn(tr("Device Name"), 120); ! devicesListView->addColumn(tr("i")); ! devicesListView->addColumn(tr("t")); ! devicesListView->addColumn(tr("rid")); // Receive ! devicesListView->addColumn(tr("rmc")); // Receive ! devicesListView->addColumn(tr("rmmc")); // Receive ! devicesListView->addColumn(tr("rmtc")); // Receive ! devicesListView->addColumn(tr("tid")); // Transmit ! devicesListView->addColumn(tr("tmc")); // Transmit ! devicesListView->addColumn(tr("tmmc")); // Transmit ! devicesListView->addColumn(tr("tmtc")); // Transmit ! devicesListView->setFocusPolicy(NoFocus); ! ! devicesListView->setColumnAlignment(DEVCOL_NO, AlignHCenter); ! devicesListView->setColumnAlignment(DEVCOL_IN, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_TICKIN, AlignCenter); ! //devicesListView->setColumnAlignment(DEVCOL_RID, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_RCLK, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_RMMC, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_RMTC, AlignCenter); ! //devicesListView->setColumnAlignment(DEVCOL_TID, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_TCLK, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_TMMC, AlignCenter); ! devicesListView->setColumnAlignment(DEVCOL_TMTC, AlignCenter); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_NO); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_IN); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_TICKIN); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_RCLK); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_RMMC); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_RMTC); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_TCLK); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_TMMC); ! devicesListView->header()->setResizeEnabled(false, DEVCOL_TMTC); ! //devicesListView->setResizeMode(QListView::LastColumn); ! devicesListView->setResizeMode(QListView::NoColumn); ! ! new MSyncWhatsThis(devicesListView, devicesListView->header()); ! _synctooltip = new MSyncHeaderTip(devicesListView->header()); ! //MSyncHeaderTip::add(devicesListView->header(), QString("Midi sync ports")); ! ! // updateSyncInfoLV(); ! ! songChanged(-1); ! ! //connect(devicesListView, SIGNAL(pressed(QListViewItem*,const QPoint&,int)), ! // this, SLOT(dlvClicked(QListViewItem*,const QPoint&,int))); ! connect(devicesListView, SIGNAL(mouseButtonClicked(int, QListViewItem*,const QPoint&, int)), ! this, SLOT(dlvClicked(int, QListViewItem*,const QPoint&, int))); ! connect(devicesListView, SIGNAL(doubleClicked(QListViewItem*,const QPoint&,int)), ! this, SLOT(dlvDoubleClicked(QListViewItem*,const QPoint&,int))); ! //connect(devicesListView, SIGNAL(itemRenamed(QListViewItem*, int, const QString&)), ! // this, SLOT(renameOk(QListViewItem*, int, const QString&))); ! connect(okButton, SIGNAL(clicked()), SLOT(ok())); connect(applyButton, SIGNAL(clicked()), SLOT(apply())); connect(cancelButton, SIGNAL(clicked()), SLOT(cancel())); ! //connect(syncMode, SIGNAL(clicked(int)), SLOT(syncChanged(int))); ! connect(extSyncCheckbox, SIGNAL(clicked()), SLOT(syncChanged())); ! ! ! // Done in show(). ! //connect(song, SIGNAL(songChanged(int)), SLOT(songChanged(int))); ! //connect(heartBeatTimer, SIGNAL(timeout()), SLOT(heartBeat())); ! ! //inHeartBeat = false; ! } ! MidiSyncConfig::~MidiSyncConfig() ! { ! delete _synctooltip; ! } ! //--------------------------------------------------------- ! // songChanged ! //--------------------------------------------------------- + void MidiSyncConfig::songChanged(int flags) + { + // Is it simply a midi controller value adjustment? Forget it. Otherwise, it's mainly midi port/device changes we want. + if(flags == SC_MIDI_CONTROLLER || + !(flags & (SC_CONFIG | SC_MASTER | SC_TEMPO | SC_SIG | SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | + SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | SC_EVENT_INSERTED | SC_EVENT_REMOVED | SC_EVENT_MODIFIED | + SC_MIDI_CONTROLLER_ADD))) + return; + + // Reset dirty flag, since we're loading new values. + _dirty = false; + if(applyButton->isEnabled()) + applyButton->setEnabled(false); + + //for(int i = 0; i < MIDI_PORTS; ++i) + // tmpMidiSyncPorts[i] = midiSyncPorts[i]; + + extSyncCheckbox->setChecked(extSyncFlag.value()); + mtcSyncType->setCurrentItem(mtcType); *************** *** 67,71 **** mtcOffSf->setValue(mtcOffset.sf()); ! syncChanged(ext); } --- 338,399 ---- mtcOffSf->setValue(mtcOffset.sf()); ! updateSyncInfoLV(); ! ! //selectionChanged(); ! } ! ! //--------------------------------------------------------- ! // heartBeat ! //--------------------------------------------------------- ! ! void MidiSyncConfig::heartBeat() ! { ! //inHeartBeat = true; ! ! MidiSyncLViewItem* lvi = (MidiSyncLViewItem*)devicesListView->firstChild(); ! while(lvi) ! { ! int port = lvi->port(); ! if(port >= 0 && port < MIDI_PORTS) ! { ! bool sdet = midiPorts[port].syncInfo().MCSyncDetect(); ! if(port == curMidiSyncInPort) ! { ! if(lvi->pixmap(DEVCOL_IN) != (sdet ? record1_Icon : dothIcon)) ! lvi->setPixmap(DEVCOL_IN, sdet ? *record1_Icon : *dothIcon); ! } ! else ! if(lvi->pixmap(DEVCOL_IN) != (sdet ? dotIcon : dothIcon)) ! lvi->setPixmap(DEVCOL_IN, sdet ? *dotIcon : *dothIcon); ! ! sdet = midiPorts[port].syncInfo().tickDetect(); ! if(lvi->pixmap(DEVCOL_TICKIN) != (sdet ? dotIcon : dothIcon)) ! lvi->setPixmap(DEVCOL_TICKIN, sdet ? *dotIcon : *dothIcon); ! } ! //MidiDevice* dev = lvi->device(); ! //bool sdet = dev->syncInfo().MCSyncDetect(); ! //if(lvi->pixmap(DEVCOL_IN) != (sdet ? *dotIcon : *dothIcon)) ! // lvi->setPixmap(DEVCOL_IN, sdet ? *dotIcon : *dothIcon); ! ! lvi = (MidiSyncLViewItem*)lvi->nextSibling(); ! } ! ! //inHeartBeat = false; ! } ! ! //--------------------------------------------------------- ! // syncChanged ! // val = 1 - Master Mode ! // 0 - Slave Mode ! //--------------------------------------------------------- ! ! void MidiSyncConfig::syncChanged() ! { ! setDirty(); ! ! //acceptMTCCheckbox->setEnabled(val); ! // acceptMTCCheckbox->setEnabled(false); ! // acceptMCCheckbox->setEnabled(val); ! // acceptMMCCheckbox->setEnabled(val); } *************** *** 86,109 **** void MidiSyncConfig::cancel() { close(false); } //--------------------------------------------------------- // apply Pressed //--------------------------------------------------------- void MidiSyncConfig::apply() ! { ! txDeviceId = dstDevId->value(); ! rxDeviceId = srcDevId->value(); ! rxSyncPort = srcSyncPort->value() - 1; ! txSyncPort = dstSyncPort->value() - 1; ! genMTCSync = mtcSync->isChecked(); ! genMCSync = mcSync->isChecked(); ! genMMC = midiMachineControl->isChecked(); mtcType = mtcSyncType->currentItem(); ! extSyncFlag.setValue(syncMode->id(syncMode->selected())); mtcOffset.setH(mtcOffH->value()); --- 414,485 ---- void MidiSyncConfig::cancel() { + _dirty = false; + if(applyButton->isEnabled()) + applyButton->setEnabled(false); + close(false); } //--------------------------------------------------------- + // show + //--------------------------------------------------------- + + void MidiSyncConfig::show() + { + songChanged(-1); + connect(song, SIGNAL(songChanged(int)), SLOT(songChanged(int))); + connect(heartBeatTimer, SIGNAL(timeout()), SLOT(heartBeat())); + QDialog::show(); + } + + //--------------------------------------------------------- + // closeEvent + //--------------------------------------------------------- + + void MidiSyncConfig::closeEvent(QCloseEvent* e) + { + if(_dirty) + { + int n = QMessageBox::warning(this, tr("MusE"), + tr("Settings have changed\n" + "Apply sync settings?"), + tr("&Apply"), tr("&No"), tr("&Abort"), 0, 2); + + if(n == 2) + { + e->ignore(); + return; + } + + if(n == 0) + apply(); + } + + //emit deleted((unsigned long)this); + + disconnect(heartBeatTimer, SIGNAL(timeout()), this, SLOT(heartBeat())); + disconnect(song, SIGNAL(songChanged(int)), this, SLOT(songChanged(int))); + + e->accept(); + } + + //--------------------------------------------------------- // apply Pressed //--------------------------------------------------------- void MidiSyncConfig::apply() ! { ! // txDeviceId = dstDevId->value(); ! // rxDeviceId = srcDevId->value(); ! // rxSyncPort = srcSyncPort->value() - 1; ! // txSyncPort = dstSyncPort->value() - 1; ! // genMTCSync = mtcSync->isChecked(); ! // genMCSync = mcSync->isChecked(); ! // genMMC = midiMachineControl->isChecked(); mtcType = mtcSyncType->currentItem(); ! //extSyncFlag.setValue(syncMode->id(syncMode->selected())); ! extSyncFlag.setValue(extSyncCheckbox->isChecked()); mtcOffset.setH(mtcOffH->value()); *************** *** 113,119 **** mtcOffset.setSf(mtcOffSf->value()); ! acceptMC = acceptMCCheckbox->isChecked(); ! acceptMMC = acceptMMCCheckbox->isChecked(); ! acceptMTC = acceptMTCCheckbox->isChecked(); } --- 489,801 ---- mtcOffset.setSf(mtcOffSf->value()); ! // acceptMC = acceptMCCheckbox->isChecked(); ! // acceptMMC = acceptMMCCheckbox->isChecked(); ! // acceptMTC = acceptMTCCheckbox->isChecked(); ! ! MidiSyncLViewItem* lvi = (MidiSyncLViewItem*)devicesListView->firstChild(); ! while(lvi) ! { ! //MidiDevice* dev = lvi->device(); ! // Does the device really exist? ! //if(midiDevices.find(dev) != midiDevices.end()) ! // dev->syncInfo().copyParams(lvi->syncInfo()); ! int port = lvi->port(); ! if(port >= 0 && port < MIDI_PORTS) ! //midiPorts[port].syncInfo().copyParams(lvi->syncInfo()); ! lvi->copyToSyncInfo(midiPorts[port].syncInfo()); ! ! lvi = (MidiSyncLViewItem*)lvi->nextSibling(); ! } ! ! _dirty = false; ! if(applyButton->isEnabled()) ! applyButton->setEnabled(false); ! ! midiSeq->msgUpdatePollFd(); ! } ! ! //--------------------------------------------------------- ! // updateSyncInfoLV ! //--------------------------------------------------------- ! ! void MidiSyncConfig::updateSyncInfoLV() ! { ! devicesListView->clear(); ! for(int i = MIDI_PORTS-1; i >= 0; --i) ! { ! MidiPort* port = &midiPorts[i]; ! MidiDevice* dev = port->device(); ! QString s; ! s.setNum(i+1); ! MidiSyncLViewItem* lvi = new MidiSyncLViewItem(devicesListView); ! lvi->setPort(i); // setPort will copy parameters. ! //MidiSyncInfo& si = lvi->syncInfo(); ! //si.copyParams(port->syncInfo()); ! //lvi.copyFromSyncInfo(port->syncInfo()); ! MidiSyncInfo& portsi = port->syncInfo(); ! ! lvi->setText(DEVCOL_NO, s); ! ! if (dev) ! lvi->setText(DEVCOL_NAME, dev->name()); ! else ! lvi->setText(DEVCOL_NAME, tr("<none>")); ! ! if(i == curMidiSyncInPort) ! //lvi->setPixmap(DEVCOL_IN, si.MCSyncDetect() ? *record1_Icon : *dothIcon); ! lvi->setPixmap(DEVCOL_IN, portsi.MCSyncDetect() ? *record1_Icon : *dothIcon); ! else ! //lvi->setPixmap(DEVCOL_IN, si.MCSyncDetect() ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_IN, portsi.MCSyncDetect() ? *dotIcon : *dothIcon); ! ! //lvi->setPixmap(DEVCOL_TICKIN, si.tickDetect() ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_TICKIN, portsi.tickDetect() ? *dotIcon : *dothIcon); ! ! //lvi->setText(DEVCOL_RID, QString().setNum(si.idIn()) ); ! //lvi->setRenameEnabled(DEVCOL_RID, true); ! //lvi->setPixmap(DEVCOL_RCLK, si.MCIn() ? *dotIcon : *dothIcon); ! //lvi->setPixmap(DEVCOL_RMMC, si.MMCIn() ? *dotIcon : *dothIcon); ! //lvi->setPixmap(DEVCOL_RMTC, si.MTCIn() ? *dotIcon : *dothIcon); ! lvi->setText(DEVCOL_RID, QString().setNum(lvi->_idIn) ); ! lvi->setPixmap(DEVCOL_RCLK, lvi->_recMC ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_RMMC, lvi->_recMMC ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_RMTC, lvi->_recMTC ? *dotIcon : *dothIcon); ! ! //lvi->setText(DEVCOL_TID, QString().setNum(si.idOut()) ); ! //lvi->setRenameEnabled(DEVCOL_TID, true); ! //lvi->setPixmap(DEVCOL_TCLK, si.MCOut() ? *dotIcon : *dothIcon); ! //lvi->setPixmap(DEVCOL_TMMC, si.MMCOut() ? *dotIcon : *dothIcon); ! //lvi->setPixmap(DEVCOL_TMTC, si.MTCOut() ? *dotIcon : *dothIcon); ! lvi->setText(DEVCOL_TID, QString().setNum(lvi->_idOut) ); ! lvi->setPixmap(DEVCOL_TCLK, lvi->_sendMC ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_TMMC, lvi->_sendMMC ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_TMTC, lvi->_sendMTC ? *dotIcon : *dothIcon); ! ! devicesListView->insertItem(lvi); ! } ! ! /* ! for(iMidiDevice id = midiDevices.begin(); id != midiDevices.end(); ++id) ! { ! MidiDevice* dev = *id; ! ! //MidiPort* port = &midiPorts[i]; ! //MidiDevice* dev = port->device(); ! MidiSyncLViewItem* lvi = new MidiSyncLViewItem(devicesListView); ! //lvi->setPort(i); ! // setDevice will copy parameters. ! lvi->setDevice(dev); ! MidiSyncInfo& si = lvi->syncInfo(); ! //si.copyParams(dev->syncInfo()); ! ! lvi->setText(DEVCOL_NAME, dev->name()); ! ! lvi->setPixmap(DEVCOL_IN, si.MCSyncDetect() ? *dotIcon : *dothIcon); ! ! lvi->setText(DEVCOL_RID, QString().setNum(si.idIn()) ); ! lvi->setPixmap(DEVCOL_RCLK, si.MCIn() ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_RMMC, si.MMCIn() ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_RMTC, si.MTCIn() ? *dotIcon : *dothIcon); ! ! lvi->setText(DEVCOL_TID, QString().setNum(si.idOut()) ); ! lvi->setPixmap(DEVCOL_TCLK, si.MCOut() ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_TMMC, si.MMCOut() ? *dotIcon : *dothIcon); ! lvi->setPixmap(DEVCOL_TMTC, si.MTCOut() ? *dotIcon : *dothIcon); ! ! devicesListView->insertItem(lvi); ! } ! */ ! ! } ! ! ! //--------------------------------------------------------- ! // dlvClicked ! //--------------------------------------------------------- ! ! //void MidiSyncConfig::dlvClicked(QListViewItem* item, const QPoint&, int col) ! void MidiSyncConfig::dlvClicked(int /*button*/, QListViewItem* item, const QPoint&, int col) ! { ! if (item == 0) ! return; ! ! MidiSyncLViewItem* lvi = (MidiSyncLViewItem*)item; ! int no = lvi->port(); ! if (no < 0 || no >= MIDI_PORTS) ! return; ! //MidiDevice* dev = lvi->device(); ! // Does the device really exist? ! //if(midiDevices.find(dev) == midiDevices.end()) ! // return; ! ! //int n; ! //MidiPort* port = &midiPorts[no]; ! //MidiDevice* dev = port->device(); ! //int rwFlags = dev ? dev->rwFlags() : 0; ! //int openFlags = dev ? dev->openFlags() : 0; ! //MidiSyncInfo& si = lvi->syncInfo(); ! //MidiSyncInfo& portsi = midiPorts[no].syncInfo(); ! ! switch (col) ! { ! case DEVCOL_NO: ! break; ! case DEVCOL_NAME: ! break; ! case DEVCOL_IN: ! // If this is not the current midi sync in port, and sync in from this port is enabled, ! // and sync is in fact detected on this port, allow the user to force this port to now be the ! // current sync in port. ! //if(no != curMidiSyncInPort && si.MCIn() && midiPorts[no].syncInfo().MCSyncDetect()) ! if(no != curMidiSyncInPort && lvi->_recMC && midiPorts[no].syncInfo().MCSyncDetect()) ! { ! curMidiSyncInPort = no; ! lvi->setPixmap(DEVCOL_IN, *record1_Icon); ! } ! break; ! case DEVCOL_TICKIN: ! break; ! case DEVCOL_RID: ! break; ! case DEVCOL_RCLK: ! //si.setMCIn(si.MCIn() ? false : true); ! //lvi->setPixmap(DEVCOL_RCLK, si.MCIn() ? *dotIcon : *dothIcon); ! lvi->_recMC = (lvi->_recMC ? false : true); ! lvi->setPixmap(DEVCOL_RCLK, lvi->_recMC ? *dotIcon : *dothIcon); ! setDirty(); ! break; ! case DEVCOL_RMMC: ! //si.setMMCIn(si.MMCIn() ? false : true); ! //lvi->setPixmap(DEVCOL_RMMC, si.MMCIn() ? *dotIcon : *dothIcon); ! lvi->_recMMC = (lvi->_recMMC ? false : true); ! lvi->setPixmap(DEVCOL_RMMC, lvi->_recMMC ? *dotIcon : *dothIcon); ! setDirty(); ! break; ! case DEVCOL_RMTC: ! //si.setMTCIn(si.MTCIn() ? false : true); ! //lvi->setPixmap(DEVCOL_RMTC, si.MTCIn() ? *dotIcon : *dothIcon); ! lvi->_recMTC = (lvi->_recMTC ? false : true); ! lvi->setPixmap(DEVCOL_RMTC, lvi->_recMTC ? *dotIcon : *dothIcon); ! setDirty(); ! break; ! case DEVCOL_TID: ! break; ! case DEVCOL_TCLK: ! //si.setMCOut(si.MCOut() ? false : true); ! //lvi->setPixmap(DEVCOL_TCLK, si.MCOut() ? *dotIcon : *dothIcon); ! lvi->_sendMC = (lvi->_sendMC ? false : true); ! lvi->setPixmap(DEVCOL_TCLK, lvi->_sendMC ? *dotIcon : *dothIcon); ! setDirty(); ! break; ! case DEVCOL_TMMC: ! //si.setMMCOut(si.MMCOut() ? false : true); ! //lvi->setPixmap(DEVCOL_TMMC, si.MMCOut() ? *dotIcon : *dothIcon); ! lvi->_sendMMC = (lvi->_sendMMC ? false : true); ! lvi->setPixmap(DEVCOL_TMMC, lvi->_sendMMC ? *dotIcon : *dothIcon); ! setDirty(); ! break; ! case DEVCOL_TMTC: ! //si.setMTCOut(si.MTCOut() ? false : true); ! //lvi->setPixmap(DEVCOL_TMTC, si.MTCOut() ? *dotIcon : *dothIcon); ! lvi->_sendMTC = (lvi->_sendMTC ? false : true); ! lvi->setPixmap(DEVCOL_TMTC, lvi->_sendMTC ? *dotIcon : *dothIcon); ! setDirty(); ! break; } + //songChanged(-1); + } + + //--------------------------------------------------------- + // dlvDoubleClicked + //--------------------------------------------------------- + + void MidiSyncConfig::dlvDoubleClicked(QListViewItem* item, const QPoint&, int col) + { + if(!item) + return; + + MidiSyncLViewItem* lvi = (MidiSyncLViewItem*)item; + + //if(col == DEVCOL_RID) + // lvi->startRename(DEVCOL_RID); + //else + //if(col == DEVCOL_TID) + // lvi->startRename(DEVCOL_TID); + + bool ok = false; + if(col == DEVCOL_RID) + { + //int id = lvi->syncInfo().idIn(); + int id = lvi->_idIn; + int newid = QInputDialog::getInteger("Muse: Sync info" , "Enter new id number:", id, 0, 127, 1, &ok, this); + if(ok) + { + //lvi->syncInfo().setIdIn(newid); + lvi->_idIn = newid; + lvi->setText(DEVCOL_RID, QString().setNum(newid)); + } + } + else + if(col == DEVCOL_TID) + { + //int id = lvi->syncInfo().idOut(); + int id = lvi->_idOut; + int newid = QInputDialog::getInteger("Muse: Sync info" , "Enter new id number:", id, 0, 127, 1, &ok, this); + if(ok) + { + //lvi->syncInfo().setIdOut(newid); + lvi->_idOut = newid; + lvi->setText(DEVCOL_TID, QString().setNum(newid)); + } + } + + if(ok) + setDirty(); + } + + /* + //--------------------------------------------------------- + // renameOk + //--------------------------------------------------------- + //void MidiSyncConfig::renameOk(QListViewItem* item, int col) + void MidiSyncConfig::renameOk(QListViewItem* item, int col, const QString & text) + { + if(!item) + return; + + MidiSyncLViewItem* lvi = (MidiSyncLViewItem*)item; + QString t = text; + bool ok; + int id = text.toInt(&ok); + if(!ok) + { + lvi->setText(t); + return; + } + if(col == DEVCOL_RID) + { + //lvi->syncInfo().setIdIn(id); + lvi->_idIn = id; + setDirty(); + } + else + if(col == DEVCOL_TID) + { + //lvi->syncInfo().setIdOut(id); + lvi->_idOut = id; + setDirty(); + } + } + */ + + //--------------------------------------------------------- + // MidiSyncConfig::setDirty + //--------------------------------------------------------- + + void MidiSyncConfig::setDirty() + { + _dirty = true; + if(!applyButton->isEnabled()) + applyButton->setEnabled(true); + } Index: midisyncimpl.h =================================================================== RCS file: /cvsroot/lmuse/muse/muse/widgets/midisyncimpl.h,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.1.2.1 diff -C2 -d -r1.1.1.1 -r1.1.1.1.2.1 *** midisyncimpl.h 27 Oct 2003 18:54:52 -0000 1.1.1.1 --- midisyncimpl.h 28 Mar 2009 01:46:10 -0000 1.1.1.1.2.1 *************** *** 10,14 **** --- 10,97 ---- #define __MIDISYNCIMPL_H__ + #include <qwhatsthis.h> + #include <qlistview.h> + #include <qtooltip.h> + //#include <qheader.h> #include "midisync.h" + #include "sync.h" + + //class QWhatsThis; + //class QListView; + //class QListViewItem; + class QHeader; + class QToolTip; + //class MidiDevice; + + //---------------------------------------------------------- + // MSyncHeaderTip + //---------------------------------------------------------- + + class MSyncHeaderTip : public QToolTip { + + public: + MSyncHeaderTip(QWidget * parent) : QToolTip(parent) {} + virtual ~MSyncHeaderTip() {} + protected: + void maybeTip(const QPoint &); + }; + + //--------------------------------------------------------- + // MSyncWhatsThis + //--------------------------------------------------------- + + class MSyncWhatsThis : public QWhatsThis { + QHeader* header; + + protected: + QString text(const QPoint&); + + public: + MSyncWhatsThis(QWidget* parent, QHeader* h) : QWhatsThis(parent) { + header = h; + } + }; + + class MidiSyncLViewItem : public QListViewItem + { + //MidiSyncInfo _syncInfo; + //MidiDevice* _device; + int _port; + + //protected: + //int _port; + + public: + MidiSyncLViewItem(QListView* parent) + : QListViewItem(parent) { _port = -1; } + //: QListViewItem(parent) { _device = 0; } + + //MidiSyncLViewItem(QListView* parent, QListViewItem* after) + // : QListViewItem(parent, after) { _port = -1; } + + //virtual QString text(int column) const; + //virtual unsigned tick() = 0; + + //int _port; + + int _idOut; + int _idIn; + + bool _sendMC; + bool _sendMMC; + bool _sendMTC; + bool _recMC; + bool _recMMC; + bool _recMTC; + + int port() const { return _port; } + void setPort(int port); + //MidiDevice* device() const { return _device; } + //void setDevice(MidiDevice* d); + + //MidiSyncInfo& syncInfo() { return _syncInfo; } + void copyFromSyncInfo(const MidiSyncInfo &sp); + void copyToSyncInfo(MidiSyncInfo &sp); + }; //--------------------------------------------------------- *************** *** 18,31 **** class MidiSyncConfig : public MidiSyncConfigBase { Q_OBJECT private slots: ! void syncChanged(int); void ok(); void cancel(); void apply(); public: MidiSyncConfig(QWidget* parent=0, const char* name=0); ! MidiSyncConfig(); }; --- 101,135 ---- class MidiSyncConfig : public MidiSyncConfigBase { Q_OBJECT + MSyncHeaderTip* _synctooltip; + bool inHeartBeat; + bool _dirty; + + void updateSyncInfoLV(); + virtual void closeEvent(QCloseEvent*); + private slots: ! void syncChanged(); void ok(); void cancel(); void apply(); + //void dlvClicked(QListViewItem*, const QPoint&, int); + void dlvClicked(int, QListViewItem*, const QPoint&, int); + void dlvDoubleClicked(QListViewItem*, const QPoint&, int); + //void renameOk(QListViewItem*, int, const QString&); + void songChanged(int); + + protected slots: + virtual void heartBeat(); + + //signals: + // void deleted(unsigned long); public: MidiSyncConfig(QWidget* parent=0, const char* name=0); ! //MidiSyncConfig(); ! ~MidiSyncConfig(); ! virtual void show(); ! void setDirty(); }; Index: genset.cpp =================================================================== RCS file: /cvsroot/lmuse/muse/muse/widgets/genset.cpp,v retrieving revision 1.7.2.3 retrieving revision 1.7.2.4 diff -C2 -d -r1.7.2.3 -r1.7.2.4 *** genset.cpp 13 Mar 2009 02:29:50 -0000 1.7.2.3 --- genset.cpp 28 Mar 2009 01:46:10 -0000 1.7.2.4 *************** *** 22,26 **** static int rtcResolutions[] = { ! 1024, 2048, 4096, 8192 }; static int divisions[] = { --- 22,26 ---- static int rtcResolutions[] = { ! 1024, 2048, 4096, 8192, 16384, 32768 }; static int divisions[] = { Index: gensetbase.ui =================================================================== RCS file: /cvsroot/lmuse/muse/muse/widgets/gensetbase.ui,v retrieving revision 1.8.2.3 retrieving revision 1.8.2.4 diff -C2 -d -r1.8.2.3 -r1.8.2.4 *** gensetbase.ui 13 Mar 2009 02:29:50 -0000 1.8.2.3 --- gensetbase.ui 28 Mar 2009 01:46:10 -0000 1.8.2.4 *************** *** 748,752 **** <item> <property name="text"> ! <string>8172</string> </property> </item> --- 748,762 ---- <item> <property name="text"> ! <string>8192</string> ! </property> ! </item> ! <item> ! <property name="text"> ! <string>16384</string> ! </property> ! </item> ! <item> ! <property name="text"> ! <string>32768</string> </property> </item> Index: mtrackinfobase.ui =================================================================== RCS file: /cvsroot/lmuse/muse/muse/widgets/mtrackinfobase.ui,v retrieving revision 1.11.2.3 retrieving revision 1.11.2.4 diff -C2 -d -r1.11.2.3 -r1.11.2.4 *** mtrackinfobase.ui 9 Mar 2009 02:05:18 -0000 1.11.2.3 --- mtrackinfobase.ui 28 Mar 2009 01:46:10 -0000 1.11.2.4 *************** *** 468,475 **** </property> <property name="text"> ! <string>???</string> </property> <property name="toolTip" stdset="0"> ! <string>select instrument patch</string> </property> </widget> --- 468,475 ---- </property> <property name="text"> ! <string><unknown></string> </property> <property name="toolTip" stdset="0"> ! <string>Select instrument patch</string> </property> </widget> *************** *** 514,525 **** </property> <property name="toolTip" stdset="0"> ! <string>add all settings to song</string> </property> </widget> </hbox> </widget> ! <widget class="SpinBox" row="17" column="0"> <property name="name"> ! <cstring>iProgram</cstring> </property> <property name="sizePolicy"> --- 514,525 ---- </property> <property name="toolTip" stdset="0"> ! <string>Add all settings to song</string> </property> </widget> </hbox> </widget> ! <widget class="SpinBox" row="15" column="0"> <property name="name"> ! <cstring>iHBank</cstring> </property> <property name="sizePolicy"> *************** *** 544,553 **** </property> <property name="toolTip" stdset="0"> ! <string>Program. Double-click on/off.</string> </property> </widget> ! <widget class="SpinBox" row="16" column="0"> <property name="name"> ! <cstring>iLBank</cstring> </property> <property name="sizePolicy"> --- 544,553 ---- </property> <property name="toolTip" stdset="0"> ! <string>Bank Select MSB. Double-click on/off.</string> </property> </widget> ! <widget class="QLabel" row="15" column="1"> <property name="name"> ! <cstring>TextLabel4</cstring> </property> <property name="sizePolicy"> *************** *** 559,581 **** </sizepolicy> </property> ! <property name="specialValueText"> ! <string>off</string> ! </property> ! <property name="maxValue"> ! <number>128</number> ! </property> ! <property name="minValue"> ! <number>0</number> ! </property> ! <property name="value"> ! <number>0</number> ! </property> ! <property name="toolTip" stdset="0"> ! <string>Bank Select LSB. Double-click on/off.</string> </property> </widget> ! <widget class="SpinBox" row="18" column="0"> <property name="name"> ! <cstring>iLautst</cstring> </property> <property name="sizePolicy"> --- 559,569 ---- </sizepolicy> </property> ! <property name="text"> ! <string>H-Bank</string> </property> </widget> ! <widget class="SpinBox" row="16" column="0"> <property name="name"> ! <cstring>iLBank</cstring> </property> <property name="sizePolicy"> *************** *** 591,609 **** </property> <property name="maxValue"> ! <number>127</number> </property> <property name="minValue"> ! <number>-1</number> </property> <property name="value"> ! <number>-1</number> </property> <property name="toolTip" stdset="0"> ! <string>Volume. Double-click on/off.</string> </property> </widget> ! <widget class="SpinBox" row="15" column="0"> <property name="name"> ! <cstring>iHBank</cstring> </property> <property name="sizePolicy"> --- 579,597 ---- </property> <property name="maxValue"> ! <number>128</number> </property> <property name="minValue"> ! <number>0</number> </property> <property name="value"> ! <number>0</number> </property> <property name="toolTip" stdset="0"> ! <string>Bank Select LSB. Double-click on/off.</string> </property> </widget> ! <widget class="QLabel" row="16" column="1"> <property name="name"> ! <cstring>TextLabel5</cstring> </property> <property name="sizePolicy"> *************** *** 615,637 **** </sizepolicy> </property> ! <property name="specialValueText"> ! <string>off</string> ! </property> ! <property name="maxValue"> ! <number>128</number> ! </property> ! <property name="minValue"> <number>0</number> </property> ! <property name="value"> <number>0</number> </property> ! <property name="toolTip" stdset="0"> ! <string>Bank Select MSB. Double-click on/off.</string> </property> </widget> ! <widget class="QLabel" row="15" column="1"> <property name="name"> ! <cstring>TextLabel4</cstring> </property> <property name="sizePolicy"> --- 603,622 ---- </sizepolicy> </property> ! <property name="lineWidth"> <number>0</number> </property> ! <property name="margin"> <number>0</number> </property> ! <property name="text"> ! <string>L-Bank</string> ! </property> ! <property name="indent"> ! <number>2</number> </property> </widget> ! <widget class="SpinBox" row="17" column="0"> <property name="name"> ! <cstring>iProgram</cstring> </property> <property name="sizePolicy"> *************** *** 643,673 **** </sizepolicy> </property> ! <property name="text"> ! <string>H-Bank</string> ! </property> ! </widget> ! <widget class="QLabel" row="16" column="1"> ! <property name="name"> ! <cstring>TextLabel5</cstring> </property> ! <property name="sizePolicy"> ! <sizepolicy> ! <hsizetype>5</hsizetype> ! <vsizetype>0</vsizetype> ! <horstretch>0</horstretch> ! <verstretch>0</verstretch> ! </sizepolicy> </property> ! <property name="lineWidth"> <number>0</number> </property> ! <property name="margin"> <number>0</number> </property> ! <property name="text"> ! <string>L-Bank</string> ! </property> ! <property name="indent"> ! <number>2</number> </property> </widget> --- 628,645 ---- </sizepolicy> </property> ! <property name="specialValueText"> ! <string>off</string> </property> ! <property name="maxValue"> ! <number>128</number> </property> ! <property name="minValue"> <number>0</number> </property> ! <property name="value"> <number>0</number> </property> ! <property name="toolTip" stdset="0"> ! <string>Program. Double-click on/off.</string> </property> </widget> *************** *** 688,711 **** </property> <property name="toolTip" stdset="0"> ! <string>add bank + prog setting to song</string> </property> </widget> ! <widget class="QToolButton" row="19" column="1"> <property name="name"> ! <cstring>panRecButton</cstring> </property> <property name="sizePolicy"> <sizepolicy> ! <hsizetype>2</hsizetype> ! <vsizetype>5</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> ! <property name="text"> ! <string>Pan</string> </property> <property name="toolTip" stdset="0"> ! <string>add pan setting to song</string> </property> </widget> --- 660,692 ---- </property> <property name="toolTip" stdset="0"> ! <string>Add bank + prog settings to song</string> </property> </widget> ! <widget class="SpinBox" row="18" column="0"> <property name="name"> ! <cstring>iLautst</cstring> </property> <property name="sizePolicy"> <sizepolicy> ! <hsizetype>5</hsizetype> ! <vsizetype>0</vsizetype> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> ! <property name="specialValueText"> ! <string>off</string> ! </property> ! <property name="maxValue"> ! <number>127</number> ! </property> ! <property name="minValue"> ! <number>-1</number> ! </property> ! <property name="value"> ! <number>-1</number> </property> <property name="toolTip" stdset="0"> ! <string>Volume. Double-click on/off.</string> </property> </widget> *************** *** 726,730 **** </property> <property name="toolTip" stdset="0"> ! <string>add vol setting to song</string> </property> </widget> --- 707,711 ---- </property> <property name="toolTip" stdset="0"> ! <string>Add vol setting to song</string> </property> </widget> *************** *** 760,763 **** --- 741,763 ---- </property> </widget> + <widget class="QToolButton" row="19" column="1"> + <property name="name"> + <cstring>panRecButton</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>2</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Pan</string> + </property> + <property name="toolTip" stdset="0"> + <string>Add pan setting to song</string> + </property> + </widget> <spacer row="20" column="0" rowspan="1" colspan="2"> <property name="name"> *************** *** 814,817 **** --- 814,819 ---- <tabstop>iKompr</tabstop> <tabstop>iPatch</tabstop> + <tabstop>iHBank</tabstop> + <tabstop>iLBank</tabstop> <tabstop>iProgram</tabstop> <tabstop>iLautst</tabstop> Index: midisync.ui =================================================================== RCS file: /cvsroot/lmuse/muse/muse/widgets/midisync.ui,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** midisync.ui 11 Jul 2004 16:33:01 -0000 1.2 --- midisync.ui 28 Mar 2009 01:46:10 -0000 1.2.2.1 *************** *** 1,3 **** ! <!DOCTYPE UI><UI version="3.2" stdsetdef="1"> <class>MidiSyncConfigBase</class> <comment>midi sync --- 1,3 ---- ! <!DOCTYPE UI><UI version="3.3" stdsetdef="1"> <class>MidiSyncConfigBase</class> <comment>midi sync *************** *** 12,17 **** <x>0</x> <y>0</y> ! <width>524</width> ! <height>410</height> </rect> </property> --- 12,17 ---- <x>0</x> <y>0</y> ! <width>574</width> ! <height>419</height> </rect> </property> *************** *** 23,379 **** <cstring>unnamed</cstring> </property> ! <property name="margin"> ! <number>11</number> ! </property> ! <property name="spacing"> ! <number>6</number> ! </property> ! <widget class="QButtonGroup" row="0" column="0" rowspan="1" colspan="2"> ! <property name="name"> ! <cstring>syncMode</cstring> ! </property> ! <property name="margin"> ! <number>0</number> ! </property> ! <property name="midLineWidth"> ! <number>0</number> ! </property> ! <property name="title"> ! <string>Sync Mode</string> ! </property> ! <property name="flat"> ! <bool>false</bool> ! </property> ! <property name="exclusive"> ! <bool>true</bool> ! </property> ! <hbox> ! <property name="name"> ! <cstring>unnamed</cstring> ! </property> ! <widget class="QRadioButton"> ! <property name="name"> ! <cstring>radioButton1</cstring> ! </property> ! <property name="text"> ! <string>Master</string> ! </property> ! <property name="buttonGroupId"> ! <number>0</number> ! </property> ! <property name="toolTip" stdset="0"> ! <string></string> ! </property> ! </widget> ! <widget class="QRadioButton"> ! <property name="name"> ! <cstring>radioButton2</cstring> ! </property> ! <property name="enabled"> ! <bool>true</bool> ! </property> ! <property name="text"> ! <string>Slave</string> ! </property> ! <property name="buttonGroupId"> ! <number>1</number> ! </property> ! </widget> ! </hbox> ! </widget> ! <widget class="QButtonGroup" row="1" column="0"> ! <property name="name"> ! <cstring>syncSrc</cstring> ! </property> ! <property name="title"> ! <string>Sync Source</string> ! </property> ! <property name="exclusive"> ! <bool>false</bool> ! </property> ! <property name="radioButtonExclusive"> ! <bool>false</bool> ! </property> ! <vbox> ! <property name="name"> ! <cstring>unnamed</cstring> ! </property> ! <property name="margin"> ! <number>11</number> ! </property> ! <property name="spacing"> ! <number>6</number> ! </property> ! <widget class="QCheckBox"> ! <property name="name"> ! <cstring>acceptMTCCheckbox</cstring> ! </property> ! <property name="enabled"> ! <bool>false</bool> ! </property> ! <property name="text"> ! <string>accept MTC</string> ! </property> ! </widget> ! <widget class="QCheckBox"> ! <property name="name"> ! <cstring>acceptMCCheckbox</cstring> ! </property> ! <property name="enabled"> ! <bool>false</bool> ! </property> ! <property name="text"> ! <string>accept Midi Clock</string> ! </property> ! </widget> ! <widget class="QCheckBox"> ! <property name="name"> ! <cstring>acceptMMCCheckbox</cstring> ! </property> ! <property name="enabled"> ! <bool>false</bool> ! </property> ! <property name="text"> ! <string>accept MMC</string> ! </property> ! </widget> ! <widget class="QLayoutWidget"> ! <property name="name"> ! <cstring>layout2</cstring> ! </property> ! <hbox> ! <property name="name"> ! <cstring>unnamed</cstring> ! </property> ! <widget class="QLabel"> ! <property name="name"> ! <cstring>TextLabel7_2</cstring> ! </property> ! <property name="sizePolicy"> ! <sizepolicy> ! <hsizetype>0</hsizetype> ! <vsizetype>1</vsizetype> ! <horstretch>0</horstretch> ! <verstretch>0</verstretch> ! </sizepolicy> ! </property> ! <property name="text"> ! <string>Id:</string> ! </property> ! </widget> ! <widget class="QSpinBox"> ! <property name="name"> ! <cstring>srcDevId</cstring> ! </property> ! <property name="maxValue"> ... [truncated message content] |