Enabling Zeitgeist data-logger in Banshee clutters the lenses

Bug #748120 reported by Ingo Gerth on 2011-04-02
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Banshee
Invalid
Undecided
Unassigned
Zeitgeist Data-Sources
Medium
Manish Sinha (मनीष सिन्हा)
Zeitgeist Framework
Invalid
Undecided
Unassigned

Bug Description

Because I want my recently played songs to show up in, for example, the Synapse launcher, I enabled the Zeitgeist data logger extension in Banshee. However, due to this all my recently played songs show up under "recent files" in the files lens. Consequently, it becomes practically unusable.

Snapshot please

summary: - Enbling Zeitgeist data-logger in Banshee clutters the lenses
+ Enabling Zeitgeist data-logger in Banshee clutters the lenses

This has nothing to do with Banshee, but affects only datasources and unity

Changed in banshee:
status: New → Invalid

This is actually a very interesting observation that will affect any "generic recent files list" based on Zeitgeist.

My guess is that the Banshee history just describes all music playing activities as an event of typezg: UserActivity an a subject that is a nfo:FileDataObject and has interpretation nfo:Audio or something.

What I believe is the "correct" behaviour for the music player is to:

 - When the user manually selects a song log as described above
 - When the music player automatically skips to the next song the manifestation type of the event should be zg:ScheduledActivity[1]

With this logging pattern the "generic recent files list" will only contain the songs you manually selected for playback which I think is "correct" FWIW :-) (and will make the Unity lenses work without modification (== less work for me yay!))

[1]: The docs for zg:ScheduledActivity in fact reads: "An event that was directly triggered by some user initiated sequence of actions. For example a music player automatically changing to the next song in a playlist".

Changed in unity:
assignee: nobody → Mikkel Kamstrup Erlandsen (kamstrup)
status: New → Confirmed

I think we should take a stab at this. Try to figure out how to make banshee
and rhythmbox inform us if the played song was scheduled or infact a user
activity. Nice call Mikkel (as usual) :P

On Mon, Apr 4, 2011 at 2:51 PM, Mikkel Kamstrup Erlandsen <
<email address hidden>> wrote:

> This is actually a very interesting observation that will affect any
> "generic recent files list" based on Zeitgeist.
>
> My guess is that the Banshee history just describes all music playing
> activities as an event of typezg: UserActivity an a subject that is a
> nfo:FileDataObject and has interpretation nfo:Audio or something.
>
> What I believe is the "correct" behaviour for the music player is to:
>
> - When the user manually selects a song log as described above
> - When the music player automatically skips to the next song the
> manifestation type of the event should be zg:ScheduledActivity[1]
>
> With this logging pattern the "generic recent files list" will only
> contain the songs you manually selected for playback which I think is
> "correct" FWIW :-) (and will make the Unity lenses work without
> modification (== less work for me yay!))
>
> [1]: The docs for zg:ScheduledActivity in fact reads: "An event that was
> directly triggered by some user initiated sequence of actions. For
> example a music player automatically changing to the next song in a
> playlist".
>
> ** Changed in: unity
> Assignee: (unassigned) => Mikkel Kamstrup Erlandsen (kamstrup)
>
> ** Changed in: unity
> Status: New => Confirmed
>
> --
> You received this bug notification because you are subscribed to The
> Zeitgeist Project.
> https://bugs.launchpad.net/bugs/748120
>
> Title:
> Enabling Zeitgeist data-logger in Banshee clutters the lenses
>
> Status in Banshee Music Player:
> Invalid
> Status in Unity:
> Confirmed
> Status in Zeitgeist Framework:
> New
> Status in Zeitgeist Data-Providers:
> New
>
> Bug description:
> Because I want my recently played songs to show up in, for example,
> the Synapse launcher, I enabled the Zeitgeist data logger extension in
> Banshee. However, due to this all my recently played songs show up
> under "recent files" in the files lens. Consequently, it becomes
> practically unusable.
>

So can this be fixed by updating the ontology for the banshee dataprovider?

Seif Lotfy (seif) wrote :

The ontology is complete and has Scheduled Activity :)

2011/4/4 Manish Sinha (मनीष सिन्हा <email address hidden>

> So can this be fixed by updating the ontology for the banshee
> dataprovider?
>
> --
> You received this bug notification because you are subscribed to The
> Zeitgeist Project.
> https://bugs.launchpad.net/bugs/748120
>
> Title:
> Enabling Zeitgeist data-logger in Banshee clutters the lenses
>
> Status in Banshee Music Player:
> Invalid
> Status in Unity:
> Confirmed
> Status in Zeitgeist Framework:
> New
> Status in Zeitgeist Data-Providers:
> New
>
> Bug description:
> Because I want my recently played songs to show up in, for example,
> the Synapse launcher, I enabled the Zeitgeist data logger extension in
> Banshee. However, due to this all my recently played songs show up
> under "recent files" in the files lens. Consequently, it becomes
> practically unusable.
>

Seif,

http://gitorious.org/banshee-community-extensions/banshee-community-extensions/blobs/master/src/ZeitgeistDataprovider/Banshee.ZeitgeistDataprovider/ZeitgeistDataprovider.cs

Check line
85 - EventInterpretation.AccessEvent
103- EventInterpretation.LeaveEvent
124 - EventManifestation.UserActivity
129 - Media.Audio
130 - FileDataObject.FileDataObject

---------------------------
This is exactly copied from Rhythmbox
http://git.gnome.org/browse/rhythmbox/tree/plugins/rbzeitgeist/rbzeitgeist/__init__.py

Check line 86,89, 117,119,131,132

-------------

Some thing needs to be changed here?

My bad. I need to add ScheduledActivity to Banshee. Need to patch it.

Banshee datasource does not have ScheduledActivity.

HINT for fixing
+ ServiceManager.PlayerEngine.ConnectEvent(playerEvent_EndOfStream_Handler, PlayerEvent.EndOfStream);
+ void playerEvent_EndOfStream_Handler(PlayerEventArgs e) { .... }

Changed in zeitgeist-dataproviders:
assignee: nobody → Manish Sinha (मनीष सिन्हा) (manishsinha)
importance: Undecided → Low
status: New → Confirmed
Didier Roche (didrocks) on 2011-04-05
Changed in unity (Ubuntu):
status: New → Confirmed
Changed in zeitgeist-dataproviders:
importance: Low → Medium
status: Confirmed → In Progress
Ingo Gerth (igerth) wrote :

Guys, I just wanted to let you know that you rock! I love to see how you respond to my report so quickly and dedicated. This makes me believe in open source software.

Keep up the good work!

Seif Lotfy (seif) wrote :

Since its not a Zeitgeist bug but a dataprovider bug i markes it as invalid. Its being fixed somewhere else

Changed in zeitgeist:
status: New → Invalid

This bug might take time to be solved since upstream is releasing Banshee 2.0 and the patch I submitted needs to be improved as it does not solve the problem completely.

Chow Loong Jin (hyperair) wrote :

On Friday 08,April,2011 01:10 AM, Manish Sinha (मनीष सिन्हा) wrote:
> This bug might take time to be solved since upstream is releasing
> Banshee 2.0 and the patch I submitted needs to be improved as it does
> not solve the problem completely.
>
Upstream has released 2.0. Packages are pending upload to Debian.

--
Kind regards,
Loong Jin

Thanks hyperair.

Will try to get it fixed in a few days as I come back from home

Can someone clone the upstream repo and try it out?

The instructions are:

sudo apt-get build-dep banshee
sudo apt-get build-dep banshee-extension-zeitgeistdataprovider
sudo apt-get install libgconf2-dev
./autogen.sh
make run

and then go and enable the dataprovider *if* not enabled.

Then use banshee it normally. If it still clutters the lense, then please let us now

Chow Loong Jin (hyperair) wrote :

On Sunday 24,April,2011 08:51 AM, Manish Sinha (मनीष सिन्हा) wrote:
> Can someone clone the upstream repo and try it out?
>
> The instructions are:
>
> sudo apt-get build-dep banshee
> sudo apt-get build-dep banshee-extension-zeitgeistdataprovider
> sudo apt-get install libgconf2-dev
> ./autogen.sh
> make run
>
>
> and then go and enable the dataprovider *if* not enabled.
>
> Then use banshee it normally. If it still clutters the lense, then
> please let us now
>
Or you could wait until tomorrow and install Banshee from the daily PPA[1]

[1] https://launchpad.net/~banshee-team/+archive/banshee-daily

--
Kind regards,
Loong Jin

@manish: I'm testing out from the ppa:banshee-team/banshee-daily ppa and have:

 banshee-2.0.0+git20110427.r1.7fd9361-0ubuntu1+natty
 banshee-extension-zeitgeistdataprovider-2.0.0+git20110426.r1.59395ec-0ubuntu1+natty1
 libzeitgeist0.1-cil-0.1.1.0-2~natty1

Is that good enough? I am still seeing the "spamming" with these packages...

Seif Lotfy (seif) wrote :

Are you sure your requesting UserActivities and not WorldActivities
?

On Thu, Apr 28, 2011 at 2:16 PM, Mikkel Kamstrup Erlandsen <
<email address hidden>> wrote:

> @manish: I'm testing out from the ppa:banshee-team/banshee-daily ppa and
> have:
>
> banshee-2.0.0+git20110427.r1.7fd9361-0ubuntu1+natty
>
> banshee-extension-zeitgeistdataprovider-2.0.0+git20110426.r1.59395ec-0ubuntu1+natty1
> libzeitgeist0.1-cil-0.1.1.0-2~natty1
>
> Is that good enough? I am still seeing the "spamming" with these
> packages...
>
> --
> You received this bug notification because you are subscribed to The
> Zeitgeist Project.
> https://bugs.launchpad.net/bugs/748120
>
> Title:
> Enabling Zeitgeist data-logger in Banshee clutters the lenses
>
> Status in Banshee Music Player:
> Invalid
> Status in Unity:
> Confirmed
> Status in Zeitgeist Framework:
> Invalid
> Status in Zeitgeist Data-Providers:
> Fix Committed
> Status in “unity” package in Ubuntu:
> Confirmed
>
> Bug description:
> Because I want my recently played songs to show up in, for example,
> the Synapse launcher, I enabled the Zeitgeist data logger extension in
> Banshee. However, due to this all my recently played songs show up
> under "recent files" in the files lens. Consequently, it becomes
> practically unusable.
>

On 28 April 2011 14:28, Seif Lotfy <email address hidden> wrote:
> Are you sure your requesting UserActivities and not WorldActivities
> ?

Yes :-) http://bazaar.launchpad.net/~unity-team/unity-place-files/trunk/view/head:/src/daemon.vala#L505

Mikkel,

yes all the packages are fine. I am still not able to understand. Maybe there is something more which we overlooked.

Let me tell the ontologies used

* When Banshee is stopped and the track is double-clicked and started - UserActivity, AccessEvent for that track
* When track is running and another track is started by user - UserActivity, LeaveEvent for previous track and UserActivity, AccessEvent for new track
* When the track finishes and another track is started - ScheduledActivity, LeaveEvent for previous track and ScheduledActivity, AccessEvent for new track
You cannot stop a track in banshee. The UI does not provide it.

That looks like what I'd expect as well Manish, but I don't think
that's what I get into my log... At least judging by the output from
the Unity files lens it's not :-)

A DBus dump reveals that the LeaveEvent gets (correctly) marked as ScheduledActivity but that the AccessEvent when transitioning to the next track is still a UserActivity (should also have been a ScheduledActivity since this was an automatic track change without user action).

I pushed some changes. Just a small modification was needed. The root of the problem was that the flag used to tell that it is a ScheduledActivity was getting reset after the first LeaveEvent. Fixed that.

Time to wait for daily builds from the PPA :)

affects: unity (Ubuntu) → unity-lens-music (Ubuntu)
affects: unity → unity-lens-music
Michal Hruby (mhr3) on 2012-04-25
no longer affects: unity-lens-music
no longer affects: unity-lens-music (Ubuntu)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers