From 8fee8b5ffe6ada74505a2895b76b4decd2de4115 Mon Sep 17 00:00:00 2001 From: wittend99 Date: Thu, 17 May 2012 15:03:24 +0000 Subject: [PATCH] More work with portaudiocpp git-svn-id: https://svn.code.sf.net/p/freetel/code@471 01035d8c-6547-0410-b346-abe4f91aad63 --- .../portaudiocpp}/AsioDeviceAdapter.hxx | 0 .../include/portaudiocpp}/AutoSystem.hxx | 0 .../include/portaudiocpp}/BlockingStream.hxx | 0 .../portaudiocpp}/CFunCallbackStream.hxx | 0 .../portaudiocpp}/CallbackInterface.hxx | 0 .../include/portaudiocpp}/CallbackStream.hxx | 0 .../portaudiocpp}/CppFunCallbackStream.hxx | 0 .../include/portaudiocpp}/Device.hxx | 0 .../DirectionSpecificStreamParameters.hxx | 0 .../include/portaudiocpp}/Exception.hxx | 0 .../include/portaudiocpp}/HostApi.hxx | 0 .../portaudiocpp}/InterfaceCallbackStream.hxx | 0 .../portaudiocpp}/MemFunCallbackStream.hxx | 0 .../include/portaudiocpp}/PortAudioCpp.hxx | 0 .../portaudiocpp}/SampleDataFormat.hxx | 0 .../include/portaudiocpp}/Stream.hxx | 0 .../portaudiocpp}/StreamParameters.hxx | 0 .../include/portaudiocpp}/System.hxx | 0 .../portaudiocpp}/SystemDeviceIterator.hxx | 0 .../portaudiocpp}/SystemHostApiIterator.hxx | 0 fdmdv2/fdmdv2.mk | 26 ++++++++++++++-- fdmdv2/fdmdv2.project | 4 +++ fdmdv2/fdmdv2.workspace | 8 ++++- fdmdv2/fdmdv2_main.h | 3 +- fdmdv2/fdmdv2_thread_audio.cpp | 30 +++++++++++++++++++ fdmdv2/fdmdv2_thread_audio.h | 20 +++++++++++++ fdmdv2/fdmdv2_wsp.mk | 8 ++--- fdmdv2/pa_test/pa_test.project | 10 ++++--- fdmdv2/thread_audio.cpp | 9 +++--- fdmdv2/thread_audio.h | 2 +- 30 files changed, 102 insertions(+), 18 deletions(-) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/AsioDeviceAdapter.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/AutoSystem.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/BlockingStream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/CFunCallbackStream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/CallbackInterface.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/CallbackStream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/CppFunCallbackStream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/Device.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/DirectionSpecificStreamParameters.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/Exception.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/HostApi.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/InterfaceCallbackStream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/MemFunCallbackStream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/PortAudioCpp.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/SampleDataFormat.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/Stream.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/StreamParameters.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/System.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/SystemDeviceIterator.hxx (100%) rename fdmdv2/{pa_cpp_binding => extern/include/portaudiocpp}/SystemHostApiIterator.hxx (100%) create mode 100644 fdmdv2/fdmdv2_thread_audio.cpp create mode 100644 fdmdv2/fdmdv2_thread_audio.h diff --git a/fdmdv2/pa_cpp_binding/AsioDeviceAdapter.hxx b/fdmdv2/extern/include/portaudiocpp/AsioDeviceAdapter.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/AsioDeviceAdapter.hxx rename to fdmdv2/extern/include/portaudiocpp/AsioDeviceAdapter.hxx diff --git a/fdmdv2/pa_cpp_binding/AutoSystem.hxx b/fdmdv2/extern/include/portaudiocpp/AutoSystem.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/AutoSystem.hxx rename to fdmdv2/extern/include/portaudiocpp/AutoSystem.hxx diff --git a/fdmdv2/pa_cpp_binding/BlockingStream.hxx b/fdmdv2/extern/include/portaudiocpp/BlockingStream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/BlockingStream.hxx rename to fdmdv2/extern/include/portaudiocpp/BlockingStream.hxx diff --git a/fdmdv2/pa_cpp_binding/CFunCallbackStream.hxx b/fdmdv2/extern/include/portaudiocpp/CFunCallbackStream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/CFunCallbackStream.hxx rename to fdmdv2/extern/include/portaudiocpp/CFunCallbackStream.hxx diff --git a/fdmdv2/pa_cpp_binding/CallbackInterface.hxx b/fdmdv2/extern/include/portaudiocpp/CallbackInterface.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/CallbackInterface.hxx rename to fdmdv2/extern/include/portaudiocpp/CallbackInterface.hxx diff --git a/fdmdv2/pa_cpp_binding/CallbackStream.hxx b/fdmdv2/extern/include/portaudiocpp/CallbackStream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/CallbackStream.hxx rename to fdmdv2/extern/include/portaudiocpp/CallbackStream.hxx diff --git a/fdmdv2/pa_cpp_binding/CppFunCallbackStream.hxx b/fdmdv2/extern/include/portaudiocpp/CppFunCallbackStream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/CppFunCallbackStream.hxx rename to fdmdv2/extern/include/portaudiocpp/CppFunCallbackStream.hxx diff --git a/fdmdv2/pa_cpp_binding/Device.hxx b/fdmdv2/extern/include/portaudiocpp/Device.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/Device.hxx rename to fdmdv2/extern/include/portaudiocpp/Device.hxx diff --git a/fdmdv2/pa_cpp_binding/DirectionSpecificStreamParameters.hxx b/fdmdv2/extern/include/portaudiocpp/DirectionSpecificStreamParameters.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/DirectionSpecificStreamParameters.hxx rename to fdmdv2/extern/include/portaudiocpp/DirectionSpecificStreamParameters.hxx diff --git a/fdmdv2/pa_cpp_binding/Exception.hxx b/fdmdv2/extern/include/portaudiocpp/Exception.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/Exception.hxx rename to fdmdv2/extern/include/portaudiocpp/Exception.hxx diff --git a/fdmdv2/pa_cpp_binding/HostApi.hxx b/fdmdv2/extern/include/portaudiocpp/HostApi.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/HostApi.hxx rename to fdmdv2/extern/include/portaudiocpp/HostApi.hxx diff --git a/fdmdv2/pa_cpp_binding/InterfaceCallbackStream.hxx b/fdmdv2/extern/include/portaudiocpp/InterfaceCallbackStream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/InterfaceCallbackStream.hxx rename to fdmdv2/extern/include/portaudiocpp/InterfaceCallbackStream.hxx diff --git a/fdmdv2/pa_cpp_binding/MemFunCallbackStream.hxx b/fdmdv2/extern/include/portaudiocpp/MemFunCallbackStream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/MemFunCallbackStream.hxx rename to fdmdv2/extern/include/portaudiocpp/MemFunCallbackStream.hxx diff --git a/fdmdv2/pa_cpp_binding/PortAudioCpp.hxx b/fdmdv2/extern/include/portaudiocpp/PortAudioCpp.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/PortAudioCpp.hxx rename to fdmdv2/extern/include/portaudiocpp/PortAudioCpp.hxx diff --git a/fdmdv2/pa_cpp_binding/SampleDataFormat.hxx b/fdmdv2/extern/include/portaudiocpp/SampleDataFormat.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/SampleDataFormat.hxx rename to fdmdv2/extern/include/portaudiocpp/SampleDataFormat.hxx diff --git a/fdmdv2/pa_cpp_binding/Stream.hxx b/fdmdv2/extern/include/portaudiocpp/Stream.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/Stream.hxx rename to fdmdv2/extern/include/portaudiocpp/Stream.hxx diff --git a/fdmdv2/pa_cpp_binding/StreamParameters.hxx b/fdmdv2/extern/include/portaudiocpp/StreamParameters.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/StreamParameters.hxx rename to fdmdv2/extern/include/portaudiocpp/StreamParameters.hxx diff --git a/fdmdv2/pa_cpp_binding/System.hxx b/fdmdv2/extern/include/portaudiocpp/System.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/System.hxx rename to fdmdv2/extern/include/portaudiocpp/System.hxx diff --git a/fdmdv2/pa_cpp_binding/SystemDeviceIterator.hxx b/fdmdv2/extern/include/portaudiocpp/SystemDeviceIterator.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/SystemDeviceIterator.hxx rename to fdmdv2/extern/include/portaudiocpp/SystemDeviceIterator.hxx diff --git a/fdmdv2/pa_cpp_binding/SystemHostApiIterator.hxx b/fdmdv2/extern/include/portaudiocpp/SystemHostApiIterator.hxx similarity index 100% rename from fdmdv2/pa_cpp_binding/SystemHostApiIterator.hxx rename to fdmdv2/extern/include/portaudiocpp/SystemHostApiIterator.hxx diff --git a/fdmdv2/fdmdv2.mk b/fdmdv2/fdmdv2.mk index 85b3e0eb..8dc37dad 100644 --- a/fdmdv2/fdmdv2.mk +++ b/fdmdv2/fdmdv2.mk @@ -13,7 +13,7 @@ CurrentFileName := CurrentFilePath := CurrentFileFullPath := User :=wittend -Date :=5/13/2012 +Date :=5/17/2012 CodeLitePath :="C:\Program Files\CodeLite" LinkerName :=g++ ArchiveTool :=ar rcus @@ -56,7 +56,7 @@ WXWIN:=C:\bin\wxWidgets-2.9.2 PATH:=$(WXWIN)\lib\gcc_dll;$(PATH) WXCFG:=gcc_dll\mswu UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3 -Objects=$(IntermediateDirectory)/topFrame$(ObjectSuffix) $(IntermediateDirectory)/dlg_about$(ObjectSuffix) $(IntermediateDirectory)/dlg_audio$(ObjectSuffix) $(IntermediateDirectory)/dlg_options$(ObjectSuffix) $(IntermediateDirectory)/dlg_comports$(ObjectSuffix) $(IntermediateDirectory)/fdmdv2_plot$(ObjectSuffix) $(IntermediateDirectory)/fdmdv2_main$(ObjectSuffix) +Objects=$(IntermediateDirectory)/topFrame$(ObjectSuffix) $(IntermediateDirectory)/dlg_about$(ObjectSuffix) $(IntermediateDirectory)/dlg_audio$(ObjectSuffix) $(IntermediateDirectory)/dlg_options$(ObjectSuffix) $(IntermediateDirectory)/dlg_comports$(ObjectSuffix) $(IntermediateDirectory)/fdmdv2_plot$(ObjectSuffix) $(IntermediateDirectory)/fdmdv2_main$(ObjectSuffix) $(IntermediateDirectory)/thread_audio$(ObjectSuffix) $(IntermediateDirectory)/fdmdv2_thread_audio$(ObjectSuffix) ## ## Main Build Targets @@ -135,6 +135,22 @@ $(IntermediateDirectory)/fdmdv2_main$(DependSuffix): fdmdv2_main.cpp $(IntermediateDirectory)/fdmdv2_main$(PreprocessSuffix): fdmdv2_main.cpp @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/fdmdv2_main$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/fdmdv2_main.cpp" +$(IntermediateDirectory)/thread_audio$(ObjectSuffix): thread_audio.cpp $(IntermediateDirectory)/thread_audio$(DependSuffix) + $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/thread_audio.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/thread_audio$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/thread_audio$(DependSuffix): thread_audio.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/thread_audio$(ObjectSuffix) -MF$(IntermediateDirectory)/thread_audio$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/thread_audio.cpp" + +$(IntermediateDirectory)/thread_audio$(PreprocessSuffix): thread_audio.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/thread_audio$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/thread_audio.cpp" + +$(IntermediateDirectory)/fdmdv2_thread_audio$(ObjectSuffix): fdmdv2_thread_audio.cpp $(IntermediateDirectory)/fdmdv2_thread_audio$(DependSuffix) + $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/fdmdv2_thread_audio.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/fdmdv2_thread_audio$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/fdmdv2_thread_audio$(DependSuffix): fdmdv2_thread_audio.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/fdmdv2_thread_audio$(ObjectSuffix) -MF$(IntermediateDirectory)/fdmdv2_thread_audio$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/fdmdv2_thread_audio.cpp" + +$(IntermediateDirectory)/fdmdv2_thread_audio$(PreprocessSuffix): fdmdv2_thread_audio.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/fdmdv2_thread_audio$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/fdmdv2_thread_audio.cpp" + -include $(IntermediateDirectory)/*$(DependSuffix) ## @@ -162,6 +178,12 @@ clean: $(RM) $(IntermediateDirectory)/fdmdv2_main$(ObjectSuffix) $(RM) $(IntermediateDirectory)/fdmdv2_main$(DependSuffix) $(RM) $(IntermediateDirectory)/fdmdv2_main$(PreprocessSuffix) + $(RM) $(IntermediateDirectory)/thread_audio$(ObjectSuffix) + $(RM) $(IntermediateDirectory)/thread_audio$(DependSuffix) + $(RM) $(IntermediateDirectory)/thread_audio$(PreprocessSuffix) + $(RM) $(IntermediateDirectory)/fdmdv2_thread_audio$(ObjectSuffix) + $(RM) $(IntermediateDirectory)/fdmdv2_thread_audio$(DependSuffix) + $(RM) $(IntermediateDirectory)/fdmdv2_thread_audio$(PreprocessSuffix) $(RM) $(OutputFile) $(RM) $(OutputFile).exe $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-release\fdmdv2" diff --git a/fdmdv2/fdmdv2.project b/fdmdv2/fdmdv2.project index 1a55b90b..883aea66 100644 --- a/fdmdv2/fdmdv2.project +++ b/fdmdv2/fdmdv2.project @@ -15,6 +15,8 @@ + + @@ -24,6 +26,8 @@ + + diff --git a/fdmdv2/fdmdv2.workspace b/fdmdv2/fdmdv2.workspace index 748741c3..9254a85e 100644 --- a/fdmdv2/fdmdv2.workspace +++ b/fdmdv2/fdmdv2.workspace @@ -2,7 +2,9 @@ - + + + @@ -11,6 +13,8 @@ + + @@ -19,6 +23,8 @@ + + diff --git a/fdmdv2/fdmdv2_main.h b/fdmdv2/fdmdv2_main.h index b13f6e7d..08f03fda 100644 --- a/fdmdv2/fdmdv2_main.h +++ b/fdmdv2/fdmdv2_main.h @@ -30,6 +30,7 @@ #include "dlg_options.h" #include "dlg_comports.h" #include "fdmdv2_plot.h" +#include "fdmdv2_thread_audio.h" #define WAV_FILE wxT("doggrowl.wav") @@ -85,7 +86,7 @@ class MainFrame : public TopFrame void OnThreadCompletion(wxThreadEvent&); protected: - MyThread *m_pThread; + Fdmdv2ThreadAudio *m_pThread; wxCriticalSection m_pThreadCS; // protects the m_pThread pointer // protected event handlers virtual void OnCloseFrame(wxCloseEvent& event); diff --git a/fdmdv2/fdmdv2_thread_audio.cpp b/fdmdv2/fdmdv2_thread_audio.cpp new file mode 100644 index 00000000..4d17ea41 --- /dev/null +++ b/fdmdv2/fdmdv2_thread_audio.cpp @@ -0,0 +1,30 @@ +#include "fdmdv2_thread_audio.h" + +//namespace NSfdmdv2Audio +//{ + + Fdmdv2ThreadAudio::Fdmdv2ThreadAudio() + { + } + + Fdmdv2ThreadAudio::~Fdmdv2ThreadAudio() + { + } + + void* Fdmdv2ThreadAudio::Entry() + { + return NULL; + } + void Fdmdv2ThreadAudio::OnDelete() + { + } + void Fdmdv2ThreadAudio::OnExit() + { + } + void Fdmdv2ThreadAudio::OnKill() + { + } +// bool Fdmdv2ThreadAudio::TestDestroy() +// { +// } +//} diff --git a/fdmdv2/fdmdv2_thread_audio.h b/fdmdv2/fdmdv2_thread_audio.h new file mode 100644 index 00000000..d96221f0 --- /dev/null +++ b/fdmdv2/fdmdv2_thread_audio.h @@ -0,0 +1,20 @@ +#ifndef __THREAD_AUDIO__ +#define __THREAD_AUDIO__ +#include "wx/thread.h" // Base class: wxThread + +//namespace NSfdmdv2Audio +//{ + class Fdmdv2ThreadAudio : public wxThread + { + public: + Fdmdv2ThreadAudio(); + ~Fdmdv2ThreadAudio(); + public: + virtual void* Entry(); + virtual void OnDelete(); + virtual void OnExit(); + virtual void OnKill(); + virtual bool TestDestroy(); + }; +//} +#endif // __THREAD_AUDIO__ diff --git a/fdmdv2/fdmdv2_wsp.mk b/fdmdv2/fdmdv2_wsp.mk index 661439a3..13bc5fdc 100644 --- a/fdmdv2/fdmdv2_wsp.mk +++ b/fdmdv2/fdmdv2_wsp.mk @@ -1,8 +1,8 @@ .PHONY: clean All All: - @echo ----------Building project:[ test_hamlib - Release ]---------- - @cd "hamlib-3.0\test_hamlib" && "mingw32-make.exe" -j 2 -f "test_hamlib.mk" + @echo ----------Building project:[ pa_cppbinding_test - Release ]---------- + @cd "pa_cppbinding_test" && "mingw32-make.exe" -j 2 -f "pa_cppbinding_test.mk" clean: - @echo ----------Cleaning project:[ test_hamlib - Release ]---------- - @cd "hamlib-3.0\test_hamlib" && "mingw32-make.exe" -j 2 -f "test_hamlib.mk" clean + @echo ----------Cleaning project:[ pa_cppbinding_test - Release ]---------- + @cd "pa_cppbinding_test" && "mingw32-make.exe" -j 2 -f "pa_cppbinding_test.mk" clean diff --git a/fdmdv2/pa_test/pa_test.project b/fdmdv2/pa_test/pa_test.project index 28ec3f44..86d39e3b 100644 --- a/fdmdv2/pa_test/pa_test.project +++ b/fdmdv2/pa_test/pa_test.project @@ -10,6 +10,9 @@ + + + @@ -23,6 +26,8 @@ + + @@ -62,7 +67,7 @@ - + @@ -99,7 +104,4 @@ - - - diff --git a/fdmdv2/thread_audio.cpp b/fdmdv2/thread_audio.cpp index 889bf732..72793fdc 100644 --- a/fdmdv2/thread_audio.cpp +++ b/fdmdv2/thread_audio.cpp @@ -14,12 +14,10 @@ wxDECLARE_EVENT(wxEVT_COMMAND_AUDIOTHREAD_COMPLETED, wxThreadEvent); wxDECLARE_EVENT(wxEVT_COMMAND_AUDIOTHREAD_UPDATE, wxThreadEvent); #include "stdio.h" -#include "portaudio.h" +#include "extern/include/portaudio.h" /* This will be called asynchronously by the PortAudio engine. */ -static int audioCallback( void *inputBuffer, void *outputBuffer, - -unsigned long framesPerBuffer, PaTimestamp outTime, void *userData ) +static int audioCallback( void *inputBuffer, void *outputBuffer, unsigned long framesPerBuffer, PaTime outTime, void *userData ) { float *out = (float *) outputBuffer; float *in = (float *) inputBuffer; @@ -40,10 +38,11 @@ unsigned long framesPerBuffer, PaTimestamp outTime, void *userData ) } return 0; } + /* Use a PortAudioStream to process audio data. */ int main(void) { - PortAudioStream *stream; + PortAudioWrap *stream; Pa_Initialize(); //Pa_OpenDefaultStream(&stream, 2, 2, /* stereo input and output */ paFloat32, 44100.0, 64, 0, /* 64 frames per buffer, let PA determine numBuffers */audioCallback, NULL ); Pa_OpenDefaultStream(&stream, 2, 2, paFloat32, 44100.0, 64, 0, audioCallback, NULL ); diff --git a/fdmdv2/thread_audio.h b/fdmdv2/thread_audio.h index 5c2e9a4e..fa2cc4f4 100644 --- a/fdmdv2/thread_audio.h +++ b/fdmdv2/thread_audio.h @@ -16,7 +16,7 @@ class AudioThread: public wxThread { public: - AudioThread(MainFrame *handler) : wxThread(wxTHREAD_DETACHED) { m_pHandler = handler } + AudioThread(MainFrame *handler) : wxThread(wxTHREAD_DETACHED){ m_pHandler = handler; } ~AudioThread(); protected: -- 2.25.1