示例#1
0
/* deprecated */
EXPORT GdkPixbuf * audgui_pixbuf_for_entry (int list, int entry)
{
    char * name = aud_playlist_entry_get_filename (list, entry);
    g_return_val_if_fail (name, NULL);

    const void * data;
    int64_t size;

    aud_art_get_data (name, & data, & size);

    if (data)
    {
        GdkPixbuf * p = audgui_pixbuf_from_data (data, size);
        aud_art_unref (name);

        if (p)
        {
            str_unref (name);
            return p;
        }
    }

    str_unref (name);
    return audgui_pixbuf_fallback ();
}
示例#2
0
文件: util.c 项目: i-tek/audacious
EXPORT GdkPixbuf * audgui_pixbuf_for_entry (int list, int entry)
{
    char * name = aud_playlist_entry_get_filename (list, entry);
    g_return_val_if_fail (name, NULL);

    const void * data;
    int64_t size;

    aud_art_get_data (name, & data, & size);

    if (data)
    {
        GdkPixbuf * p = audgui_pixbuf_from_data (data, size);
        aud_art_unref (name);

        if (p)
        {
            str_unref (name);
            return p;
        }
    }

    str_unref (name);

    AUDDBG ("Using fallback pixbuf.\n");
    static GdkPixbuf * fallback = NULL;
    if (! fallback)
    {
        char * path = g_strdup_printf ("%s/images/album.png",
         aud_get_path (AUD_PATH_DATA_DIR));
        fallback = gdk_pixbuf_new_from_file (path, NULL);
        g_free (path);
    }
    if (fallback)
        g_object_ref ((GObject *) fallback);
    return fallback;
}