Skip to content

Site Opcode Database

redtide edited this page Feb 25, 2021 · 1 revision

The syntax.yml database file stores all the sfz opcodes and headers informations.

The headers section is used by the _includes/sfz/headers-table-generator.liquid to build /headers/index.md description tables:

  • name: The header name
  • version: The SFZ version (see below)

The opcodes section is used by different files as database information for all known opcodes, including extension ones.

The data is accessible from the site.data.sfz.syntax.opcodes and site.data.sfz.syntax.headers Liquid variables.

There are various possible variables, which most are not mandatory, so if some opcode doesn't includes a feature, it can be omitted, resulting in Liquid code as variable-name == nil.

Currently possible values are:

  • name: the opcode name.

  • short_description: a brief opcode description used to describe all opcodes included in the related SFZ version/extension page.

  • version: SFZ version or extension, one of:

    • SFZ v1
    • SFZ v2
    • ARIA
    • Cakewalk
    • LinuxSampler
    • sfizz
  • alias: if the opcode has some alias in other specification version.

  • value:

    • type_name: Value type (string, integer, float etc.), mandatory for opcodes.
    • default: An optional default value.
    • min: An optional range minimum value.
    • max: An optional range maximum value.
    • unit: Value unit (seconds, decibels, cents etc.).
  • modulation:

    • envelope: true (bool, without double quotes) if unspecified but present, otherwise the name of modulation (string).

    • lfo: same as for envelope.

    • midi_cc:

      • name: the ccN related opcode event name.
      • version: the opcode modulation SFZ version

For more details, check the file for additional variable options.