Example #1
0
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);
		}
	}
}
Example #2
0
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);
	}
}
Example #3
0
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);
}
Example #4
0
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);
	}
}