Add support for physical controls to Fractorium

Issue #21 resolved
David Morán created an issue

Hi!

I've been thinking for a while that having some kind of physical interface to able to interact with Fractorium will be a nice addition.

One of the things that I found most frustrating of creating flames (regardless of the software name) is having to aim all the time with the mouse to the specific gui control, be it the triangles (ellipses in Fractorium), the "Reset" button for the Transforms, values for Variations or any other button/input box. It makes playing or experimenting with flames pretty slow, and given that it's an already complex subject, any newcomer will probably run away unless he is really interested.

There're good improvements that could be done to the GUI, like the already present mouse-weel to interact with Variations values, some shortcuts or rearranging some windows. But I believe that having some knobs, buttons, and even a touchscreen to handle the triangle/ellipses will make things way easier and intuitive. I feel particularly satisfying to smack some buttons and seeing them do things.

First proof of concent I wanted to try is assign some shortcuts to a joystick buttons and see how it goes. Then some Arduinos could be used to mimic a really big joystick with tens of buttons.

Another option is to add something like MIDI support for every aspect of Fractorium. That way you can just send commands to it to set different values. It's already done in several music software (ie. FL Studio) where you can map manually one knob in a Midi controller to some contol on the software (volume, efects level...). I quite like this approach beacause it's not dependent of the QT GUI and will provide the option to run Fractorium standalone as a fullscreen game on, let say, a TV.

It's quite an ambitious project to me as right now I have zero idea of QT or C++, so I would be really happy to receive some feedback or suggestions about it.

What do you think?

Comments (2)

  1. Matt Feemster repo owner

    Sounds like a cool idea. And you are right, that programs like fractorium have so many different possible inputs, that it's a pain to constantly be clicking between each field to change things. I would note that one way to mitigate that burden is to drag the top level tabs to opposite sides of the screen and dock them. This helps reduce some of the nesting.

    I won't be able to provide much support on this effort. But good luck on it!

  2. Log in to comment