static void pragha_art_cache_changed_handler (PraghaArtCache *cache, PraghaApplication *pragha) { PraghaBackend *backend; PraghaToolbar *toolbar; PraghaMusicobject *mobj = NULL; gchar *album_art_path = NULL; const gchar *artist = NULL, *album = NULL; backend = pragha_application_get_backend (pragha); if (pragha_backend_get_state (backend) != ST_STOPPED) { mobj = pragha_backend_get_musicobject (backend); artist = pragha_musicobject_get_artist (mobj); album = pragha_musicobject_get_album (mobj); album_art_path = pragha_art_cache_get_album_uri (cache, artist, album); if (album_art_path) { toolbar = pragha_application_get_toolbar (pragha); pragha_toolbar_set_image_album_art (toolbar, album_art_path); g_free (album_art_path); } } }
static void pragha_playlist_update_change_tags (PraghaPlaylist *playlist, gint changed, PraghaMusicobject *mobj, PraghaApplication *pragha) { PraghaBackend *backend; PraghaToolbar *toolbar; PraghaMusicobject *cmobj = NULL; backend = pragha_application_get_backend (pragha); if(pragha_backend_get_state (backend) != ST_STOPPED) { cmobj = pragha_backend_get_musicobject (backend); pragha_update_musicobject_change_tag (cmobj, changed, mobj); toolbar = pragha_application_get_toolbar (pragha); pragha_toolbar_set_title (toolbar, cmobj); } }
void pragha_toolbar_playback_state_cb (PraghaBackend *backend, GParamSpec *pspec, gpointer user_data) { PraghaToolbar *toolbar = user_data; PraghaBackendState state = pragha_backend_get_state (backend); gboolean playing = (state != ST_STOPPED); gtk_widget_set_sensitive (GTK_WIDGET(toolbar->prev_button), playing); gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON(toolbar->play_button), (state == ST_PLAYING) ? "media-playback-pause" : "media-playback-start"); gtk_widget_set_sensitive (GTK_WIDGET(toolbar->stop_button), playing); gtk_widget_set_sensitive (GTK_WIDGET(toolbar->next_button), playing); if (playing == FALSE) pragha_toolbar_unset_song_info(toolbar); }
static void pragha_library_pane_replace_tracks_and_play (PraghaLibraryPane *library, PraghaApplication *pragha) { GList *list = NULL; list = pragha_library_pane_get_mobj_list (library); if (list) { pragha_playlist_remove_all (pragha->playlist); pragha_playlist_append_mobj_list (pragha->playlist, list); if (pragha_backend_get_state (pragha->backend) != ST_STOPPED) pragha_playback_next_track(pragha); else pragha_playback_play_pause_resume(pragha); g_list_free(list); } }