I have this recurring dream of being able to trigger TT scripts from Crow, which would require TT to be able to act as an i2c follower. Norns + Crow + TT could then control four voices of CV+gate+other (velocity, expression, whatever), with TT as a kind of auxiliary live-coded manipulator of events generated by Norns (or by a standalone Crow script).
I swear this has come up before and wasn’t immediately declared impossible, but I’m having trouble finding that conversation. Is there i2c follower code in Multipass that could potentially be rolled into TT by a mortal like myself?
I think Trent mentioned some crow features which would let it respond to I2C queries. IMHO that is a much better choice than getting into the multi-leader quagmire. You could hypothetically use a fast metro to query crow and run scripts as crow dictates.
you don’t need multipass for this - it’s fairly simple to configure teletype to work as a follower (and shouldn’t cause any issues if you’re just planning to only use it as a follower).
You’re amazing. Thank you so much, that got me 99.9% of the way there. The hardest part was finding some unused connectors to make an i2c cable with.
For now, I’m using command 5 (trigger pulse) instead of the gate set command – command 0 wasn’t working for me, possibly because Crow seems to send the gate/trigger state as 16 bits, but I haven’t investigated that very deeply yet.
So much for me to explore now that you’ve demystified this step for me. Thanks again.
I’m a bit behind with all these brilliant suggestions, but I just wanted to chime in with strong support for this approach, where any op can take a decimal or binary (or hex) number, and have a format for writing binary or hex for convenience, rather than have an op interpret a decimal number as if it were binary.
When I coded my bit-based quantiser haiku, I quickly got used to referring to specific scales or chords using their decimal number, which I could type quickly in to a variable to change things up on the fly, and which could be stored in the tracker for scale changes etc etc. It would be nice if I could also type them using the B notation, but also nice not to be forced to (and of course, there’s the problem already of them being too long in some cases - for my quantiser I needed 11 bits for a scale). Also, I’d like to be able to use standard math and bitwise operations on binary to manipulate the numbers passed into the ops which presumably wouldn’t be possible if they were expecting a decimal number that was pretending to be binary.
yep, that’s it. the only other thing is to make sure simulator also builds without errors.
for documentation also update docs/whats_new.md and changelog.md, and add to module/help_mode.c
Strong agreement. I will mention that the “decimal-as-binary” OPs in question had ONLY the function of making that conversion and that they were the only such OPs.
The DEL.B and QT.B OPs accept normal, signed 16-bit integers for the masks (though QT.B only uses the lowest 12 bits). In fact, QT.B is directly inspired by your haiku (with additional thanks to @starthief for the memory jogger) Please give it a try!
that’s why i suggested to rebase - it sounds like your feature is still in active development? if it is, the plan is to incorporate features that can be considered “stable” at this point, release that as the new “official” beta, then rebase features that are still in active development on that (this way they include all the latest complete stuff).
So I have this QT.SC input root scale degree chord OP indexing degree from 0, but that feels vaguely wrong. Scale degrees start at I, right? But the N.C and N.CS OPs already index degree from 0. Thoughts?
Also, I am a bit stuck because I can’t seem to push changes to my repo. So far I managed to set monome/teletype as upstream, then merge locally.