brummer10 / Mamba

Virtual Midi keyboard and Midi Live Looper for Jack Audio Connection Kit
BSD Zero Clause License
75 stars 5 forks source link

Different visualisation colours for different channels? #18

Closed mxmilkiib closed 3 years ago

brummer10 commented 3 years ago

It wouldn't be hard to implement function wise , but define a colour schema with 16 colours witch didn't look to ugly will be.

brummer10 commented 3 years ago

done now.

mxmilkiib commented 3 years ago

Looks lovely, thanks :)

mxmilkiib commented 3 years ago

Ah, it works for input, but when one changes the channel and presses a key, it's still the same colour even though the output channel is defo changed.

brummer10 commented 3 years ago

Currently I've implemented different colours per channel for input only, means jack midi input, alsa midi input or playback. When you play the keyboard, the active key colour is the same for all channels. Do you think I should change that?

mxmilkiib commented 3 years ago

It would be more intuitive. After the midi-gen channel iteration to the input; when I was setting up Sherlock, I was part doing it for completeness (checking out the 'opposite'), also part because I really wasn't actually sure Mamba was sending out on the channel I had selected (I had never tested that feature before as I'm not actively using the software just yet (I'm more learning to DJ than produce atm)).

brummer10 commented 3 years ago

well, when you play a backing track and play along with it, it would be annoying when you cant see the difference from the playback and what you play. Therefore it is helpful to have a different, consistent colour for the notes you play yourself.

mxmilkiib commented 3 years ago

Hmm, good point. How about maybe a different brightness (or such) of the same colour, or some use of border/shading to distinguish the difference?

brummer10 commented 3 years ago

16 shades of the same colour wont give you any viable feedback. To make that clear, when you play the keyboard direct by mouse or PC keyboard, it will always use the channel indicated by the channel selector (You could trust that). When you play the keyboard by a external input it will use the channel set by the external input. Be it a midi file, a external MIDI keyboard or what ever input source you connect.

mxmilkiib commented 3 years ago

I guess there will also be touch-screen use. How about a 17th colour for user output presses to avoid the conflation between input channel 1 and output any channel? Maybe also if the user input keys were a 17th colour then there could be a small colour dot/area at one end of them when pressed to denote of the channel that is being sent out on.

Also, how about putting a dot/example of the Channel: colour that is selected next to the drop-down menu? Maybe clicking on that dot could give a channel/colour key help popup?

brummer10 commented 3 years ago

In that sense I could as well add a sequencer window showing all the channels with there colours. Adding some edit functions, . . . What I'm after with Mamba was a simple, easy to use live MIDI looping tool, as that was what I missed for Linux, not a new sequencer. Just setup a small sound floor and jam along. (It don't have to be cool to be my tool).

mxmilkiib commented 3 years ago

You are entirely within your right to decide the scope and direction of the program :) All I mention relates to the (initial) function of the app; to visualise MIDI input and send MIDI out (and show that happening).

Using the input channel 1 colour for the output colour whatever channel is confusing, I don't know the best way to resolve it, but those were some ideas.

I deviated by deconstructing the problem more; what does it mean to see a colour appearing on a key? And a key for the key colours (language, 'eh) would help. Further, there is the case of the same notes on different channels at the same time, a different but somewhat related issue, an interesting design problem.

Anyhow, the original issue is the channel 1 input vs. all output colour thing threw me, I think it will throw others, I'll leave the incongruity in your capable hands :)

brummer10 commented 3 years ago

Okay, after thinking a while about it I come to the conclusion that you are right. I've set the channel drop-down menu now to reflect the channel colours and input to the keyboard reflect now as well the channel colours, regardless were the input comes from.