Implement explicit functions for setting track repeat and shuffling in KotoPlaybackEngine.

Use these new functions as well as new signals to simplify toggle state in playerbar, as well as ensure changes over MPRIS allow for the updating of our UX.

Implement method handlers and relevant setters for MPRIS support, as well as a koto_update_mpris_playback_state used to notify on state changes.

Clean up some debugging.
This commit is contained in:
Joshua Strobl 2021-04-06 13:56:29 +03:00
parent 07c3c00f1e
commit 43ebe6d041
7 changed files with 201 additions and 60 deletions

View file

@ -42,6 +42,8 @@ void koto_playerbar_handle_progressbar_pressed(GtkGestureClick *gesture, int n_p
void koto_playerbar_handle_progressbar_value_changed(GtkRange *progress_bar, gpointer data);
void koto_playerbar_handle_tick_duration(KotoPlaybackEngine *engine, gpointer user_data);
void koto_playerbar_handle_tick_track(KotoPlaybackEngine *engine, gpointer user_data);
void koto_playerbar_handle_track_repeat(KotoPlaybackEngine *engine, gpointer user_data);
void koto_playerbar_handle_track_shuffle(KotoPlaybackEngine *engine, gpointer user_data);
void koto_playerbar_handle_volume_button_change(GtkScaleButton *button, double value, gpointer user_data);
void koto_playerbar_reset_progressbar(KotoPlayerBar* bar);
void koto_playerbar_set_progressbar_duration(KotoPlayerBar* bar, gint64 duration);