geigr / jupyterlab-daw

Audio and music in JupyterLab
BSD 3-Clause "New" or "Revised" License
7 stars 0 forks source link

Automation model #5

Open benbovy opened 1 year ago

benbovy commented 1 year ago

Another feature that is common in "classic" DAWs is the ability to show or edit an automation curve that modulates the value of some parameter over time.

The base Automation model would hold a mutable collection of Tonejs transport scheduled events that all act on the same Param or Signal value. The model should also keep track of the curve shape (e.g., linear, exponential, etc.) between two scheduled events or automation points in order to be able drawing the whole curve accurately in a widget.

New instances of Automation could be created at two different levels: