ladybird/Userland/Applications/Piano/TrackControlsWidget.h
kleines Filmröllchen 0ab19dc4cd 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.
2023-05-05 01:32:09 +02:00

30 lines
813 B
C++

/*
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
* Copyright (c) 2019-2020, William McPherson <willmcpherson2@gmail.com>
* Copyright (c) 2022, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include "ProcessorParameterWidget/ParameterWidget.h"
#include <AK/Vector.h>
#include <AK/WeakPtr.h>
#include <LibDSP/Track.h>
#include <LibGUI/Forward.h>
class TrackControlsWidget final : public GUI::Frame {
C_OBJECT_ABSTRACT(TrackControlsWidget)
public:
virtual ~TrackControlsWidget() override = default;
static ErrorOr<NonnullRefPtr<TrackControlsWidget>> try_create(WeakPtr<DSP::Track>);
private:
TrackControlsWidget(WeakPtr<DSP::Track>);
WeakPtr<DSP::Track> m_track;
Vector<NonnullRefPtr<GUI::GroupBox>> m_processor_groups;
};