Merge lp://staging/~stolowski/unity-lens-music/unity-lens-music.previews into lp://staging/unity-lens-music

Proposed by Paweł Stołowski
Status: Merged
Approved by: Paweł Stołowski
Approved revision: 97
Merged at revision: 90
Proposed branch: lp://staging/~stolowski/unity-lens-music/unity-lens-music.previews
Merge into: lp://staging/unity-lens-music
Diff against target: 1449 lines (+1074/-18)
17 files modified
configure.ac (+8/-0)
data/Makefile.am (+4/-2)
data/music-preview-player.service.in (+3/-0)
po/POTFILES.in (+1/-0)
po/POTFILES.skip (+1/-0)
src/Makefile.am (+40/-3)
src/banshee-collection.vala (+134/-7)
src/banshee-scope.vala (+52/-0)
src/music-preview-player.vala (+55/-0)
src/musicstore-collection.vala (+74/-3)
src/musicstore-scope.vala (+76/-0)
src/player-service.vala (+77/-0)
src/player.vala (+251/-0)
src/preview-player-client.vala (+78/-0)
src/rhythmbox-collection.vala (+63/-3)
src/rhythmbox-scope.vala (+156/-0)
src/track.vala (+1/-0)
To merge this branch: bzr merge lp://staging/~stolowski/unity-lens-music/unity-lens-music.previews
Reviewer Review Type Date Requested Status
Michal Hruby (community) Approve
Unity Team Pending
Neil J. Patel Pending
Review via email: mp+120075@code.staging.launchpad.net

This proposal supersedes a proposal from 2012-08-10.

Commit message

Implementation of previews for Rhythmbox and Musicstore results; Banshee previews are limited (no playback).

Description of the change

Implementation of previews for Rhythmbox and Musicstore results; Banshee previews are limited (no playback).

To post a comment you must log in.
Revision history for this message
Michal Hruby (mhr3) wrote : Posted in a previous version of this proposal

Nice work, works pretty well, but it's over 1k lines, so you know the drill ;)

478 + if (parser.load_from_stream (file.read (null)))

Could you add a huge FIXME to make it async?

553 + preview_uri_map.insert (uri.substring (7), details_uri);

And another comment explaining why 7 (u1ms://)?

745 + app.release();

Perhaps add a bool flag, so we don't call release multiple times from here?

1024 + public abstract async void pause () throws IOError;
1025 + public abstract async void pause_resume () throws IOError;
1026 + public abstract async void resume () throws IOError;

Do we really need 3 methods? Would one play_pause() suffice?

1259 + var show_folder_action = new Unity.PreviewAction ("show_in_folder", _("Show in Folder "), null);
1286 + var show_folder_action = new Unity.PreviewAction ("show_in_folder", _("Show in Folder "), null);

Extra space in the title.

911 + timer_id = GLib.Timeout.add_seconds (1, progress_report_cb);

Looks like this timer isn't removed when it needs to be, I saw it keep firing and spamming dbus long after the song finished.

There's also the issue that sorting of songs vs albums is broken now in trunk, although not fault of this branch, we should fix that asap.

review: Needs Fixing
Revision history for this message
Michal Hruby (mhr3) wrote : Posted in a previous version of this proposal

1310 + var show_folder_action = new Unity.PreviewAction ("show_in_folder", _("Show in Folder "), null);

Still extra space.

848 + gst_pipeline.set_state (Gst.State.READY);

I'm no gstreamer expert, but is switching to ready state here ok? Did you get a chance to test how would this work with internet radio streams? (+ losing connection and other error conditions).

I also wonder if we need TrackState.ERROR, but not going to block on that, we could add that after FF.

review: Needs Fixing
Revision history for this message
Paweł Stołowski (stolowski) wrote : Posted in a previous version of this proposal

Fixed extra space. I think setting state = READY on EOS is fine, as according to gstreamer docs READY resets all internal gstreamer states.

However, you made a good point about error scenarios; I did some testing trying to simulate network connectivity issues and we definitely need to handle ERROR messagea in gst_bus_message_cb. I'd however propose to merge what we have now and deal with this in a separate MP.

Revision history for this message
Michal Hruby (mhr3) wrote : Posted in a previous version of this proposal

Agreed, we can deal with error conditions in a separate MP.

review: Approve
Revision history for this message
Unity Merger (unity-merger) wrote : Posted in a previous version of this proposal

No commit message specified.

Revision history for this message
Unity Merger (unity-merger) wrote : Posted in a previous version of this proposal
Revision history for this message
Unity Merger (unity-merger) wrote : Posted in a previous version of this proposal
Revision history for this message
Michal Hruby (mhr3) wrote :

+1

review: Approve
Revision history for this message
Unity Merger (unity-merger) wrote :

No commit message specified.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches

to all changes: