1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 08:27:46 +00:00

Piano: Add track controls to the player widget

Adds the ability to add a track and cycle through the
tracks from player widget. Also displays the current track
being played or edited in a dropdown that allows
for quick track selection.
This commit is contained in:
Jose Flores 2021-12-04 22:42:35 -06:00 committed by Andreas Kling
parent 2b47e1233b
commit 65df30d00c
7 changed files with 78 additions and 9 deletions

View file

@ -16,18 +16,27 @@ class PlayerWidget final : public GUI::Toolbar {
public:
virtual ~PlayerWidget() override;
void add_track();
void next_track();
private:
explicit PlayerWidget(TrackManager&, AudioPlayerLoop&);
TrackManager& m_track_manager;
AudioPlayerLoop& m_audio_loop;
Vector<String> m_track_number_choices;
RefPtr<Gfx::Bitmap> m_play_icon;
RefPtr<Gfx::Bitmap> m_pause_icon;
RefPtr<Gfx::Bitmap> m_back_icon;
RefPtr<Gfx::Bitmap> m_next_icon;
RefPtr<Gfx::Bitmap> m_add_track_icon;
RefPtr<Gfx::Bitmap> m_next_track_icon;
RefPtr<GUI::ComboBox> m_track_dropdown;
RefPtr<GUI::Button> m_play_button;
RefPtr<GUI::Button> m_back_button;
RefPtr<GUI::Button> m_next_button;
RefPtr<GUI::Button> m_add_track_button;
RefPtr<GUI::Button> m_next_track_button;
};