From 5eecc279ad4787477b60b97d59716a76f4cc2f21 Mon Sep 17 00:00:00 2001 From: dave griffiths Date: Wed, 7 Sep 2022 15:41:39 +0100 Subject: [PATCH 1/2] fix for running with no output device, and mac building --- app/samplebrain.pro | 3 ++- brain/src/spiralcore/portaudio_client.cpp | 14 +++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/samplebrain.pro b/app/samplebrain.pro index 2c69e65..6ce37de 100644 --- a/app/samplebrain.pro +++ b/app/samplebrain.pro @@ -41,7 +41,8 @@ SOURCES += MainWindow.cpp \ ../brain/src/spiralcore/stream.cpp INCLUDEPATH += ../brain/src -LIBS += -L.. -lportaudio -lfftw3 -lsndfile -llo -ldl -lpthread -lm +INCLUDEPATH += /usr/local/include +LIBS += -L.. -L/usr/local/lib -lportaudio -lfftw3 -lsndfile -llo -ldl -lpthread -lm CONFIG+=debug QMAKE_CXXFLAGS += -Wall -Wno-unused -std=c++11 diff --git a/brain/src/spiralcore/portaudio_client.cpp b/brain/src/spiralcore/portaudio_client.cpp index 59d6b12..48e13d8 100644 --- a/brain/src/spiralcore/portaudio_client.cpp +++ b/brain/src/spiralcore/portaudio_client.cpp @@ -77,13 +77,13 @@ bool portaudio_client::attach(const string &client_name, const device_options &d input_parameters.device = input_device_num; if (input_parameters.device == paNoDevice) { cerr<<"error: no default input device."<defaultLowInputLatency; - input_parameters.hostApiSpecificStreamInfo = NULL; - - cerr<<"Connecting to "<name<<" for input"<defaultLowInputLatency; + input_parameters.hostApiSpecificStreamInfo = NULL; + cerr<<"Connecting to "<name<<" for input"< Date: Wed, 7 Sep 2022 16:13:46 +0100 Subject: [PATCH 2/2] crash fixed with no input device --- app/qtmain.cpp | 3 --- brain/src/spiralcore/portaudio_client.cpp | 24 +++++++++++------------ 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/app/qtmain.cpp b/app/qtmain.cpp index c2571a8..1f2d541 100644 --- a/app/qtmain.cpp +++ b/app/qtmain.cpp @@ -23,7 +23,6 @@ #include "process_thread.h" #include "audio_thread.h" -//#include "pitchshift.h" using namespace std; @@ -34,8 +33,6 @@ int main( int argc , char *argv[] ){ cerr<<"Qt version: "<defaultLowOutputLatency; + output_parameters.hostApiSpecificStreamInfo = NULL; + cerr<<"Connecting to "<name<<" for output"<defaultLowOutputLatency; - output_parameters.hostApiSpecificStreamInfo = NULL; - - cerr<<"Connecting to "<name<<" for output"<defaultLowInputLatency; input_parameters.hostApiSpecificStreamInfo = NULL; @@ -88,7 +88,7 @@ bool portaudio_client::attach(const string &client_name, const device_options &d PaStream *stream; err = Pa_OpenStream(&stream, - &input_parameters, + input_p, &output_parameters, dopt.samplerate, dopt.buffer_size, @@ -147,7 +147,7 @@ int portaudio_client::process(const void *input_buffer, void *output_buffer, } } - if (m_right_in_data && m_left_in_data) { + if (input_buffer && m_right_in_data && m_left_in_data) { float *in = (float*)input_buffer; for (unsigned int n=0; n