本文整理汇总了C++中MainForm::options方法的典型用法代码示例。如果您正苦于以下问题:C++ MainForm::options方法的具体用法?C++ MainForm::options怎么用?C++ MainForm::options使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MainForm
的用法示例。
在下文中一共展示了MainForm::options方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openInstrumentFile
// Browse and open an instrument file.
void ChannelForm::openInstrumentFile (void)
{
MainForm *pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
if (pMainForm->client() == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
// FIXME: the instrument file filters should be restricted,
// depending on the current engine.
QString sInstrumentFile = QFileDialog::getOpenFileName(this,
QSAMPLER_TITLE ": " + tr("Instrument files"), // Caption.
pOptions->sInstrumentDir, // Start here.
tr("Instrument files") + " (*.gig *.dls)" // Filter (GIG and DLS files)
);
if (sInstrumentFile.isEmpty())
return;
m_ui.InstrumentFileComboBox->setEditText(sInstrumentFile);
updateInstrumentName();
}
示例2: openInstrumentFile
// Browse and open an instrument file.
void InstrumentForm::openInstrumentFile (void)
{
MainForm* pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
// FIXME: the instrument file filters should be restricted,
// depending on the current engine.
const QString& sEngineName = m_ui.EngineNameComboBox->currentText().toUpper();
QStringList filters;
if (sEngineName.contains("GIG"))
filters << tr("GIG Instrument files") + " (*.gig *.dls)";
if (sEngineName.contains("SFZ"))
filters << tr("SFZ Instrument files") + " (*.sfz)";
if (sEngineName.contains("SF2"))
filters << tr("SF2 Instrument files") + " (*.sf2)";
const QString& filter = filters.join(";;");
QString sInstrumentFile = QFileDialog::getOpenFileName(this,
QSAMPLER_TITLE ": " + tr("Instrument files"), // Caption.
pOptions->sInstrumentDir, // Start here.
filter // File filter.
);
if (sInstrumentFile.isEmpty())
return;
m_ui.InstrumentFileComboBox->setEditText(sInstrumentFile);
updateInstrumentName();
}
示例3: accept
// Accept settings (OK button slot).
void InstrumentForm::accept (void)
{
if (m_pInstrument == NULL)
return;
MainForm* pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
if (pMainForm->client() == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
if (m_iDirtyCount > 0) {
m_pInstrument->setMap(m_ui.MapComboBox->currentIndex());
m_pInstrument->setBank(m_ui.BankSpinBox->value());
m_pInstrument->setProg(m_ui.ProgSpinBox->value() - 1);
m_pInstrument->setName(m_ui.NameLineEdit->text());
m_pInstrument->setEngineName(m_ui.EngineNameComboBox->currentText());
m_pInstrument->setInstrumentFile(m_ui.InstrumentFileComboBox->currentText());
m_pInstrument->setInstrumentNr(m_ui.InstrumentNrComboBox->currentIndex());
m_pInstrument->setVolume(0.01f * float(m_ui.VolumeSpinBox->value()));
m_pInstrument->setLoadMode(m_ui.LoadModeComboBox->currentIndex());
}
// Save default engine name, instrument directory and history...
pOptions->sInstrumentDir = QFileInfo(
m_ui.InstrumentFileComboBox->currentText()).dir().absolutePath();
pOptions->sEngineName = m_ui.EngineNameComboBox->currentText();
pOptions->iMidiMap = m_ui.MapComboBox->currentIndex();
pOptions->iMidiBank = m_ui.BankSpinBox->value();
pOptions->iMidiProg = m_ui.ProgSpinBox->value();
pOptions->iVolume = m_ui.VolumeSpinBox->value();
pOptions->iLoadMode = m_ui.LoadModeComboBox->currentIndex();
pOptions->saveComboBoxHistory(m_ui.InstrumentFileComboBox);
// Just go with dialog acceptance.
QDialog::accept();
}
示例4: updateInstrumentName
// Refresh the actual instrument name.
void InstrumentForm::updateInstrumentName (void)
{
MainForm* pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
// TODO: this better idea would be to use libgig
// to retrieve the REAL instrument names.
m_ui.InstrumentNrComboBox->clear();
m_ui.InstrumentNrComboBox->insertItems(0,
Channel::getInstrumentList(
m_ui.InstrumentFileComboBox->currentText(),
pOptions->bInstrumentNames)
);
instrumentNrChanged();
}
示例5: onDevicesChanged
void DeviceStatusForm::onDevicesChanged (void)
{
MainForm* pMainForm = MainForm::getInstance();
if (pMainForm && pMainForm->client()) {
std::set<int> deviceIDs
= Device::getDeviceIDs(pMainForm->client(), Device::Midi);
// hide and delete status forms whose device has been destroyed
std::map<int, DeviceStatusForm *>::iterator iter = g_instances.begin();
for ( ; iter != g_instances.end(); ++iter) {
if (deviceIDs.find(iter->first) == deviceIDs.end()) {
iter->second->hide();
delete iter->second;
g_instances.erase(iter);
}
}
// create status forms for new devices
std::set<int>::iterator it = deviceIDs.begin();
for ( ; it != deviceIDs.end(); ++it) {
if (g_instances.find(*it) == g_instances.end()) {
// What style do we create these forms?
Qt::WindowFlags wflags = Qt::Window
| Qt::CustomizeWindowHint
| Qt::WindowTitleHint
| Qt::WindowSystemMenuHint
| Qt::WindowMinMaxButtonsHint
| Qt::WindowCloseButtonHint;
Options *pOptions = pMainForm->options();
if (pOptions && pOptions->bKeepOnTop)
wflags |= Qt::Tool;
// Create the form, giving it the device id.
DeviceStatusForm *pStatusForm
= new DeviceStatusForm(*it, NULL, wflags);
g_instances[*it] = pStatusForm;
}
}
}
}
示例6: accept
// Accept settings (OK button slot).
void ChannelForm::accept (void)
{
if (m_pChannel == NULL)
return;
MainForm *pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
if (pMainForm->client() == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
// Flush any pending editing...
//m_ui.AudioRoutingTable->flush();
// We'll go for it!
if (m_iDirtyCount > 0) {
int iErrors = 0;
// Are we a new channel?
if (!m_pChannel->addChannel())
iErrors++;
// Accept Audio driver or device selection...
if (m_audioDevices.isEmpty()) {
if (!m_pChannel->setAudioDriver(m_ui.AudioDriverComboBox->currentText()))
iErrors++;
} else {
Device *pDevice = NULL;
int iAudioItem = m_ui.AudioDeviceComboBox->currentIndex();
if (iAudioItem >= 0 && iAudioItem < m_audioDevices.count())
pDevice = m_audioDevices.at(iAudioItem);
ChannelRoutingMap routingMap = m_routingModel.routingMap();
if (pDevice == NULL)
iErrors++;
else if (!m_pChannel->setAudioDevice(pDevice->deviceID()))
iErrors++;
else if (!routingMap.isEmpty()) {
// Set the audio route changes...
ChannelRoutingMap::ConstIterator iter;
for (iter = routingMap.begin();
iter != routingMap.end(); ++iter) {
if (!m_pChannel->setAudioChannel(iter.key(), iter.value()))
iErrors++;
}
}
}
// Accept MIDI driver or device selection...
if (m_midiDevices.isEmpty()) {
if (!m_pChannel->setMidiDriver(m_ui.MidiDriverComboBox->currentText()))
iErrors++;
} else {
Device *pDevice = NULL;
int iMidiItem = m_ui.MidiDeviceComboBox->currentIndex();
if (iMidiItem >= 0 && iMidiItem < m_midiDevices.count())
pDevice = m_midiDevices.at(iMidiItem);
if (pDevice == NULL)
iErrors++;
else if (!m_pChannel->setMidiDevice(pDevice->deviceID()))
iErrors++;
}
// MIDI input port number...
if (!m_pChannel->setMidiPort(m_ui.MidiPortSpinBox->value()))
iErrors++;
// MIDI input channel...
if (!m_pChannel->setMidiChannel(m_ui.MidiChannelComboBox->currentIndex()))
iErrors++;
// Engine name...
if (!m_pChannel->loadEngine(m_ui.EngineNameComboBox->currentText()))
iErrors++;
// Instrument file and index...
const QString& sPath = m_ui.InstrumentFileComboBox->currentText();
if (!sPath.isEmpty() && QFileInfo(sPath).exists()) {
if (!m_pChannel->loadInstrument(sPath, m_ui.InstrumentNrComboBox->currentIndex()))
iErrors++;
}
// MIDI intrument map...
if (!m_pChannel->setMidiMap(m_ui.MidiMapComboBox->currentIndex()))
iErrors++;
// Show error messages?
if (iErrors > 0) {
m_pChannel->appendMessagesError(
tr("Some channel settings could not be set.\n\nSorry."));
}
}
// Save default engine name, instrument directory and history...
pOptions->sInstrumentDir = QFileInfo(
m_ui.InstrumentFileComboBox->currentText()).dir().absolutePath();
pOptions->sEngineName = m_ui.EngineNameComboBox->currentText();
pOptions->sAudioDriver = m_ui.AudioDriverComboBox->currentText();
pOptions->sMidiDriver = m_ui.MidiDriverComboBox->currentText();
pOptions->iMidiMap = m_ui.MidiMapComboBox->currentIndex();
pOptions->saveComboBoxHistory(m_ui.InstrumentFileComboBox);
// Just go with dialog acceptance.
QDialog::accept();
}
示例7: setup
// Channel dialog setup formal initializer.
void ChannelForm::setup ( Channel *pChannel )
{
m_pChannel = pChannel;
m_iDirtySetup = 0;
m_iDirtyCount = 0;
if (m_pChannel == NULL)
return;
// It can be a brand new channel, remember?
bool bNew = (m_pChannel->channelID() < 0);
setWindowTitle(QSAMPLER_TITLE ": " + m_pChannel->channelName());
// Check if we're up and connected.
MainForm *pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
if (pMainForm->client() == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
// Avoid nested changes.
m_iDirtySetup++;
// Load combo box history...
pOptions->loadComboBoxHistory(m_ui.InstrumentFileComboBox);
// Populate Engines list.
const char **ppszEngines = ::lscp_list_available_engines(pMainForm->client());
if (ppszEngines) {
m_ui.EngineNameComboBox->clear();
for (int iEngine = 0; ppszEngines[iEngine]; iEngine++)
m_ui.EngineNameComboBox->addItem(QString(ppszEngines[iEngine]));
}
else m_pChannel->appendMessagesClient("lscp_list_available_engines");
// Populate Audio output type list.
m_ui.AudioDriverComboBox->clear();
m_ui.AudioDriverComboBox->insertItems(0,
Device::getDrivers(pMainForm->client(), Device::Audio));
// Populate MIDI input type list.
m_ui.MidiDriverComboBox->clear();
m_ui.MidiDriverComboBox->insertItems(0,
Device::getDrivers(pMainForm->client(), Device::Midi));
// Populate Maps list.
m_ui.MidiMapComboBox->clear();
m_ui.MidiMapComboBox->insertItems(0,
Instrument::getMapNames());
// Read proper channel information,
// and populate the channel form fields.
// Engine name...
QString sEngineName = pChannel->engineName();
if (sEngineName.isEmpty() || bNew)
sEngineName = pOptions->sEngineName;
if (sEngineName.isEmpty())
sEngineName = Channel::noEngineName();
if (m_ui.EngineNameComboBox->findText(sEngineName,
Qt::MatchExactly | Qt::MatchCaseSensitive) < 0) {
m_ui.EngineNameComboBox->addItem(sEngineName);
}
m_ui.EngineNameComboBox->setCurrentIndex(
m_ui.EngineNameComboBox->findText(sEngineName,
Qt::MatchExactly | Qt::MatchCaseSensitive));
// Instrument filename and index...
QString sInstrumentFile = pChannel->instrumentFile();
if (sInstrumentFile.isEmpty())
sInstrumentFile = Channel::noInstrumentName();
m_ui.InstrumentFileComboBox->setEditText(sInstrumentFile);
m_ui.InstrumentNrComboBox->clear();
m_ui.InstrumentNrComboBox->insertItems(0,
Channel::getInstrumentList(sInstrumentFile,
pOptions->bInstrumentNames));
int iInstrumentNr = pChannel->instrumentNr();
if (iInstrumentNr < 0)
iInstrumentNr = 0;
m_ui.InstrumentNrComboBox->setCurrentIndex(iInstrumentNr);
// MIDI input device...
Device midiDevice(Device::Midi, m_pChannel->midiDevice());
// MIDI input driver...
QString sMidiDriver = midiDevice.driverName();
if (sMidiDriver.isEmpty() || bNew)
sMidiDriver = pOptions->sMidiDriver.toUpper();
if (!sMidiDriver.isEmpty()) {
if (m_ui.MidiDriverComboBox->findText(sMidiDriver,
Qt::MatchExactly | Qt::MatchCaseSensitive) < 0) {
m_ui.MidiDriverComboBox->insertItem(0, sMidiDriver);
}
m_ui.MidiDriverComboBox->setItemText(
m_ui.MidiDriverComboBox->currentIndex(),
//.........这里部分代码省略.........
示例8: setup
// Channel dialog setup formal initializer.
void InstrumentForm::setup ( Instrument *pInstrument )
{
m_pInstrument = pInstrument;
m_iDirtySetup = 0;
m_iDirtyCount = 0;
m_iDirtyName = 0;
if (m_pInstrument == NULL)
return;
// Check if we're up and connected.
MainForm* pMainForm = MainForm::getInstance();
if (pMainForm == NULL)
return;
if (pMainForm->client() == NULL)
return;
Options *pOptions = pMainForm->options();
if (pOptions == NULL)
return;
// It can be a brand new channel, remember?
bool bNew = (m_pInstrument->bank() < 0 || m_pInstrument->prog() < 0);
if (!bNew) {
m_pInstrument->getInstrument();
m_iDirtyName++;
}
// Avoid nested changes.
m_iDirtySetup++;
// Load combo box history...
pOptions->loadComboBoxHistory(m_ui.InstrumentFileComboBox);
// Populate maps list.
m_ui.MapComboBox->clear();
m_ui.MapComboBox->insertItems(0, Instrument::getMapNames());
// Populate Engines list.
const char **ppszEngines
= ::lscp_list_available_engines(pMainForm->client());
if (ppszEngines) {
m_ui.EngineNameComboBox->clear();
for (int iEngine = 0; ppszEngines[iEngine]; iEngine++)
m_ui.EngineNameComboBox->addItem(ppszEngines[iEngine]);
}
else pMainForm->appendMessagesClient("lscp_list_available_engines");
// Read proper instrument information,
// and populate the instrument form fields.
// Instrument map name...
int iMap = (bNew ? pOptions->iMidiMap : m_pInstrument->map());
if (iMap < 0)
iMap = 0;
const QString& sMapName = Instrument::getMapName(iMap);
if (!sMapName.isEmpty()) {
m_ui.MapComboBox->setCurrentIndex(
m_ui.MapComboBox->findText(sMapName,
Qt::MatchExactly | Qt::MatchCaseSensitive));
}
// It might be no maps around...
bool bMapEnabled = (m_ui.MapComboBox->count() > 0);
m_ui.MapTextLabel->setEnabled(bMapEnabled);
m_ui.MapComboBox->setEnabled(bMapEnabled);
// Instrument bank/program...
int iBank = (bNew ? pOptions->iMidiBank : m_pInstrument->bank());
int iProg = (bNew ? pOptions->iMidiProg : m_pInstrument->prog()) + 1;
if (bNew && iProg > 128) {
iProg = 1;
iBank++;
}
m_ui.BankSpinBox->setValue(iBank);
m_ui.ProgSpinBox->setValue(iProg);
// Instrument name...
m_ui.NameLineEdit->setText(m_pInstrument->name());
// Engine name...
QString sEngineName = m_pInstrument->engineName();
if (sEngineName.isEmpty() || bNew)
sEngineName = pOptions->sEngineName;
if (sEngineName.isEmpty())
sEngineName = Channel::noEngineName();
if (m_ui.EngineNameComboBox->findText(sEngineName,
Qt::MatchExactly | Qt::MatchCaseSensitive) < 0) {
m_ui.EngineNameComboBox->addItem(sEngineName);
}
m_ui.EngineNameComboBox->setCurrentIndex(
m_ui.EngineNameComboBox->findText(sEngineName,
Qt::MatchExactly | Qt::MatchCaseSensitive));
// Instrument filename and index...
QString sInstrumentFile = m_pInstrument->instrumentFile();
if (sInstrumentFile.isEmpty())
sInstrumentFile = Channel::noInstrumentName();
//.........这里部分代码省略.........