Examples of things I was thinking about...
* being able to set up a function that defines a rhythm, and spreading that function across a whole channel of a whole bar. so you might have the function that goes
bool Beat(time) { return (time & 0x3) == 0; }
and in the cells of the spreadsheet you'd do e.g.
if (Beat(currentTime)) Play(bassDrum);
* being able to define musical notes that are described by maths functions e.g.
Play(instrument[3], FibonacciNumber(time) % 40);
to play a note at some pitch depending on what the fibonacci number of the current timestamp is
* being able to define wave forms using code to use as instruments
* adjust pitch, tempo, volume etc based on functions
* jump to different times or patterns depending on conditions
* link to visualisation library events
Most of these would be precalculated before playback just like in a spreadsheet, so you wouldn't have to deal with lag when playing a piece back. It's just that the actual data could potentially be generated from code/script.