Alex's notes

Idea Separate rendering and control into different processes

This is an unfinished idea or question, so it is probably even less fleshed out than normal notes.

SuperCollider is split into a server and a client. The server can run independently of the client and can be controlled over OSC. There are advantages to this approach:

  1. Server and client can be running on different machines and connect over a network
  2. Server and client can use different technologies that evolve independently of each other. (Ex: the client can use a GUI library, but you don’t have to include that in the server.)
  3. Bugs & crashes in the client don’t bring down the server
  4. Enforces a decoupling that lets you easily swap in a different client (ex. easy to control the super collider server via Processing)

Downsides:

  1. Significant increase in complexity for the server to communicate with client. Everything is a remote procedure call now.
  2. Also remember that the server must send data back to clients.

This architecture could be implemented for Feedback Crystal Studio. The main motivation would be to use a richer GUI framework like Compose.

?
| / | | |\ \| \| | |/ | | O | | | \ | | | \|/ / | | | | \| \| o | O . | \ ---| / \ | \ \| / |\| - \ --- |--- |/|/| / \ . \|/|/ | | | - \|\ | | . /| \|/ | \|/| /|/| | | | . | -| |/ | |/ | | / \ |/ \| \| | /\|/ \| \---| - | || |/ | | \ \|/| -| ||\| | \ - | |/ |\|| | / \ \|/| |/| \| / - | - | \ | |- |/ \|/ \ / . | ./\|/ \| . | --- \ | - /| /| / / \ \|/|/ |\-- | /|/ \ / | | / - \|/ | -- \|/| - \ | / . \ |\|/ |\|/|./ / \ | | - | | |/ ---| \ | | |\|\|\| - \|/- \|/|\| | | | \ | \|| | |/ / \| . - | |/\ \| / | \ \| | - |/ / \ \ \ | / \| --- . \| ---- - | - |/ | - \ |/ / \|/ | \|/ \| --- | | | |/ | | | | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^