well, long highway stretches are a good environment for systems design i seems.
here are a few feature additions i'd like to add to teletype for a version 2 marker. rather than hide away and spring the finished product on you all, i think it'd be good to propose the changes and get some feedback, given there's a community of users that "get it" now. please make suggestions and recommendations!
1. TIMELINE (TL)
a linear script system, sortof like csound scores. which i admit, i have no experience with, so please chime in with use cases that have already been addressed and solved that i'm overlooking.
this functionality would add a linear "score" of commands, that can be non-linearly executed with other teletype commands.
this would entail making another editor screen, like METRO, but may need more interactivity. each line would have an index or time marker. sequential lines can have the same time. ie:
1 TR.PULSE A
1 TR.PULSE B
2 TR.PULSE A
4 TR.PULSE A
10 TR.PULSE A
of course add more interesting commands. i hope this buffer can be very long with many many events.
TL gets/sets the timeline position.
TL.NOW executes the current position.
TL.NEXT adds one to the position and executes.
TL.START sets the start position (for control by
TL.END sets the end position
- there can be unpopulated index positions, ie instances where
TL.NOW will do nothing.
- i like the idea of there not being a hard limit to how many commands can be on one index.
- the editor should facilitate "insert" commands where later indexes will be incremented and smart "delete" where following indexes are decremented, etc
there have been requests for more metro scripts, and i think this is a good idea. however, tracking them and making more screens would clutter the interface. this is one solution.
each trigger input 1-8 would have an additional "autotrigger" functionality.
AT.ACT x y would activate/deactivate autotrig on channel input x (y=1 on, y=0 off)
AT.TIME x y sets the interval time of channel x to y
AT.COUNT x y sets how many repeats (0 = infinite repeat)
AT x would trigger channel x (this seems redundant with
so. for example, activate autotrig on channel 1. set time to 500 (ms). set count to 0. go
AT 1 and suddenly you have another metro that executes script 1 at its own rate.
another use: script echo. set count to 4. remote trigger inputs (via patch cable) will also trigger the AT. retrigger resets count.
external trigger also resets the per-trigger metro counter (as does another AT command).
maybe? automatically measure the interval between incoming trigger inputs and store it. very little overhead and means there will be less scripting, preserving the usefulness of 6 line scripts.
it's very easy to get MIDI input via USB. of course, this means not having a keyboard plugged in, so much swapping would be required. (the alternative approach here is an tt-extension where this functionality is over II)
three new "events" (ie metro, trigger, etc): NOTE-ON, NOTE-OFF, and CC
with a note-on event, a pre-determined variable NOTE (or whatever) is set, and then this script does whatever with that information. same with off, and with cc.
basically just associating scripts with incoming midi events. and then TT becomes a crazy flexible midi processor.
4. bi-directional II
ie. normal MP triggers to script inputs, get WW position, etc
i'm not presenting use cases here but there are a ton. please let me know if you see any possible improvements.