the original discussion thread - the feature is now complete and included in the official teletype firmware starting with v3.0. this thread is now the place to discuss possible new features / issues / techniques.
for discussion and exchange of grid teletype scripts and scenes please see > teletype: grid # code exchange
grid studies: GRID INTEGRATION · scanner-darkly/teletype Wiki · GitHub
i would like to share something i’ve been working on since june. this is grid integration with teletype. i had this idea for a while, initially thinking it would be some sort of a fixed UI that would provide the ability to trigger and control scripts, but that seemed like a very limited approach that went against the teletype’s very open ended nature. so instead i propose making the UI itself scriptable.
what this means is that all of the following would be now possible:
- you can create your own apps without having to hack firmware
- each scene can have its own individual UI, stored with the scene itself
- since everything is scriptable the UI itself can be dynamic and change as the scene itself changes. this could extend all the way to the scene influencing your playing style, based on how it unfolds…
to give some examples on how it could be used:
- visualizing a scene - grid simply used as an LED matrix
- basic use with the whole grid used as x/y pad or keyboard
- meta controller / sequencer for trilogy/ansible (a good example would be a grid 128 being switched between white whale and meadowphysics and a grid 64 used to sequence their patterns)
- a way to control a scene - right now the only means are via the input, the param know or TXi - i often miss a more direct way to control a scene…
i also had an idea of using ansible as a “teletype satellite” - since the hardware is pretty much the same a version of tt firmware could be made to run on ansible fairly easily. with grid integration this would mean you could easily create your own grid/ansible apps.
now might be a good time to mention the downsides…
- teletype on its own might not be able to provide enough power for grid (this only applies to older editions with green PCB, if you have a newer edition with black PCB you’re fine). to power grid externally you can use monome switch, ext5v or two>one module.
- you will need to switch between keyboard and grid often, which will obviously be cumbersome. to address this i’m planning to add a grid visualizer to the live screen so you can see the UI and try different things without having to plug the grid. and at some point perhaps a 2in / 2 out switch could be designed that would make this easier as well as providing the needed power. [edit: both grid visualizer and 2in 1out switch are available now].
let’s introduce the ops! i spent quite a bit of time trying to come up with a language extension that was logical, fit well within the teletype ecosystem and would be compact while still being readable and powerful. in order to make it easier to understand the thinking behind it i created several studies: GRID INTEGRATION · scanner-darkly/teletype Wiki · GitHub
there are some simple examples but i know that one of the concerns with this approach will be that it would be difficult to build anything remotely complex. how about a 6 track 16 step trigger/gate sequencer with a start/stop button, jump to step and individual track mutes, all done with 16 lines of script?
here is the complete list of proposed ops: GRID OPERATORS · scanner-darkly/teletype Wiki · GitHub
some demos of it in action:
a simple random visualization:
a super quick chord controller - took 15 min to code:
an 8 track 8 step trigger sequencer + x/y pad:
2x 8 step sequencers, a 6 track drum sequencer with mutes and an x/y pad using grid 256:
what’s next?
-
i’ll post a version later this week that will be based on the official 2.0 firmwaredone -
when 2.1 is officially released i will rebase on that so that it includes all the 2.1 featuresdone -
live screen visualizerdone -
store button/fader states with scenesdone
beta:
the feature is now complete and included in the official firmware starting with v3.0. you can find it on the official release page. as always, your presets will be erased when flashing new firmware - make sure to save them to a USB stick first.
changelog:
- [sep 21] initial beta
- [oct 3] changed ids and coordinates to 0 based, button and fader state save
- [B0F9779 grid oct 13] rebased on 2.1.0, fixed a bug with
G.REC
out of bounds - [FC59CFF grid oct 29] visualizer, bug fixes
- [205521A grid] nov 23 new ops, groups increased to 64, bugfixes
- [grid be6cc6e] jan 12 - more fader types, er-301, fn16, new pattern and telex ops