2 |
* * |
* * |
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 * |
132 |
if (pEventGenerator) delete pEventGenerator; |
if (pEventGenerator) delete pEventGenerator; |
133 |
if (pVoiceStealingQueue) delete pVoiceStealingQueue; |
if (pVoiceStealingQueue) delete pVoiceStealingQueue; |
134 |
if (pSysexBuffer) delete pSysexBuffer; |
if (pSysexBuffer) delete pSysexBuffer; |
135 |
EngineFactory::Destroy(this); |
Unregister(); |
136 |
} |
} |
137 |
|
|
138 |
void Engine::Enable() { |
void Engine::Enable() { |
555 |
{ |
{ |
556 |
AudioChannel* pDstL = pAudioOutputDevice->Channel(pEngineChannel->AudioDeviceChannelLeft); |
AudioChannel* pDstL = pAudioOutputDevice->Channel(pEngineChannel->AudioDeviceChannelLeft); |
557 |
AudioChannel* pDstR = pAudioOutputDevice->Channel(pEngineChannel->AudioDeviceChannelRight); |
AudioChannel* pDstR = pAudioOutputDevice->Channel(pEngineChannel->AudioDeviceChannelRight); |
558 |
pEngineChannel->pChannelLeft->CopyTo(pDstL, Samples); |
pEngineChannel->pChannelLeft->MixTo(pDstL, Samples); |
559 |
pEngineChannel->pChannelRight->CopyTo(pDstR, Samples); |
pEngineChannel->pChannelRight->MixTo(pDstR, Samples); |
560 |
} |
} |
561 |
// route FX send signal |
// route FX send signal |
562 |
{ |
{ |
570 |
AudioChannel* pDstL = pAudioOutputDevice->Channel(iDstL); |
AudioChannel* pDstL = pAudioOutputDevice->Channel(iDstL); |
571 |
if (!pDstL) { |
if (!pDstL) { |
572 |
dmsg(1,("Engine::RouteAudio() Error: invalid FX send (L) destination channel")); |
dmsg(1,("Engine::RouteAudio() Error: invalid FX send (L) destination channel")); |
573 |
} else pEngineChannel->pChannelLeft->CopyTo(pDstL, Samples, pFxSend->Level()); |
} else pEngineChannel->pChannelLeft->MixTo(pDstL, Samples, pFxSend->Level()); |
574 |
} |
} |
575 |
// right channel |
// right channel |
576 |
const int iDstR = pFxSend->DestinationChannel(1); |
const int iDstR = pFxSend->DestinationChannel(1); |
580 |
AudioChannel* pDstR = pAudioOutputDevice->Channel(iDstR); |
AudioChannel* pDstR = pAudioOutputDevice->Channel(iDstR); |
581 |
if (!pDstR) { |
if (!pDstR) { |
582 |
dmsg(1,("Engine::RouteAudio() Error: invalid FX send (R) destination channel")); |
dmsg(1,("Engine::RouteAudio() Error: invalid FX send (R) destination channel")); |
583 |
} else pEngineChannel->pChannelRight->CopyTo(pDstR, Samples, pFxSend->Level()); |
} else pEngineChannel->pChannelRight->MixTo(pDstR, Samples, pFxSend->Level()); |
584 |
} |
} |
585 |
} |
} |
586 |
} |
} |
1636 |
} |
} |
1637 |
|
|
1638 |
String Engine::Version() { |
String Engine::Version() { |
1639 |
String s = "$Revision: 1.68 $"; |
String s = "$Revision: 1.70 $"; |
1640 |
return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword |
return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword |
1641 |
} |
} |
1642 |
|
|