mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.51k stars 1.28k forks source link

Color Sorting #11143

Open kek001 opened 1 year ago

kek001 commented 1 year ago

Feature Description

Is it possible sort colors "better way". I don't know how to do it in color space.

I am importing colors from Beatunes Color which is timbre and rhythm, Beatunes are sorting those colors well. Its useful while using mixxx and selecting tracks based, bmp key and color(timbre/rhythm), makes life easier finding "compatible" tracks.

I could also use vamp plugins timbre or other soft which saves timbre or energy etc.. purpose is creating dj tools for mixxx users, (based small donation for mixxx project)

here are couple links about sorting #hex values in "color space"

https://codepen.io/sosuke/pen/rwLPYe https://tomekdev.com/posts/sorting-colors-in-js

daschuer commented 1 year ago

Can you post a screenshots that allow to compare the sorting?

kek001 commented 1 year ago

Can you post a screenshots that allow to compare the sorting?

mixxx_color_sort

beatunes

If beatunes timbre color is sorted (RGB) it will sort similar results as mixxx. but if its use (HSB values "guess") for sorting,as above image, it looks much "logical" and colors are sorted gradient and not big jumps to other colors. (right column)

macrophone commented 1 year ago

As I use colors to sort the music by "vibe" and use it as a progression to build my sets, I would love to customize the color sorting in Mixxx.

For instance :

I guess we could assign an ID number to each color of the palette and sort the colors by this ID. It would be easy for everybody to customize the order of colors. This would it help you @kek001 ?

Note : in "Settings > Colors", in the editor dialog, there are numbers for each color. If I try to reorder the colors by a drag and drop, the app crashes. Should we open a bug for this ?

ronso0 commented 1 year ago

Note : in "Settings > Colors", in the editor dialog, there are numbers for each color. If I try to reorder the colors by a drag and drop, the app crashes. Should we open a bug for this ?

Yes, please! Also provide a backtrace https://github.com/mixxxdj/mixxx/wiki/Creating%20Backtraces Btw I can not confirm the crash on Ubuntu 20.04 with Qt 5.12.8

ronso0 commented 1 year ago

I guess we could assign an ID number to each color of the palette and sort the colors by this ID. It would be easy for everybody to customize the order of colors.

That would work as long the palette doesn't change. As soon as you remove a color from the palette it would be a 'floating' hex color code again because it's assigned to tracks but has no id.

kek001 commented 1 year ago

Please don't change the hex value of color column as pointer to some palette color table. I think its perfect, there is actual color value, like it is. Sorting is not most Important thing, if its not go like a smooth gradient.

I posted couple examples how some people sort colors, but no glue would those sorting algos be good or usefull, like are the track sounds similar as track color made by timbre or other measurement of track similarity would be. But sometimes I could pick some tunes using color and timbre color from beatunes, i dont know is just random or not. using color,sometimes can find matching tracks even they are not belong to harmonic mixing rules.

There is many ways how to use color column, like can use app to make those colors based rules by genre,key,bpm and energy etc...

Holzhaus commented 1 year ago

I guess we could assign an ID number to each color of the palette and sort the colors by this ID. It would be easy for everybody to customize the order of colors.

That would work as long the palette doesn't change. As soon as you remove a color from the palette it would be a 'floating' hex color code again because it's assigned to tracks but has no id.

This means we need to be able to sort lists of arbitrary RGB colors in a generic way.

Here's a blog post that compares various methods to do that: https://www.alanzucconi.com/2015/09/30/colour-sorting/