/[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 3855 by capela, Thu Feb 4 10:09:42 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    #if defined(Q_CC_GNU) || defined(Q_CC_MINGW)
35    #pragma GCC diagnostic push
36    #pragma GCC diagnostic ignored "-Wunused-parameter"
37    #endif
38  #include "gig.h"  #include "gig.h"
39  #ifdef CONFIG_LIBGIG_SF2  #ifdef CONFIG_LIBGIG_SF2
40    #pragma GCC diagnostic ignored "-Wunused-variable"
41  #include "SF.h"  #include "SF.h"
42  #endif  #endif
43    #if defined(Q_CC_GNU) || defined(Q_CC_MINGW)
44    #pragma GCC diagnostic pop
45    #endif
46  #endif  #endif
47    
48  namespace QSampler {  namespace QSampler {
# Line 80  Channel::~Channel (void) Line 88  Channel::~Channel (void)
88  bool Channel::addChannel (void)  bool Channel::addChannel (void)
89  {  {
90          MainForm* pMainForm = MainForm::getInstance();          MainForm* pMainForm = MainForm::getInstance();
91          if (pMainForm == NULL)          if (pMainForm == nullptr)
92                  return false;                  return false;
93          if (pMainForm->client() == NULL)          if (pMainForm->client() == nullptr)
94                  return false;                  return false;
95    
96          // Are we a new channel?          // Are we a new channel?
# Line 105  bool Channel::addChannel (void) Line 113  bool Channel::addChannel (void)
113  bool Channel::removeChannel (void)  bool Channel::removeChannel (void)
114  {  {
115          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
116          if (pMainForm == NULL)          if (pMainForm == nullptr)
117                  return false;                  return false;
118          if (pMainForm->client() == NULL)          if (pMainForm->client() == nullptr)
119                  return false;                  return false;
120    
121          // Are we an existing channel?          // Are we an existing channel?
# Line 155  const QString& Channel::engineName (void Line 163  const QString& Channel::engineName (void
163  bool Channel::loadEngine ( const QString& sEngineName )  bool Channel::loadEngine ( const QString& sEngineName )
164  {  {
165          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
166          if (pMainForm == NULL)          if (pMainForm == nullptr)
167                  return false;                  return false;
168          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
169                  return false;                  return false;
170          if (m_iInstrumentStatus == 100 && m_sEngineName == sEngineName)          if (m_iInstrumentStatus == 100 && m_sEngineName == sEngineName)
171                  return true;                  return true;
# Line 203  int Channel::instrumentStatus (void) con Line 211  int Channel::instrumentStatus (void) con
211  bool Channel::loadInstrument ( const QString& sInstrumentFile, int iInstrumentNr )  bool Channel::loadInstrument ( const QString& sInstrumentFile, int iInstrumentNr )
212  {  {
213          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
214          if (pMainForm == NULL)          if (pMainForm == nullptr)
215                  return false;                  return false;
216          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
217                  return false;                  return false;
218          if (!QFileInfo(sInstrumentFile).exists())          if (!QFileInfo(sInstrumentFile).exists())
219                  return false;                  return false;
# Line 256  const QString& Channel::midiDriver (void Line 264  const QString& Channel::midiDriver (void
264  bool Channel::setMidiDriver ( const QString& sMidiDriver )  bool Channel::setMidiDriver ( const QString& sMidiDriver )
265  {  {
266          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
267          if (pMainForm == NULL)          if (pMainForm == nullptr)
268                  return false;                  return false;
269          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
270                  return false;                  return false;
271          if (m_iInstrumentStatus == 100 && m_sMidiDriver == sMidiDriver)          if (m_iInstrumentStatus == 100 && m_sMidiDriver == sMidiDriver)
272                  return true;                  return true;
# Line 285  int Channel::midiDevice (void) const Line 293  int Channel::midiDevice (void) const
293  bool Channel::setMidiDevice ( int iMidiDevice )  bool Channel::setMidiDevice ( int iMidiDevice )
294  {  {
295          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
296          if (pMainForm == NULL)          if (pMainForm == nullptr)
297                  return false;                  return false;
298          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
299                  return false;                  return false;
300          if (m_iInstrumentStatus == 100 && m_iMidiDevice == iMidiDevice)          if (m_iInstrumentStatus == 100 && m_iMidiDevice == iMidiDevice)
301                  return true;                  return true;
# Line 313  int Channel::midiPort (void) const Line 321  int Channel::midiPort (void) const
321  bool Channel::setMidiPort ( int iMidiPort )  bool Channel::setMidiPort ( int iMidiPort )
322  {  {
323          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
324          if (pMainForm == NULL)          if (pMainForm == nullptr)
325                  return false;                  return false;
326          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
327                  return false;                  return false;
328          if (m_iInstrumentStatus == 100 && m_iMidiPort == iMidiPort)          if (m_iInstrumentStatus == 100 && m_iMidiPort == iMidiPort)
329                  return true;                  return true;
# Line 341  int Channel::midiChannel (void) const Line 349  int Channel::midiChannel (void) const
349  bool Channel::setMidiChannel ( int iMidiChannel )  bool Channel::setMidiChannel ( int iMidiChannel )
350  {  {
351          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
352          if (pMainForm == NULL)          if (pMainForm == nullptr)
353                  return false;                  return false;
354          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
355                  return false;                  return false;
356          if (m_iInstrumentStatus == 100 && m_iMidiChannel == iMidiChannel)          if (m_iInstrumentStatus == 100 && m_iMidiChannel == iMidiChannel)
357                  return true;                  return true;
# Line 369  int Channel::midiMap (void) const Line 377  int Channel::midiMap (void) const
377  bool Channel::setMidiMap ( int iMidiMap )  bool Channel::setMidiMap ( int iMidiMap )
378  {  {
379          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
380          if (pMainForm == NULL)          if (pMainForm == nullptr)
381                  return false;                  return false;
382          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
383                  return false;                  return false;
384          if (m_iInstrumentStatus == 100 && m_iMidiMap == iMidiMap)          if (m_iInstrumentStatus == 100 && m_iMidiMap == iMidiMap)
385                  return true;                  return true;
# Line 397  int Channel::audioDevice (void) const Line 405  int Channel::audioDevice (void) const
405  bool Channel::setAudioDevice ( int iAudioDevice )  bool Channel::setAudioDevice ( int iAudioDevice )
406  {  {
407          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
408          if (pMainForm == NULL)          if (pMainForm == nullptr)
409                  return false;                  return false;
410          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
411                  return false;                  return false;
412          if (m_iInstrumentStatus == 100 && m_iAudioDevice == iAudioDevice)          if (m_iInstrumentStatus == 100 && m_iAudioDevice == iAudioDevice)
413                  return true;                  return true;
# Line 425  const QString& Channel::audioDriver (voi Line 433  const QString& Channel::audioDriver (voi
433  bool Channel::setAudioDriver ( const QString& sAudioDriver )  bool Channel::setAudioDriver ( const QString& sAudioDriver )
434  {  {
435          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
436          if (pMainForm == NULL)          if (pMainForm == nullptr)
437                  return false;                  return false;
438          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
439                  return false;                  return false;
440          if (m_iInstrumentStatus == 100 && m_sAudioDriver == sAudioDriver)          if (m_iInstrumentStatus == 100 && m_sAudioDriver == sAudioDriver)
441                  return true;                  return true;
# Line 454  float Channel::volume (void) const Line 462  float Channel::volume (void) const
462  bool Channel::setVolume ( float fVolume )  bool Channel::setVolume ( float fVolume )
463  {  {
464          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
465          if (pMainForm == NULL)          if (pMainForm == nullptr)
466                  return false;                  return false;
467          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
468                  return false;                  return false;
469          if (m_iInstrumentStatus == 100 && m_fVolume == fVolume)          if (m_iInstrumentStatus == 100 && m_fVolume == fVolume)
470                  return true;                  return true;
# Line 482  bool Channel::channelMute (void) const Line 490  bool Channel::channelMute (void) const
490  bool Channel::setChannelMute ( bool bMute )  bool Channel::setChannelMute ( bool bMute )
491  {  {
492          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
493          if (pMainForm == NULL)          if (pMainForm == nullptr)
494                  return false;                  return false;
495          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
496                  return false;                  return false;
497          if (m_iInstrumentStatus == 100 && ((m_bMute && bMute) || (!m_bMute && !bMute)))          if (m_iInstrumentStatus == 100 && ((m_bMute && bMute) || (!m_bMute && !bMute)))
498                  return true;                  return true;
# Line 512  bool Channel::channelSolo (void) const Line 520  bool Channel::channelSolo (void) const
520  bool Channel::setChannelSolo ( bool bSolo )  bool Channel::setChannelSolo ( bool bSolo )
521  {  {
522          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
523          if (pMainForm == NULL)          if (pMainForm == nullptr)
524                  return false;                  return false;
525          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
526                  return false;                  return false;
527          if (m_iInstrumentStatus == 100 && ((m_bSolo && bSolo) || (!m_bSolo && !bSolo)))          if (m_iInstrumentStatus == 100 && ((m_bSolo && bSolo) || (!m_bSolo && !bSolo)))
528                  return true;                  return true;
# Line 542  int Channel::audioChannel ( int iAudioOu Line 550  int Channel::audioChannel ( int iAudioOu
550  bool Channel::setAudioChannel ( int iAudioOut, int iAudioIn )  bool Channel::setAudioChannel ( int iAudioOut, int iAudioIn )
551  {  {
552          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
553          if (pMainForm == NULL)          if (pMainForm == nullptr)
554                  return false;                  return false;
555          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
556                  return false;                  return false;
557          if (m_iInstrumentStatus == 100 &&          if (m_iInstrumentStatus == 100 &&
558                          m_audioRouting[iAudioOut] == iAudioIn)                          m_audioRouting[iAudioOut] == iAudioIn)
# Line 584  void Channel::updateInstrumentName (void Line 592  void Channel::updateInstrumentName (void
592  bool Channel::updateChannelInfo (void)  bool Channel::updateChannelInfo (void)
593  {  {
594          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
595          if (pMainForm == NULL)          if (pMainForm == nullptr)
596                  return false;                  return false;
597          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
598                  return false;                  return false;
599    
600          // Read channel information.          // Read channel information.
601          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);
602          if (pChannelInfo == NULL) {          if (pChannelInfo == nullptr) {
603                  appendMessagesClient("lscp_get_channel_info");                  appendMessagesClient("lscp_get_channel_info");
604                  appendMessagesError(QObject::tr("Could not get channel information.\n\nSorry."));                  appendMessagesError(QObject::tr("Could not get channel information.\n\nSorry."));
605                  return false;                  return false;
# Line 643  bool Channel::updateChannelInfo (void) Line 651  bool Channel::updateChannelInfo (void)
651          const QString sNone = QObject::tr("(none)");          const QString sNone = QObject::tr("(none)");
652          // Audio device driver type.          // Audio device driver type.
653          pDeviceInfo = ::lscp_get_audio_device_info(pMainForm->client(), m_iAudioDevice);          pDeviceInfo = ::lscp_get_audio_device_info(pMainForm->client(), m_iAudioDevice);
654          if (pDeviceInfo == NULL) {          if (pDeviceInfo == nullptr) {
655                  appendMessagesClient("lscp_get_audio_device_info");                  appendMessagesClient("lscp_get_audio_device_info");
656                  m_sAudioDriver = sNone;                  m_sAudioDriver = sNone;
657          } else {          } else {
# Line 651  bool Channel::updateChannelInfo (void) Line 659  bool Channel::updateChannelInfo (void)
659          }          }
660          // MIDI device driver type.          // MIDI device driver type.
661          pDeviceInfo = ::lscp_get_midi_device_info(pMainForm->client(), m_iMidiDevice);          pDeviceInfo = ::lscp_get_midi_device_info(pMainForm->client(), m_iMidiDevice);
662          if (pDeviceInfo == NULL) {          if (pDeviceInfo == nullptr) {
663                  appendMessagesClient("lscp_get_midi_device_info");                  appendMessagesClient("lscp_get_midi_device_info");
664                  m_sMidiDriver = sNone;                  m_sMidiDriver = sNone;
665          } else {          } else {
# Line 678  bool Channel::updateChannelInfo (void) Line 686  bool Channel::updateChannelInfo (void)
686  bool Channel::channelReset (void)  bool Channel::channelReset (void)
687  {  {
688          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
689          if (pMainForm == NULL)          if (pMainForm == nullptr)
690                  return false;                  return false;
691          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
692                  return false;                  return false;
693    
694          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 708  bool Channel::editChannel (void)
708  #ifdef CONFIG_EDIT_INSTRUMENT  #ifdef CONFIG_EDIT_INSTRUMENT
709    
710          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
711          if (pMainForm == NULL)          if (pMainForm == nullptr)
712                  return false;                  return false;
713          if (pMainForm->client() == NULL || m_iChannelID < 0)          if (pMainForm->client() == nullptr || m_iChannelID < 0)
714                  return false;                  return false;
715    
716          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 749  bool Channel::editChannel (void)
749  bool Channel::channelSetup ( QWidget *pParent )  bool Channel::channelSetup ( QWidget *pParent )
750  {  {
751          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
752          if (pMainForm == NULL)          if (pMainForm == nullptr)
753                  return false;                  return false;
754    
755          bool bResult = false;          bool bResult = false;
# Line 768  void Channel::appendMessages ( const QSt Line 776  void Channel::appendMessages ( const QSt
776  }  }
777    
778  void Channel::appendMessagesColor (  void Channel::appendMessagesColor (
779          const QString& sText, const QString& sColor ) const          const QString& sText, const QColor& rgb ) const
780  {  {
781          MainForm *pMainForm = MainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
782          if (pMainForm)          if (pMainForm)
783                  pMainForm->appendMessagesColor(channelName() + ' ' + sText, sColor);                  pMainForm->appendMessagesColor(channelName() + ' ' + sText, rgb);
784  }  }
785    
786  void Channel::appendMessagesText ( const QString& sText ) const  void Channel::appendMessagesText ( const QString& sText ) const
# Line 987  QString Channel::loadingInstrument (void Line 995  QString Channel::loadingInstrument (void
995  //                                 (used for QTableView)  //                                 (used for QTableView)
996    
997  ChannelRoutingModel::ChannelRoutingModel ( QObject *pParent )  ChannelRoutingModel::ChannelRoutingModel ( QObject *pParent )
998          : QAbstractTableModel(pParent), m_pDevice(NULL)          : QAbstractTableModel(pParent), m_pDevice(nullptr)
999  {  {
1000  }  }
1001    
# Line 1099  QWidget* ChannelRoutingDelegate::createE Line 1107  QWidget* ChannelRoutingDelegate::createE
1107          const QStyleOptionViewItem & option, const QModelIndex& index ) const          const QStyleOptionViewItem & option, const QModelIndex& index ) const
1108  {  {
1109          if (!index.isValid())          if (!index.isValid())
1110                  return NULL;                  return nullptr;
1111    
1112          if (index.column() != 0)          if (index.column() != 0)
1113                  return NULL;                  return nullptr;
1114    
1115          ChannelRoutingItem item = index.model()->data(index, Qt::DisplayRole).value<ChannelRoutingItem>();          ChannelRoutingItem item = index.model()->data(index, Qt::DisplayRole).value<ChannelRoutingItem>();
1116    

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

  ViewVC Help
Powered by ViewVC