Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LateNight 2.1 #1357

Merged
merged 54 commits into from
Dec 21, 2017
Merged

LateNight 2.1 #1357

merged 54 commits into from
Dec 21, 2017

Conversation

ronso0
Copy link
Member

@ronso0 ronso0 commented Oct 1, 2017

It seems LateNight has a lot of fans in 1.12 and is the most frequent base for mods in the forums.
To avoid having to drop it in 2.1 I'd like to update it. The minimum I want to accomplish here is designing the 2.1 effect section.

@ferranpujolcamins already made two attempts to refresh LateNight in #913 and #923 , though those PRs are lacking activity recently. If we get to a consensus about the changes in those PRs, I'd like to adopt the LateNight parts of them and continue here.

Further ideas:
Looking at the numerous LateNight remixes in the skin forum, it's clear one feature users request are full-width scrolling waveforms. Some of those remixes also managed to implement this without squeezing the skin too much, or let's say each of them contains some nice ideas, for example how to solve the Preview deck issue, or manage to "make it look less like from the 90s" (ywwg)

I definitely don't want to open Pandora's box here by suggesting a huge layout redesign, but rather start a general discussion on how to proceed with LateNight and about how to implement small tweaks.

For a starter, here are some screen shots from the unploished community remixes compared to master and Ferran's combined PRs..

0. master
0-master

1. ferran
1-ferran

  • reduced minimal height, PreviewDeck still increase this though

2. magnetixxx (forum)
2-magnetixx

  • full-width waveforms
  • rate buttons in a column next to pitch slider
  • key buttons in transport section
  • too tall with 4 decks, PreviewDeck issue again

3. mankir (forum)
3-mankir

  • full-width waveforms
  • PreviewDeck below mixer
  • decks compressed too much (title/artist/time)

4. kafuzke (forum)
4-kafuzke

  • just a color scheme, as far as I can tell

What do you think?

@ronso0 ronso0 mentioned this pull request Oct 1, 2017
@ronso0
Copy link
Member Author

ronso0 commented Oct 2, 2017

Having a closer look, it becomes obvious that both decks and mixer have would to shrink in order to have usable expanded effect units (assuming effects in there are stacked vertically) with 4 decks.
IMO this would go hand in hand with moving scrolling waveforms above decks into a splitter (not collapsible!).

Some ideas taken from the remixes:

  • GUI buttons to bottom bar
  • rate buttons (temp_up/down, up/down) next to rate slider (*
  • with 4 decks PreviewDeck goes below mixer
  • order master/headphone controls vertically
  • waveform overview 50px tall
  • QuickEffect knob below EQ knobs
  • same size & color coding for gain/EQ/QuickEffect knobs would allow dropping their labels

(* order is reversed according to group,rate_dir

@daschuer
Copy link
Member

daschuer commented Oct 2, 2017

"make it look less like from the 90s"

This means it should look like windows 95 or Mac OS 8? Computer Gray + Shadow buttons?
The right skin fro playing an 90s party I bet ;-)

GUI buttons to bottom bar

1+

rate buttons (temp_up/down, up/down) next to rate slider

unsure, we have to consider the different directions of the rate slider

with 4 decks PreviewDeck goes below mixer

Not a natural place, but if it helps saving space, it is OK.

order master/headphone controls vertically

+1, including the white colour.

waveform overview 50px tall

unsure

QuickEffect knob below EQ knobs

+1

same size & color coding for gain/EQ/QuickEffect knobs would allow dropping their labels

OK

@ronso0
Copy link
Member Author

ronso0 commented Oct 2, 2017

unsure, we have to consider the different directions of the rate slider

yeah, as I mentioned I'd make use of [group],rate_dir to sort them appropriately

waveform overview 50px tall

unsure

50px was just a wild guess, but they shouldn't get in the way of expanded effect units.

"make it look less like from the 90s"

This means it should look like windows 95 or Mac OS 8? Computer Gray + Shadow buttons?
The right skin fro playing an 90s party I bet ;-)

"...look less like from the 90s"
but if that was a color scheme..Wow, f**k that slick Traktor! And of course windows 95 sounds are loaded to samplers automatically

@Be-ing
Copy link
Contributor

Be-ing commented Oct 3, 2017

Thanks for looking into this. IMO there is no need to maintain this skin considering we now have two good, up-to-date skins. We have put over a year of work into both Tango and Deere. I can't imagine it would take less than several months to bring LateNight up to a similar level of design quality and effective use of space. Unless you really like the aesthetics of this skin (which I personally do not), I wouldn't especially recommend pouring a ton of work into it. That said, if you do want to, go for it.

@daschuer
Copy link
Member

daschuer commented Oct 3, 2017

"...look less like from the 90s"

ups ... but I like the idea though.

@Be-ing:
There is no need to bring all skins to the same level. I prefer the idea to have one general purpose default skin and some other skins that focus special use-cases and preferences.
For now I think Deere should be 2.1 default. This is for all users asking "Where is my lovely yellow"
IMHO the only mandatory work is to update the effect region. Since there are some LateNight contributors in the forums, I hope they can jump in for other tweaks.

@ronso0
Copy link
Member Author

ronso0 commented Oct 3, 2017

Yes, after working on Tango, I see the danger of a major rework.
I aim to finish this within a month, and I'll start only if there's a consensus in #913 and #923 so I can focus on the FX units and waveforms. No new looping section, no style update.

I don't like LateNight aesthetically either, but I like to work on it since it was the skin that best fit my use case when I started DJing years ago: Shade is too small and lacks waveforms, Deere was too complex with too little contrast, LateNight still is a nice starter skin that fills that gap for users who like identical decks and big buttons IMO.

"...look less like from the 90s"

ups ... but I like the idea though.

yeah, let's remember that for when the functional layout is finished.
color schemes would be nice for that, like the one Kafuzke posted in the forums

@Be-ing
Copy link
Contributor

Be-ing commented Oct 3, 2017

There is no need to bring all skins to the same level. I prefer the idea to have one general purpose default skin and some other skins that focus special use-cases and preferences.

I disagree. I don't think there's any reason to include skins that don't expose all features of Mixxx and are not designed well. On the contrary, I think it makes Mixxx look bad (literally). Also, it makes users confused. I don't think we should ever have to say to a user "try a different skin". There shouldn't be skins shipped with the program that don't work for everything, they should all "just work".

IMHO the only mandatory work is to update the effect region. Since there are some LateNight contributors in the forums, I hope they can jump in for other tweaks.

I think the absolute minimum is to update the effects and looping regions and make sure every feature is available (like split cue mode). But stopping there, it still won't be very useable on screens under 1920x1080 (1366x768 is still the most common screen resolution) -- that will require redesigning quite a lot of the skin, which I think would take several months at least.

I don't like LateNight aesthetically either, but I like to work on it since it was the skin that best fit my use case when I started DJing years ago: Shade is too small and lacks waveforms, Deere was too complex with too little contrast, LateNight still is a nice starter skin that fills that gap for users who like identical decks and big buttons IMO.

Then I don't think there is a need for you to put work into it. We have better skins now. I don't think there's any reason Deere or Tango wouldn't work as "starter skins".

@ronso0
Copy link
Member Author

ronso0 commented Oct 3, 2017

I disagree. I don't think there's any reason to include skins that don't expose all features of Mixxx and are not designed well. On the contrary, I think it makes Mixxx look bad (literally). Also, it makes users confused. I don't think we should ever have to say to a user "try a different skin". There shouldn't be skins shipped with the program that don't work for everything, they should all "just work".

@Be-ing
Implicitely you're proposing to drop Shade and LateNight in 2.1?

I think @daschuer is right that not all skins necessarily need all features exposed.
Me for example, I started "DJing" with two instances of Winamp side by side. That was okay for a while, but I wanted easy control over EQ, speed etc. so I looked for a cheap controller and free DJ software. Found Mixxx! Wow, a whole new world! Deere, LateNight or Shade? LateNight. It fit my use case because it's much easier to read than stuffed Deere and had more controls than simplified and small Shade.
Later on I tweaked LateNight, even later -with a new controller and more DJ knowledge- I created Tango.

Long story short, I think it's a good idea to offer different skins for different scenarios.
To avoid disappointment when chosing a skin, a two-liner below skin drop-down might help (or even tooltips when skin list is open) which gives a rough idea what the skins is made for. Like we have the Preset Info in controller settings.

But stopping there, it still won't be very useable on screens under 1920x1080

I don't think so. My goal is to keep it usable @1366x768 (fullscreen) and with the proposed tweaks I believe we can have (collapsed) effect units and Library visible in 4-decks mode.
That's why I started this thread. Although I don't like LateNight (now) I think it's good to have it.

@Be-ing
Copy link
Contributor

Be-ing commented Oct 8, 2017

Implicitely you're proposing to drop Shade and LateNight in 2.1?

Yes, I don't think it's worth the effort to continue maintaining them.

I think @daschuer is right that not all skins necessarily need all features exposed.

As long as we have skins shipped with the program that do not provide all features, users will be confused why they can't access some features. If we decide to remove old skins, we can put them in ZIP files in a stickied forum thread for people who want to continue to use them with new versions of Mixxx despite features being unavailable. IMO this is a better solution than shipping skins that make the program confusingly inconsistent.

Long story short, I think it's a good idea to offer different skins for different scenarios.

I think that is a huge maintenance burden that we don't need. Remember Mixxx used to have a bunch of different skins for different screen resolutions.

To avoid disappointment when chosing a skin, a two-liner below skin drop-down might help (or even tooltips when skin list is open) which gives a rough idea what the skins is made for. Like we have the Preset Info in controller settings.

Disclaimers will not remove the confusion of why the skins are included in the program. They may make it even more confusing.

@ronso0
Copy link
Member Author

ronso0 commented Oct 11, 2017

I don't like the term 'dsiclaimer'. By default, Mixxx starts with a full-featured-skin, Deere or Tango.
If a user is bored, overwhelmed or curious later on, it's totally legitimate to offer different skins with an explanation about the proposed use case..

@foss-
Copy link
Contributor

foss- commented Oct 15, 2017

2 cents incoming: I fully agree with be-ing. I'd rather see mixxx coming with few but rock solid skins. Shade is not ready for prime time, it looks unfinished. And latenight looks dated.

Although repeating what has been said: I do not see why new users would not want to be starting using mixxx with Deere or Tango (no pref here regarding default) as their first-timer skin. Regarding overwhelmed: the learning curve for mixxx is steep anyhow, so users can learn to use a skin, where chances are they'll use it in the end anyways right away. Learning easy skin first and then switching to pro skin later is more work in the end. So maybe creating documentation and or on screen tutorials would be the better solution.

Considering dev time is so sparse in foss projects like mixxx, I'd rather see that time go into the fine tuning PRs for Tango and Deere.

Personally I can't wait for those to be merged, since as of now I still have quite a few UI problems with Tango. Waiting for the merge to see if those then persist.

Since I am already off-topic: my biggest issue with mixxx currently is, that while tagging files, I often accidentally go into editing the title or another text component of the metadata of a song (two finger touchpad tap) the waveform becomes choppy and mixxx due to that unusable. A restart then becomes necessary. This is frustrating to the point that I would even consider using shade if that would work, but the issue persists with all skins. I am not a professional DJ but I think that bug would prevent me from using mixxx live.

I know this isn't the ideal place but still wanted to chime in here, since I think this is an important discussion to be had.

@ronso0
Copy link
Member Author

ronso0 commented Oct 15, 2017

@foss- I consider Tango update finished. Please test the update to check if your issues with the current version are fixed. No need to compile, just clone the branch and link Tango folder as "Tango-update" to your regular skin directory.

@ronso0
Copy link
Member Author

ronso0 commented Oct 15, 2017

@foss- Did you already report that bug?
What do you mean by 'taggging'?

@foss-
Copy link
Contributor

foss- commented Oct 16, 2017

  1. tango testing
    Yeah, mixxx has this way of working on PRs a long time and then merging once they are really ready. That makes testing somewhat complicated. After all that's the reason to have nightly builds with the latest changes.

So visited https://github.com/ronso0/mixxx/tree/Tango-update download as zip but then the structure of the extracted zip looks different from the structure I see when going to app contents > Resources > skins. Also the process would have to be repeated for every new nightly build. hm.

be-ing just found a small remaining glitch in the tango update. maybe that can be fixed and then merged. would be a lot easier to test then.

  1. waveform bug + new hotkey bug
    it's here:
    https://bugs.launchpad.net/mixxx/+bug/1665583 re-opened and added screencast with new findings.
    and a newly found keyboard hotkey bug: https://bugs.launchpad.net/mixxx/+bug/1723920

This is obviously personal choice, but I don't want to get into the whole compile / check out branch XY business. Time is limited and I prefer to help testing by using the nightly builds.

PS: I so wish mixxx would move to github issues or some_company issues, because launchpad is no joy to use to put it mildly.

@ronso0
Copy link
Member Author

ronso0 commented Oct 16, 2017

Re: Testing any skin or controller PR
Yes, there's no access to Travis builds yet (which are started after every commit),
nightly builds are available as soon as a PR is merged.

No matter if you copy manually (1) or use git (2), the folder structure in the zip/repo clone is:
(mixxx)/res/skins/[skin name]
1 Manually copying:
- download zip from Tango-update branch
- follow instructions where to put/link new skins from the skin wiki
Yes, you'd have to do this after every commit to stay up-to-date.
No working.

2 using git it's a much easier:

  • choose/create a folder on your disk where to put mixxx source code
  • in there, type git clone https://github.com/ronso0/mixxx to clone the repo to your disk
  • git checkout Tango-update to switch to skin update branch
  • link the /res/skins/Tango-update from repo clone to your skin directory
  • start Mixxx, Settings > Preferences > choose new skin, test
  • type git pull every time you want to pull recent changes from PR and skin will be updated
  • restart Mixxx, test again

This info should probably be in the skin development wiki. Will take care of this.

@naught101
Copy link
Contributor

FWIW: I really like the style of Late Night. I never liked the yellow, but a light grey version of the same skin would be killer. I've switched to Deere basically ONLY because Deere has the star-rating widget in the deck (so I don't need to find the track in the library/history in order to re-rate it). I would love to have that in LateNight. Then it would be hands-down the best skin.

I think the knobs and faders in LateNight are easier to read than in Deere. the outlines on each in Deere make it harder to see the actual point that they're at, and Deere is also much lower contrast (the knob indicators are yellow on white - WTF?).

For LateNight improvements:

  • Each deck has a lot of wasted space, vertically. On my 1080p screen, the super/filter knob and the hotcues could be moved down into the bottom section, and the empty area above the buttons in the bottom section could be trimmed.
  • Mic/Aux section could be reduced, and moved up under deck B/D (opposite the preview deck).
  • On 2-deck mode, the volume faders could be taller
  • on 4 deck mode, some vertical space could be saved in the mixer by splitting the mixer down the middle, and moving the master/head/balance/pre/main knobs, and logo all above the cross fader, like so:

latenight_mixer

  • The number fonts on buttons are probably not all that readable. They work for me, but I prefer much smaller fonts than most people I know.
  • The comments I made about the ways to condense the height of the parallel waveforms in Deere (Deere 2.1 part 2 #1343 (comment)) might also apply here. In particular the exponential amplitude, and the overlap and single colours
  • per-deck colours would be great in LateNight - it already uses two colours, why not make it one colour per deck? Then the parallel waveforms could be coloured to match, making beatmatching a tonne easier. Also, these 2/4 colours could be more saturated than they currently are.
  • Could the skin crontrols at the top be moved into the right end of the menu bar? If not, merge them with the library controls at the bottom.
  • Search bar could have a magnifying glass icon, to make it more obvious.

Just to re-iterate: LateNight is a great skin. It was the best skin, by far, although Deere is now better in terms of functionality. But LateNight's aesthetic is great (minimal, clear, no bullshit), and it would be a shame to lose it.

Shade sucks though, and should be ditched. It reminds me of early Winamp skins (sorry to the people that worked on it), and the inflexibility is terrible on any screen size that doesn't fit it. Also all three of the colour schemes are hard to read.

@Be-ing
Copy link
Contributor

Be-ing commented Oct 19, 2017

Each deck has a lot of wasted space, vertically.

Yes, this is the biggest problem IMO and it would take tons of work (months) to fix. I'm not in favor of delaying 2.1 further to wait for that. We could bring an updated version of LateNight back in a future release even if we remove it for 2.1. We could even make a 2.1.1 release for including an updated LateNight.

Shade sucks though, and should be ditched. It reminds me of early Winamp skins (sorry to the people that worked on it), and the inflexibility is terrible on any screen size that doesn't fit it. Also all three of the colour schemes are hard to read.

👍

@ronso0
Copy link
Member Author

ronso0 commented Oct 19, 2017

Thanks @naught101 for your ideas!

But LateNight's aesthetic is great (minimal, clear, no bullshit), and it would be a shame to lose it.

Wouldn't call it great, but I'd agree to keep it. What's 'bullshit' in your opinion?

@naught101
Copy link
Contributor

@ronso0: by "bullshit", I meant graphical swankery, like the stuff that Windows introduced in Windows XP, and again in Vista (rounded corners, glows, bevel/embossing, gradients, reflections, etc). It's fairly minimal but stil very functional and easy to read, visually. Most of the other skins do an ok job at this too, but not as cleanly. E.g. Deere's knob/fader outlines are visual decoration that serve little purpose and make things harder to read. LateNight has the same thing, but they are way more minimal, and don't get in the way visually. I think Tango takes the minimalism too far, and the knobs and faders are not as easy to read (e.g. no position markers at all). For me, LateNight is a great balance between no excessive flair, and having enough functional visual design to make it easy to read.

@Be-ing: Please leave it in, as is, if possible. I agree 2.1 shouldn't be delayed to improve LateNight, but if it's working as-is, can it just be left for now, and updated later, when someone has the time?

@naught101 naught101 mentioned this pull request Oct 23, 2017
19 tasks
@uklotzde uklotzde added the skins label Oct 29, 2017
@uklotzde
Copy link
Contributor

I'm assigning this to PR to the 2.1.0 milestone, because it's even mentioned in the title ;) We can change this decision at any time. Just to get an overview about the number of open tasks before releasing the beta.

IMHO polishing of the skins may continue during the beta phase.

@uklotzde uklotzde added this to the 2.1.0 milestone Nov 25, 2017
@Be-ing
Copy link
Contributor

Be-ing commented Nov 25, 2017

For 2.1, I propose:

  • Implement new effects, looping, and beatjump UIs in LateNight before beta release
  • Continue polishing LateNight throughout beta period
  • Set default skin to Deere or Tango
  • Remove Shade

@daschuer
Copy link
Member

I still like Shade, and I am planning to adopt the new effects and loop GUI to it.
This depends somehow how we go forward with #1254 for low end devices.

@ronso0
Copy link
Member Author

ronso0 commented Nov 29, 2017

Okay, sounds good!

So I'll try to make LateNight fit 1366x768 screens with

  • waveforms
  • 4decks
  • 2 collapsed FX units
  • at least 3 library lines

The way to get there:

  • adopt ferran's branches (skin only! i.e. GUI buttons go to bottom)
  • implement full-width resizable waveforms
  • compress decks
  • add 2.1 looping/beatjump controls
  • find a good place for Preview deck (maybe react to number of decks)
  • add 2.1 effect GUI

Any objections?

@Be-ing
Copy link
Contributor

Be-ing commented Nov 30, 2017

My biggest concern is that users will get confused if they open 2.1 beta and don't see the new effects system. IMO we should not release the beta with any skins that have not been updated for the new effects UI.

@ronso0 I think your plan seems good. Would you be able to vectorize the PNG images, especially now that we can scale skins for high resolution screens?

@ronso0
Copy link
Member Author

ronso0 commented Nov 30, 2017

Would you be able to vectorize the PNG images, especially now that we can scale skins for high resolution screens?

Puh...that's a dump load of work! That's why it's not part of the plan, at least not for beta. And the drop shadows would have to be...well..droppped

@ronso0
Copy link
Member Author

ronso0 commented Dec 19, 2017

  • unify effect templates and variables, add EffectKnobComposed & Effect…
  • fix remaining tooltips, harmonize channel variables
  • make Spinny mask cover whole CoverArt
  • align gain knobs in 2-deck mixer
  • align controls in 4-deck channel mixer
  • fix Master VU in 4-decks mixer

Ready for beta, enjoy!

Should look like this, also check tooltips
ronso0__0 0 7__2017-12-19

@ronso0
Copy link
Member Author

ronso0 commented Dec 19, 2017

I also unified some template names, especially all related to effects.
We should do this in Deere as well, it will ease maintenance and allows to quickly adopt templates for future skins (keep the skin designers out there in mind... ;)

@Be-ing
Copy link
Contributor

Be-ing commented Dec 19, 2017

Just one tooltip error that I notice: beatjump_size has beatloop_size tooltip

@Be-ing
Copy link
Contributor

Be-ing commented Dec 20, 2017

Looks good to me 👍

@ywwg
Copy link
Member

ywwg commented Dec 21, 2017

one last tweak, the small knobs were a little off-center so I fixed them. Sizing is the same

ywwg@52da74e

@ronso0
Copy link
Member Author

ronso0 commented Dec 21, 2017

Thanks @ywwg for the knob!
I had to push the label down and centered the link buttons below.

Everything looks nice, ready to merge!

@ywwg
Copy link
Member

ywwg commented Dec 21, 2017

lgtm :)

@daschuer
Copy link
Member

Thank you. Great work.

@daschuer daschuer merged commit dccf88d into mixxxdj:master Dec 21, 2017
@Be-ing
Copy link
Contributor

Be-ing commented Dec 21, 2017

Thanks @ronso0 and @ywwg!

@ronso0 ronso0 deleted the LateNight-2.1 branch December 27, 2017 17:39
@naught101
Copy link
Contributor

Heads up, I've just tried the latest nightly from the PPA, and latenight has some problems with the beatloop size/move buttons:

screenshot_20180104_122640

Everything else looks great though! Thanks @ronso0!

@naught101
Copy link
Contributor

Some other LateNight requests (that can probably wait until 2.2) here: https://bugs.launchpad.net/mixxx/+bug/1741152

@ronso0
Copy link
Member Author

ronso0 commented Jan 4, 2018

@naught101 Actually the up/down buttons look as intended in your screen shot.
I do have an LateNight update branch in the pipeline, and I'll add borders and a gap to the spinbox buttons, but the buttons overlapping the spinbox was a design decision to somehow break the ubiquitous and stiff button grid and group those buttons with the spinbox itself. Also this allows to have manually set loops with decimals and keeping the number visible (only decimals are then covered by the buttons). See minimu screen below, everything still fits nicely.

When talking about "tonnes of space" for this and that feature we should keep in mind that every skin has a fixed minimum screen resolution --for LateNight it's 1280*766-- on which it should look nice and comfortable.
LateNight at minimum size, all essential deck features enabled:
ronso0__0 0 8__2018-01-04

But your shot @1080p shows some other issues I consider more important for now:

  • reduce height of Mic/Aux section, design proper ducking controls (I guess Bug1741152 is about that)
  • reduce height of samplers
  • set minimum height for empty effect slots
  • Preview deck is squeezed
  • and the Key display should be wider

Re: Star rating in top row
Yes, this could replace the vinyl controls when they are hidden, and it could show up when there's sufficient space on larger screens.

@naught101
Copy link
Contributor

Actually the up/down buttons look as intended in your screen shot.

Fair enough. I find it sits a bit oddly with the rest of the design, but it's not a major problem.

reduce height of Mic/Aux section

Could the meter got up to the right of the name?

and the Key display should be wider

Yeah, I use a custom key format that combines open and traditional (for easier mixing, and jamming) It uses a lot more space though :/

screenshot_20180105_121228

Re: Star rating in top row
Yes, this could replace the vinyl controls when they are hidden, and it could show up when there's sufficient space on larger screens.

👍 works for me.

@ronso0
Copy link
Member Author

ronso0 commented Jan 5, 2018

update is here: #1470

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.