From 216184dbb98308725b3715c5bc6a0f2ceff87ff3 Mon Sep 17 00:00:00 2001 From: "FeRD (Frank Dana)" Date: Tue, 19 May 2020 06:30:54 -0400 Subject: [PATCH 1/3] Work around Ruby/JUCE isfinite() conflict properly --- src/bindings/ruby/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bindings/ruby/CMakeLists.txt b/src/bindings/ruby/CMakeLists.txt index 2faa10fc..18964486 100644 --- a/src/bindings/ruby/CMakeLists.txt +++ b/src/bindings/ruby/CMakeLists.txt @@ -72,6 +72,9 @@ endif() set_property(SOURCE openshot.i PROPERTY CPLUSPLUS ON) set_property(SOURCE openshot.i PROPERTY SWIG_MODULE_NAME openshot) +### Unbreak std::isfinite() +add_compile_definitions(HAVE_ISFINITE=1) + ### Suppress a ton of warnings in the generated SWIG C++ code set(SWIG_CXX_FLAGS "-Wno-unused-variable -Wno-unused-function \ -Wno-deprecated-copy -Wno-class-memaccess -Wno-cast-function-type \ From 130829a41231b9ccb24493ab74d898e0d5bee339 Mon Sep 17 00:00:00 2001 From: "FeRD (Frank Dana)" Date: Tue, 19 May 2020 06:32:35 -0400 Subject: [PATCH 2/3] Deprecated juce::ScopedPointer => std::unique_ptr --- src/Frame.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Frame.cpp b/src/Frame.cpp index 9577a7f9..36e0af08 100644 --- a/src/Frame.cpp +++ b/src/Frame.cpp @@ -992,8 +992,8 @@ void Frame::Play() juce::AudioSourcePlayer audioSourcePlayer; deviceManager.addAudioCallback (&audioSourcePlayer); - ScopedPointer my_source; - my_source = new AudioBufferSource(audio.get()); + std::unique_ptr my_source; + my_source.reset (new AudioBufferSource (audio.get())); // Create TimeSliceThread for audio buffering juce::TimeSliceThread my_thread("Audio buffer thread"); @@ -1002,7 +1002,7 @@ void Frame::Play() my_thread.startThread(); AudioTransportSource transport1; - transport1.setSource (my_source, + transport1.setSource (my_source.get(), 5000, // tells it to buffer this many samples ahead &my_thread, (double) sample_rate, From affd4b248898a2958300a08697919e347d75aee0 Mon Sep 17 00:00:00 2001 From: "FeRD (Frank Dana)" Date: Tue, 19 May 2020 06:33:30 -0400 Subject: [PATCH 3/3] Add some missing juce:: prefixing --- include/Qt/AudioPlaybackThread.h | 8 ++++---- src/Frame.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/Qt/AudioPlaybackThread.h b/include/Qt/AudioPlaybackThread.h index 348a0f48..9a159448 100644 --- a/include/Qt/AudioPlaybackThread.h +++ b/include/Qt/AudioPlaybackThread.h @@ -75,7 +75,7 @@ namespace openshot static AudioDeviceManagerSingleton * Instance(); /// Public device manager property - AudioDeviceManager audioDeviceManager; + juce::AudioDeviceManager audioDeviceManager; /// Close audio device void CloseAudioDevice(); @@ -86,9 +86,9 @@ namespace openshot */ class AudioPlaybackThread : juce::Thread { - AudioSourcePlayer player; - AudioTransportSource transport; - MixerAudioSource mixer; + juce::AudioSourcePlayer player; + juce::AudioTransportSource transport; + juce::MixerAudioSource mixer; AudioReaderSource *source; double sampleRate; int numChannels; diff --git a/src/Frame.cpp b/src/Frame.cpp index 36e0af08..ae9f1a4b 100644 --- a/src/Frame.cpp +++ b/src/Frame.cpp @@ -829,7 +829,7 @@ void Frame::AddImage(std::shared_ptr new_image, bool only_odd_lines) if (ret) { return; } - + // Get the frame's image const GenericScopedLock lock(addingImageSection); #pragma omp critical (AddImage) @@ -979,7 +979,8 @@ void Frame::Play() return; juce::AudioDeviceManager deviceManager; - String error = deviceManager.initialise (0, /* number of input channels */ + juce::String error = deviceManager.initialise ( + 0, /* number of input channels */ 2, /* number of output channels */ 0, /* no XML settings.. */ true /* select default device on failure */); @@ -1001,7 +1002,7 @@ void Frame::Play() // Start thread my_thread.startThread(); - AudioTransportSource transport1; + juce::AudioTransportSource transport1; transport1.setSource (my_source.get(), 5000, // tells it to buffer this many samples ahead &my_thread,