-
-
Notifications
You must be signed in to change notification settings - Fork 381
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
Ableton Link integration #451
Comments
Yeah that'd be awesome |
The "quantum" in the Link protocol could be used to trigger preset changes on musical phrase boundaries instead of an arbitrary number of seconds. |
I'm not terribly sure but some of that could maybe be done by modifying https://github.com/projectM-visualizer/projectm/blob/master/src/libprojectM/projectM.cpp#L309 |
I think this is where the values get fed into the current preset for evaluation, if you read in the beat signal from Link you could synchronize
And I believe here for the shaders: https://github.com/projectM-visualizer/projectm/blob/master/src/libprojectM/Renderer/ShaderEngine.cpp#L444 |
Due to license restrictions, we cannot use any headers from the Ableton Link API in libprojectM unless we also change the license from LGPL to GPL. What is possible though is an API function/callback mechanism that would allow applications to feed the required data into libprojectM, overriding the internal beat detection. As long as the embedding application is GPL-licensed (I put the projectMSDL rewrite under GPL, so that's a given), it could use the Ableton Link library to tretrieve the beat data and then feed it into libprojectM. Same goes for closed-source applications if someone has a commercial Ableton Link license. |
Ableton Link is a network protocol for communicating musical timing information. It would be great to bypass projectM's built in beat analysis DSP with Ableton Link to facilitate integration with other audio and video applications. Note that the Link library is licensed GPLv2+.
The text was updated successfully, but these errors were encountered: