Description
Please confirm the following points:
- This question is NOT about the Android apps in the Play Store
- I have searched the project page to check if the question was already asked elsewhere
Topic
Third-Party Application Interfaces and Remote Control
Your Request
I'm investigating the possiblity of replacing Butterchurn with projectM. Butterchurn is no longer maintained and projectM seems to be the focal point of Milkdrop related development now.
Butterchurn renders into a canvas in the DOM. This is great because it allows the visualizer window to be controlled and styled with HTML elements, resized, transitioned, full-screened, and even detached from the browser using the Picture-in-Picture API.
As I understand, projectM can be compiled into WebAssembly using Emscripten. I found an example here:
https://github.com/projectM-visualizer/examples-emscripten
My plan is to do something similar, except without using the SDL library; the browser's DOM will be the UI and projectM will be controlled by Javascript. I wondered if this is possible and I found Embind:
Embind is used to bind C++ functions and classes to JavaScript, so that the compiled code can be used in a natural way by “normal” JavaScript. Embind also supports calling JavaScript classes from C++.
https://emscripten.org/docs/porting/connecting_cpp_and_javascript/embind.html
Do you think what I want to do is a good idea, or even possible? I'm not a C programmer and I am new to WebAssembly so it will be a challenge for me.