
Show HN: An online drawing tool that lets you change colors via MIDI controller - rhklein
http://www.h3nk.com/midi.htm
======
pmoriarty
Anyone interested in this sort of thing should check out mididings,[1] a
python package with which you can intercept MIDI messages and use them however
you like.

I've used it in combination with visgrep from the xautomation package[2] to
locate and click on non-MIDI-learnable GUI buttons on a software synth, but it
can be anything.

I've also used mididings to control mpv[3], allowing me to pause, play, rewind
and fast-forward videos with my feet using my MIDI foot pedal controller[4]
while with my hands I type up a transcript of what's being said in the video.

[1] - [http://das.nasophon.de/mididings/](http://das.nasophon.de/mididings/)

[2] -
[https://hoopajoo.net/projects/xautomation.html](https://hoopajoo.net/projects/xautomation.html)

[3] - [https://mpv.io/](https://mpv.io/)

[4] -
[https://www.behringer.com/Categories/Behringer/Accessories/M...](https://www.behringer.com/Categories/Behringer/Accessories/Midi-
Foot-Controllers/FCB1010/p/P0089)

------
GuiA
Most music applications have a feature called “MIDI Learn”, where you
basically click any parameter, turn a knob or push a button on your
controller, and it binds that input to the parameter. It’s amazing and allows
for the creation of complex, expressive workflows.

I wish that this was a feature throughout the OS. Being able to bind a foot
pedal to pasting from the clipboard, or a slider to a variable in your IDE, or
a rotary to a control in a video editing app, would be amazing and open up
entirely new avenues for computing and letting people customize their setup.
Particularly thinking of the accessibility implications.

------
arianestrasse
Loving the retro look of the controller! I find it a bit confusing that you
have letters R, G, and B on the controller but you're modifying the Hue,
Saturation, and Brightness values on the editor. Just a small nitpick.

~~~
rhklein
I changed that, because most people prefer HSB. Personally I draw in RGB mode,
press 'm' to toggle modes.

------
ryanthedev
I love it! Really cool idea and execution! I would love to experiment using a
ball as the selector.

My current strategy for binding automation is using my razer naga and binding
all those buttons to do various actions depending on the app that's up.

------
sitkack
What a great creation, people have already brought art into the world with it.

------
_def
I think Gimp also allows control via MIDI input. Never tried it though.

~~~
rhklein
Yes, there is a Gimp build that allows you to change colors via MIDI. One
thing I didn't like about the built I tested was that you can't change colors
while! making a stroke.

------
wdfx
With midi data being 7-bit aren't you losing out on an awful lot of the
available colour space? Or is it near enough to not really matter in this
case?

~~~
rhklein
You lose half of the possible steps in RGB mode (128 instead of 256), but a
change of 2 is hardly noticeable when painting, even when applied to all three
channels.

------
Tossrock
Really neat! Shame it's Chromium only, though. Does Firefox intend to
implement web MIDI eventually?

I'm using MIDI as an input to the control software for an art installation at
the moment, and once WebGPU is out and compute shaders are available on the
web, the whole thing could be deployed to the browser, which would be cool. At
the moment it's built to a native executable, which is fast, but not as easy
to share.

~~~
detaro
Mozilla for now has been against WebMIDI due to concerns about the scope and
security implications: [https://github.com/mozilla/standards-
positions/issues/58](https://github.com/mozilla/standards-positions/issues/58)

------
captn3m0
Found a cool similar drawing example app: etchasketch.fun

(Yup, lets you draw on a Etch-a-sketch with MIDI knobs)

~~~
rhklein
Needs an SSL update, otherwise it won't work in newer chrome versions.

~~~
captn3m0
The MIDI web APIs aren't HTTPS-only, so you can just use HTTP (site doesn't
redirect)

~~~
rhklein
Check [https://medium.com/@kulak/changes-in-web-midi-api-in-
chrome-...](https://medium.com/@kulak/changes-in-web-midi-api-in-chrome-
in-2019-4e410ec76af)

------
MartijnBraam
I wish more software could map external controls over midi or osc.

