diff options
Diffstat (limited to 'muse2')
-rw-r--r-- | muse2/muse/audiotrack.cpp | 37 | ||||
-rw-r--r-- | muse2/muse/driver/dummyaudio.cpp | 8 | ||||
-rw-r--r-- | muse2/muse/dssihost.cpp | 22 | ||||
-rw-r--r-- | muse2/muse/mixer/astrip.cpp | 63 | ||||
-rw-r--r-- | muse2/muse/node.cpp | 18 | ||||
-rw-r--r-- | muse2/muse/plugin.cpp | 18 | ||||
-rw-r--r-- | muse2/muse/vst_native.cpp | 21 |
7 files changed, 139 insertions, 48 deletions
diff --git a/muse2/muse/audiotrack.cpp b/muse2/muse/audiotrack.cpp index 91b07063..0b1e94b2 100644 --- a/muse2/muse/audiotrack.cpp +++ b/muse2/muse/audiotrack.cpp @@ -23,6 +23,7 @@ #include <limits.h> #include <stdlib.h> +#include <stdio.h> #include <map> #include <QMessageBox> @@ -117,7 +118,14 @@ AudioTrack::AudioTrack(TrackType t) _totalOutChannels = MAX_CHANNELS; outBuffers = new float*[_totalOutChannels]; for (int i = 0; i < _totalOutChannels; ++i) - posix_memalign((void**)&outBuffers[i], 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)&outBuffers[i], 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: AudioTrack ctor: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } // This is only set by multi-channel syntis... _totalInChannels = 0; @@ -1725,7 +1733,14 @@ AudioAux::AudioAux() for(int i = 0; i < MAX_CHANNELS; ++i) { if(i < channels()) - posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: AudioAux ctor: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } else buffer[i] = 0; } @@ -1738,7 +1753,14 @@ AudioAux::AudioAux(const AudioAux& t, int flags) for(int i = 0; i < MAX_CHANNELS; ++i) { if(i < channels()) - posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: AudioAux ctor: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } else buffer[i] = 0; } @@ -1830,7 +1852,14 @@ void AudioAux::setChannels(int n) if(n > channels()) { for(int i = channels(); i < n; ++i) - posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: AudioAux::setChannels: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } } else if(n < channels()) { diff --git a/muse2/muse/driver/dummyaudio.cpp b/muse2/muse/driver/dummyaudio.cpp index 21bb425f..172638b4 100644 --- a/muse2/muse/driver/dummyaudio.cpp +++ b/muse2/muse/driver/dummyaudio.cpp @@ -227,7 +227,13 @@ DummyAudioDevice::DummyAudioDevice() // Added by Tim. p3.3.15 // p3.3.30 //posix_memalign((void**)&buffer, 16, sizeof(float) * dummyFrames); - posix_memalign((void**)&buffer, 16, sizeof(float) * MusEGlobal::config.dummyAudioBufSize); + + int rv = posix_memalign((void**)&buffer, 16, sizeof(float) * MusEGlobal::config.dummyAudioBufSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: DummyAudioDevice ctor: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } dummyThread = 0; realtimeFlag = false; diff --git a/muse2/muse/dssihost.cpp b/muse2/muse/dssihost.cpp index 4391dfd9..6b55c7e7 100644 --- a/muse2/muse/dssihost.cpp +++ b/muse2/muse/dssihost.cpp @@ -37,6 +37,7 @@ #include <signal.h> #include <dlfcn.h> #include <stdlib.h> +#include <stdio.h> #include <sys/stat.h> #include <QDir> @@ -486,13 +487,23 @@ bool DssiSynthIF::init(DssiSynth* s) int inports = synth->_inports; if(inports != 0) { - posix_memalign((void**)&audioInSilenceBuf, 16, sizeof(float) * MusEGlobal::segmentSize); + int rv = posix_memalign((void**)&audioInSilenceBuf, 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: DssiSynthIF::init: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } memset(audioInSilenceBuf, 0, sizeof(float) * MusEGlobal::segmentSize); audioInBuffers = new float*[inports]; for(int k = 0; k < inports; ++k) { - posix_memalign((void**)&audioInBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + int rv = posix_memalign((void**)&audioInBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: DssiSynthIF::init: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } memset(audioInBuffers[k], 0, sizeof(float) * MusEGlobal::segmentSize); ld->connect_port(handle, synth->iIdx[k], audioInBuffers[k]); } @@ -504,7 +515,12 @@ bool DssiSynthIF::init(DssiSynth* s) audioOutBuffers = new float*[outports]; for(int k = 0; k < outports; ++k) { - posix_memalign((void**)&audioOutBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + int rv = posix_memalign((void**)&audioOutBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: DssiSynthIF::init: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } memset(audioOutBuffers[k], 0, sizeof(float) * MusEGlobal::segmentSize); ld->connect_port(handle, synth->oIdx[k], audioOutBuffers[k]); } diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp index 243df29c..32504cc8 100644 --- a/muse2/muse/mixer/astrip.cpp +++ b/muse2/muse/mixer/astrip.cpp @@ -23,6 +23,8 @@ //========================================================= #include <fastlog.h> +#include <stdio.h> +#include <stdlib.h> #include <QLayout> #include <QApplication> @@ -676,45 +678,46 @@ void AudioStrip::updateChannels() MusEGui::Knob* AudioStrip::addKnob(Knob::KnobType type, int id, MusEGui::DoubleLabel** dlabel, QLabel *name) { - MusEGui::Knob* knob = new Knob(this); - knob->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); - MusEGui::DoubleLabel* knobLabel; - if (type == Knob::panType) - { - knob->setRange(-1.0, +1.0); - knob->setToolTip(tr("panorama")); - knobLabel = new MusEGui::DoubleLabel(0, -1.0, +1.0, this); - - } else if (type == Knob::auxType) - { - knob->setRange(MusEGlobal::config.minSlider-0.1, 10.0); - knob->setToolTip(tr("aux send level")); - knob->setFaceColor(Qt::blue); - knobLabel = new MusEGui::DoubleLabel(0.0, MusEGlobal::config.minSlider, 10.1, this); - - } else if (type == Knob::gainType) + MusEGui::Knob* knob = NULL; + MusEGui::DoubleLabel* knobLabel = NULL; + switch(type) { - knob->setRange(1.0, 20.0); - knob->setFaceColor(Qt::yellow); - knob->setToolTip(tr("calibration gain")); - knobLabel = new MusEGui::DoubleLabel(1.0, 1.0, 30.0, this); + case Knob::panType: + knob = new Knob(this); + knob->setRange(-1.0, +1.0); + knob->setToolTip(tr("panorama")); + knobLabel = new MusEGui::DoubleLabel(0, -1.0, +1.0, this); + knobLabel->setPrecision(2); + break; + case Knob::auxType: + knob = new Knob(this); + knob->setRange(MusEGlobal::config.minSlider-0.1, 10.0); + knob->setToolTip(tr("aux send level")); + knob->setFaceColor(Qt::blue); + knobLabel = new MusEGui::DoubleLabel(0.0, MusEGlobal::config.minSlider, 10.1, this); + knobLabel->setPrecision(0); + break; + case Knob::gainType: + knob = new Knob(this); + knob->setRange(1.0, 20.0); + knob->setFaceColor(Qt::yellow); + knob->setToolTip(tr("calibration gain")); + knobLabel = new MusEGui::DoubleLabel(1.0, 1.0, 30.0, this); + knobLabel->setPrecision(1); + break; + default: + fprintf(stderr, "FIXME: AudioStrip::addKnob(): Unknown type. Aborting!\n"); + abort(); } + + knob->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); knob->setBackgroundRole(QPalette::Mid); if (dlabel) *dlabel = knobLabel; knobLabel->setSlider(knob); - ///pl->setFont(MusEGlobal::config.fonts[1]); knobLabel->setBackgroundRole(QPalette::Mid); knobLabel->setFrame(true); - if (type == Knob::panType) - knobLabel->setPrecision(2); - else if (type == Knob::auxType){ - knobLabel->setPrecision(0); - } - else if (type == Knob::gainType){ - knobLabel->setPrecision(1); - } knobLabel->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); name->setParent(this); diff --git a/muse2/muse/node.cpp b/muse2/muse/node.cpp index ffc26ee9..f2598430 100644 --- a/muse2/muse/node.cpp +++ b/muse2/muse/node.cpp @@ -25,6 +25,7 @@ #include <cmath> #include <sndfile.h> #include <stdlib.h> +#include <stdio.h> #include <QString> @@ -1576,8 +1577,8 @@ bool Fifo::put(int segs, unsigned long samples, float** src, unsigned pos) free(b->buffer); b->buffer = 0; } - posix_memalign((void**)&(b->buffer), 16, sizeof(float) * n); - if(!b->buffer) + int rv = posix_memalign((void**)&(b->buffer), 16, sizeof(float) * n); + if(rv != 0 || !b->buffer) { printf("Fifo::put could not allocate buffer segs:%d samples:%lu pos:%u\n", segs, samples, pos); return true; @@ -1666,8 +1667,8 @@ bool Fifo::getWriteBuffer(int segs, unsigned long samples, float** buf, unsigned b->buffer = 0; } - posix_memalign((void**)&(b->buffer), 16, sizeof(float) * n); - if(!b->buffer) + int rv = posix_memalign((void**)&(b->buffer), 16, sizeof(float) * n); + if(rv != 0 || !b->buffer) { printf("Fifo::getWriteBuffer could not allocate buffer segs:%d samples:%lu pos:%u\n", segs, samples, pos); return true; @@ -1742,7 +1743,14 @@ void AudioTrack::setTotalOutChannels(int num) outBuffers = new float*[chans]; for (int i = 0; i < chans; ++i) - posix_memalign((void**)&outBuffers[i], 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)&outBuffers[i], 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: AudioTrack::setTotalOutChannels: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } } chans = num; // Limit the actual track (meters, copying etc, all 'normal' operation) to two-channel stereo. diff --git a/muse2/muse/plugin.cpp b/muse2/muse/plugin.cpp index 203aac63..3029e618 100644 --- a/muse2/muse/plugin.cpp +++ b/muse2/muse/plugin.cpp @@ -1166,7 +1166,14 @@ Pipeline::Pipeline() : std::vector<PluginI*>() { for (int i = 0; i < MAX_CHANNELS; ++i) - posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: Pipeline ctor: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } for (int i = 0; i < PipelineDepth; ++i) push_back(0); @@ -1180,7 +1187,14 @@ Pipeline::Pipeline(const Pipeline& /*p*/) : std::vector<PluginI*>() { for (int i = 0; i < MAX_CHANNELS; ++i) - posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + { + int rv = posix_memalign((void**)(buffer + i), 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: Pipeline copy ctor: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } + } // TODO: Copy plug-ins ! for (int i = 0; i < PipelineDepth; ++i) diff --git a/muse2/muse/vst_native.cpp b/muse2/muse/vst_native.cpp index c22799d6..de206313 100644 --- a/muse2/muse/vst_native.cpp +++ b/muse2/muse/vst_native.cpp @@ -789,7 +789,12 @@ bool VstNativeSynthIF::init(Synth* s) _audioOutBuffers = new float*[outports]; for(unsigned long k = 0; k < outports; ++k) { - posix_memalign((void**)&_audioOutBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + int rv = posix_memalign((void**)&_audioOutBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: VstNativeSynthIF::init: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } memset(_audioOutBuffers[k], 0, sizeof(float) * MusEGlobal::segmentSize); } } @@ -800,12 +805,22 @@ bool VstNativeSynthIF::init(Synth* s) _audioInBuffers = new float*[inports]; for(unsigned long k = 0; k < inports; ++k) { - posix_memalign((void**)&_audioInBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + int rv = posix_memalign((void**)&_audioInBuffers[k], 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: VstNativeSynthIF::init: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } memset(_audioInBuffers[k], 0, sizeof(float) * MusEGlobal::segmentSize); _iUsedIdx.push_back(false); // Start out with all false. } - posix_memalign((void**)&_audioInSilenceBuf, 16, sizeof(float) * MusEGlobal::segmentSize); + int rv = posix_memalign((void**)&_audioInSilenceBuf, 16, sizeof(float) * MusEGlobal::segmentSize); + if(rv != 0) + { + fprintf(stderr, "ERROR: VstNativeSynthIF::init: posix_memalign returned error:%d. Aborting!\n", rv); + abort(); + } memset(_audioInSilenceBuf, 0, sizeof(float) * MusEGlobal::segmentSize); } |