/[svn]/qsampler/trunk/src/qsamplerDevice.cpp
ViewVC logotype

Diff of /qsampler/trunk/src/qsamplerDevice.cpp

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

revision 432 by capela, Wed Mar 9 11:33:27 2005 UTC revision 433 by capela, Wed Mar 9 16:44:04 2005 UTC
# Line 122  void qsamplerDevice::setDevice ( lscp_cl Line 122  void qsamplerDevice::setDevice ( lscp_cl
122          m_deviceType  = deviceType;          m_deviceType  = deviceType;
123    
124          // Retrieve device info, if any.          // Retrieve device info, if any.
         QString sDeviceType;  
125          lscp_device_info_t *pDeviceInfo = NULL;          lscp_device_info_t *pDeviceInfo = NULL;
126          switch (deviceType) {          switch (deviceType) {
127          case qsamplerDevice::Audio:          case qsamplerDevice::Audio:
128                  sDeviceType = QObject::tr("Audio");                  m_sDeviceType = QObject::tr("Audio");
129                  pDeviceInfo = ::lscp_get_audio_device_info(pClient, iDeviceID);                  pDeviceInfo = ::lscp_get_audio_device_info(pClient, iDeviceID);
130                  break;                  break;
131          case qsamplerDevice::Midi:          case qsamplerDevice::Midi:
132                  sDeviceType = QObject::tr("MIDI");                  m_sDeviceType = QObject::tr("MIDI");
133                  pDeviceInfo = ::lscp_get_midi_device_info(pClient, iDeviceID);                  pDeviceInfo = ::lscp_get_midi_device_info(pClient, iDeviceID);
134                  break;                  break;
135            default:
136                    m_sDeviceType = QString::null;
137                    break;
138          }          }
139    
140          // If we're bogus, bail out...          // If we're bogus, bail out...
141          if (pDeviceInfo == NULL) {          if (pDeviceInfo == NULL) {
142                  m_sDriverName = QString::null;                  m_sDriverName = QString::null;
143                  m_sDeviceName = QObject::tr("New %1 device").arg(sDeviceType);                  m_sDeviceName = QObject::tr("New device");
144                  return;                  return;
145          }          }
146    
# Line 162  void qsamplerDevice::setDevice ( lscp_cl Line 164  void qsamplerDevice::setDevice ( lscp_cl
164                                  m_sDriverName.latin1(), pszParam, NULL);                                  m_sDriverName.latin1(), pszParam, NULL);
165                          break;                          break;
166                  }                  }
167                  m_params[pszParam] = qsamplerDeviceParam(pParamInfo, pDeviceInfo->params[i].value);                  if (pParamInfo)
168                            m_params[pszParam] = qsamplerDeviceParam(pParamInfo,
169                                    pDeviceInfo->params[i].value);
170          }          }
171  }  }
172    
# Line 226  qsamplerDevice::qsamplerDeviceType qsamp Line 230  qsamplerDevice::qsamplerDeviceType qsamp
230          return m_deviceType;          return m_deviceType;
231  }  }
232    
233    const QString& qsamplerDevice::deviceTypeName (void) const
234    {
235            return m_sDeviceType;
236    }
237    
238  const QString& qsamplerDevice::driverName (void) const  const QString& qsamplerDevice::driverName (void) const
239  {  {
240          return m_sDriverName;          return m_sDriverName;
# Line 293  QStringList qsamplerDevice::getDrivers ( Line 302  QStringList qsamplerDevice::getDrivers (
302  //  //
303    
304  // Constructors.  // Constructors.
305  qsamplerDeviceItem::qsamplerDeviceItem ( QListView *pListView, lscp_client_t *pClient,  qsamplerDeviceItem::qsamplerDeviceItem ( QListView *pListView,
306          qsamplerDevice::qsamplerDeviceType deviceType )          lscp_client_t *pClient, qsamplerDevice::qsamplerDeviceType deviceType )
307          : QListViewItem(pListView), m_device(pClient, deviceType)          : QListViewItem(pListView), m_device(pClient, deviceType)
308  {  {
309          switch(m_device.deviceType()) {          switch(m_device.deviceType()) {
# Line 309  qsamplerDeviceItem::qsamplerDeviceItem ( Line 318  qsamplerDeviceItem::qsamplerDeviceItem (
318          }          }
319  }  }
320    
321  qsamplerDeviceItem::qsamplerDeviceItem ( QListViewItem *pItem, lscp_client_t *pClient,  qsamplerDeviceItem::qsamplerDeviceItem ( QListViewItem *pItem,
322          qsamplerDevice::qsamplerDeviceType deviceType, int iDeviceID )          lscp_client_t *pClient, qsamplerDevice::qsamplerDeviceType deviceType,
323            int iDeviceID )
324          : QListViewItem(pItem), m_device(pClient, deviceType, iDeviceID)          : QListViewItem(pItem), m_device(pClient, deviceType, iDeviceID)
325  {  {
326          switch(m_device.deviceType()) {          switch(m_device.deviceType()) {
# Line 349  int qsamplerDeviceItem::rtti() const Line 359  int qsamplerDeviceItem::rtti() const
359  //  //
360    
361  // Constructor.  // Constructor.
362  qsamplerDeviceParamTable::qsamplerDeviceParamTable ( QWidget *pParent, const char *pszName )  qsamplerDeviceParamTable::qsamplerDeviceParamTable ( QWidget *pParent,
363            const char *pszName )
364          : QTable(pParent, pszName)          : QTable(pParent, pszName)
365  {  {
366          // Set fixed number of columns.          // Set fixed number of columns.
# Line 383  qsamplerDeviceParamTable::~qsamplerDevic Line 394  qsamplerDeviceParamTable::~qsamplerDevic
394  void qsamplerDeviceParamTable::refresh ( qsamplerDevice& device )  void qsamplerDeviceParamTable::refresh ( qsamplerDevice& device )
395  {  {
396          // Always (re)start it empty.          // Always (re)start it empty.
397            QTable::setUpdatesEnabled(false);
398          QTable::setNumRows(0);          QTable::setNumRows(0);
399    
400          // Now fill the parameter table...          // Now fill the parameter table...
# Line 392  void qsamplerDeviceParamTable::refresh ( Line 404  void qsamplerDeviceParamTable::refresh (
404          qsamplerDeviceParamMap::ConstIterator iter;          qsamplerDeviceParamMap::ConstIterator iter;
405          for (iter = params.begin(); iter != params.end(); ++iter) {          for (iter = params.begin(); iter != params.end(); ++iter) {
406                  const qsamplerDeviceParam& param = iter.data();                  const qsamplerDeviceParam& param = iter.data();
407                    bool fEnabled = (device.deviceID() < 0 || param.fix);
408                  QTable::setText(iRow, 0, param.description);                  QTable::setText(iRow, 0, param.description);
409                  if (param.type == LSCP_TYPE_BOOL) {                  if (param.type == LSCP_TYPE_BOOL) {
410                          QStringList opts;                          QStringList opts;
# Line 399  void qsamplerDeviceParamTable::refresh ( Line 412  void qsamplerDeviceParamTable::refresh (
412                          opts.append(tr("true"));                          opts.append(tr("true"));
413                          QComboTableItem *pComboItem = new QComboTableItem(this, opts);                          QComboTableItem *pComboItem = new QComboTableItem(this, opts);
414                      pComboItem->setCurrentItem(param.value.lower() == "true" ? 1 : 0);                      pComboItem->setCurrentItem(param.value.lower() == "true" ? 1 : 0);
415                      pComboItem->setEnabled(param.fix);                      pComboItem->setEnabled(fEnabled);
416                          QTable::setItem(iRow, 1, pComboItem);                          QTable::setItem(iRow, 1, pComboItem);
417                  } else if (param.possibilities.count() > 0) {                  } else if (param.possibilities.count() > 0 && !param.multiplicity) {
418                          QComboTableItem *pComboItem = new QComboTableItem(this,                          QComboTableItem *pComboItem = new QComboTableItem(this,
419                                  param.possibilities);                                  param.possibilities);
420                      pComboItem->setCurrentItem(param.value);                      pComboItem->setCurrentItem(param.value);
421                      pComboItem->setEnabled(param.fix);                      pComboItem->setEnabled(fEnabled);
422                          QTable::setItem(iRow, 1, pComboItem);                          QTable::setItem(iRow, 1, pComboItem);
423                  } else {                  } else {
424                          QTableItem* pTableItem = new QTableItem(this,                          QTableItem* pTableItem = new QTableItem(this,
425                                  param.fix ? QTableItem::Never : QTableItem::OnTyping,                                  fEnabled ? QTableItem::Never : QTableItem::OnTyping,
426                                  param.value);                                  param.value);
427                          QTable::setItem(iRow, 1, pTableItem);                          QTable::setItem(iRow, 1, pTableItem);
428                  }                  }
# Line 417  void qsamplerDeviceParamTable::refresh ( Line 430  void qsamplerDeviceParamTable::refresh (
430                  ++iRow;                  ++iRow;
431          }          }
432    
433          // Adjust optimal column width.          // Adjust optimal column widths.
434          for (int iCol = 0; iCol < QTable::numCols(); iCol++)          QTable::adjustColumn(1);
435                  QTable::adjustColumn(iCol);          QTable::adjustColumn(2);
436            
437            QTable::setUpdatesEnabled(true);
438            QTable::updateContents();
439  }  }
440    
441    

Legend:
Removed from v.432  
changed lines
  Added in v.433

  ViewVC Help
Powered by ViewVC