/[svn]/linuxsampler/trunk/src/hostplugins/dssi/PluginDssi.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/hostplugins/dssi/PluginDssi.cpp

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

revision 2012 by persson, Sun Mar 8 09:57:19 2009 UTC revision 2013 by persson, Sat Oct 24 09:07:38 2009 UTC
# Line 26  Line 26 
26    
27  #include "PluginDssi.h"  #include "PluginDssi.h"
28    
29  #include "../../engines/gig/EngineChannel.h"  #include "../../engines/AbstractEngineChannel.h"
30    
31  namespace {  namespace {
32    
# Line 57  namespace { Line 57  namespace {
57          pChannel = plugin->global->pSampler->AddSamplerChannel();          pChannel = plugin->global->pSampler->AddSamplerChannel();
58          pChannel->SetEngineType("gig");          pChannel->SetEngineType("gig");
59          pChannel->SetAudioOutputDevice(plugin->pAudioDevice);          pChannel->SetAudioOutputDevice(plugin->pAudioDevice);
60          LinuxSampler::MidiInputPort* port = plugin->pMidiDevice->CreateMidiPort();          pPort = plugin->pMidiDevice->CreateMidiPort();
61          port->Connect(pChannel->GetEngineChannel(), LinuxSampler::midi_chan_all);          pPort->Connect(pChannel->GetEngineChannel(), LinuxSampler::midi_chan_all);
62    
63          // TODO: remove dependency on gig engine          LinuxSampler::AbstractEngineChannel* engineChannel =
64          LinuxSampler::gig::EngineChannel* engineChannel =              static_cast<LinuxSampler::AbstractEngineChannel*>(pChannel->GetEngineChannel());
             (LinuxSampler::gig::EngineChannel*)pChannel->GetEngineChannel();  
65          // TODO: pChannelLeft and pChannelRight are meant to be          // TODO: pChannelLeft and pChannelRight are meant to be
66          // protected          // protected
67          engineChannel->pChannelLeft = new LinuxSampler::AudioChannel(0, 0, 0);          engineChannel->pChannelLeft = new LinuxSampler::AudioChannel(0, 0, 0);
# Line 70  namespace { Line 69  namespace {
69      }      }
70    
71      PluginInstance::~PluginInstance() {      PluginInstance::~PluginInstance() {
72          LinuxSampler::gig::EngineChannel* engineChannel =          LinuxSampler::AbstractEngineChannel* engineChannel =
73              (LinuxSampler::gig::EngineChannel*)pChannel->GetEngineChannel();              static_cast<LinuxSampler::AbstractEngineChannel*>(pChannel->GetEngineChannel());
74          delete engineChannel->pChannelLeft;          delete engineChannel->pChannelLeft;
75          delete engineChannel->pChannelRight;          delete engineChannel->pChannelRight;
         LinuxSampler::MidiInputPort* port = engineChannel->pMidiInputPort;  
76    
77          if (--plugin->RefCount == 0) {          if (--plugin->RefCount == 0) {
78              delete plugin;              delete plugin;
# Line 83  namespace { Line 81  namespace {
81              plugin->global->pSampler->RemoveSamplerChannel(pChannel);              plugin->global->pSampler->RemoveSamplerChannel(pChannel);
82          }          }
83    
84          LinuxSampler::MidiInputDevicePlugin::DeleteMidiPort(port);          LinuxSampler::MidiInputDevicePlugin::DeleteMidiPort(pPort);
85      }      }
86    
87      void PluginInstance::ConnectPort(unsigned long Port, LADSPA_Data* DataLocation) {      void PluginInstance::ConnectPort(unsigned long Port, LADSPA_Data* DataLocation) {
# Line 183  namespace { Line 181  namespace {
181                      }                      }
182                  }                  }
183    
184                  LinuxSampler::gig::EngineChannel* gigEngineChannel =                  LinuxSampler::AbstractEngineChannel* abstractEngineChannel =
185                      (LinuxSampler::gig::EngineChannel*)engineChannel;                      static_cast<LinuxSampler::AbstractEngineChannel*>(engineChannel);
186                  gigEngineChannel->pChannelLeft->SetBuffer(instance->Out[0] + samplePos);                  abstractEngineChannel->pChannelLeft->SetBuffer(instance->Out[0] + samplePos);
187                  gigEngineChannel->pChannelRight->SetBuffer(instance->Out[1] + samplePos);                  abstractEngineChannel->pChannelRight->SetBuffer(instance->Out[1] + samplePos);
188                  if (i) {                  if (i) {
189                      gigEngineChannel->pChannelLeft->Clear(samples);                      abstractEngineChannel->pChannelLeft->Clear(samples);
190                      gigEngineChannel->pChannelRight->Clear(samples);                      abstractEngineChannel->pChannelRight->Clear(samples);
191                  } else {                  } else {
192                      // the buffer set in the audio device is cleared                      // the buffer set in the audio device is cleared
193                      // by Render                      // by Render

Legend:
Removed from v.2012  
changed lines
  Added in v.2013

  ViewVC Help
Powered by ViewVC