fire_scene
Fire an Ableton Live scene and get the actual beat the launch lands on, making timing visible even with quantization.
Instructions
Fire a scene and report which beat the launch actually lands on.
Returns:
Dictionary with the launch grid, the song position read on either side of the
call, and the beat the launch falls on, or both candidate beats where the
window spanned a boundary.
Note:
``fire`` answers that it succeeded and says nothing about when anything starts.
Live quantises a launch to the next grid boundary, so aiming a scene at a
particular bar from outside is a race: read the position, decide, fire, and Live
may already have passed the boundary the decision was made for. Measured against
Live 12.4.5: a read of ``song.current_song_time`` returned 55.6, the scene was
fired, and the launch landed at 96 rather than 64, one 8 bar boundary later than
intended. Nothing in the result said so.
This does not remove the race, which is Live's and is not reachable from here.
It makes the landing visible. The position is read immediately before and after
the call, and the answer names the beat a launch issued at either end of that
window falls on. Where the two differ, ``certain`` is false and both are given:
the launch is on one of them and which one is not knowable from outside.
With quantisation off the launch starts at once, so the window's own ends are
the answer and the beat is known no better than the window is wide.
This fires and does not wait. ``is_playing`` read straight afterwards is
normally false and that is correct, not a failure: nothing has started yet.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scene | Yes | Scene index in song.scenes, counted from 0. | |
| confirm | No | True fires the scene. False reports the launch grid and where a launch issued now would land, and fires nothing. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||