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

Supporting Maximilian on OWL platform #97

Open
pingdynasty opened this issue Feb 1, 2021 · 4 comments
Open

Supporting Maximilian on OWL platform #97

pingdynasty opened this issue Feb 1, 2021 · 4 comments

Comments

@pingdynasty
Copy link

Hello, great to see the project being actively maintained.

We're adding support for compiling Maximilian patches on the OWL platform, which is an open source embedded hardware ecosystem thingy-jig. We've got an online patch library and compiler here.

This means in short that our users will be able to write their own patches using Maximilian and run them on OWL hardware.
Other supported languages are plain C++, FAUST, Pure data, Max Gen and most recently SOUL, so you're in good company :)

To get this to work on a bare-bones (no OS) embedded audio device we've had to adapt the library files a bit. Some of these changes are specific to our platform, others would be nice to contribute back upstream.

In particular I'd like to lobby for a new feature (which I briefly discussed with Mick ages ago), which is maxiParam.
maxiParam is a value object which can be used instead of a double, but which can be updated outside of the patch context.
Using maxiParam allows us to map parameters to a hardware knob or button, and so provides easy user control for patch parameters like gain, frequency, et c. It's just as useful for connecting into any other user interface, a GUI or plugin format.

Rather than post a big PR I decided to open this issue and start a dialogue. What is the best way to proceed?

@pingdynasty
Copy link
Author

This is now deployed on our live server.
A Maximilian example straight from your repo is here: https://www.rebeltech.org/patch-library/patch/Maximilian_AM1

and another example adapted to show how we use maxiParam is here (click Start Audio to try it out in the browser): https://www.rebeltech.org/patch-library/patch/Maximilian_Monosynth

@micknoise
Copy link
Owner

Thanks ! So awesome.

@micknoise
Copy link
Owner

What is the best way to proceed?

It's a good question. Chris has often talked about refactoring so there's a more structured data type for parameters (templates etc.). However, the move to version 2 has introduced a bunch of problems that we're still trying to find time to work on, in particular with the FFT related processes that are more or less crucial to the more advanced functions and that we want to keep across javascript and C++ and so no use to you I appreciate. Perhaps the thing to do is organise a Hackathon and just do a bunch of stuff altogether.

@pingdynasty
Copy link
Author

Okay sounds good, I'd be up for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants