Delete events whithout altering start times (leaving hole)?

Rick Taube taube@ux1.cso.uiuc.edu
Mon, 3 Nov 1997 21:20:55 -0600


> [...] For me, this is the single worst
> aspect of CM/Stella (using relative instead of absolute time). Other than
> that, it's great :-)

im not sure i understand -- you can use absolute times:

(thread foo ()
  (dotimes (i 5)
    (object midi-note START i note (between 30 90))))

Stella [Top-Level]: tlist foo 0
Foo
    0.00    1. #<MIDI-NOTE | 86|------|------| 64| 0|>
    1.00    2. #<MIDI-NOTE | 52|------|------| 64| 0|>
    2.00    3. #<MIDI-NOTE | 42|------|------| 64| 0|>
    3.00    4. #<MIDI-NOTE | 33|------|------| 64| 0|>
    4.00    5. #<MIDI-NOTE | 52|------|------| 64| 0|>

Stella [Top-Level]: del 1[4] expunge t

Stella [Top-Level]: tlist foo 0
Foo
    0.00    1. #<MIDI-NOTE | 86|------|------| 64| 0|>
    1.00    2. #<MIDI-NOTE | 52|------|------| 64| 0|>
    2.00    3. #<MIDI-NOTE | 42|------|------| 64| 0|>
    4.00    4. #<MIDI-NOTE | 52|------|------| 64| 0|>

Stella [Top-Level]:
---
if you already have relative rhythms and want to make them absolute, run
the object so the time values are set, then logior the +absolute+ bit:

run bar 0
del bar[...] expunge t
map bar set status (logior $status +absolute+)