Closed sowbug closed 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.
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.
Couldn't figure it out.
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.