monome / teletype

monome eurorack module
GNU General Public License v2.0
202 stars 84 forks source link

AT (autotrig) #9

Closed tehn closed 4 years ago

tehn commented 8 years ago

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 SCRIPT)

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).

tehn commented 8 years ago

comments by chrisharrisx

I agree that AT x seems somewhat redundant in light of SCRIPT, so what about the idea of using AT as a single line setter/activator, as in AT 1 500 0 – enable autotrig on channel 1 with 500ms and infinite repeats?

I can certainly still see using ACT, TIME, and COUNT as individual commands to set or alter a running autotrig, but in any cases where you want less than infinite repeats AT would be a real space-saver. Not only that, but it should theoretically also enable us to combine autotrigger with PREs, no?

I'm imagining something like: L 1 4 : AT I DIV 500 I 4 or IF a : AT 1 500 0

burnsauce commented 7 years ago

With the cut-down syntax, what would be an appropriate idiom for disabling the AT? Set COUNT to 1? i.e.: AT 1 1 1? (No special implementation required) Set TIME to 0? i.e.: AT 1 0 X? (1 conditional) Special syntax? e.g.: AT 1 0 (parser case due to fewer arguments), AT 1 (like a toggle, same: parser)?

I kind of like the toggle concept, but it requires us to select sane defaults for TIME so that an init-fresh call of AT 1 will make sense. Maybe 500 or 250?

tehn commented 7 years ago

disabling with AT.ACT x 0

but AT and SCRIPT are identical, so let's have AT.ACT be just AT.

so:

AT x y where x is the script (1-8) and y is on/off (1/0)

AT x would simply return the on/off state of that script

for toggle, AT (x) EZ AT (x) where x is the script to toggle

default AT.TIME to 500, COUNT to 0 (infinite)

yes? i think this will be a massively powerful addition!

burnsauce commented 7 years ago

Looks good. I'll put it on the list.

trentgill commented 7 years ago

This idea seems great, however I'd like to critique the name, and chosen abbreviation AT. To me this reads as at, as in @ or 'located at'.

I considered ATR though 'TR' in teletype means the TR outputs, not the 'SCRIPT' input jacks.

Also something more plain-english like forth's AGAIN, though this more specifically refers to recursion and wouldn't make sense when working across different scripts.

tehn commented 7 years ago

will take this to the forum, good point

On Sat, Sep 9, 2017 at 3:24 PM, trent notifications@github.com wrote:

This idea seems great, however I'd like to critique the name, and chosen abbreviation AT. To me this reads as at, as in @ or 'located at'.

I considered ATR though 'TR' in teletype means the TR outputs, not the 'SCRIPT' input jacks.

Also something more plain-english like forth's AGAIN, though this more specifically refers to recursion and wouldn't make sense when working across different scripts.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/monome/teletype/issues/9#issuecomment-328298360, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPEcDU9fLcVHI7A66xPfOLYsEADu3aMks5sguXkgaJpZM4H6RHB .

tehn commented 7 years ago

R is is.

On Tue, Sep 12, 2017 at 2:51 AM, Poindexter Frink notifications@github.com wrote:

I think forum favours R for Repeat.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/monome/teletype/issues/9#issuecomment-328756514, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPEcDs0YJaQnUffnvYP40ak_aIWXqjVks5shin3gaJpZM4H6RHB .