summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibDSP/Track.h
diff options
context:
space:
mode:
authorkleines Filmröllchen <filmroellchen@serenityos.org>2022-07-23 15:51:00 +0200
committerAndreas Kling <kling@serenityos.org>2022-07-25 15:25:13 +0200
commitb29d27c948acb6eefd6a64e83f577f3b94a66550 (patch)
tree2775b088f1c5d04a9014476562e039b3a3639418 /Userland/Libraries/LibDSP/Track.h
parentab2d8edcbbda86ce08eef41f939e02f11e3d86b8 (diff)
downloadserenity-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.h5
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> {} };