mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:47:35 +00:00
Piano: Allow per-track controls (again)
This makes Piano exactly as usable as when I started the large refactor some years ago, which *sounds* like I'm a terrible person but now it (1) looks nicer and (2) has a flexible backend that can already deal with aribtrary kinds of processors on any track.
This commit is contained in:
parent
d757027638
commit
0ab19dc4cd
9 changed files with 92 additions and 45 deletions
|
@ -9,25 +9,21 @@
|
|||
#pragma once
|
||||
|
||||
#include "ProcessorParameterWidget/ParameterWidget.h"
|
||||
#include <LibDSP/ProcessorParameter.h>
|
||||
#include <LibDSP/Synthesizers.h>
|
||||
#include <LibGUI/Frame.h>
|
||||
#include <LibGUI/Label.h>
|
||||
#include <LibGUI/Widget.h>
|
||||
|
||||
class TrackManager;
|
||||
class MainWidget;
|
||||
#include <AK/Vector.h>
|
||||
#include <AK/WeakPtr.h>
|
||||
#include <LibDSP/Track.h>
|
||||
#include <LibGUI/Forward.h>
|
||||
|
||||
class TrackControlsWidget final : public GUI::Frame {
|
||||
C_OBJECT(TrackControlsWidget)
|
||||
C_OBJECT_ABSTRACT(TrackControlsWidget)
|
||||
public:
|
||||
virtual ~TrackControlsWidget() override = default;
|
||||
|
||||
static ErrorOr<NonnullRefPtr<TrackControlsWidget>> try_create(WeakPtr<DSP::Track>);
|
||||
|
||||
private:
|
||||
TrackControlsWidget(TrackManager&, MainWidget&);
|
||||
TrackControlsWidget(WeakPtr<DSP::Track>);
|
||||
|
||||
TrackManager& m_track_manager;
|
||||
MainWidget& m_main_widget;
|
||||
|
||||
Vector<NonnullRefPtr<ProcessorParameterWidget>> m_parameter_widgets;
|
||||
WeakPtr<DSP::Track> m_track;
|
||||
Vector<NonnullRefPtr<GUI::GroupBox>> m_processor_groups;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue