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

Switch to RGB (GL) waveform display as new default #7752

Closed
mixxxbot opened this issue Aug 22, 2022 · 15 comments
Closed

Switch to RGB (GL) waveform display as new default #7752

mixxxbot opened this issue Aug 22, 2022 · 15 comments

Comments

@mixxxbot
Copy link
Collaborator

Reported by: esbrandt
Date: 2014-12-21T11:15:18Z
Status: Fix Released
Importance: High
Launchpad Issue: lp1404637
Tags: easy, waveform


I propose to switch to the RGB (GL) waveform for both main waveforms as overview waveforms as well. The user can always set back to one of the many other waveform options.

* RGB`s are the most useful waveforms, as they display many nuances of the track`s spectrum at a glance.
* No negative performance impact compared to the current default (filtered GL)
* The filtered GL waveforms are in current skins are flawed, e.g. lp:1321562
* We can apply separate color config for RGB (GL) waveforms using <SignalRGB$Color> key from within the skin. Allows to have e.g. x-ray,  spectrum, or colorblind colors
* Other software brag about having "vibrant" waveforms, so we should show-off.

My vote is going RGB (GL) by default, i`d be happy if we decide for the 1.12 release.

@mixxxbot
Copy link
Collaborator Author

Commented by: rryan
Date: 2014-12-21T18:28:30Z


Hm, Filtered (GL) is super slow for me compared to GLSL. I was planning on making GLSL the default purely for performance reasons.

We could make a GLSL RGB waveform. I agree it's really useful compared to the regular filtered waveforms.

@mixxxbot
Copy link
Collaborator Author

Commented by: esbrandt
Date: 2014-12-21T19:10:46Z


Hm, haven`t thought that way around.
Never tried GLSL much because it was labeled experimental.
On my low end Intel HD Graphics 3000 GLSL has currently nearly 10% lower CPU utilization with 2 decks playing.
Nice.

GLSL RGB default sounds reasonable then, if it does not take too much of your time :-)
Bonus points if it also allows <SignalRGB$Color>.

On Dec 21, 2014, at 7:28 PM, RJ Ryan wrote:

We could make a GLSL RGB waveform. I agree it's really useful compared
to the regular filtered waveforms.

@mixxxbot
Copy link
Collaborator Author

Commented by: daschuer
Date: 2014-12-21T19:41:23Z


You propose to switch to the "Moodbar" by default?

This is my default for the overview. But I do not use it for the detailed waveform, because a IMHO its moving is too eye catching for me (a pastel colored version might help here) and a base kick is harder to see there. But since this is a preference option, I do not care much about the default ..

I am jumping in here for two other things:
1: Bug #⁠1074392 and especially my comment https://bugs.launchpad.net/mixxx/+bug/1074392/comments/17
The current a moodbar is "washed out" compared to the original one, used in Clementine and Amarok.
I think all waveforms will benefit from a brick wall filter in the waveform.
If moodbar will become our default, it should be polished. Do we have time to change the filters before release?
2: We have still users complaining about crashes caused by waveform settings. If we decide for a GLSL waveform as default,
a failsafe mode becomes more important: Bug #⁠1017858

@mixxxbot
Copy link
Collaborator Author

Commented by: rryan
Date: 2014-12-22T03:39:23Z


We shouldn't call this a moodbar -- that implies there's something smart or a semantic meaning behind the colors when it's really 3 crossover filter outputs visualized in a fancy way.

+1 to a good safe mode -- I think we need that for 1.12.0

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2014-12-22T04:05:53Z


As far as a "pastel" version, I agree that the current version can be pretty harsh. One way to do reduce that would be to lower the saturation of all the three colors -- mix in some of all three channels so it can never be fully red or green or blue. I think that will take some of the garishness away. (If you are defining colors via HSL that would be even easier, but my guess is not)

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2014-12-22T04:07:39Z


It looks really cool though, I would be ok having it in as-is except that I really need a ghost version of the original waveform in case I kill the bass EQ -- I need to see where the kicks are so I can see when to bring it back in.

@mixxxbot
Copy link
Collaborator Author

Commented by: rryan
Date: 2015-01-01T21:02:24Z


Ok, added a GLSL RGB waveform. It's so useful compared to the old ones that I'm really on board with making this the default.

Also GLSL is ready to be the default if it is supported on the user's system.

On my low end Intel HD Graphics 3000 GLSL has currently nearly 10% lower CPU utilization with 2 decks playing.

Yea! GLSL is the only way 4-decks is usable on my macbook pro. It's so much faster.

@mixxxbot
Copy link
Collaborator Author

Commented by: rryan
Date: 2015-01-01T21:02:51Z


Owen -- I added a faded out version of the original signal as you requested.

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2015-01-01T23:13:19Z


I like it! I'm ok with having this as the default.

Two artistic nitpicks: first, is it possible to reduce some of the saturation from the faded-out version? Second, you'll notice in the LateNight skin I have the mixxx logo, but I've altered it to match the skin coloration somewhat. I used a blending operation in Gimp to combine the regular logo colors with the latenight-yellow. I wonder if we could do the same with the RGB waveform -- mix the RGB coloration with the skin-specific waveform colors in a way that you can still tell the difference between the bands, but it blends in a little better with the skin. (This especially helps in latenight where the color of the waveforms helps the user know which deck is which). The blend might be something like original_color * theme_color.

@mixxxbot
Copy link
Collaborator Author

Commented by: esbrandt
Date: 2015-01-02T13:51:04Z


@Owen
You can use
<SignalRGBLowColor>#</SignalRGBLowColor>
<SignalRGBMidColor>#</SignalRGBMidColor>
<SignalRGBHighColor>#</SignalRGBHighColor>only
to tone the colors of the bands in the RGB waveform renderings to your likings.
Just tested with latest master, and it works with all RGB waveforms not just as previously with the RGB (GL) only.

Good job RJ!

@mixxxbot
Copy link
Collaborator Author

Commented by: rryan
Date: 2015-01-03T16:20:37Z


Default changed in 192be0b

As for the overview type -- we discussed:

  1. switch normalized overview on by default
  2. switch to RGB overview

I spent nearly an hour comparing filtered and RGB overviews across my tracks. I tried my best to force myself to be "blind" by predicting what a section would sound like and then jumping to it to see how much the information I gained from the overview aided my predictions.

A lot of times the pixel heights of the 3 bands in Filtered mode didn't tell me much (i.e. I was unsure what a section would sound like) while the RGB colors were fairly informative (I could tell whether a section was low frequency or high frequency based on how red or blue it was). Sections that were purple-ish were a combination of bass-y and high-frequency (hats, chimes, etc.). Sections that were "cool" blues (cyan, light blue) or orange tended to have vocals since they mixed in green. More than that I could see the "structure" of the track much better in RGB mode.

Normalizing the overview was sometimes deceiving. A section that occupied 3/4th of the overview seemed like it would be a high activity section but when I jumped to that section it was sometimes a breakdown / quiet period but just looked high relative to the highest part of the track. I'm ambivalent about turning it on by default because it could be confusing.

@mixxxbot
Copy link
Collaborator Author

Commented by: ywwg
Date: 2015-01-04T00:48:26Z


SignalRGB*Color work well, thanks. Although, they don't seem to work on the overviews... looking at the code I don't think the overview code pays attention to those values even though it evaluates the tags correctly.

@mixxxbot
Copy link
Collaborator Author

Commented by: ninomp
Date: 2015-03-03T01:35:26Z


SignalRGB*Color tags can now be used for customizing RGB overview - #508

@mixxxbot
Copy link
Collaborator Author

Commented by: lazypower
Date: 2015-07-28T23:57:14Z


Doesn't appear to be fix released on the MIXXX-1.12.0-BETA1 debs

Can i get confirmation those have been updated to include this?

@mixxxbot
Copy link
Collaborator Author

Issue closed with status Fix Released.

@mixxxbot mixxxbot transferred this issue from another repository Aug 24, 2022
@mixxxbot mixxxbot added this to the 2.0.0 milestone Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant