/[svn]/linuxsampler/trunk/src/engines/gig/EngineChannel.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/gig/EngineChannel.cpp

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

revision 1039 by persson, Sat Feb 3 20:46:44 2007 UTC revision 1309 by iliev, Wed Aug 29 10:36:32 2007 UTC
# Line 3  Line 3 
3   *   LinuxSampler - modular, streaming capable sampler                     *   *   LinuxSampler - modular, streaming capable sampler                     *
4   *                                                                         *   *                                                                         *
5   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *   *   Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck   *
6   *   Copyright (C) 2005, 2006 Christian Schoenebeck                        *   *   Copyright (C) 2005 - 2007 Christian Schoenebeck                       *
7   *                                                                         *   *                                                                         *
8   *   This program is free software; you can redistribute it and/or modify  *   *   This program is free software; you can redistribute it and/or modify  *
9   *   it under the terms of the GNU General Public License as published by  *   *   it under the terms of the GNU General Public License as published by  *
# Line 159  namespace LinuxSampler { namespace gig { Line 159  namespace LinuxSampler { namespace gig {
159       * This method will then actually start to load the instrument and block       * This method will then actually start to load the instrument and block
160       * the calling thread until loading was completed.       * the calling thread until loading was completed.
161       *       *
      * @returns detailed description of the method call result  
162       * @see PrepareLoadInstrument()       * @see PrepareLoadInstrument()
163       */       */
164      void EngineChannel::LoadInstrument() {      void EngineChannel::LoadInstrument() {
# Line 192  namespace LinuxSampler { namespace gig { Line 191  namespace LinuxSampler { namespace gig {
191              instrid.Index     = InstrumentIdx;              instrid.Index     = InstrumentIdx;
192              newInstrument = Engine::instruments.Borrow(instrid, this);              newInstrument = Engine::instruments.Borrow(instrid, this);
193              if (!newInstrument) {              if (!newInstrument) {
194                  InstrumentStat = -1;                  throw InstrumentManagerException("resource was not created");
                 dmsg(1,("no instrument loaded!!!\n"));  
                 exit(EXIT_FAILURE);  
195              }              }
196          }          }
197          catch (RIFF::Exception e) {          catch (RIFF::Exception e) {
198              InstrumentStat = -2;              InstrumentStat = -2;
199                StatusChanged(true);
200              String msg = "gig::Engine error: Failed to load instrument, cause: " + e.Message;              String msg = "gig::Engine error: Failed to load instrument, cause: " + e.Message;
201              throw Exception(msg);              throw Exception(msg);
202          }          }
203          catch (InstrumentResourceManagerException e) {          catch (InstrumentManagerException e) {
204              InstrumentStat = -3;              InstrumentStat = -3;
205                StatusChanged(true);
206              String msg = "gig::Engine error: Failed to load instrument, cause: " + e.Message();              String msg = "gig::Engine error: Failed to load instrument, cause: " + e.Message();
207              throw Exception(msg);              throw Exception(msg);
208          }          }
209          catch (...) {          catch (...) {
210              InstrumentStat = -4;              InstrumentStat = -4;
211                StatusChanged(true);
212              throw Exception("gig::Engine error: Failed to load instrument, cause: Unknown exception while trying to parse gig file.");              throw Exception("gig::Engine error: Failed to load instrument, cause: Unknown exception while trying to parse gig file.");
213          }          }
214    
# Line 221  namespace LinuxSampler { namespace gig { Line 221  namespace LinuxSampler { namespace gig {
221    
222          if (pEngine) pEngine->ChangeInstrument(this, newInstrument);          if (pEngine) pEngine->ChangeInstrument(this, newInstrument);
223          else pInstrument = newInstrument;          else pInstrument = newInstrument;
224            
225            StatusChanged(true);
226      }      }
227    
228      /**      /**
# Line 338  namespace LinuxSampler { namespace gig { Line 340  namespace LinuxSampler { namespace gig {
340              default:              default:
341                  throw AudioOutputException("Invalid engine audio channel " + ToString(EngineAudioChannel));                  throw AudioOutputException("Invalid engine audio channel " + ToString(EngineAudioChannel));
342          }          }
343    
344            bStatusChanged = true;
345      }      }
346    
347      int EngineChannel::OutputChannel(uint EngineAudioChannel) {      int EngineChannel::OutputChannel(uint EngineAudioChannel) {
# Line 390  namespace LinuxSampler { namespace gig { Line 394  namespace LinuxSampler { namespace gig {
394          }          }
395          fxSends.push_back(pFxSend);          fxSends.push_back(pFxSend);
396          if (pEngine) pEngine->Enable();          if (pEngine) pEngine->Enable();
397            fireFxSendCountChanged(iSamplerChannelIndex, GetFxSendCount());
398            
399          return pFxSend;          return pFxSend;
400      }      }
401    
# Line 427  namespace LinuxSampler { namespace gig { Line 433  namespace LinuxSampler { namespace gig {
433              }              }
434          }          }
435          if (pEngine) pEngine->Enable();          if (pEngine) pEngine->Enable();
436            fireFxSendCountChanged(iSamplerChannelIndex, GetFxSendCount());
437      }      }
438    
439      /**      /**
# Line 633  namespace LinuxSampler { namespace gig { Line 640  namespace LinuxSampler { namespace gig {
640          MidiVolume     = 1.0;          MidiVolume     = 1.0;
641          GlobalPanLeft  = 1.0f;          GlobalPanLeft  = 1.0f;
642          GlobalPanRight = 1.0f;          GlobalPanRight = 1.0f;
643            GlobalTranspose = 0;
644          // set all MIDI controller values to zero          // set all MIDI controller values to zero
645          memset(ControllerTable, 0x00, 129);          memset(ControllerTable, 0x00, 129);
646            // reset all FX Send levels
647            for (
648                std::vector<FxSend*>::iterator iter = fxSends.begin();
649                iter != fxSends.end(); iter++
650            ) {
651                (*iter)->Reset();
652            }
653      }      }
654    
655      /**      /**

Legend:
Removed from v.1039  
changed lines
  Added in v.1309

  ViewVC Help
Powered by ViewVC