Yes, as long as they fit on the same line: use a semicolon:

IF EZ X : TR.PULSE A ; SCRIPT 2

3 Likes

Oh nice!
thanks man :smile: D

1 Like

Not sure where to post this; I didn’t want to start a new thread.
Is there any interest in having a lookup table for converting note numbers to ratios? Essentially something that spits out 2**(n/12). for instance RATIO 12 will get you 2.
Since most ratios are fractional, the result should perhaps be something like 149 for 1.49.
Alternatively, is there a trick to bypass the floating point limitation and compute 2**(n/12) in Teletype?

1 Like

I’d absolutely love a few operators to multiply and divide frequency ratios against each other and convert to volts back and forth. This would be incredibly useful for taking advantage of Just Type’s JF.TUNE operator (which allows custom frequency ratios at each output), and for taking a very different approach at harmony that has deeper roots in the science of auditory perception. I’ve experimented with that way of thinking of harmony in patching and in creating scales and chords and it has shown to be a really powerful tool — and it extends past the 12-tone scale into microtonal territories.

1 Like

Maybe if we ask nicely one of the devs will implement it.

The JI operator was fixed, it’s currently in master. I think it’ll be included in 2.2 as a bug fix. It does what you’re asking for! I think!

3 Likes

This is great! Tons of ideas flooding my mind. Really can’t wait to get my hands Teletype + Grids. I’m realizing this pair makes the exact open-ended composition instrument I’ve been yearning for for years.

2 Likes

If I understand correctly, this automatically shifts down values within the range of an octave? Would it be possible to get a non-wraping operator as well, where you’d get the fraction you are asking for rather than that fraction divided by 2^n? I see valid use cases for both variants: it’s sometimes easier to deal with the unaltered ratio, ie when generating an offset for a fm-modulating oscillator (where you might want something like a 7:1 ratio), and sometimes easier with the octave-down version, ie when defining scales.

I forgot to mention that I merged the current master into Beta 1, so it has access to the fixed JI op.

1 Like

Really nice update, I ran the beta firmware at my live performance last weekend without any issues except for some funny MUTE behavior that I can’t currently replicate due to having the modular totally taken apart for renovations.

I had the following in script 7:

IF MUTE 1: MUTE 1 0
ELSE: MUTE 1 1

And in script 6:

IF MUTE 3: MUTE 3 0
ELSE: MUTE 3 1

And in script 1, which was being fired by a master clock (not metro), I had:

SCRIPT 3

In other words, script 3 was being called by script 1, not an outside trigger.


These were triggered by some debounced switches.

Toggling script 1 mute works as expected, but the display does not update (bottom left script number is not greyed out) until I leave the script edit screen and come back (i.e. use [ ] )

Toggling script 3 didn’t have any effect, I figured out another way to handle it.

Again, thanks so much to all who are making this so much cooler than it already was!

1 Like

Ah! I know what this is. When I re-implemented script muting via keystroke, I forgot to implement the shading for the operator. Easy fix. Thanks! :+1:

I’m not sure that the toggle should apply to calls to SCRIPT. @tehn?

:heart:

1 Like

my original intention for MUTE was to “mute” incoming triggers.

i’m also not sure about MUTE applying to SCRIPT calls. ie, you could mute script 1, then use input 1 polled via STATE and the script 1 as an extension that could be called by other scripts.

seems a better solution to use conditionals for SCRIPT muting. or extend MUTE so that -1 (or something) means mute the trigger and SCRIPT

3 Likes

another option for SCRIPT muting could be having a keyboard shortcut for commenting out the whole script (similar to commenting out a line)

2 Likes

My employ as a system administrator is keeping me busy. I have updated the changelog to reflect the changes in my branch and will shortly submit a PR to permit the codebase to move forward.

This PR will be nearly completely lacking in documentation of the changes in 2.2, so someone will need to take up that torch in order to move to release.

While I am not walking away from firmware development, the next few months may not leave me with the time to contribute.

11 Likes

thanks for the update-- will look for the PR and make sure the docs match up.

1 Like

Grateful for all the new features you added to TT. The firmware underwent a few cool iterations these past couple of months.

6 Likes

Yes!! The new features are incredible, thanks so much!

1 Like

Thank you so much for your contributions! Still have to catch up with everything, but I already fell in love with some of your enrichments.

2 Likes

Seeing some odd behavior with loading scenes:

My Scene 31 is for calibrating my Telex output offsets and it only has stuff in the Init script.

If I power off from that scene, then power back on, it comes up in Scene 31. All the scripts except “I” are blank. If I press the button on the Teletype module, select another (blank) scene, then press the button again–I still have Scene 31’s “I” script.

This happened with another scene too: all of its scripts carried over into the selected scene.

(a few minutes messing around …)

Oh, it looks like the “new” scene is actually overwritten–I just lost what was in Scene 1 when it was overwritten by Scene 31’s stuff (i.e. init script and everything else blank)

Edit: Running V2.2.0-ALPHA.10 … that was the latest I could find in the thread.

Beta 1 is linked at the top of this thread. But that’s not substantially different from Alpha 10. Chances are it won’t affect the behavior you’re observing.