(temp edit: are you looking for graphic scores?)
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 is not able to provide enough power for grid. you will have to either use the switch, or ext5v or some other way to power grid externally (this is another thing that ansible satellite will address)
- 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.
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: https://github.com/scanner-darkly/teletype/wiki/GRID-INTEGRATION
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: https://github.com/scanner-darkly/teletype/wiki/GRID-OPERATORS
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:
i’ll post a version later this week that will be based on the official 2.0 firmware done
when 2.1 is officially released i will rebase on that so that it includes all the 2.1 features done
- live screen visualizer
store button/fader states with scenes (done)
- x/y pad
- game of life
- earthsea style keyboard
beta: teletype.hex [B0F9779 grid]
this beta is based on and includes everything from the official 2.1.0 firmware
warning: teletype cannot provide sufficient power to grid! please only try this firmware if you can power grid externally using monome switch, ext5v or something similar! and as always your presets will be erased when flashing new firmware.
- [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