Merge lp://qastaging/~daschuer/mixxx/autodj into lp://qastaging/~mixxxdevelopers/mixxx/trunk

Proposed by Daniel Schürmann
Status: Merged
Merged at revision: 2989
Proposed branch: lp://qastaging/~daschuer/mixxx/autodj
Merge into: lp://qastaging/~mixxxdevelopers/mixxx/trunk
Diff against target: 1979 lines (+1168/-231)
22 files modified
mixxx/build/depends.py (+24/-4)
mixxx/lib/soundtouch-1.6.0/STTypes.h (+1/-1)
mixxx/res/images/autodj/bottom.svg (+137/-0)
mixxx/res/images/autodj/media-playlist-shuffle.svg (+214/-0)
mixxx/res/images/autodj/stock_mail-send-receive.svg (+87/-0)
mixxx/res/mixxx.qrc (+3/-0)
mixxx/src/dlgautodj.cpp (+433/-161)
mixxx/src/dlgautodj.h (+26/-2)
mixxx/src/dlgautodj.ui (+110/-18)
mixxx/src/library/autodjfeature.cpp (+30/-24)
mixxx/src/library/autodjfeature.h (+2/-0)
mixxx/src/library/browse/browsefeature.cpp (+14/-4)
mixxx/src/library/browse/browsetablemodel.cpp (+8/-8)
mixxx/src/library/dao/cratedao.h (+2/-0)
mixxx/src/library/dao/playlistdao.cpp (+11/-3)
mixxx/src/library/dao/playlistdao.h (+3/-1)
mixxx/src/library/playlistfeature.cpp (+23/-3)
mixxx/src/library/playlistfeature.h (+3/-0)
mixxx/src/library/playlisttablemodel.cpp (+11/-0)
mixxx/src/library/playlisttablemodel.h (+1/-0)
mixxx/src/widget/wtracktableview.cpp (+22/-2)
mixxx/src/widget/wtracktableview.h (+3/-0)
To merge this branch: bzr merge lp://qastaging/~daschuer/mixxx/autodj
Reviewer Review Type Date Requested Status
Mixxx Development Team Pending
Review via email: mp+61320@code.qastaging.launchpad.net

Description of the change

I have done some changes, which makes auto DJ useful for manual control.
* Manually to a deck loaded song is played by auto DJ
* Additional "Skip Next" Button
* Auto DJ did not change the "Repeat" Button any more
* "Repeat" works as desired (it temporary disables auto DJ)
* Lock fading of the two decks against each other, plus some other possible exceptions
* Enabling auto DJ always starts playback (we may discuss if it is desired)
* Next track is loaded immediately after fading (see bug 766817) also good to monitor what happens next in case browsing thou the library
* Additional "Fade Now" button (see bug 730577)
* "Fade Now" disables "Repeat"
* Track is deleted from the auto DJ list when it starts to play
* Image Buttons (fits to Outline-800x460-WVGA)
* "Add to Auto DJ Queue" from Rhythmbox and Browser
* "Add to Auto DJ Top 2" for playing a song after next
* Autoscroll Patch

To post a comment you must log in.
2800. By Daniel Schürmann

GUI cleanup

2801. By Daniel Schürmann

auto DJ with Transition time in sec configurable

Revision history for this message
jus (jus) wrote :

Tested r2801 of your autodj branch

* SKIP NEXT button
Does not work as expected. Play-count of the next track in queue is raised by one, but track is not skipped.
* CUSTOM TRANSITION TIME stepper
Changes to the transition time are not instantly effective for the transition from the currently playing track to the next queued track (same for the FADE NOW button). One would expect it works instantly when changed. Nonetheless it works for the next transition.
Furthermore i think the preference dialog is not an optimal place for the stepper. It should go from the preferences directly to the AutoDJ tab in the library widget. This would improve usability and allow easy in-session changes.

2802. By Daniel Schürmann

Transition settings from auto DJ toolbar.
Skip missing tracks. "Fade Now" works when both decks playing. Solved some issues with seek and jumps.

2803. By Daniel Schürmann

made skip next working

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Hi jus, Thank you for testing.
At the beginning I had strange problems with the maximum size of the auto DJ tools.
The current solution consumes as much space as possible. What's the limit and where can I find it.
I think we will have a lot of problems with i18n. Maybe someone is able to define bitmap buttons or an auto DJ skin. A second toolbar is not nice, it would be look stupid on large screens and consumes to much space from tiny screens.

Do you think we should remove the transition from the preferences dialog?

Revision history for this message
jus (jus) wrote :

Thanks for fixing the bugs i mentioned in the first comment.

Can not tell if there is such limit hardcoded/where to find eventually. OTOH the AutoDJ pane looks fine in all other skins. The OUTLINE skin may have no future either, so the escaping library in OUTLINE is nothing to be really worried about for the moment.
> The current solution consumes as much space as possible. What's the limit and
> where can I find it.

Agree on the second toolbar, better have all buttons in one row.
Actually we can already style the buttons,spinbox etc. per skin using style-sheets. See the Spartan skin for example http://www.mixxx.org/forums/viewtopic.php?f=8&t=1812
A reason the buttons are currently not styled per default is that style-sheets break the color scheme support which the OUTLINE skins make exclusive use of http://mixxx.org/wiki/doku.php/skin_colour_scheme_architecture
> I think we will have a lot of problems with i18n. Maybe someone is able to
> define bitmap buttons or an auto DJ skin. A second toolbar is not nice, it
> would be look stupid on large screens and consumes to much space from tiny
> screens.
>

Yes, as it is now in the AutoDJ pane for direct access.
> Do you think we should remove the transition from the preferences dialog?

One last thing:
While "s" is the correct abbreviation for "seconds", do you think it is clear enough for translators? What do you think, maybe go with "sec" instead?

2804. By Daniel Schürmann

Transition removed from prefcrossfader.
Made the transition from auto DJ Toolbar persistent.
Fixed a bug: Where "loadTrack" was sometimes overtaking "stop"

2805. By Daniel Schürmann

Optimized Auto DJ start, merged with trunk

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Hi jus,

I am surprised to hear that the OUTLINE skin may have no future, because It is my favourite on the netbook. It has clear buttons with a good size and waveforms on below the others. Only one thing: The position of the loaded track title should be below the waveforms.

I do not know if our American friends like "s" for second. My Problem is, that "sec" is simply to large for OUTLINE skin.

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

I'm American and I'll say that 's' for second is fine for us, so long as the context makes it obvious.

Jus is concerned with translations: on LP, it just displays the text to translate, so an 's' all by itself won't be obvious without a screen shot or something. LP does give the line number in the code, but then a translator would have to go look at the code to see exactly what that 's' means to know how (if) to translate it. If there's a detailed tool tip nearby then that might make it more obvious.

Revision history for this message
jus (jus) wrote :

Now it reads "Transition [QSpinBox] s" better would be "Transition (sec) [QSpinBox]" or "Fade (sec) [QSpinBox]". This would make the context pretty obvious for translators too.

If we`d just use "Transition (s)" it could be easily mistaken for being plural of "Transition".

Would love to see the additions to AutoDJ in trunk, using it extensively and it works (at least from a user perspective) without complains.

2806. By Daniel Schürmann

merged with trunk

2807. By Daniel Schürmann

auto DJ with pause (Transition negative)

2808. By Daniel Schürmann

auto DJ with pause works for second deck

2809. By Daniel Schürmann

fixed bug with double-entrys

2810. By Daniel Schürmann

Added image buttons for auto DJ panel, >Add to Auto DJ Queue< for Bowser and Rhythmbox

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Now it has image buttons, Taken from "Multicolor-Gnome" Iconset.
I have changed the Text to "Transition [sec]" [SpinBox]

Revision history for this message
jus (jus) wrote :

> Now it has image buttons, Taken from "Multicolor-Gnome" Iconset.
Hi Daniel, would love to hear the idea behind this change.

I see the following drawbacks:
* Lack of consistency: Using a mix of labeled and styled un-labeled (styled) buttons for activating AutoDJ / Recordings / Analyze.
* Lack of unity of style within icons : Does not fit with our existing icons used in treeview & preferences.
* Duplicates functionality: Currently elements like buttons, spinboxes etc. can already be customized per skin using QT stylesheets in skin.xml

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Hi jus,

styling is not the main part of this branch. I am not an expert in GUI or graphic design.
This is just a solution for our escaping and i18n problem.

Whats your main reason for the lack of unity?
Where are the existing icons from? Maybe there are similar icons in that icon set we can use.

Do you have an idea for styled buttons in Recordings and Analyse?

I have decided to use a static sylesheet within the dlgautodj because the library icons are also static. It should be no problem to move all library arts together it to the skin support later.
For now and in respect to the merging work-flow this should be best.

Revision history for this message
jus (jus) wrote :

I agree that we could use descriptive icons for some of the player-like elements in AutoDJ, namely "Shuffle Playlist","Skip Next Track" and "Fade Now" to save some horizontal space for smaller skins.

Suggestion:
* Remove the "Multicolor-Gnome" icons and references and replace it with an existing icon as dummy (e.g. ic_library_autodj.png). I`ll extend our existing custom iconset for the new icons needed as well as the per-skin styling of the transition spinbox later on.
* Restore the default "Enable Auto DJ" button, we follow the "Call to action button" paradigm for main buttons in AutoDJ/Analyze/Recordings.

2811. By Daniel Schürmann

fixed Library escaping bug; Restore old enable Auto DJ button

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Hi jus,

it was a pain, restoring the "Enable Auto DJ" button forces me to solve the escaping library bug ..

Thank you for your offer to make buttons for auto DJ. I will leave the current svg buttons as dummys in the mean time.

2812. By Daniel Schürmann

fix Deere1280x800-EXPERIMENTAL side-effect of Bug #804529

Revision history for this message
jus (jus) wrote :

Currently there are more dummy buttons in your branch than buttons needed for AutoDJ. Do you plan to use the additional buttons in any way (e.g. for a feature to come?).

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Hi jus,

I simply haven’t tidy up the resources.

By the way: I still have some ideas like "Auto trim" or "Auto End Looping" and changing the transition effects on the fly e.g. "Spin down (or up)" but those jobs are likely the job of Tom Mast.
He is currently working on a new base for autodj (lp:~thomasomast/mixxx/features_autodj). I'm looking forward to see what his code will offer.

Maybe he needs some artwork too.

2813. By Daniel Schürmann

* removed unused icons * added required delete statements

2814. By Daniel Schürmann

merged with lp:mixxx

2815. By Daniel Schürmann

merged with lp:mixxx

2816. By Daniel Schürmann

* change button text when enabling autodj
* calculate fade duration for the right track when enabling autodj
* made fade now less restictive

2817. By Daniel Schürmann

merged with lp:mixxx

2818. By Daniel Schürmann

clean up after merge

2819. By Daniel Schürmann

merged with lp:mixxx

2820. By Daniel Schürmann

merged with lp:mixxx

2821. By Daniel Schürmann

merged with trunk

2822. By Daniel Schürmann

merged with lp:mixxx

2823. By Daniel Schürmann

merged with lp:mixxx

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.