/[svn]/linuxsampler/trunk/src/drivers/audio/AudioChannel.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/drivers/audio/AudioChannel.cpp

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

revision 1480 by schoenebeck, Sun Oct 14 22:00:17 2007 UTC revision 1481 by senoner, Wed Nov 14 23:42:15 2007 UTC
# Line 24  Line 24 
24  #include "AudioChannel.h"  #include "AudioChannel.h"
25    
26  #include "../../common/global_private.h"  #include "../../common/global_private.h"
27    #include "../../common/Thread.h" // needed for allocAlignedMem() and freeAlignedMem()
28    
29  #if defined(__APPLE__)  #if defined(__APPLE__)
30  # include <stdlib.h>  # include <stdlib.h>
# Line 42  namespace LinuxSampler { Line 43  namespace LinuxSampler {
43       */       */
44      AudioChannel::AudioChannel(uint ChannelNr, uint BufferSize) {      AudioChannel::AudioChannel(uint ChannelNr, uint BufferSize) {
45          this->ChannelNr          = ChannelNr;          this->ChannelNr          = ChannelNr;
46          #if defined(__APPLE__)          this->pBuffer            = (float *) Thread::allocAlignedMem(16,BufferSize*sizeof(float));
         this->pBuffer            = (float *) malloc(BufferSize*sizeof(float));  
         #else  
         this->pBuffer            = (float *) memalign(16,BufferSize*sizeof(float));  
         #endif  
47          this->uiBufferSize       = BufferSize;          this->uiBufferSize       = BufferSize;
48          this->pMixChannel        = NULL;          this->pMixChannel        = NULL;
49          this->UsesExternalBuffer = false;          this->UsesExternalBuffer = false;
# Line 104  namespace LinuxSampler { Line 101  namespace LinuxSampler {
101      AudioChannel::~AudioChannel() {      AudioChannel::~AudioChannel() {
102          std::map<String,DeviceRuntimeParameter*>::iterator iter = Parameters.begin();          std::map<String,DeviceRuntimeParameter*>::iterator iter = Parameters.begin();
103          while (iter != Parameters.end()) { delete iter->second; iter++; }          while (iter != Parameters.end()) { delete iter->second; iter++; }
104          if (!UsesExternalBuffer) free(pBuffer);          if (!UsesExternalBuffer) Thread::freeAlignedMem(pBuffer);
105      }      }
106    
107      /**      /**

Legend:
Removed from v.1480  
changed lines
  Added in v.1481

  ViewVC Help
Powered by ViewVC