Re: [Rhythmbox-devel] Reading songs list



Also, how to track changes in source?

thanks a lot,
Bartek

On Feb 17, 2008 8:55 AM, Bartosz Wiklak <bwiklak gmail com> wrote:
> 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]