- Syntax highlighting for SFZ headers, opcodes, and settings
- A theme ("Dark+ for SFZ") based on Dark+ for coloring SFZ-specific features
- Parameter validation for most documented opcodes
- Some snippets for creating and editing SFZ files
- Syntax highlighting and parameter validation are handled by a set of TextMate Language Grammars found in the syntaxes/sfz.tmLanguage.json file.
- Opcode token definitions are organized by SFZ version (v1, v2, ARIA) and category (e.g. Sound Source or Region Logic). To disable a group of patterns (e.g. ARIA-specific instrument setting opcodes), delete the corresponding #include line at the top of the tmLanguage file.
- Parameter validations are organized by type (float, int, string) and range (for example, validation of floats between 0 and 100 is in the "float_0-100" object).
- Color assignments can be changed in the themes/sfz.theme.json file. For a guide, I used Simon Cann's SFZTools for UltraEdit. Tokens defined specifically for this theme are at the top of the file.
- Snippets can be changed in the snippets/sfz.json file.
- Many modulation parameters are only evaluated as to whether they are numbers, rather than against valid ranges.
- Floats in scientific notation are not treated as valid.
- The effects "type" opcode is not validated as I can't find any documentation on it.
- #define substitutions are currently highlighted as invalid.
- Initial version.