sowbug / groove

A digital audio workstation (DAW) engine.
Other
20 stars 0 forks source link

ControlTrip should be an ordinary IsController entity #82

Closed sowbug closed 1 year ago

sowbug commented 1 year ago

Right now, ControlTrip is the implementation of how the system exposes a certain kind of automation. There's no good reason why it should have such an elevated status.

There is the issue how different ControlTrips will share patterns. It might not really be a problem.

sowbug commented 1 year ago

On reflection, I think it's fine to structure it as proposed, but Orchestrator will still need to keep its concrete type around (same with Sequencer) for better integration. Examples: Sequencer is in charge of painting the arrangement on MIDI tracks, and ControlTrip paints automation lanes.

sowbug commented 1 year ago

This is done (though ControlTrip needs some work to be brought up to modern code). The boilerplate code caused by one-off concrete types is getting tedious. Now that I have a pattern for as_something(), I'm going to revisit whether chain() can help here.

sowbug commented 1 year ago

Couldn't figure it out.