--- qsampler/trunk/src/qsamplerChannelForm.ui.h 2005/03/22 12:55:29 484 +++ qsampler/trunk/src/qsamplerChannelForm.ui.h 2005/03/31 14:17:19 487 @@ -26,6 +26,8 @@ #include #include +#include "qsamplerDeviceForm.h" + #include "config.h" @@ -41,6 +43,8 @@ m_midiDevices.setAutoDelete(true); m_audioDevices.setAutoDelete(true); + m_pDeviceForm = NULL; + // Try to restore normal window positioning. adjustSize(); } @@ -49,6 +53,9 @@ // Kind of destructor. void qsamplerChannelForm::destroy (void) { + if (m_pDeviceForm) + delete m_pDeviceForm; + m_pDeviceForm = NULL; } @@ -311,6 +318,29 @@ optionsChanged(); } +// Show device options dialog. +void qsamplerChannelForm::setupDevice ( qsamplerDevice *pDevice ) +{ + if (pDevice == NULL) + return; + + // Create the device form if not already... + if (m_pDeviceForm == NULL) { + m_pDeviceForm = new qsamplerDeviceForm(this, 0, + WType_Dialog | WShowModal); + m_pDeviceForm->setMainForm(m_pChannel->mainForm()); + m_pDeviceForm->move(QDialog::pos() + QPoint(32, 32)); + } + + // Refresh the device form with selected data. + if (m_pDeviceForm) { + m_pDeviceForm->setClient(m_pChannel->client()); // <-- refreshDevices(). + m_pDeviceForm->setDevice(pDevice->deviceType(), + pDevice->deviceID()); + m_pDeviceForm->show(); + } +} + // Refresh MIDI device options. void qsamplerChannelForm::selectMidiDriver ( const QString& sMidiDriver ) @@ -339,6 +369,7 @@ MidiDeviceComboBox->insertItem(tr("(New MIDI device)")); MidiDeviceTextLabel->setEnabled(bEnabled); MidiDeviceComboBox->setEnabled(bEnabled); + MidiDevicePushButton->setEnabled(bEnabled); optionsChanged(); } @@ -359,6 +390,13 @@ } +// MIDI device options. +void qsamplerChannelForm::setupMidiDevice (void) +{ + setupDevice(m_midiDevices.at(MidiDeviceComboBox->currentItem())); +} + + // Refresh Audio device options. void qsamplerChannelForm::selectAudioDriver ( const QString& sAudioDriver ) { @@ -386,6 +424,7 @@ AudioDeviceComboBox->insertItem(tr("(New Audio device)")); AudioDeviceTextLabel->setEnabled(bEnabled); AudioDeviceComboBox->setEnabled(bEnabled); + AudioDevicePushButton->setEnabled(bEnabled); optionsChanged(); } @@ -401,6 +440,13 @@ } +// Audio device options. +void qsamplerChannelForm::setupAudioDevice (void) +{ + setupDevice(m_audioDevices.at(AudioDeviceComboBox->currentItem())); +} + + // Dirty up settings. void qsamplerChannelForm::optionsChanged (void) {