Unify Server / Session / Provider via Context base class
josiah-wolf-oberholtzer opened this issue · 2 comments
josiah-wolf-oberholtzer commented
Rather than wrapping Servers and Sessions with Providers to get work done, what if we unified all three classes via a common base with the provider interface, including harmonizing nonrealtime / realtime / provider implementations of nodes / buffers / buses?
Upsides:
- We get to remove a layer of indirection (Provider)
- We get to firm up the similarities across RT and NRT
Downsides:
- We'll probably dispense with / downplay introspection abilities on the proxy classes
- We'll probably dispense with the fancy list interfaces for nodes (or reimplement them completely - not a bad idea, given their age)
Additionally:
- To permit Server usage without a Moment context, we can allow an
on_completion: Optional[Callable[Context, None]]]
argument to those methods that would normally return a Completion object.
josiah-wolf-oberholtzer commented
In progress via #307
josiah-wolf-oberholtzer commented
Done in #323