From 76fb7c8013daa5113638518378a679ad24c20629 Mon Sep 17 00:00:00 2001 From: "FeRD (Frank Dana)" Date: Tue, 24 Aug 2021 04:21:55 -0400 Subject: [PATCH] Rename AudioSampleBuffer to AudioBuffer For a long time now, juce::AudioSampleBuffer has been nothing but an alias for its true (templated) type, AudioBuffer. --- bindings/python/openshot.i | 24 ++++++++++++++--------- bindings/ruby/openshot.i | 32 +++++++++++++++++------------- src/AudioBufferSource.cpp | 4 ++-- src/AudioBufferSource.h | 6 +++--- src/AudioReaderSource.cpp | 10 +++++----- src/AudioReaderSource.h | 6 +++--- src/AudioResampler.cpp | 8 ++++---- src/AudioResampler.h | 10 +++++----- src/Clip.cpp | 36 +++++++++++++++++----------------- src/Clip.h | 2 +- src/Frame.cpp | 14 ++++++------- src/Frame.h | 6 +++--- src/audio_effects/Compressor.h | 10 +++++----- src/audio_effects/Delay.h | 10 +++++----- src/audio_effects/Echo.h | 12 ++++++------ src/audio_effects/Expander.h | 10 +++++----- src/audio_effects/STFT.cpp | 10 +++++----- src/audio_effects/STFT.h | 14 ++++++------- 18 files changed, 117 insertions(+), 107 deletions(-) diff --git a/bindings/python/openshot.i b/bindings/python/openshot.i index 6f3f61c4..6f386ee7 100644 --- a/bindings/python/openshot.i +++ b/bindings/python/openshot.i @@ -54,13 +54,23 @@ #ifdef USE_IMAGEMAGICK %shared_ptr(Magick::Image) #endif -%shared_ptr(juce::AudioSampleBuffer) +%shared_ptr(juce::AudioBuffer) %shared_ptr(openshot::Frame) +/* Instantiate the required template specializations */ +%template() std::map; +%template() std::pair; +%template() std::vector; +%template() std::pair; +%template() std::pair; +%template() std::pair; +%template() std::vector>; + %{ #include "OpenShotVersion.h" #include "ReaderBase.h" #include "WriterBase.h" +#include "AudioDevices.h" #include "CacheBase.h" #include "CacheDisk.h" #include "CacheMemory.h" @@ -95,7 +105,6 @@ #include "TimelineBase.h" #include "Timeline.h" #include "ZmqLogger.h" -#include "AudioDeviceInfo.h" %} @@ -136,12 +145,7 @@ } } -/* Instantiate the required template specializations */ -%template() std::map; -%template() std::pair; -%template() std::vector; -%template() std::pair; -%template() std::pair; + /* Wrap std templates (list, vector, etc...) */ %template(ClipList) std::list; @@ -151,6 +155,8 @@ %template(FieldVector) std::vector; %template(MappedFrameVector) std::vector; %template(MetadataMap) std::map; + +/* Deprecated */ %template(AudioDeviceInfoVector) std::vector; /* Make openshot.Fraction more Pythonic */ @@ -251,6 +257,7 @@ %include "OpenShotVersion.h" %include "ReaderBase.h" %include "WriterBase.h" +%include "AudioDevices.h" %include "CacheBase.h" %include "CacheDisk.h" %include "CacheMemory.h" @@ -289,7 +296,6 @@ %include "TimelineBase.h" %include "Timeline.h" %include "ZmqLogger.h" -%include "AudioDeviceInfo.h" #ifdef USE_OPENCV %include "ClipProcessingJobs.h" diff --git a/bindings/ruby/openshot.i b/bindings/ruby/openshot.i index 3e64af26..882b5e7c 100644 --- a/bindings/ruby/openshot.i +++ b/bindings/ruby/openshot.i @@ -54,15 +54,17 @@ #ifdef USE_IMAGEMAGICK %shared_ptr(Magick::Image) #endif -%shared_ptr(juce::AudioSampleBuffer) +%shared_ptr(juce::AudioBuffer) %shared_ptr(openshot::Frame) -/* Template specializations */ +/* Instantiate the required template specializations */ %template() std::map; %template() std::pair; %template() std::vector; %template() std::pair; %template() std::pair; +%template() std::pair; +%template() std::vector>; %{ /* Ruby and FFmpeg define competing RSHIFT macros, @@ -76,6 +78,7 @@ #include "OpenShotVersion.h" #include "ReaderBase.h" #include "WriterBase.h" +#include "AudioDevices.h" #include "CacheBase.h" #include "CacheDisk.h" #include "CacheMemory.h" @@ -110,7 +113,6 @@ #include "TimelineBase.h" #include "Timeline.h" #include "ZmqLogger.h" -#include "AudioDeviceInfo.h" /* Move FFmpeg's RSHIFT to FF_RSHIFT, if present */ #ifdef RSHIFT @@ -138,9 +140,22 @@ %} #endif +/* Wrap std templates (list, vector, etc...) */ +%template(ClipList) std::list; +%template(EffectBaseList) std::list; +%template(CoordinateVector) std::vector; +%template(PointsVector) std::vector; +%template(FieldVector) std::vector; +%template(MappedFrameVector) std::vector; +%template(MetadataMap) std::map; + +/* Deprecated */ +%template(AudioDeviceInfoVector) std::vector; + %include "OpenShotVersion.h" %include "ReaderBase.h" %include "WriterBase.h" +%include "AudioDevices.h" %include "CacheBase.h" %include "CacheDisk.h" %include "CacheMemory.h" @@ -200,7 +215,6 @@ %include "TimelineBase.h" %include "Timeline.h" %include "ZmqLogger.h" -%include "AudioDeviceInfo.h" #ifdef USE_IMAGEMAGICK %include "ImageReader.h" @@ -208,7 +222,6 @@ %include "TextReader.h" #endif - /* Effects */ %include "effects/Bars.h" %include "effects/Blur.h" @@ -227,12 +240,3 @@ %include "effects/Wave.h" -/* Wrap std templates (list, vector, etc...) */ -%template(ClipList) std::list; -%template(EffectBaseList) std::list; -%template(CoordinateVector) std::vector; -%template(PointsVector) std::vector; -%template(FieldVector) std::vector; -%template(MappedFrameVector) std::vector; -%template(MetadataMap) std::map; -%template(AudioDeviceInfoVector) std::vector; diff --git a/src/AudioBufferSource.cpp b/src/AudioBufferSource.cpp index 6b2bc59e..4a8c0f51 100644 --- a/src/AudioBufferSource.cpp +++ b/src/AudioBufferSource.cpp @@ -34,7 +34,7 @@ using namespace std; using namespace openshot; // Default constructor -AudioBufferSource::AudioBufferSource(juce::AudioSampleBuffer *audio_buffer) +AudioBufferSource::AudioBufferSource(juce::AudioBuffer *audio_buffer) : position(0), repeat(false), buffer(audio_buffer) { } @@ -134,7 +134,7 @@ void AudioBufferSource::setLooping (bool shouldLoop) } // Use a different AudioSampleBuffer for this source -void AudioBufferSource::setBuffer (juce::AudioSampleBuffer *audio_buffer) +void AudioBufferSource::setBuffer (juce::AudioBuffer *audio_buffer) { buffer = audio_buffer; setNextReadPosition(0); diff --git a/src/AudioBufferSource.h b/src/AudioBufferSource.h index a899d8da..12d1e09e 100644 --- a/src/AudioBufferSource.h +++ b/src/AudioBufferSource.h @@ -49,12 +49,12 @@ namespace openshot private: int position; bool repeat; - juce::AudioSampleBuffer *buffer; + juce::AudioBuffer *buffer; public: /// @brief Default constructor /// @param audio_buffer This buffer contains the samples you want to play through JUCE. - AudioBufferSource(juce::AudioSampleBuffer *audio_buffer); + AudioBufferSource(juce::AudioBuffer *audio_buffer); /// Destructor ~AudioBufferSource(); @@ -87,7 +87,7 @@ namespace openshot void setLooping (bool shouldLoop); /// Update the internal buffer used by this source - void setBuffer (juce::AudioSampleBuffer *audio_buffer); + void setBuffer (juce::AudioBuffer *audio_buffer); }; } diff --git a/src/AudioReaderSource.cpp b/src/AudioReaderSource.cpp index acd69deb..4ff6ae97 100644 --- a/src/AudioReaderSource.cpp +++ b/src/AudioReaderSource.cpp @@ -40,7 +40,7 @@ AudioReaderSource::AudioReaderSource(ReaderBase *audio_reader, int64_t starting_ size(buffer_size), position(0), frame_position(0), estimated_frame(0), speed(1) { // Initialize an audio buffer (based on reader) - buffer = new juce::AudioSampleBuffer(reader->info.channels, size); + buffer = new juce::AudioBuffer(reader->info.channels, size); // initialize the audio samples to zero (silence) buffer->clear(); @@ -73,7 +73,7 @@ void AudioReaderSource::GetMoreSamplesFromReader() estimated_frame = frame_number; // Init new buffer - juce::AudioSampleBuffer *new_buffer = new juce::AudioSampleBuffer(reader->info.channels, size); + auto *new_buffer = new juce::AudioBuffer(reader->info.channels, size); new_buffer->clear(); // Move the remaining samples into new buffer (if any) @@ -142,7 +142,7 @@ void AudioReaderSource::GetMoreSamplesFromReader() } // Reverse an audio buffer -juce::AudioSampleBuffer* AudioReaderSource::reverse_buffer(juce::AudioSampleBuffer* buffer) +juce::AudioBuffer* AudioReaderSource::reverse_buffer(juce::AudioBuffer* buffer) { int number_of_samples = buffer->getNumSamples(); int channels = buffer->getNumChannels(); @@ -151,7 +151,7 @@ juce::AudioSampleBuffer* AudioReaderSource::reverse_buffer(juce::AudioSampleBuff ZmqLogger::Instance()->AppendDebugMethod("AudioReaderSource::reverse_buffer", "number_of_samples", number_of_samples, "channels", channels); // Reverse array (create new buffer to hold the reversed version) - juce::AudioSampleBuffer *reversed = new juce::AudioSampleBuffer(channels, number_of_samples); + auto *reversed = new juce::AudioBuffer(channels, number_of_samples); reversed->clear(); for (int channel = 0; channel < channels; channel++) @@ -286,7 +286,7 @@ void AudioReaderSource::setLooping (bool shouldLoop) } // Update the internal buffer used by this source -void AudioReaderSource::setBuffer (juce::AudioSampleBuffer *audio_buffer) +void AudioReaderSource::setBuffer (juce::AudioBuffer *audio_buffer) { buffer = audio_buffer; setNextReadPosition(0); diff --git a/src/AudioReaderSource.h b/src/AudioReaderSource.h index 2b0cc0ea..54665697 100644 --- a/src/AudioReaderSource.h +++ b/src/AudioReaderSource.h @@ -50,7 +50,7 @@ namespace openshot int position; /// The position of the audio source (index of buffer) bool repeat; /// Repeat the audio source when finished int size; /// The size of the internal buffer - juce::AudioSampleBuffer *buffer; /// The audio sample buffer + juce::AudioBuffer *buffer; /// The audio sample buffer int speed; /// The speed and direction to playback a reader (1=normal, 2=fast, 3=faster, -1=rewind, etc...) ReaderBase *reader; /// The reader to pull samples from @@ -64,7 +64,7 @@ namespace openshot void GetMoreSamplesFromReader(); /// Reverse an audio buffer (for backwards audio) - juce::AudioSampleBuffer* reverse_buffer(juce::AudioSampleBuffer* buffer); + juce::AudioBuffer* reverse_buffer(juce::AudioBuffer* buffer); public: @@ -105,7 +105,7 @@ namespace openshot void setLooping (bool shouldLoop); /// Update the internal buffer used by this source - void setBuffer (juce::AudioSampleBuffer *audio_buffer); + void setBuffer (juce::AudioBuffer *audio_buffer); const ReaderInfo & getReaderInfo() const { return reader->info; } diff --git a/src/AudioResampler.cpp b/src/AudioResampler.cpp index 8c27043e..2c7183fa 100644 --- a/src/AudioResampler.cpp +++ b/src/AudioResampler.cpp @@ -52,7 +52,7 @@ AudioResampler::AudioResampler() resample_source = new juce::ResamplingAudioSource(buffer_source, false, 2); // Init resampled buffer - resampled_buffer = new juce::AudioSampleBuffer(2, 1); + resampled_buffer = new juce::AudioBuffer(2, 1); resampled_buffer->clear(); // Init callback buffer @@ -74,7 +74,7 @@ AudioResampler::~AudioResampler() } // Sets the audio buffer and updates the key settings -void AudioResampler::SetBuffer(juce::AudioSampleBuffer *new_buffer, double sample_rate, double new_sample_rate) +void AudioResampler::SetBuffer(juce::AudioBuffer *new_buffer, double sample_rate, double new_sample_rate) { if (sample_rate <= 0) sample_rate = 44100; @@ -89,7 +89,7 @@ void AudioResampler::SetBuffer(juce::AudioSampleBuffer *new_buffer, double sampl } // Sets the audio buffer and key settings -void AudioResampler::SetBuffer(juce::AudioSampleBuffer *new_buffer, double ratio) +void AudioResampler::SetBuffer(juce::AudioBuffer *new_buffer, double ratio) { // Update buffer & buffer source buffer = new_buffer; @@ -120,7 +120,7 @@ void AudioResampler::SetBuffer(juce::AudioSampleBuffer *new_buffer, double ratio } // Get the resampled audio buffer -juce::AudioSampleBuffer* AudioResampler::GetResampledBuffer() +juce::AudioBuffer* AudioResampler::GetResampledBuffer() { // Resample the current frame's audio buffer (into the temp callback buffer) resample_source->getNextAudioBlock(resample_callback_buffer); diff --git a/src/AudioResampler.h b/src/AudioResampler.h index f9f94d83..dc758a04 100644 --- a/src/AudioResampler.h +++ b/src/AudioResampler.h @@ -44,8 +44,8 @@ namespace openshot { */ class AudioResampler { private: - juce::AudioSampleBuffer *buffer; - juce::AudioSampleBuffer *resampled_buffer; + juce::AudioBuffer *buffer; + juce::AudioBuffer *resampled_buffer; openshot::AudioBufferSource *buffer_source; juce::ResamplingAudioSource *resample_source; juce::AudioSourceChannelInfo resample_callback_buffer; @@ -67,15 +67,15 @@ namespace openshot { /// @param new_buffer The buffer of audio samples needing to be resampled /// @param sample_rate The original sample rate of the buffered samples /// @param new_sample_rate The requested sample rate you need - void SetBuffer(juce::AudioSampleBuffer *new_buffer, double sample_rate, double new_sample_rate); + void SetBuffer(juce::AudioBuffer *new_buffer, double sample_rate, double new_sample_rate); /// @brief Sets the audio buffer and key settings /// @param new_buffer The buffer of audio samples needing to be resampled /// @param ratio The multiplier that needs to be applied to the sample rate (this is how resampling happens) - void SetBuffer(juce::AudioSampleBuffer *new_buffer, double ratio); + void SetBuffer(juce::AudioBuffer *new_buffer, double ratio); /// Get the resampled audio buffer - juce::AudioSampleBuffer* GetResampledBuffer(); + juce::AudioBuffer* GetResampledBuffer(); }; } diff --git a/src/Clip.cpp b/src/Clip.cpp index 35d0fba1..e4d486f3 100644 --- a/src/Clip.cpp +++ b/src/Clip.cpp @@ -466,13 +466,13 @@ std::string Clip::get_file_extension(std::string path) } // Reverse an audio buffer -void Clip::reverse_buffer(juce::AudioSampleBuffer* buffer) +void Clip::reverse_buffer(juce::AudioBuffer* buffer) { int number_of_samples = buffer->getNumSamples(); int channels = buffer->getNumChannels(); // Reverse array (create new buffer to hold the reversed version) - juce::AudioSampleBuffer *reversed = new juce::AudioSampleBuffer(channels, number_of_samples); + auto *reversed = new juce::AudioBuffer(channels, number_of_samples); reversed->clear(); for (int channel = 0; channel < channels; channel++) @@ -490,7 +490,7 @@ void Clip::reverse_buffer(juce::AudioSampleBuffer* buffer) buffer->addFrom(channel, 0, reversed->getReadPointer(channel), number_of_samples, 1.0f); delete reversed; - reversed = NULL; + reversed = nullptr; } // Adjust the audio and image of a time mapped frame @@ -507,7 +507,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num const GenericScopedLock lock(getFrameCriticalSection); // create buffer and resampler - juce::AudioSampleBuffer *samples = NULL; + juce::AudioBuffer *samples = nullptr; if (!resampler) resampler = new AudioResampler(); @@ -527,10 +527,10 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num if (time.GetRepeatFraction(frame_number).den > 1) { // SLOWING DOWN AUDIO // Resample data, and return new buffer pointer - juce::AudioSampleBuffer *resampled_buffer = NULL; + juce::AudioBuffer *resampled_buffer = nullptr; // SLOW DOWN audio (split audio) - samples = new juce::AudioSampleBuffer(channels, number_of_samples); + samples = new juce::AudioBuffer(channels, number_of_samples); samples->clear(); // Loop through channels, and get audio samples @@ -559,7 +559,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num number_of_samples, 1.0f); // Clean up - resampled_buffer = NULL; + resampled_buffer = nullptr; } else if (abs(delta) > 1 && abs(delta) < 100) { @@ -574,7 +574,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num reader->info.channels); // Allocate a new sample buffer for these delta frames - samples = new juce::AudioSampleBuffer(channels, total_delta_samples); + samples = new juce::AudioBuffer(channels, total_delta_samples); samples->clear(); // Loop through each frame in this delta @@ -582,8 +582,8 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num delta_frame <= new_frame_number; delta_frame++) { // buffer to hold detal samples int number_of_delta_samples = GetOrCreateFrame(delta_frame)->GetAudioSamplesCount(); - juce::AudioSampleBuffer *delta_samples = new juce::AudioSampleBuffer(channels, - number_of_delta_samples); + auto *delta_samples = new juce::AudioBuffer(channels, + number_of_delta_samples); delta_samples->clear(); for (int channel = 0; channel < channels; channel++) @@ -602,7 +602,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num // Clean up delete delta_samples; - delta_samples = NULL; + delta_samples = nullptr; // Increment start position start += number_of_delta_samples; @@ -618,7 +618,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num reader->info.channels); // Allocate a new sample buffer for these delta frames - samples = new juce::AudioSampleBuffer(channels, total_delta_samples); + samples = new juce::AudioBuffer(channels, total_delta_samples); samples->clear(); // Loop through each frame in this delta @@ -626,8 +626,8 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num delta_frame >= new_frame_number; delta_frame--) { // buffer to hold delta samples int number_of_delta_samples = GetOrCreateFrame(delta_frame)->GetAudioSamplesCount(); - juce::AudioSampleBuffer *delta_samples = new juce::AudioSampleBuffer(channels, - number_of_delta_samples); + auto *delta_samples = new juce::AudioBuffer(channels, + number_of_delta_samples); delta_samples->clear(); for (int channel = 0; channel < channels; channel++) @@ -657,7 +657,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num resampler->SetBuffer(samples, float(start) / float(number_of_samples)); // Resample data, and return new buffer pointer - juce::AudioSampleBuffer *buffer = resampler->GetResampledBuffer(); + juce::AudioBuffer *buffer = resampler->GetResampledBuffer(); // Add the newly resized audio samples to the current frame for (int channel = 0; channel < channels; channel++) @@ -665,11 +665,11 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num frame->AddAudio(true, channel, 0, buffer->getReadPointer(channel), number_of_samples, 1.0f); // Clean up - buffer = NULL; + buffer = nullptr; } else { // Use the samples on this frame (but maybe reverse them if needed) - samples = new juce::AudioSampleBuffer(channels, number_of_samples); + samples = new juce::AudioBuffer(channels, number_of_samples); samples->clear(); // Loop through channels, and get audio samples @@ -689,7 +689,7 @@ void Clip::get_time_mapped_frame(std::shared_ptr frame, int64_t frame_num } delete samples; - samples = NULL; + samples = nullptr; } } } diff --git a/src/Clip.h b/src/Clip.h index 2b9caced..5e2769a1 100644 --- a/src/Clip.h +++ b/src/Clip.h @@ -167,7 +167,7 @@ namespace openshot { void sort_effects(); /// Reverse an audio buffer - void reverse_buffer(juce::AudioSampleBuffer* buffer); + void reverse_buffer(juce::AudioBuffer* buffer); public: diff --git a/src/Frame.cpp b/src/Frame.cpp index 244b065f..f97f93ed 100644 --- a/src/Frame.cpp +++ b/src/Frame.cpp @@ -53,7 +53,7 @@ using namespace openshot; // Constructor - image & audio Frame::Frame(int64_t number, int width, int height, std::string color, int samples, int channels) - : audio(std::make_shared(channels, samples)), + : audio(std::make_shared>(channels, samples)), number(number), width(width), height(height), pixel_ratio(1,1), color(color), qbuffer(NULL), channels(channels), channel_layout(LAYOUT_STEREO), @@ -111,7 +111,7 @@ void Frame::DeepCopy(const Frame& other) if (other.image) image = std::make_shared(*(other.image)); if (other.audio) - audio = std::make_shared(*(other.audio)); + audio = std::make_shared>(*(other.audio)); if (other.wave_image) wave_image = std::make_shared(*(other.wave_image)); } @@ -324,8 +324,8 @@ float* Frame::GetAudioSamples(int channel) // Get a planar array of sample data, using any sample rate float* Frame::GetPlanarAudioSamples(int new_sample_rate, AudioResampler* resampler, int* sample_count) { - float *output = NULL; - juce::AudioSampleBuffer *buffer(audio.get()); + float *output = nullptr; + juce::AudioBuffer *buffer(audio.get()); int num_of_channels = audio->getNumChannels(); int num_of_samples = GetAudioSamplesCount(); @@ -370,8 +370,8 @@ float* Frame::GetPlanarAudioSamples(int new_sample_rate, AudioResampler* resampl // Get an array of sample data (all channels interleaved together), using any sample rate float* Frame::GetInterleavedAudioSamples(int new_sample_rate, AudioResampler* resampler, int* sample_count) { - float *output = NULL; - juce::AudioSampleBuffer *buffer(audio.get()); + float *output = nullptr; + juce::AudioBuffer *buffer(audio.get()); int num_of_channels = audio->getNumChannels(); int num_of_samples = GetAudioSamplesCount(); @@ -429,7 +429,7 @@ int Frame::GetAudioSamplesCount() return max_audio_sample; } -juce::AudioSampleBuffer *Frame::GetAudioSampleBuffer() +juce::AudioBuffer *Frame::GetAudioSampleBuffer() { return audio.get(); } diff --git a/src/Frame.h b/src/Frame.h index e35ea9ca..5e16bad3 100644 --- a/src/Frame.h +++ b/src/Frame.h @@ -109,7 +109,7 @@ namespace openshot private: std::shared_ptr image; std::shared_ptr wave_image; - + std::shared_ptr previewApp; juce::CriticalSection addingImageSection; juce::CriticalSection addingAudioSection; @@ -131,7 +131,7 @@ namespace openshot int constrain(int color_value); public: - std::shared_ptr audio; + std::shared_ptr> audio; int64_t number; ///< This is the frame number (starting at 1) bool has_audio_data; ///< This frame has been loaded with audio data bool has_image_data; ///< This frame has been loaded with pixel data @@ -224,7 +224,7 @@ namespace openshot /// Get number of audio samples int GetAudioSamplesCount(); - juce::AudioSampleBuffer *GetAudioSampleBuffer(); + juce::AudioBuffer *GetAudioSampleBuffer(); /// Get the size in bytes of this frame (rough estimate) int64_t GetBytes(); diff --git a/src/audio_effects/Compressor.h b/src/audio_effects/Compressor.h index 7dcdb252..32ce1440 100644 --- a/src/audio_effects/Compressor.h +++ b/src/audio_effects/Compressor.h @@ -1,7 +1,7 @@ /** * @file * @brief Header file for Compressor audio effect class - * @author + * @author * * @ref License */ @@ -55,7 +55,7 @@ namespace openshot private: /// Init effect settings void init_effect_details(); - + public: Keyframe threshold; @@ -65,7 +65,7 @@ namespace openshot Keyframe makeup_gain; Keyframe bypass; - juce::AudioSampleBuffer mixed_down_input; + juce::AudioBuffer mixed_down_input; float xl; float yl; float xg; @@ -94,8 +94,8 @@ namespace openshot /// /// @returns A new openshot::Frame object /// @param frame_number The frame number (starting at 1) of the clip or effect on the timeline. - std::shared_ptr GetFrame(int64_t frame_number) override { - return GetFrame(std::make_shared(), frame_number); + std::shared_ptr GetFrame(int64_t frame_number) override { + return GetFrame(std::make_shared(), frame_number); } /// @brief This method is required for all derived classes of ClipBase, and returns a diff --git a/src/audio_effects/Delay.h b/src/audio_effects/Delay.h index a693c292..68f9c8fb 100644 --- a/src/audio_effects/Delay.h +++ b/src/audio_effects/Delay.h @@ -1,7 +1,7 @@ /** * @file * @brief Header file for Delay audio effect class - * @author + * @author * * @ref License */ @@ -57,9 +57,9 @@ namespace openshot void init_effect_details(); public: - Keyframe delay_time; + Keyframe delay_time; - juce::AudioSampleBuffer delay_buffer; + juce::AudioBuffer delay_buffer; int delay_buffer_samples; int delay_buffer_channels; int delay_write_position; @@ -77,8 +77,8 @@ namespace openshot /// /// @returns A new openshot::Frame object /// @param frame_number The frame number (starting at 1) of the clip or effect on the timeline. - std::shared_ptr GetFrame(int64_t frame_number) override { - return GetFrame(std::make_shared(), frame_number); + std::shared_ptr GetFrame(int64_t frame_number) override { + return GetFrame(std::make_shared(), frame_number); } void setup(std::shared_ptr frame); diff --git a/src/audio_effects/Echo.h b/src/audio_effects/Echo.h index 9a120b6e..68212afe 100644 --- a/src/audio_effects/Echo.h +++ b/src/audio_effects/Echo.h @@ -1,7 +1,7 @@ /** * @file * @brief Header file for Echo audio effect class - * @author + * @author * * @ref License */ @@ -57,11 +57,11 @@ namespace openshot void init_effect_details(); public: - Keyframe echo_time; - Keyframe feedback; + Keyframe echo_time; + Keyframe feedback; Keyframe mix; - juce::AudioSampleBuffer echo_buffer; + juce::AudioBuffer echo_buffer; int echo_buffer_samples; int echo_buffer_channels; int echo_write_position; @@ -79,8 +79,8 @@ namespace openshot /// /// @returns A new openshot::Frame object /// @param frame_number The frame number (starting at 1) of the clip or effect on the timeline. - std::shared_ptr GetFrame(int64_t frame_number) override { - return GetFrame(std::make_shared(), frame_number); + std::shared_ptr GetFrame(int64_t frame_number) override { + return GetFrame(std::make_shared(), frame_number); } void setup(std::shared_ptr frame); diff --git a/src/audio_effects/Expander.h b/src/audio_effects/Expander.h index 4eee84af..3542911a 100644 --- a/src/audio_effects/Expander.h +++ b/src/audio_effects/Expander.h @@ -1,7 +1,7 @@ /** * @file * @brief Header file for Expander audio effect class - * @author + * @author * * @ref License */ @@ -55,7 +55,7 @@ namespace openshot private: /// Init effect settings void init_effect_details(); - + public: Keyframe threshold; @@ -65,7 +65,7 @@ namespace openshot Keyframe makeup_gain; Keyframe bypass; - juce::AudioSampleBuffer mixed_down_input; + juce::AudioBuffer mixed_down_input; float xl; float yl; float xg; @@ -94,8 +94,8 @@ namespace openshot /// /// @returns A new openshot::Frame object /// @param frame_number The frame number (starting at 1) of the clip or effect on the timeline. - std::shared_ptr GetFrame(int64_t frame_number) override { - return GetFrame(std::make_shared(), frame_number); + std::shared_ptr GetFrame(int64_t frame_number) override { + return GetFrame(std::make_shared(), frame_number); } /// @brief This method is required for all derived classes of ClipBase, and returns a diff --git a/src/audio_effects/STFT.cpp b/src/audio_effects/STFT.cpp index 3b87e6e3..fa83feab 100644 --- a/src/audio_effects/STFT.cpp +++ b/src/audio_effects/STFT.cpp @@ -14,7 +14,7 @@ void STFT::updateParameters(const int new_fft_size, const int new_overlap, const updateWindow(new_window_type); } -void STFT::process(juce::AudioSampleBuffer &block) +void STFT::process(juce::AudioBuffer &block) { num_samples = block.getNumSamples(); @@ -25,7 +25,7 @@ void STFT::process(juce::AudioSampleBuffer &block) current_output_buffer_write_position = output_buffer_write_position; current_output_buffer_read_position = output_buffer_read_position; current_samples_since_last_FFT = samples_since_last_FFT; - + for (int sample = 0; sample < num_samples; ++sample) { const float input_sample = channel_data[sample]; @@ -78,7 +78,7 @@ void STFT::updateFftSize(const int new_fft_size) frequency_domain_buffer.realloc(fft_size); frequency_domain_buffer.clear(fft_size); - + input_buffer_write_position = 0; output_buffer_write_position = 0; output_buffer_read_position = 0; @@ -126,7 +126,7 @@ void STFT::updateWindow(const int new_window_type) break; } } - + float window_sum = 0.0f; for (int sample = 0; sample < fft_size; ++sample) window_sum += fft_window[sample]; @@ -185,4 +185,4 @@ void STFT::synthesis(const int channel) current_output_buffer_write_position += hop_size; if (current_output_buffer_write_position >= output_buffer_length) current_output_buffer_write_position = 0; -} \ No newline at end of file +} diff --git a/src/audio_effects/STFT.h b/src/audio_effects/STFT.h index 71f71a78..1e346a91 100644 --- a/src/audio_effects/STFT.h +++ b/src/audio_effects/STFT.h @@ -14,23 +14,23 @@ namespace openshot { public: STFT() : num_channels (1) { } - + virtual ~STFT() { } void setup(const int num_input_channels); - void process(juce::AudioSampleBuffer &block); + void process(juce::AudioBuffer &block); void updateParameters(const int new_fft_size, const int new_overlap, const int new_window_type); virtual void updateFftSize(const int new_fft_size); - + virtual void updateHopSize(const int new_overlap); virtual void updateWindow(const int new_window_type); - + private: - + virtual void modification(const int channel); virtual void analysis(const int channel); @@ -45,10 +45,10 @@ namespace openshot std::unique_ptr fft; int input_buffer_length; - juce::AudioSampleBuffer input_buffer; + juce::AudioBuffer input_buffer; int output_buffer_length; - juce::AudioSampleBuffer output_buffer; + juce::AudioBuffer output_buffer; juce::HeapBlock fft_window; juce::HeapBlock> time_domain_buffer;