/[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 980 by capela, Sun Dec 17 22:29:29 2006 UTC revision 1414 by capela, Fri Oct 12 22:50:47 2007 UTC
# Line 1  Line 1 
1  // qsamplerChannel.cpp  // qsamplerChannel.cpp
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2004-2006, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2007, rncbc aka Rui Nuno Capela. All rights reserved.
5    
6     This program is free software; you can redistribute it and/or     This program is free software; you can redistribute it and/or
7     modify it under the terms of the GNU General Public License     modify it under the terms of the GNU General Public License
# Line 19  Line 19 
19    
20  *****************************************************************************/  *****************************************************************************/
21    
22    #include "qsamplerUtilities.h"
23  #include "qsamplerAbout.h"  #include "qsamplerAbout.h"
24  #include "qsamplerChannel.h"  #include "qsamplerChannel.h"
25    
# Line 202  bool qsamplerChannel::loadInstrument ( c Line 203  bool qsamplerChannel::loadInstrument ( c
203          if (m_iInstrumentStatus == 100 && m_sInstrumentFile == sInstrumentFile && m_iInstrumentNr == iInstrumentNr)          if (m_iInstrumentStatus == 100 && m_sInstrumentFile == sInstrumentFile && m_iInstrumentNr == iInstrumentNr)
204                  return true;                  return true;
205    
206          if (::lscp_load_instrument_non_modal(pMainForm->client(), sInstrumentFile.latin1(), iInstrumentNr, m_iChannelID) != LSCP_OK) {          if (
207                    ::lscp_load_instrument_non_modal(
208                            pMainForm->client(),
209                            qsamplerUtilities::lscpEscapePath(sInstrumentFile).latin1(),
210                            iInstrumentNr, m_iChannelID
211                    ) != LSCP_OK
212            ) {
213                  appendMessagesClient("lscp_load_instrument");                  appendMessagesClient("lscp_load_instrument");
214                  return false;                  return false;
215          }          }
# Line 580  bool qsamplerChannel::updateChannelInfo Line 587  bool qsamplerChannel::updateChannelInfo
587    
588  #ifdef CONFIG_INSTRUMENT_NAME  #ifdef CONFIG_INSTRUMENT_NAME
589          // We got all actual instrument datum...          // We got all actual instrument datum...
590          m_sInstrumentFile = pChannelInfo->instrument_file;          m_sInstrumentFile =
591                    qsamplerUtilities::lscpEscapedPathToPosix(pChannelInfo->instrument_file);
592          m_iInstrumentNr   = pChannelInfo->instrument_nr;          m_iInstrumentNr   = pChannelInfo->instrument_nr;
593          m_sInstrumentName = pChannelInfo->instrument_name;          m_sInstrumentName =
594                    qsamplerUtilities::lscpEscapedTextToRaw(pChannelInfo->instrument_name);
595  #else  #else
596          // First, check if intrument name has changed,          // First, check if intrument name has changed,
597          // taking care that instrument name lookup might be expensive,          // taking care that instrument name lookup might be expensive,
# Line 639  bool qsamplerChannel::updateChannelInfo Line 648  bool qsamplerChannel::updateChannelInfo
648    
649          // Set the audio routing map.          // Set the audio routing map.
650          m_audioRouting.clear();          m_audioRouting.clear();
651          char **ppszRouting = pChannelInfo->audio_routing;  #ifdef CONFIG_AUDIO_ROUTING
652          for (int i = 0; ppszRouting && ppszRouting[i]; i++) {          int *piAudioRouting = pChannelInfo->audio_routing;
653                  m_audioRouting[i] = ::atoi(ppszRouting[i]);          for (int i = 0; piAudioRouting && piAudioRouting[i] >= 0; i++)
654          }                  m_audioRouting[i] = piAudioRouting[i];
655    #else
656            char **ppszAudioRouting = pChannelInfo->audio_routing;
657            for (int i = 0; ppszAudioRouting && ppszAudioRouting[i]; i++)
658                    m_audioRouting[i] = ::atoi(ppszAudioRouting[i]);
659    #endif
660    
661          return true;          return true;
662  }  }
# Line 668  bool qsamplerChannel::channelReset (void Line 682  bool qsamplerChannel::channelReset (void
682  }  }
683    
684    
685    // Spawn instrument editor method.
686    bool qsamplerChannel::editChannel (void)
687    {
688    #ifdef CONFIG_EDIT_INSTRUMENT
689    
690            qsamplerMainForm *pMainForm = qsamplerMainForm::getInstance();
691            if (pMainForm == NULL)
692                    return false;
693            if (pMainForm->client() == NULL || m_iChannelID < 0)
694                    return false;
695    
696            if (::lscp_edit_channel_instrument(pMainForm->client(), m_iChannelID)
697                    != LSCP_OK) {
698                    appendMessagesClient("lscp_edit_channel_instrument");
699                    appendMessagesError(QObject::tr(
700                            "Could not launch an appropriate instrument editor "
701                            "for the given instrument!\n"
702                            "Make sure you have an appropriate "
703                            "instrument editor like 'gigedit' installed\n"
704                            "and that it placed its mandatory DLL file "
705                            "into the sampler's plugin directory.")
706                    );
707                    return false;
708            }
709    
710            appendMessages(QObject::tr("edit instrument."));
711    
712            return true;
713    
714    #else
715    
716            appendMessagesError(QObject::tr(
717                    "Sorry, QSampler was compiled for a version of liblscp "
718                    "which lacks this feature.\n"
719                    "You may want to update liblscp and recompile QSampler afterwards.")
720            );
721    
722            return false;
723    
724    #endif
725    }
726    
727    
728  // Channel setup dialog form.  // Channel setup dialog form.
729  bool qsamplerChannel::channelSetup ( QWidget *pParent )  bool qsamplerChannel::channelSetup ( QWidget *pParent )
730  {  {

Legend:
Removed from v.980  
changed lines
  Added in v.1414

  ViewVC Help
Powered by ViewVC