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
|
@ -11,11 +11,12 @@
|
|||
|
||||
class AudioPlayerLoop;
|
||||
class TrackManager;
|
||||
class MainWidget;
|
||||
|
||||
class PlayerWidget final : public GUI::Toolbar {
|
||||
C_OBJECT(PlayerWidget)
|
||||
C_OBJECT_ABSTRACT(PlayerWidget)
|
||||
public:
|
||||
static ErrorOr<NonnullRefPtr<PlayerWidget>> create(TrackManager&, AudioPlayerLoop&);
|
||||
static ErrorOr<NonnullRefPtr<PlayerWidget>> try_create(TrackManager&, MainWidget&, AudioPlayerLoop&);
|
||||
virtual ~PlayerWidget() override = default;
|
||||
|
||||
void add_track();
|
||||
|
@ -23,11 +24,12 @@ public:
|
|||
void toggle_paused();
|
||||
|
||||
private:
|
||||
explicit PlayerWidget(TrackManager&, AudioPlayerLoop&);
|
||||
explicit PlayerWidget(TrackManager&, MainWidget&, AudioPlayerLoop&);
|
||||
|
||||
ErrorOr<void> initialize();
|
||||
|
||||
TrackManager& m_track_manager;
|
||||
MainWidget& m_main_widget;
|
||||
AudioPlayerLoop& m_audio_loop;
|
||||
Vector<DeprecatedString> m_track_number_choices;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue