You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a worker system similar to JS Web Workers. System would run in its own thread and have its own context (i.e., CSOUND* instance) and have a defined API for message passing between the the main CSOUND thread and the worker thread.
Goals
Allow for long-running tasks to be run in a separate thread, such as large sample loading, sample generation, sample processing, signal analysis, network requests, etc.
Add to Csound API functions to deal with transferring data between contexts (e.g., how to load an ftable in one CSOUND and transfer it to another safely)
The text was updated successfully, but these errors were encountered:
I think it is a good idea, but we may need to integrate it with the hard realtime operation we already have in place. This seems to work reasonably well in hard realtime systems like Bela (allowing Csound to run there, if it weren't for it, we could not do it).
Also since we're rethinking the whole API design, it is a good time to consider proposals like this one.
It's a good point that we will need to figure out how this interacts with hard realtime and other platform considerations. I think we could experiment on desktop first and disable on other platforms, then slowly add to various platforms.
I also had the thought that we might not even need this to be a Csound7 internal system and we might be able to get away with making this a family of opcodes (i.e., there may be enough already in CS7 to support building this). Will need to experiment and confirm.
Summary
Add a worker system similar to JS Web Workers. System would run in its own thread and have its own context (i.e., CSOUND* instance) and have a defined API for message passing between the the main CSOUND thread and the worker thread.
Goals
The text was updated successfully, but these errors were encountered: