thanks for the links, looks promising. lots to digest. will add to the github issue tracker and stop hijacking this thread.

1 Like

A lot of great ideas here!

Some design thoughts:
-I really like the idea of the Autotrigger functionality. My primary concern is in the amount of syntax required for an AT script vs the number of lines available per script. The operators (ACT TIME COUNT) make sense (although I might change ACT to SET), but it would eat up half of a script to setup Autotrigger functionality for another.

-MIDI over USB is cool, but I agree that there would be a ton of hotswapping (Does this work? Nope, unplug, go back to QWERTY, type again, test again, revise, revise, revise). MIDI over II via expander is especially interesting though. Instant ideas:

  1. The module could have its own basic MIDI output jacks, like GATE, NOTE, CLOCK, and CC. CC could be set in Teletype live mode via an operator. Without TT, it would be set to a sensible default.
  2. It could additionally act as a MIDI over USB output for other trilogy modules. For instance, I would love to use White Whale and Earthsea as MIDI generators. I’m not sure how feasible that is over II, but it would certainly be a great feature.
  3. It could have a barrel power cable input that could daisy chain off of the existing Switch module. That could help reduce power consumption of thirsty external controllers.

-I haven’t taken a look at the technical details of the Teletype hardware, but is it feasible to add a basic smooth LFO or envelope as operators? Currently, I’ve been making heavy use of the 4MS Quad Pingable LFO module as a Teletype partner, as it gives me four synced modulations for Teletype’s four trigger/gate outputs. I suppose that patterns work as a stand-in though, so it isn’t critical. I just imagine cool things like attaching an internal LFO to AT’s TIME parameter to expand and contract internal bursts of a script.

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

1 Like

One feature request…
I know that bi-directional II hasn’t been implemented yet, but if it’s in the works, I would love a command to immediately normal MP’s 8 outputs to TT’s inputs.

A fun idea would be
II MP.NORMAL 1 1 (normal MP 1 output to TT 1 input)
II MP.NORMAL 2 5 (normal MP 2 to TT 5)
II MP.NORMALALL 1 (normal all 8 outs to respective ins, NORMALL is a punny option)
II MP.NORMALALL 0 (turn off normals)
II WW.NORMAL 1 1 (normal WW 1 output to TT 1 input)

etc. etc.

It would save me a ton of patching, since I’m almost always using MP for all of TT. In addition to patching time, it would help stop a cable forest from sprouting up in front of my sequencing block.

One other question… Am I missing an option to sync MP and WW clock inputs to a TT script? I see that ES has a .MODE and .CLOCK option which I’ve been using, but I don’t see something similar for MP and WW.

1 Like

absolutely, first feature once bi-dir II is in. ww/es clocks similarly could be added, though it seems identical to just patching a TR to the clock-in (i realize the advantage of saving a TR output). but easy enough.

one issue is that the address-space for the II commands is quickly getting exhausted-- we should perhaps restructure this to allow many many more messages. @scanner_darkly

2 Likes

i’m really into both of these ideas!

yeah, would be good to expand the address space for the remote commands! i could easily add a bunch more to orca…

a lot of great ideas here - need to find the time to reply with more thoughts!

1 Like

One use case advantage of having MP and WW CLOCK commands is that you can trigger the clock from multiple scripts instead of needing an OR combiner.

While on the issue of cleaning up the address space, a useful address would be II ALL.*, where all receivers on the II bus could receive a message. With the various CLOCK destinations, you could use one line to sync the entire trilogy to Teletype. (i.e. II ALL.CLOCK 1)

2 Likes

good idea, i’d also add II ALL.RESET

3 Likes

for MIDI would be definitely good to also be able to output, especially in conjunction with bi-directional II.

for AT might be also useful to add AC.RESET?

bi-directional II: would be good to support not just a fixed length value but an array. this would be useful to have modules pass scales or sequences to TT. and then some way to populate TT patterns with that info (could be just as simple as being able to specify index and just loop?). have TT play a sequence, while you create a variation or a new sequence, and then drop it into TT on a trigger. and then use arc or a MIDI controller to scrub through the sequence on TT.

TIMELINE: TL.EXEC START FINISH could be useful. Or perhaps an option to just execute until the end is reached, or until it hits TL.STOP?

A function to select all the pattern’s banks at the same time could be a great addition too i think, something like:

P.N ALL

•• ability to “comment out” or “disable” and then “enable” specific commands would exponentially increase the playability of the module in terms of performance! Alt-Z greys out a line and “mutes” the command, Alt-Z again on a greyed-out line “unmutes” it etc.

•• being able to “watch” variables or whatever values in LIVE screen continuously would help in the process of coding the scripts immensely! Having to re-paste a given variable in order to see how it’s value changes is pretty cumbersome, and slow, especially when you are trying to monitor some TIME or other counted values shifting.

•• i would suggest a consideration of expanding the view of the LIVE screen to activate the rest of the screen (above the main line at the bottom). I think the rest of the screen should be a “scrolling” upward view of all previously typed lines. As is we are able to navigate with the up/down arrows an invisible scroll of previously typed lines. I am suggesting making that scroll visible. AND including the live/continuous monitoring of values… so, if I type X ENTER Y ENTER TIME ENTER I would end up with a view continuously displaying the values of these variables displayed vertically above the bottom line, with the most recent one at the bottom.

• a variable that toggles between 1 and 0 would be very useful. (Like cross between TR.TOG and TOSS)

3 Likes

minor thing: long press delete not repeating the deletion feels a bit weird

on the other extreme: scrolling the scene text could be line by line with short press imo

Your last request - variable that toggles between 1 & 0 already exists in v1.1 as FLIP.

Pefect!!! :slightly_smiling:

what are your thoughts on the other ideas @Galapagoose?

I love the time line idea. What would be the limit for commands to be listed? If largish it could resolve the need for more scripts or longer scripts. AT commands also sound like a lot of fun.

I too would get a lot of use out of the ability to monitor certain variables

2 Likes

right?

i can not tell you how many times i wished this was part of Teletype!
I am sort of surprised that more people do not think it would be useful.
Makes me think it has to do with my approach/methodology/mindset when programming? And that others are able to “see” the values in their head better/easier??

1 Like

+1 I also often keep re-pasting variables in live mode to see how their changing. Also im not sure if this is already possible but I would like a hot key combination for tap tempo of the METRO

2 Likes

Timelines sound so useful

End of gate scripts would be really handy if possible. Just thinking of instances where I have a long gate going into a script in and wish the trigger time could match that. I was going to suggest while loops but this seems much more practical

Shape/curve for cv.slew would be wicked if possible as well but there are workarounds

Also if possible, arithmetic signs like * or / would also be great just for saving a few chars (feel like this has been mentioned before)