orphium/proto/synth/00_outline

00_outline

dz / orphium / proto / synth / 00_outline

Summary

initial outlining for the orphium synthezier interface

Node Tree

Nodes

buffer
content Buffer: a buffer for forming messages
children msgpack, BEGIN, END, PUT

msgpack
content msgpack protocol
children parser, END (sends message to be parsed as message pack)
parents buffer

serial_API
content Serial API
children BEGIN, END, PUT
parents ilo

BEGIN
content BEGIN: begin a new message. Sets write head of buffer to zero.
parents serial_API, buffer

PUT
content PUT: write a byte to the buffer
parents serial_API, buffer
remarks alternate names: TRANSMIT, BYTE, WRITE

END
content END: end writing message. System will then parse the buffer as a message pack serial message.
parents serial_API, msgpack, buffer

ilo
content ilo virtual machine
children serial_API (The ilo VM has room for new I/O commands, which is where the serial commands will go)
parents status

status
content Status indicator. Messages, Error codes, etc.
children ilo

parser
content msgpack message parser
children map, single_string
parents msgpack

single_string
content single string?
children word_lookup
parents parser

word_lookup
content word lookup
children sndkit (mostly maps words to nodes, maybe commands), gestvm
parents single_string

sndkit
content sndkit API (plus hotswapping for live coding)
parents word_lookup

gestvm
content gestvm: a global instance that can implicitely read to make gestures while building patches.
children uxn
parents word_lookup
remarks this is where things start looking different from Sporth. Not only are you using stack-based notation to build up patches, but also gestures for gesture modulation. My hope is that you'd be able to use it in place, like you're using a gesture synthesizer as a fancy LFO or something.

uxn
content Uxn virtual machine
children in_memory_tal
parents gestvm

map
content map? (aka an object)
children command_parser
parents parser

command_parser
content Command Parser: for cases when you need to handle complex data or commands that want a namespace.
children TAL_words, gesture_node
parents map

TAL_words
content TAL words. To distinguish from sndkit words, these will be namespaced in a command object
parents in_memory_tal, command_parser

in_memory_tal
content in-memory TAL evaluator: used to make it possible to evalulate and re-load Uxn Roms
children TAL_words
parents uxn

gesture_node
content Gesture Nodes: these get represented as a command object because they need a string argument (Tal subroutine name).
parents command_parser