Link Search Menu Expand Document

Languages

Find the syntax and runtime contract for code used in score. Each reference separates the underlying language from the objects, ports, variables or shader resources supplied by score. Process and device pages explain how to insert, connect and operate the corresponding component.

Scripts and expressions

Language Use in score Reference
JavaScript and QML Execution processes, editor automation, custom interfaces and scripted devices Language and runtime overview
ExprTK Mathematical mappings, value and audio expressions, array generation Syntax, variables and functions
jq and Jk Querying, selecting and reshaping maps and arrays with Object filter Syntax, built-ins and supported jq subset
C++ Native JIT processes and CPU texture generation Language and host interfaces
RE2 regular expressions Matching, extracting, replacing and splitting text Pattern and replacement syntax

JavaScript and QML APIs

The same language runs in several different contexts. Choose the API for the place where the code executes; a console script and an audio-process callback do not have the same responsibilities.

  • Process API: Script, ports, callbacks, timing, audio, MIDI and textures.
  • Editor API: document editing, transport, devices, utilities and view automation.
  • Custom UI API: control bindings, ScriptUI, persistent state and texture previews.
  • QML device API: device trees, mappings and protocol-specific callbacks.
  • QML transport API: sockets, framing, HTTP, OAuth, OSC and MIDI payloads.

For editor workflow and examples, see Scripting and Custom UI. These are Qt-hosted scripts, not a browser or Node.js environment.

Audio languages

Language Use in score Reference
Faust Compiled signal-processing graphs for synthesis and effects Syntax, composition, libraries and controls
JSFX / EEL2 Source-based audio and MIDI effects hosted through YSFX Language, API references and host compatibility
Pure Data Visual dataflow patches hosted through libpd Patch language and score interface
Bytebeat Short arithmetic and bitwise expressions that generate sound C++ expression dialect and formula collection

ExprTK, JavaScript and C++ also provide audio-processing interfaces. Their timing and buffer contracts differ; use the reference for the selected process rather than transferring a callback from another language.

GPU languages and shader formats

Start with GLSL and Vulkan compatibility for types, shader stages, standard functions and the distinction between user code and declarations generated by score. The formats below combine GLSL with a header that defines controls, resources and execution.

Format Execution model Reference
ISF — Interactive Shader Format Fullscreen fragment passes for images and video ISF and score extensions
CSF — score’s compute extension Compute dispatches over images, buffers and geometry CSF headers, resources and functions
Raw raster pipeline Vertex and fragment stages for custom geometry rendering Raster interfaces and pipeline state
Vertex Shader Art Procedural points and lines generated in a vertex shader VSA inputs and shader contract
Geometry filter Vertex-attribute callback applied by the downstream renderer Geometry-filter shader contract

The Graphics pipeline explains how these processes connect. The Shader cookbook gives recipes that use the references. A Vulkan-compatible shader language does not mean that every GPU or rendering backend supports every resource or extension.

Rule-based graphics

  • EisenScript: transformations, recursive rules and weighted alternatives for Structure Synth geometry.
  • Context Free / CFDG: shape grammars for image generation.

These languages build geometry or images from rules; they are not per-sample audio languages or per-frame GPU shaders.

External interpreters

External scripts links the Python, POSIX shell, Bash, Zsh, Fish, PowerShell and Cmd references used with Shell command. These interpreters must be installed separately: invoking them is not the same as embedding their language runtime in score.

Which documentation applies?

Use the upstream language manuals for grammar and standard functions, and the local references for score’s integration. Installed Qt modules, compiler support, plug-ins and graphics capabilities determine what is available in a particular build. See Add-ons for optional capabilities and Live coding for the shared code-editor workflow.


Table of contents