Open benbovy opened 1 year ago
Perhaps the bridge between ipytone and jupyterlab-daw could be done via a 3rd-party component ipydaw
, which similarly to ipylab would provide an ipywidget compatible layer to interact with jupyterlab-daw widgets.
This would keep ipytone and jupyterlab-daw independent from each other, as both could be used in different contexts. It requires both extensions be reusable by 3rd party extensions in the jupyterlab front-end (public API, packaging).
Ideally, when we do something like starting the transport timeline in a notebook using ipytone this should be immediately visible in the JupyterLab enhanced UI and vice-versa.
For basic transport actions like start, stop and pause this is already possible by setting up Tonejs' Transport event listeners. Implemented in ec352d7.
One of the goals of this jupyterlab extension is to make it easier using ipytone by providing a few UI widgets so that we can check the global state (audio context, transport timeline) at a glance.
Ideally, when we do something like starting the transport timeline in a notebook using ipytone this should be immediately visible in the JupyterLab enhanced UI and vice-versa.
This means that somehow we need ipytone and jupyterlab-daw widgets to interact with each other in the Jupyterlab front-end. Not sure if that's easy, though, especially regarding packaging: https://github.com/jupyterlab/jupyterlab/issues/9807 and https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html#deduplication-of-dependencies seem relevant.