/[svn]/qsampler/trunk/src/qsamplerChannelForm.ui.h
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerChannelForm.ui.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 430 by capela, Tue Mar 8 17:23:29 2005 UTC revision 452 by capela, Sun Mar 13 22:06:59 2005 UTC
# Line 26  Line 26 
26  #include <qfileinfo.h>  #include <qfileinfo.h>
27  #include <qlistbox.h>  #include <qlistbox.h>
28    
 #include "qsamplerDevice.h"  
   
29  #include "config.h"  #include "config.h"
30    
31    
# Line 40  void qsamplerChannelForm::init (void) Line 38  void qsamplerChannelForm::init (void)
38      m_iDirtySetup = 0;      m_iDirtySetup = 0;
39      m_iDirtyCount = 0;      m_iDirtyCount = 0;
40    
41            m_midiDevices.setAutoDelete(true);
42            m_audioDevices.setAutoDelete(true);
43    
44      // Try to restore normal window positioning.      // Try to restore normal window positioning.
45      adjustSize();      adjustSize();
46  }  }
# Line 121  void qsamplerChannelForm::setup ( qsampl Line 122  void qsamplerChannelForm::setup ( qsampl
122                  qsamplerChannel::getInstrumentList(sInstrumentFile,                  qsamplerChannel::getInstrumentList(sInstrumentFile,
123                  pOptions->bInstrumentNames));                  pOptions->bInstrumentNames));
124      InstrumentNrComboBox->setCurrentItem(pChannel->instrumentNr());      InstrumentNrComboBox->setCurrentItem(pChannel->instrumentNr());
125        
126            // MIDI input device...
127            qsamplerDevice midiDevice(m_pChannel->client(),
128                    qsamplerDevice::Midi, m_pChannel->midiDevice());
129      // MIDI input driver...      // MIDI input driver...
130      QString sMidiDriver = pChannel->midiDriver();          QString sMidiDriver = midiDevice.driverName();
131      if (sMidiDriver.isEmpty() || bNew)          if (sMidiDriver.isEmpty() || bNew)
132          sMidiDriver = pOptions->sMidiDriver;                  sMidiDriver = pOptions->sMidiDriver;
133      if (!sMidiDriver.isEmpty()) {          if (!sMidiDriver.isEmpty()) {
134          if (MidiDriverComboBox->listBox()->findItem(sMidiDriver, Qt::ExactMatch) == NULL)                  if (MidiDriverComboBox->listBox()->findItem(sMidiDriver, Qt::ExactMatch) == NULL)
135              MidiDriverComboBox->insertItem(sMidiDriver);                          MidiDriverComboBox->insertItem(sMidiDriver);
136          MidiDriverComboBox->setCurrentText(sMidiDriver);                  MidiDriverComboBox->setCurrentText(sMidiDriver);
137      }          }
138            selectMidiDriver(sMidiDriver);
139            if (!bNew)
140                    MidiDeviceComboBox->setCurrentText(midiDevice.deviceName());
141      // MIDI input port...      // MIDI input port...
142      MidiPortSpinBox->setValue(pChannel->midiPort());      MidiPortSpinBox->setValue(pChannel->midiPort());
143      // MIDI input channel...      // MIDI input channel...
# Line 138  void qsamplerChannelForm::setup ( qsampl Line 146  void qsamplerChannelForm::setup ( qsampl
146      if (iMidiChannel < 0)      if (iMidiChannel < 0)
147          iMidiChannel = (::lscp_get_channels(m_pChannel->client()) % 16);          iMidiChannel = (::lscp_get_channels(m_pChannel->client()) % 16);
148      MidiChannelComboBox->setCurrentItem(iMidiChannel);      MidiChannelComboBox->setCurrentItem(iMidiChannel);
149      // Audio output driver...      
150      QString sAudioDriver = pChannel->audioDriver();          // Audio output device...
151      if (sAudioDriver.isEmpty() || bNew)          qsamplerDevice audioDevice(m_pChannel->client(),
152          sAudioDriver = pOptions->sAudioDriver;                  qsamplerDevice::Audio, m_pChannel->audioDevice());
153      if (!sAudioDriver.isEmpty()) {          // Audio output driver...
154          if (AudioDriverComboBox->listBox()->findItem(sAudioDriver, Qt::ExactMatch) == NULL)          QString sAudioDriver = audioDevice.driverName();
155              AudioDriverComboBox->insertItem(sAudioDriver);          if (sAudioDriver.isEmpty() || bNew)
156          AudioDriverComboBox->setCurrentText(sAudioDriver);                  sAudioDriver = pOptions->sAudioDriver;
157      }          if (!sAudioDriver.isEmpty()) {
158                    if (AudioDriverComboBox->listBox()->findItem(sAudioDriver, Qt::ExactMatch) == NULL)
159                            AudioDriverComboBox->insertItem(sAudioDriver);
160                    AudioDriverComboBox->setCurrentText(sAudioDriver);
161            }
162            selectAudioDriver(sAudioDriver);
163            if (!bNew)
164                    AudioDeviceComboBox->setCurrentText(audioDevice.deviceName());
165    
166          // As convenient, make it ready on stabilizeForm() for          // As convenient, make it ready on stabilizeForm() for
167          // prompt acceptance, if we got the minimum required...          // prompt acceptance, if we got the minimum required...
168          if (sEngineName != qsamplerChannel::noEngineName() &&          if (sEngineName != qsamplerChannel::noEngineName() &&
# Line 177  void qsamplerChannelForm::accept (void) Line 193  void qsamplerChannelForm::accept (void)
193          // Are we a new channel?          // Are we a new channel?
194          if (!m_pChannel->addChannel())          if (!m_pChannel->addChannel())
195              iErrors++;              iErrors++;
196          // Audio output driver type...                  // Accept Audio driver or device selection...
197          if (!m_pChannel->setAudioDriver(AudioDriverComboBox->currentText()))                  if (m_audioDevices.isEmpty()) {
198              iErrors++;                          if (!m_pChannel->setAudioDriver(AudioDriverComboBox->currentText()))
199          // MIDI input driver type...                                  iErrors++;
200          if (!m_pChannel->setMidiDriver(MidiDriverComboBox->currentText()))                  } else {
201              iErrors++;                          qsamplerDevice *pDevice = m_audioDevices.at(AudioDeviceComboBox->currentItem());
202                            if (pDevice == NULL)
203                                    iErrors++;
204                            else if (!m_pChannel->setAudioDevice(pDevice->deviceID()))
205                                    iErrors++;
206                    }
207                    // Accept MIDI driver or device selection...
208                    if (m_midiDevices.isEmpty()) {
209                            if (!m_pChannel->setMidiDriver(MidiDriverComboBox->currentText()))
210                                    iErrors++;
211                    } else {
212                            qsamplerDevice *pDevice = m_midiDevices.at(MidiDeviceComboBox->currentItem());
213                            if (pDevice == NULL)
214                                    iErrors++;
215                            else if (!m_pChannel->setMidiDevice(pDevice->deviceID()))
216                                    iErrors++;
217                    }
218          // MIDI input port number...          // MIDI input port number...
219          if (!m_pChannel->setMidiPort(MidiPortSpinBox->value()))          if (!m_pChannel->setMidiPort(MidiPortSpinBox->value()))
220              iErrors++;              iErrors++;
# Line 281  void qsamplerChannelForm::updateInstrume Line 313  void qsamplerChannelForm::updateInstrume
313  }  }
314    
315    
316    // Refresh MIDI device options.
317    void qsamplerChannelForm::selectMidiDriver ( const QString& sMidiDriver )
318    {
319            MidiDeviceComboBox->clear();
320            m_audioDevices.clear();
321    
322            const QPixmap& midiPixmap = QPixmap::fromMimeSource("midi2.png");
323            int *piDeviceIDs = qsamplerDevice::getDevices(m_pChannel->client(),
324                    qsamplerDevice::Midi);
325            for (int i = 0; piDeviceIDs && piDeviceIDs[i] >= 0; i++) {
326                    qsamplerDevice *pDevice = new qsamplerDevice(m_pChannel->client(),
327                            qsamplerDevice::Midi, piDeviceIDs[i]);
328                    if (pDevice->driverName() == sMidiDriver) {
329                            MidiDeviceComboBox->insertItem(midiPixmap, pDevice->deviceName());
330                            m_midiDevices.append(pDevice);
331                    } else {
332                            delete pDevice;
333                    }
334            }
335    
336            bool bEnabled = !m_midiDevices.isEmpty();
337            MidiDeviceTextLabel->setEnabled(bEnabled);
338            MidiDeviceComboBox->setEnabled(bEnabled);
339            optionsChanged();
340    }
341    
342    
343    // Refresh Audio device options.
344    void qsamplerChannelForm::selectAudioDriver ( const QString& sAudioDriver )
345    {
346            AudioDeviceComboBox->clear();
347            m_audioDevices.clear();
348    
349            const QPixmap& audioPixmap = QPixmap::fromMimeSource("audio2.png");
350            int *piDeviceIDs = qsamplerDevice::getDevices(m_pChannel->client(),
351                    qsamplerDevice::Audio);
352            for (int i = 0; piDeviceIDs && piDeviceIDs[i] >= 0; i++) {
353                    qsamplerDevice *pDevice = new qsamplerDevice(m_pChannel->client(),
354                            qsamplerDevice::Audio, piDeviceIDs[i]);
355                    if (pDevice->driverName() == sAudioDriver) {
356                            AudioDeviceComboBox->insertItem(audioPixmap, pDevice->deviceName());
357                            m_audioDevices.append(pDevice);
358                    } else {
359                            delete pDevice;
360                    }
361            }
362    
363            bool bEnabled = !m_audioDevices.isEmpty();
364            AudioDeviceTextLabel->setEnabled(bEnabled);
365            AudioDeviceComboBox->setEnabled(bEnabled);
366            optionsChanged();
367    }
368    
369    
370  // Dirty up settings.  // Dirty up settings.
371  void qsamplerChannelForm::optionsChanged (void)  void qsamplerChannelForm::optionsChanged (void)

Legend:
Removed from v.430  
changed lines
  Added in v.452

  ViewVC Help
Powered by ViewVC