diff options
author | kleines Filmröllchen <filmroellchen@serenityos.org> | 2022-07-23 15:51:00 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-07-25 15:25:13 +0200 |
commit | b29d27c948acb6eefd6a64e83f577f3b94a66550 (patch) | |
tree | 2775b088f1c5d04a9014476562e039b3a3639418 /Userland/Libraries/LibDSP/Track.h | |
parent | ab2d8edcbbda86ce08eef41f939e02f11e3d86b8 (diff) | |
download | serenity-b29d27c948acb6eefd6a64e83f577f3b94a66550.zip |
LibDSP: Add a fixed mastering processor to Track
This processor will not appear in the normal processor chain later on,
but is used for final mixing of the track.
Diffstat (limited to 'Userland/Libraries/LibDSP/Track.h')
-rw-r--r-- | Userland/Libraries/LibDSP/Track.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Userland/Libraries/LibDSP/Track.h b/Userland/Libraries/LibDSP/Track.h index e55c596537..fbb661f194 100644 --- a/Userland/Libraries/LibDSP/Track.h +++ b/Userland/Libraries/LibDSP/Track.h @@ -7,9 +7,9 @@ #pragma once #include <AK/DisjointChunks.h> +#include <AK/NonnullRefPtr.h> #include <AK/NonnullRefPtrVector.h> #include <AK/RefCounted.h> -#include <AK/RefPtr.h> #include <LibDSP/Clip.h> #include <LibDSP/Effects.h> #include <LibDSP/Keyboard.h> @@ -35,6 +35,7 @@ public: NonnullRefPtrVector<Processor> const& processor_chain() const { return m_processor_chain; } NonnullRefPtr<Transport const> transport() const { return m_transport; } + NonnullRefPtr<DSP::Effects::Mastering> track_mastering() { return m_track_mastering; } // FIXME: These two getters are temporary until we have dynamic processor UI NonnullRefPtr<Synthesizers::Classic> synth(); @@ -43,6 +44,7 @@ public: protected: Track(NonnullRefPtr<Transport> transport, NonnullRefPtr<Keyboard> keyboard) : m_transport(move(transport)) + , m_track_mastering(make_ref_counted<Effects::Mastering>(m_transport)) , m_keyboard(move(keyboard)) { } @@ -53,6 +55,7 @@ protected: NonnullRefPtrVector<Processor> m_processor_chain; NonnullRefPtr<Transport> m_transport; + NonnullRefPtr<Effects::Mastering> m_track_mastering; NonnullRefPtr<Keyboard> m_keyboard; // The current signal is stored here, to prevent unnecessary reallocation. Signal m_current_signal { FixedArray<Sample> {} }; |