Merge lp:~aacid/unity8/preview_audio_playlist into lp:unity8

Proposed by Albert Astals Cid on 2016-02-01
Status: Merged
Approved by: Michał Sawicz on 2016-02-16
Approved revision: 2145
Merged at revision: 2200
Proposed branch: lp:~aacid/unity8/preview_audio_playlist
Merge into: lp:unity8
Diff against target: 52 lines (+18/-5)
2 files modified
qml/Dash/Previews/PreviewAudioPlayback.qml (+5/-1)
tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml (+13/-4)
To merge this branch: bzr merge lp:~aacid/unity8/preview_audio_playlist
Reviewer Review Type Date Requested Status
Michał Sawicz code Approve on 2016-02-16
PS Jenkins bot continuous-integration Needs Fixing on 2016-02-15
Unity8 CI Bot continuous-integration Needs Fixing on 2016-02-15
Andrea Cimitan (community) 2016-02-01 Approve on 2016-02-01
Review via email: mp+284624@code.launchpad.net

Commit Message

Make the audio previews create a playlist

Description of the Change

 * Are there any related MPs required for this MP to build/function as expected?
No

 * Did you perform an exploratory manual test run of your code change and any related functionality?
Yes

 * Did you make sure that your branch does not contain spurious tags?
Yes

 * If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?
N/A

 * If you changed the UI, has there been a design review?
N/A

To post a comment you must log in.
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2144
https://unity8-jenkins.ubuntu.com/job/lp-unity8-1-ci/235/
Executed test runs:

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-1-ci/235/rebuild

review: Approve (continuous-integration)
Andrea Cimitan (cimi) wrote :

 * Did you perform an exploratory manual test run of the code change and any related functionality?
yes
 * Did CI run pass? If not, please explain why.
green
 * Did you make sure that the branch does not contain spurious tags?
yes

review: Approve
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:2144
http://jenkins.qa.ubuntu.com/job/unity8-ci/7184/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-vivid-touch/6281
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-xenial-touch/599/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-vivid/1889
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-qmluitest-xenial-amd64/592
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-amd64-ci/1784
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-i386-ci/1784
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-xenial-amd64-ci/591
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-xenial-i386-ci/590
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-vivid-touch/4830
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/6292
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/6292/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27202
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-xenial-touch/314/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-xenial-armhf/597
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-xenial-armhf/597/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27201

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/7184/rebuild

review: Needs Fixing (continuous-integration)
Michał Sawicz (saviq) wrote :

When you start playback from the second or further item, the playlist "wraps" in that the song you start playback with is always the first one in the playlist.

I'd say the playlist sent to media-hub should always be in the same order that the scope displays it.

review: Needs Fixing
Albert Astals Cid (aacid) wrote :

> When you start playback from the second or further item, the playlist "wraps"
> in that the song you start playback with is always the first one in the
> playlist.
>
> I'd say the playlist sent to media-hub should always be in the same order that
> the scope displays it.

That's not what UX wanted as far as i understood, have you confirmed this behaviour with them?

Albert Astals Cid (aacid) wrote :

> > When you start playback from the second or further item, the playlist
> "wraps"
> > in that the song you start playback with is always the first one in the
> > playlist.
> >
> > I'd say the playlist sent to media-hub should always be in the same order
> that
> > the scope displays it.
>
> That's not what UX wanted as far as i understood, have you confirmed this
> behaviour with them?

Actually it's on the bug description, so yes please speak with Patricia if you disagree with her design.

2145. By Albert Astals Cid on 2016-02-15

Playlist from 0 to last song

Albert Astals Cid (aacid) wrote :

Changed code since Patricia agreed with Saviq

Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2145
https://unity8-jenkins.ubuntu.com/job/lp-unity8-1-ci/354/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/483/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/506
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/524
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/524
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/520
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/520/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial/520/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/520
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/520/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial/520/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/520
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/520/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial/520/console

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-1-ci/354/rebuild

review: Needs Fixing (continuous-integration)
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:2145
http://jenkins.qa.ubuntu.com/job/unity8-ci/7291/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-vivid-touch/6480
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-xenial-touch/706/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-vivid/1996
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-qmluitest-xenial-amd64/699
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-amd64-ci/1891
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-vivid-i386-ci/1891
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-xenial-amd64-ci/698
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-xenial-i386-ci/697
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-vivid-touch/4955
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/6491
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-vivid-armhf/6491/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27603
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-xenial-touch/364/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-xenial-armhf/704
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-xenial-armhf/704/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27604

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/unity8-ci/7291/rebuild

review: Needs Fixing (continuous-integration)
Michał Sawicz (saviq) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'qml/Dash/Previews/PreviewAudioPlayback.qml'
2--- qml/Dash/Previews/PreviewAudioPlayback.qml 2016-01-18 17:08:29 +0000
3+++ qml/Dash/Previews/PreviewAudioPlayback.qml 2016-02-15 15:27:35 +0000
4@@ -85,7 +85,11 @@
5 DashAudioPlayer.play();
6 }
7 } else {
8- DashAudioPlayer.playSource(sourceUrl);
9+ var playlist = [];
10+ for (var i = 0; i < trackRepeater.count; ++i) {
11+ playlist.push(trackRepeater.itemAt(i).sourceUrl);
12+ }
13+ DashAudioPlayer.playSource(sourceUrl, playlist);
14 }
15 }
16 }
17
18=== modified file 'tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml'
19--- tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml 2015-12-01 14:02:21 +0000
20+++ tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml 2016-02-15 15:27:35 +0000
21@@ -100,11 +100,15 @@
22 }
23 }
24
25+ function checkPlayerUrls(modelFilename, playerUrl) {
26+ var modelFilename = modelFilename.replace(/^.*[\\\/]/, '');
27+ var playerFilename = playerUrl.toString().replace(/^.*[\\\/]/, '');
28+
29+ compare(modelFilename, playerFilename, "Player source is not set correctly.");
30+ }
31+
32 function checkPlayerSource(index) {
33- var modelFilename = previewAudioPlayback.widgetData["tracks"][index]["source"].replace(/^.*[\\\/]/, '');
34- var playerFilename = DashAudioPlayer.currentSource.toString().replace(/^.*[\\\/]/, '');
35-
36- compare(modelFilename, playerFilename, "Player source is not set correctly.");
37+ checkPlayerUrls(previewAudioPlayback.widgetData["tracks"][index]["source"], DashAudioPlayer.currentSource);
38 }
39
40 function test_playback() {
41@@ -157,6 +161,11 @@
42 tryCompare(audio, "playbackState", Audio.PlayingState);
43 checkPlayerSource(1);
44
45+ // Check the playlist is song 0, 1, 2
46+ checkPlayerUrls(tracksModel2["tracks"][0].source, audio.playlist.itemSource(0));
47+ checkPlayerUrls(tracksModel2["tracks"][1].source, audio.playlist.itemSource(1));
48+ checkPlayerUrls(tracksModel2["tracks"][2].source, audio.playlist.itemSource(2));
49+
50 tryCompare(track0ProgressBar, "visible", false);
51 tryCompare(track1ProgressBar, "visible", true);
52 tryCompare(track2ProgressBar, "visible", false);

Subscribers

People subscribed via source and target branches