What is not yet quite clear to me is how the second “L 0 2: …” statement would cause the next pattern to be used. Shouldn’t there be some kind of ‘advance to next pattern’ statement after each “L 0 2: …” statement?
Thanks for the Detailed but Beginner-friendly explanation. I’m only a few hours in to my TT explorations and that really helped!
@nschutten (Click the arrow to expand the notes!)
I’m not sure that this will work actually, JF.Note requires 2 values, one for note number and another for velocity. So you would need to separate this into more lines, some to choose the note number as you have then apply that to a variable, then another line to send the note number (variable) to JF with a velocity value
Edit: after playing around a bit I realized it is possible to keep these down to one line each. Just enough room to put
L 0 2: JF.NOTE N PN.NEXT I V 10
Also found some strange behavior as I accidentally added an extra 0 to the end of that script, and while it didn’t show on the edit line, once I hit enter it did show up as
L 0 2: JF.NOTE N PN.NEXT I V 100
I know that V 100 isn’t even possible, but I had never though that there was room for another character that won’t show up on the edit line but will show up in the script. @tehn is this intended, or a bug of some sort?
You’re right! My mistake
Although I’m posting Just Type code here, mine is still not working. And it’s got a new behaviour I don’t like the sound of: plugging Teletype to Just Friends (double, triple, quadruple checked) prevents Teletype from booting. The screen buffer clears and nothing happens, it stays dark. If not connected it starts up just fine. Again, using Teletype 2.2.0 and the latest Just Type build. This seemed to have started after I plugged it backwards another time recently (idiotically, out of frustration). Hopefully I haven’t broken it.
Edit: even stranger stuff: Teletype will fail to boot when plugged into Just Friends, even when Just Friends is not connected to power.
Edit: updated to Teletype 2.3 beta 1, it now boots with Just Friends connected but still freezes on JF ops.
I will have access to a digital scope at my university, which would help figuring out what’s going on with i2c. If anyone has pointers to what to look out for (correct behaviour, voltages, etc) any help would be much appreciated.
Edit: I’ve taken a simple multimeter for continuity testing and found out that Just Friend’s SCL and SDA are shorted — no resistance at all. That doesn’t seem right. @Galapagoose does this make sense?
did you have any i2c ops in your init script? that would explain why teletype wouldn’t boot with just friends plugged in but worked after updating the firmware, as that would erase your presets.
sounds like you found the actual issue (from your description it did sound very much like when i have i2c plugged in backwards - did that on several occasions, doesn’t seem like that should cause any issues once you correct it), but in case you still need to debug further and have access to a digital oscilloscope it might have i2c decoding which simplifies troubleshooting greatly. this might help: Teletype Firmware i2c Debugging and Teletype Firmware i2c Debugging
basically, you add i2c decoding and specify which channel is SDA and which channel is SCL and then configure it to trigger on SDA fall.
do you have any other i2c enabled modules you could try?
Problem solved with the help of @Galapagoose! There was a microscopic solder bridge on the STM chip. Super excited to finally get to play around with Just Type!
I don’t know if the issue has been adressed here but in SYNTHESIS MODE inputting RUN values through JF.RUN V ? doesn’t seem to work. I’ve got 0 problem with a physical cable though.
Am i doing something wrong ?
You also need to turn run mode on:
Caught me out a few times too
Ok nice catch.
Other question about the GEODE MODE. Here with SUSTAIN:
JF.VOX 1 4 4
JF.VOX 2 8 4
Most of the time CHANNEL 2 doesn’t fire. I tried adding other ones but only the 1st line’s CHANNEL is constant in its execution.
Is this specific to GEODE? Do you experience missed II commands in Synthesis mode? If it’s specific to GEODE there might be a bug in the code, but otherwise it could be an issue with your II bus.
How many devices do you have connected to teletype? Are you using a powered II bus board?
Yes it seems to be. I tried the same type of command is SYNTHESIS and it never skiped a note. In any case, the first JF.VOX command is always rightly executed (even with JF.VOX 0). The same problem occurs with that code:
JF.VOX 1 4 2
JF.VOX 2 4 2
1 JUST FRIEND + 2 TXi + 1 Txo. I’m using the purple BACKPACK to connect everything together.
Just for general reference:
I had issues getting JF into update mode as well. I unplugged my bus board and plugged JF directly into the supply, and it worked right away.
Possibly just a digital noise issue with all the other modules powered up at the same time.
I have recently received my TeleType and am now able to use JustType (with the excellent help from Gil, I even start to understand it )
I started out making somewhat complex auto-generative sequences, and ended up with a single chord thing:
Bass drone = Rings (slow modulation from O&C) through Polaris
Bass drum = Peaks
Trigger sequences from Varigate4+
JustType in Cm (4 notes), Just Friends (slow modulation from O&C) to Belgrad filter
High flutter = 0-Coast, randomly self-triggered, through Clouds
Hey @Galapagoose I know you’re a busy busy body right now but do you think we’ll get the ability to address two just friends from teletype in the near future?
It’s an interesting idea, but presents numerous difficulties in terms of the Teletype language & hardware identification. Which JF are you referring to with each command? Does each JF get it’s own set of commands, or does every command need an index identifier? Honestly this is in the too-hard basket for me. If someone has a clear vision of how it could be implemented, I’m all ears.
In other news, here’s a little update for JF: v3.0.5! I got passionate about the FM scaling last night and made some updates. Now the FM amount is much smaller in shape mode (it’s still a big linear shift). Additionally, the FM amount knob now has new shaping to provide much more control near 12:00.
For anyone that was describing difficulty working with JF at very slow speeds, I highly recommend updating to this firmware. Keep in mind that the FM knob will still have an effect even with no CV input due to the small offset on the jack. Depending on your hardware this could make waves speed up, or slow down and even stop in transient & sustain mode. More generally, keep the FM knob at 12:00 unless you deliberately want to shift the timing, or are inputting an FM signal.
What if teletype just see them as one big JF, as in now we can address channels 0-12 and so forth, kind of how multiple ansibles can be used in teletype mode. I have littleraly no programming chops so I can’t push too hard, but having just acquired a second JF the thought of one in geode controling another in synth mode is pretty preeeeeetty tantalizing.
Regardless thanks for all the hard work you put into these incredible little tools.
As a slightly related aside, how will multiple w/‘s be addressed by teletype?
I just did the update to v3.0.5 and I noticed something strange:
in shape/cycle, if intone is at 12, you’ll get all the output at the same rate. if I move intone CCW or CW, and return to 12, I can’t manage to get the outputs at the same rate again.
the only solution is to switch from cycle to sustain, and cycle again, with intone at 12
by the way, I first tried to update with a brand new black market modular cable, and I couldn’t get into the boot loader mode. tried again with an old mutable cable, and it worked on first try.
Is this new behavior? I’d have expected it to behave like this. When you change intone, the different outputs all cycle at different rates and thus desynchronize. When you put intone back to 12, they’ll be at different positions in their cycle. The only reasonable way to get them to sync up again (without touching the cycle time) would be to restart the cycle on change of intone, which would be a very bad idea…
I’d be very interested to hear how this was done before if this is in fact new behavior.
maybe it’s not a new behavior. maybe I just didn’t realize this yet.
your explanation make a lot of sens.