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

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

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

revision 3520 by capela, Mon Jul 1 10:53:41 2019 UTC revision 3849 by capela, Thu Jan 7 16:18:02 2021 UTC
# Line 1  Line 1 
1  // qsamplerChannel.cpp  // qsamplerChannel.cpp
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2004-2019, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2021, rncbc aka Rui Nuno Capela. All rights reserved.
5     Copyright (C) 2007, 2008 Christian Schoenebeck     Copyright (C) 2007, 2008 Christian Schoenebeck
6    
7     This program is free software; you can redistribute it and/or     This program is free software; you can redistribute it and/or
# Line 31  Line 31 
31  #include <QComboBox>  #include <QComboBox>
32    
33  #ifdef CONFIG_LIBGIG  #ifdef CONFIG_LIBGIG
34    #pragma GCC diagnostic push
35    #pragma GCC diagnostic ignored "-Wunused-parameter"
36  #include "gig.h"  #include "gig.h"
37  #ifdef CONFIG_LIBGIG_SF2  #ifdef CONFIG_LIBGIG_SF2
38    #pragma GCC diagnostic ignored "-Wunused-variable"
39  #include "SF.h"  #include "SF.h"
40  #endif  #endif
41    #pragma GCC diagnostic pop
42  #endif  #endif
43    
44  namespace QSampler {  namespace QSampler {
# Line 80  Channel::~Channel (void) Line 84  Channel::~Channel (void)
84  bool Channel::addChannel (void)  bool Channel::addChannel (void)
85  {  {
86          MainForm* pMainForm = MainForm::getInstance();          MainForm* pMainForm = MainForm::getInstance();
87          if (pMainForm == NULL)          if (pMainForm == nullptr)
88                  return false;                  return false;
89          if (pMainForm->client() == NULL)          if (pMainForm->client() == nullptr)
90                  return false;                  return false;
91    
92          // Are we a new channel?          // Are we a new channel?
# Line 105  bool Channel::addChannel (void) Line 109  bool Channel::addChannel (void)
109  bool Channel::removeChannel (void)  bool Channel::removeChannel (void)
110  {  {
111          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
112          if (pMainForm == NULL)          if (pMainForm == nullptr)
113                  return false;                  return false;
114          if (pMainForm->client() == NULL)          if (pMainForm->client() == nullptr)
115                  return false;                  return false;
116    
117          // Are we an existing channel?          // Are we an existing channel?
# Line 155  const QString& Channel::engineName (void Line 159  const QString& Channel::engineName (void
159  bool Channel::loadEngine ( const QString& sEngineName )  bool Channel::loadEngine ( const QString& sEngineName )
160  {  {
161          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
162          if (pMainForm == NULL)          if (pMainForm == nullptr)
163                  return false;                  return false;
164          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
165                  return false;                  return false;
166          if (m_iInstrumentStatus == 100 && m_sEngineName == sEngineName)          if (m_iInstrumentStatus == 100 && m_sEngineName == sEngineName)
167                  return true;                  return true;
# Line 203  int Channel::instrumentStatus (void) con Line 207  int Channel::instrumentStatus (void) con
207  bool Channel::loadInstrument ( const QString& sInstrumentFile, int iInstrumentNr )  bool Channel::loadInstrument ( const QString& sInstrumentFile, int iInstrumentNr )
208  {  {
209          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
210          if (pMainForm == NULL)          if (pMainForm == nullptr)
211                  return false;                  return false;
212          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
213                  return false;                  return false;
214          if (!QFileInfo(sInstrumentFile).exists())          if (!QFileInfo(sInstrumentFile).exists())
215                  return false;                  return false;
# Line 256  const QString& Channel::midiDriver (void Line 260  const QString& Channel::midiDriver (void
260  bool Channel::setMidiDriver ( const QString& sMidiDriver )  bool Channel::setMidiDriver ( const QString& sMidiDriver )
261  {  {
262          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
263          if (pMainForm == NULL)          if (pMainForm == nullptr)
264                  return false;                  return false;
265          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
266                  return false;                  return false;
267          if (m_iInstrumentStatus == 100 && m_sMidiDriver == sMidiDriver)          if (m_iInstrumentStatus == 100 && m_sMidiDriver == sMidiDriver)
268                  return true;                  return true;
# Line 285  int Channel::midiDevice (void) const Line 289  int Channel::midiDevice (void) const
289  bool Channel::setMidiDevice ( int iMidiDevice )  bool Channel::setMidiDevice ( int iMidiDevice )
290  {  {
291          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
292          if (pMainForm == NULL)          if (pMainForm == nullptr)
293                  return false;                  return false;
294          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
295                  return false;                  return false;
296          if (m_iInstrumentStatus == 100 && m_iMidiDevice == iMidiDevice)          if (m_iInstrumentStatus == 100 && m_iMidiDevice == iMidiDevice)
297                  return true;                  return true;
# Line 313  int Channel::midiPort (void) const Line 317  int Channel::midiPort (void) const
317  bool Channel::setMidiPort ( int iMidiPort )  bool Channel::setMidiPort ( int iMidiPort )
318  {  {
319          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
320          if (pMainForm == NULL)          if (pMainForm == nullptr)
321                  return false;                  return false;
322          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
323                  return false;                  return false;
324          if (m_iInstrumentStatus == 100 && m_iMidiPort == iMidiPort)          if (m_iInstrumentStatus == 100 && m_iMidiPort == iMidiPort)
325                  return true;                  return true;
# Line 341  int Channel::midiChannel (void) const Line 345  int Channel::midiChannel (void) const
345  bool Channel::setMidiChannel ( int iMidiChannel )  bool Channel::setMidiChannel ( int iMidiChannel )
346  {  {
347          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
348          if (pMainForm == NULL)          if (pMainForm == nullptr)
349                  return false;                  return false;
350          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
351                  return false;                  return false;
352          if (m_iInstrumentStatus == 100 && m_iMidiChannel == iMidiChannel)          if (m_iInstrumentStatus == 100 && m_iMidiChannel == iMidiChannel)
353                  return true;                  return true;
# Line 369  int Channel::midiMap (void) const Line 373  int Channel::midiMap (void) const
373  bool Channel::setMidiMap ( int iMidiMap )  bool Channel::setMidiMap ( int iMidiMap )
374  {  {
375          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
376          if (pMainForm == NULL)          if (pMainForm == nullptr)
377                  return false;                  return false;
378          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
379                  return false;                  return false;
380          if (m_iInstrumentStatus == 100 && m_iMidiMap == iMidiMap)          if (m_iInstrumentStatus == 100 && m_iMidiMap == iMidiMap)
381                  return true;                  return true;
# Line 397  int Channel::audioDevice (void) const Line 401  int Channel::audioDevice (void) const
401  bool Channel::setAudioDevice ( int iAudioDevice )  bool Channel::setAudioDevice ( int iAudioDevice )
402  {  {
403          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
404          if (pMainForm == NULL)          if (pMainForm == nullptr)
405                  return false;                  return false;
406          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
407                  return false;                  return false;
408          if (m_iInstrumentStatus == 100 && m_iAudioDevice == iAudioDevice)          if (m_iInstrumentStatus == 100 && m_iAudioDevice == iAudioDevice)
409                  return true;                  return true;
# Line 425  const QString& Channel::audioDriver (voi Line 429  const QString& Channel::audioDriver (voi
429  bool Channel::setAudioDriver ( const QString& sAudioDriver )  bool Channel::setAudioDriver ( const QString& sAudioDriver )
430  {  {
431          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
432          if (pMainForm == NULL)          if (pMainForm == nullptr)
433                  return false;                  return false;
434          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
435                  return false;                  return false;
436          if (m_iInstrumentStatus == 100 && m_sAudioDriver == sAudioDriver)          if (m_iInstrumentStatus == 100 && m_sAudioDriver == sAudioDriver)
437                  return true;                  return true;
# Line 454  float Channel::volume (void) const Line 458  float Channel::volume (void) const
458  bool Channel::setVolume ( float fVolume )  bool Channel::setVolume ( float fVolume )
459  {  {
460          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
461          if (pMainForm == NULL)          if (pMainForm == nullptr)
462                  return false;                  return false;
463          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
464                  return false;                  return false;
465          if (m_iInstrumentStatus == 100 && m_fVolume == fVolume)          if (m_iInstrumentStatus == 100 && m_fVolume == fVolume)
466                  return true;                  return true;
# Line 482  bool Channel::channelMute (void) const Line 486  bool Channel::channelMute (void) const
486  bool Channel::setChannelMute ( bool bMute )  bool Channel::setChannelMute ( bool bMute )
487  {  {
488          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
489          if (pMainForm == NULL)          if (pMainForm == nullptr)
490                  return false;                  return false;
491          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
492                  return false;                  return false;
493          if (m_iInstrumentStatus == 100 && ((m_bMute && bMute) || (!m_bMute && !bMute)))          if (m_iInstrumentStatus == 100 && ((m_bMute && bMute) || (!m_bMute && !bMute)))
494                  return true;                  return true;
# Line 512  bool Channel::channelSolo (void) const Line 516  bool Channel::channelSolo (void) const
516  bool Channel::setChannelSolo ( bool bSolo )  bool Channel::setChannelSolo ( bool bSolo )
517  {  {
518          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
519          if (pMainForm == NULL)          if (pMainForm == nullptr)
520                  return false;                  return false;
521          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
522                  return false;                  return false;
523          if (m_iInstrumentStatus == 100 && ((m_bSolo && bSolo) || (!m_bSolo && !bSolo)))          if (m_iInstrumentStatus == 100 && ((m_bSolo && bSolo) || (!m_bSolo && !bSolo)))
524                  return true;                  return true;
# Line 542  int Channel::audioChannel ( int iAudioOu Line 546  int Channel::audioChannel ( int iAudioOu
546  bool Channel::setAudioChannel ( int iAudioOut, int iAudioIn )  bool Channel::setAudioChannel ( int iAudioOut, int iAudioIn )
547  {  {
548          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
549          if (pMainForm == NULL)          if (pMainForm == nullptr)
550                  return false;                  return false;
551          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
552                  return false;                  return false;
553          if (m_iInstrumentStatus == 100 &&          if (m_iInstrumentStatus == 100 &&
554                          m_audioRouting[iAudioOut] == iAudioIn)                          m_audioRouting[iAudioOut] == iAudioIn)
# Line 584  void Channel::updateInstrumentName (void Line 588  void Channel::updateInstrumentName (void
588  bool Channel::updateChannelInfo (void)  bool Channel::updateChannelInfo (void)
589  {  {
590          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
591          if (pMainForm == NULL)          if (pMainForm == nullptr)
592                  return false;                  return false;
593          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
594                  return false;                  return false;
595    
596          // Read channel information.          // Read channel information.
597          lscp_channel_info_t *pChannelInfo = ::lscp_get_channel_info(pMainForm->client(), m_iChannelID);          lscp_channel_info_t *pChannelInfo = ::lscp_get_channel_info(pMainForm->client(), m_iChannelID);
598          if (pChannelInfo == NULL) {          if (pChannelInfo == nullptr) {
599                  appendMessagesClient("lscp_get_channel_info");                  appendMessagesClient("lscp_get_channel_info");
600                  appendMessagesError(QObject::tr("Could not get channel information.\n\nSorry."));                  appendMessagesError(QObject::tr("Could not get channel information.\n\nSorry."));
601                  return false;                  return false;
# Line 643  bool Channel::updateChannelInfo (void) Line 647  bool Channel::updateChannelInfo (void)
647          const QString sNone = QObject::tr("(none)");          const QString sNone = QObject::tr("(none)");
648          // Audio device driver type.          // Audio device driver type.
649          pDeviceInfo = ::lscp_get_audio_device_info(pMainForm->client(), m_iAudioDevice);          pDeviceInfo = ::lscp_get_audio_device_info(pMainForm->client(), m_iAudioDevice);
650          if (pDeviceInfo == NULL) {          if (pDeviceInfo == nullptr) {
651                  appendMessagesClient("lscp_get_audio_device_info");                  appendMessagesClient("lscp_get_audio_device_info");
652                  m_sAudioDriver = sNone;                  m_sAudioDriver = sNone;
653          } else {          } else {
# Line 651  bool Channel::updateChannelInfo (void) Line 655  bool Channel::updateChannelInfo (void)
655          }          }
656          // MIDI device driver type.          // MIDI device driver type.
657          pDeviceInfo = ::lscp_get_midi_device_info(pMainForm->client(), m_iMidiDevice);          pDeviceInfo = ::lscp_get_midi_device_info(pMainForm->client(), m_iMidiDevice);
658          if (pDeviceInfo == NULL) {          if (pDeviceInfo == nullptr) {
659                  appendMessagesClient("lscp_get_midi_device_info");                  appendMessagesClient("lscp_get_midi_device_info");
660                  m_sMidiDriver = sNone;                  m_sMidiDriver = sNone;
661          } else {          } else {
# Line 678  bool Channel::updateChannelInfo (void) Line 682  bool Channel::updateChannelInfo (void)
682  bool Channel::channelReset (void)  bool Channel::channelReset (void)
683  {  {
684          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
685          if (pMainForm == NULL)          if (pMainForm == nullptr)
686                  return false;                  return false;
687          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
688                  return false;                  return false;
689    
690          if (::lscp_reset_channel(pMainForm->client(), m_iChannelID) != LSCP_OK) {          if (::lscp_reset_channel(pMainForm->client(), m_iChannelID) != LSCP_OK) {
# Line 700  bool Channel::editChannel (void) Line 704  bool Channel::editChannel (void)
704  #ifdef CONFIG_EDIT_INSTRUMENT  #ifdef CONFIG_EDIT_INSTRUMENT
705    
706          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
707          if (pMainForm == NULL)          if (pMainForm == nullptr)
708                  return false;                  return false;
709          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
710                  return false;                  return false;
711    
712          if (::lscp_edit_channel_instrument(pMainForm->client(), m_iChannelID)          if (::lscp_edit_channel_instrument(pMainForm->client(), m_iChannelID)
# Line 741  bool Channel::editChannel (void) Line 745  bool Channel::editChannel (void)
745  bool Channel::channelSetup ( QWidget *pParent )  bool Channel::channelSetup ( QWidget *pParent )
746  {  {
747          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
748          if (pMainForm == NULL)          if (pMainForm == nullptr)
749                  return false;                  return false;
750    
751          bool bResult = false;          bool bResult = false;
# Line 768  void Channel::appendMessages ( const QSt Line 772  void Channel::appendMessages ( const QSt
772  }  }
773    
774  void Channel::appendMessagesColor (  void Channel::appendMessagesColor (
775          const QString& sText, const QString& sColor ) const          const QString& sText, const QColor& rgb ) const
776  {  {
777          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
778          if (pMainForm)          if (pMainForm)
779                  pMainForm->appendMessagesColor(channelName() + ' ' + sText, sColor);                  pMainForm->appendMessagesColor(channelName() + ' ' + sText, rgb);
780  }  }
781    
782  void Channel::appendMessagesText ( const QString& sText ) const  void Channel::appendMessagesText ( const QString& sText ) const
# Line 987  QString Channel::loadingInstrument (void Line 991  QString Channel::loadingInstrument (void
991  //                                 (used for QTableView)  //                                 (used for QTableView)
992    
993  ChannelRoutingModel::ChannelRoutingModel ( QObject *pParent )  ChannelRoutingModel::ChannelRoutingModel ( QObject *pParent )
994          : QAbstractTableModel(pParent), m_pDevice(NULL)          : QAbstractTableModel(pParent), m_pDevice(nullptr)
995  {  {
996  }  }
997    
# Line 1099  QWidget* ChannelRoutingDelegate::createE Line 1103  QWidget* ChannelRoutingDelegate::createE
1103          const QStyleOptionViewItem & option, const QModelIndex& index ) const          const QStyleOptionViewItem & option, const QModelIndex& index ) const
1104  {  {
1105          if (!index.isValid())          if (!index.isValid())
1106                  return NULL;                  return nullptr;
1107    
1108          if (index.column() != 0)          if (index.column() != 0)
1109                  return NULL;                  return nullptr;
1110    
1111          ChannelRoutingItem item = index.model()->data(index, Qt::DisplayRole).value<ChannelRoutingItem>();          ChannelRoutingItem item = index.model()->data(index, Qt::DisplayRole).value<ChannelRoutingItem>();
1112    

Legend:
Removed from v.3520  
changed lines
  Added in v.3849

  ViewVC Help
Powered by ViewVC