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

Diff of /qsampler/trunk/src/qsamplerInstrument.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 1505 by capela, Wed Nov 21 18:37:40 2007 UTC
# Line 1  Line 1 
1  // qsamplerInstrument.cpp  // qsamplerInstrument.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       Copyright (C) 2007, 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
8     modify it under the terms of the GNU General Public License     modify it under the terms of the GNU General Public License
# Line 21  Line 22 
22    
23  #include "qsamplerAbout.h"  #include "qsamplerAbout.h"
24  #include "qsamplerInstrument.h"  #include "qsamplerInstrument.h"
25    #include "qsamplerUtilities.h"
26    
27  #include "qsamplerMainForm.h"  #include "qsamplerMainForm.h"
28    
29    
30    using namespace QSampler;
31    
32  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
33  // qsamplerInstrument - MIDI instrument map structure.  // qsamplerInstrument - MIDI instrument map structure.
34  //  //
# Line 157  bool qsamplerInstrument::mapInstrument ( Line 161  bool qsamplerInstrument::mapInstrument (
161  {  {
162  #ifdef CONFIG_MIDI_INSTRUMENT  #ifdef CONFIG_MIDI_INSTRUMENT
163    
164          qsamplerMainForm *pMainForm = qsamplerMainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
165          if (pMainForm == NULL)          if (pMainForm == NULL)
166                  return false;                  return false;
167          if (pMainForm->client() == NULL)          if (pMainForm->client() == NULL)
# Line 190  bool qsamplerInstrument::mapInstrument ( Line 194  bool qsamplerInstrument::mapInstrument (
194          }          }
195    
196          if (::lscp_map_midi_instrument(pMainForm->client(), &instr,          if (::lscp_map_midi_instrument(pMainForm->client(), &instr,
197                  m_sEngineName.latin1(),                          m_sEngineName.toUtf8().constData(),
198                  m_sInstrumentFile.latin1(),                          qsamplerUtilities::lscpEscapePath(
199                  m_iInstrumentNr,                                  m_sInstrumentFile).toUtf8().constData(),
200                  m_fVolume,                          m_iInstrumentNr, m_fVolume, load_mode,
201                  load_mode,                          m_sName.toUtf8().constData()) != LSCP_OK) {
                 m_sName.latin1()) != LSCP_OK) {  
202                  pMainForm->appendMessagesClient("lscp_map_midi_instrument");                  pMainForm->appendMessagesClient("lscp_map_midi_instrument");
203                  return false;                  return false;
204          }          }
# Line 217  bool qsamplerInstrument::unmapInstrument Line 220  bool qsamplerInstrument::unmapInstrument
220          if (m_iMap < 0 || m_iBank < 0 || m_iProg < 0)          if (m_iMap < 0 || m_iBank < 0 || m_iProg < 0)
221                  return false;                  return false;
222    
223          qsamplerMainForm *pMainForm = qsamplerMainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
224          if (pMainForm == NULL)          if (pMainForm == NULL)
225                  return false;                  return false;
226          if (pMainForm->client() == NULL)          if (pMainForm->client() == NULL)
# Line 251  bool qsamplerInstrument::getInstrument ( Line 254  bool qsamplerInstrument::getInstrument (
254          if (m_iMap < 0 || m_iBank < 0 || m_iProg < 0)          if (m_iMap < 0 || m_iBank < 0 || m_iProg < 0)
255                  return false;                  return false;
256    
257          qsamplerMainForm *pMainForm = qsamplerMainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
258          if (pMainForm == NULL)          if (pMainForm == NULL)
259                  return false;                  return false;
260          if (pMainForm->client() == NULL)          if (pMainForm->client() == NULL)
# Line 270  bool qsamplerInstrument::getInstrument ( Line 273  bool qsamplerInstrument::getInstrument (
273                  return false;                  return false;
274          }          }
275    
276          m_sName           = pInstrInfo->name;          m_sName           = qsamplerUtilities::lscpEscapedTextToRaw(pInstrInfo->name);
277          m_sEngineName     = pInstrInfo->engine_name;          m_sEngineName     = pInstrInfo->engine_name;
278          m_sInstrumentName = pInstrInfo->instrument_name;          m_sInstrumentName = qsamplerUtilities::lscpEscapedTextToRaw(pInstrInfo->instrument_name);
279          m_sInstrumentFile = pInstrInfo->instrument_file;          m_sInstrumentFile = qsamplerUtilities::lscpEscapedPathToPosix(pInstrInfo->instrument_file);
280          m_iInstrumentNr   = pInstrInfo->instrument_nr;          m_iInstrumentNr   = pInstrInfo->instrument_nr;
281          m_fVolume         = pInstrInfo->volume;          m_fVolume         = pInstrInfo->volume;
282    
# Line 312  QStringList qsamplerInstrument::getMapNa Line 315  QStringList qsamplerInstrument::getMapNa
315  {  {
316          QStringList maps;          QStringList maps;
317    
318          qsamplerMainForm *pMainForm = qsamplerMainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
319          if (pMainForm == NULL)          if (pMainForm == NULL)
320                  return maps;                  return maps;
321          if (pMainForm->client() == NULL)          if (pMainForm->client() == NULL)
# Line 320  QStringList qsamplerInstrument::getMapNa Line 323  QStringList qsamplerInstrument::getMapNa
323    
324  #ifdef CONFIG_MIDI_INSTRUMENT  #ifdef CONFIG_MIDI_INSTRUMENT
325          int *piMaps = ::lscp_list_midi_instrument_maps(pMainForm->client());          int *piMaps = ::lscp_list_midi_instrument_maps(pMainForm->client());
326          for (int iMap = 0; piMaps && piMaps[iMap] >= 0; iMap++) {          if (piMaps == NULL) {
327                  const QString& sMapName = getMapName(piMaps[iMap]);                  if (::lscp_client_get_errno(pMainForm->client()))
328                  if (!sMapName.isEmpty())                          pMainForm->appendMessagesClient("lscp_list_midi_instruments");
329                          maps.append(sMapName);          } else {
330                    for (int iMap = 0; piMaps[iMap] >= 0; iMap++) {
331                            const QString& sMapName = getMapName(piMaps[iMap]);
332                            if (!sMapName.isEmpty())
333                                    maps.append(sMapName);
334                    }
335          }          }
336  #endif  #endif
337    
# Line 335  QString qsamplerInstrument::getMapName ( Line 343  QString qsamplerInstrument::getMapName (
343  {  {
344          QString sMapName;          QString sMapName;
345    
346          qsamplerMainForm *pMainForm = qsamplerMainForm::getInstance();          MainForm *pMainForm = MainForm::getInstance();
347          if (pMainForm == NULL)          if (pMainForm == NULL)
348                  return sMapName;                  return sMapName;
349          if (pMainForm->client() == NULL)          if (pMainForm->client() == NULL)
# Line 344  QString qsamplerInstrument::getMapName ( Line 352  QString qsamplerInstrument::getMapName (
352  #ifdef CONFIG_MIDI_INSTRUMENT  #ifdef CONFIG_MIDI_INSTRUMENT
353          const char *pszMapName          const char *pszMapName
354                  = ::lscp_get_midi_instrument_map_name(pMainForm->client(), iMidiMap);                  = ::lscp_get_midi_instrument_map_name(pMainForm->client(), iMidiMap);
355          if (pszMapName == NULL)          if (pszMapName == NULL) {
356                  pszMapName = " -";                  pszMapName = " -";
357          sMapName = QString("%1 - %2").arg(iMidiMap).arg(pszMapName);                  if (::lscp_client_get_errno(pMainForm->client()))
358                            pMainForm->appendMessagesClient("lscp_get_midi_instrument_name");
359            }
360            sMapName = QString("%1 - %2").arg(iMidiMap).arg(qsamplerUtilities::lscpEscapedTextToRaw(pszMapName));
361  #endif  #endif
362    
363          return sMapName;          return sMapName;

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

  ViewVC Help
Powered by ViewVC