Re: [Rhythmbox-devel] Reading songs list



is

gtk_tree_model_get (model, &iter,
                          0, &entry1,-1);

a good idea?
Seams it works.

On Feb 17, 2008 8:51 AM, Bartosz Wiklak <bwiklak gmail com> wrote:
> Hi, I still have some problems.
>
> How exactly iterate trough RhythmDBQueryModel to get RhythmDBEntry?
>
> I'm doing this:
>
> RBSource *source;
>         RhythmDBQueryModel *model;
>         RhythmDBEntry *entry1;
>         GtkTreeIter iter;
>         gboolean valid;
>
>         g_object_get (plugin->shell, "selected-source", &source, NULL);
>         g_object_get (source, "query-model", &model, NULL);
>
>
>         // Get the first iter in the list //
>         valid = gtk_tree_model_get_iter_first (model, &iter);
>         int row_count=0;
>         g_print ("DISPLAYING LIST:\n");
>         while (valid)
>         {
>                 gchar *str_data = NULL;
>                 gint   int_data;
>
>                 //gtk_tree_model_get (model, &iter,
>                 //          0, &str_data,-1);
>                 g_print ("get Entry");
>                 rhythmdb_query_model_entry_to_iter(model,entry1,&iter);
>
>                 g_print ("get entry data");
>                 str_data = rhythmdb_entry_get_string(entry1,RHYTHMDB_PROP_TITLE);
>                 // Do something with the data //
>
>                 if(str_data){
>                         g_print ("Row %d: (%s)\n", row_count, str_data);
>                         g_free (str_data);
>                 }
>
>                 row_count ++;
>                 g_print ("get next");
>                 valid = gtk_tree_model_iter_next (model, &iter);
>       }
>
> but getting only segmentation faults:)
>
>
>
> On Feb 17, 2008 1:48 AM, Bartosz Wiklak <bwiklak gmail com> wrote:
> > Than you for reply,
> > I'm trying to learn GTK, and plugin writing by writing CoverFlow
> > plugin for RB - http://bugzilla.gnome.org/show_bug.cgi?id=516186
> >
> > At activation I would like to build song list so I could load
> > necessary covers and build my coverflow UI.
> >
> >
> > On Feb 17, 2008 1:40 AM, James Doc Livingston <doclivingston gmail com> wrote:
> > >
> > > On Sat, 2008-02-16 at 23:23 +0100, Bartosz Wiklak wrote:
> > > > Hi,
> > > > I know that by colling
> > > > rhythmdb_entry_get_string(entry,RHYTHMDB_PROP_TITLE) I can get current
> > > > playing song title.
> > > > How can I get list of all songs in library/current playlist?
> > >
> > > You can get the library via the following:
> > >
> > >         RBSource *source;
> > >         g_object_get (shell, "library-source", &source, NULL);
> > >
> > > or the playing source via:
> > >
> > >         RBSource *source;
> > >         g_object_get (shell, "selected-source", &source, NULL);
> > >
> > > Then retrieve the RhythmDBQueryModel for the source
> > >
> > >         RhythmDBQueryModel *model;
> > >         g_object_get (source, "query-model", &model, NULL);
> > >
> > >
> > > A RhythmDBQueryModel is a GtkTreeModel, so you can use normal GTK
> > > functions to access it. What do you want to do with the list of songs?
> > > The best way to get the information out depends on what you want to do.
> > >
> > >
> > > Cheers,
> > >
> > > --
> > > "To find an elephant using mathematical techniques, remove everything
> > > from your search area that is not an elephant. If you find anything,
> > > then it is, by construction, an elephant, Q.E.D."
> > >
> > >
> > >
> >
>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]