Development Status
This is the list of the currently registered opcodes.
Supported ones are marked with
, otherwise with
.
Opcodes that do not register and set a corresponding variable in the region
objects are not listed, so any missing opcode here is basically completely
unsupported.
I try to unit-test some parts of the system but sometimes it’s quite messy to do
at first, so only “manual” empirical tests are done.
The classification follows the list over at https://sfzformat.com/.
Sound source
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| sample |
/ |
– |
|
 |
Unit test |
| sample (generators) |
/ |
– |
|
 |
Manual test |
| delay |
float |
0 |
0 - 100 |
 |
Manual test |
| delay_random |
float |
0 |
0 - 100 |
 |
Manual test |
| offset |
int |
0 |
0 - 2^32 |
 |
Manual test |
| offset_random |
int |
0 |
0 - 2^32 |
 |
Manual test |
| end |
int |
0 |
-1 - 2^32 |
 |
Manual test |
| count |
int |
0 |
0 - 2^32 |
 |
Manual test |
| loop_mode |
enum |
no_loop |
see spec |
 |
Manual test |
| loop_start |
int |
0 |
0 - 2^32 |
 |
Manual test |
| loop_end |
int |
0 |
0 - 2^32 |
 |
Manual test |
Instrument settings
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| group |
int |
0 |
0 - 2^32 |
 |
Manual test |
| off_mode |
enum |
fast |
fast or normal |
 |
Manual test |
| off_by |
int |
0 |
0 - 2^32 |
 |
Manual test |
Region logic: key mapping
| opcode |
type |
default value |
range |
status |
tested |
| lokey, hikey, key |
int |
0, 127 |
0 - 127 |
 |
Unit test |
| lovel, hivel |
float |
0, 127 |
|
 |
Unit test |
Region logic: midi conditions
| opcode |
type |
default value |
range |
status |
tested |
| lochan, hichan |
int |
1, 16 |
1 - 16 |
 |
Unit test |
| lobend, hibend |
float |
-8192, 8192 |
-8192, 8192 |
 |
Unit test |
| loccN, hiccN |
int |
0, 127 |
0 - 127 |
 |
Unit test |
| sw_hikey, sw_lokey |
int |
0, 127 |
0 - 127 |
 |
Unit test |
| sw_up, sw_down |
int |
unset |
0 - 127 |
 |
Unit test |
| sw_last |
int |
unset |
0 - 127 |
 |
Unit test |
| sw_previous |
int |
unset |
0 - 127 |
 |
Unit test |
| sw_vel |
enum |
current |
current or previous |
 |
 |
| sw_default |
int |
|
0 - 127 |
 |
Unit test |
Region logic: internal conditions
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| lorand, hirand |
float |
0, 1 |
0 - 1 |
 |
Unit test |
| lochanaft, hichanaft |
int |
0, 127 |
0 - 127 |
 |
Unit test |
| lobpm, hibpm |
float |
0, 500 |
0, 500 |
 |
Unit test |
| seq_length |
int |
1 |
1 - 100 |
 |
Unit test |
| seq_position |
int |
1 |
1 - 100 |
 |
Unit test |
Region logic: triggers
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| on_loccN, on_hiccN |
int |
0, 127 |
0 - 127 |
 |
Unit test |
| trigger |
enum |
attack |
attack, release, first, legato, release_key |
 |
Unit test |
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| pitch_keycenter |
int |
60 (C4) |
0 - 127 |
 |
Manual test |
| pitch_keytrack |
int |
100 |
-1200 - 1200 |
 |
Manual test |
| pitch_veltrack |
int |
100 |
-9600 - 9600 |
 |
Manual test |
| pitch_random |
int |
0 |
0 - 9600 |
 |
Manual test |
| transpose |
int |
0 |
-127 - 127 |
 |
Manual test |
| tune |
int |
0 cents |
-100 - 100 |
 |
Manual test |
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| pan, pan_oncc |
float |
0 |
-100 - 100 |
 |
Manual test |
| position, position_oncc |
float |
0 |
-100 - 100 |
 |
Manual test |
| width, width_oncc |
float |
100 |
-100 - 100 |
 |
Manual test |
| volume, volume_oncc |
float |
0 dB |
-144 - 6 |
 |
 |
| amplitude, amplitude_oncc |
float |
100 |
0 - 100 |
 |
Manual test |
| amp_keytrack |
float |
0 |
-100 - 100 |
 |
 |
| amp_keycenter |
int |
60 (C4) |
0 - 127 |
 |
Manual test |
| amp_veltrack |
float |
0 |
-100 - 100 |
 |
Manual test |
| amp_velcurve_N |
float |
0 |
0 - 1 |
 |
Manual test |
| xfin_lokey, xfin_hikey |
int |
0, 0 |
0 - 127 |
 |
 |
| xfout_lokey, xfout_hikey |
int |
127, 127 |
0 - 127 |
 |
 |
| xfin_lovel, xfin_hivel |
int |
0, 0 |
0 - 127 |
 |
 |
| xfout_lovel, xfout_hivel |
int |
127, 127 |
0 - 127 |
 |
 |
| xf_keycurve |
enum |
power |
power, gain |
 |
 |
| xf_velcurve |
enum |
power |
power, gain |
 |
 |
Modulation: Envelope generators
| Opcode |
Type |
Default Value |
Range |
Status |
Tested |
| ampeg_hold, ampeg_hold_oncc |
float |
0 s |
0 - 100 |
 |
Manual test |
| ampeg_delay, ampeg_delay_oncc |
float |
0 s |
0 - 100 |
 |
Manual test |
| ampeg_decay, ampeg_decay_oncc |
float |
0 s |
0 - 100 |
 |
Manual test |
| ampeg_sustain, ampeg_sustain_oncc |
float |
100 % |
0 - 100 |
 |
Manual test |
| ampeg_release, ampeg_release_oncc |
float |
0 s |
0 - 100 |
 |
Manual test |
| ampeg_attack, ampeg_attack_oncc |
float |
0 s |
0 - 100 |
 |
Manual test |
| ampeg_start, ampeg_start_oncc |
float |
0 % |
0 - 100 |
 |
Manual test |
| ampeg_vel2attack |
float |
0% |
0 - 100 |
 |
 |
| ampeg_vel2decay |
float |
0% |
0 - 100 |
 |
 |
| ampeg_vel2delay |
float |
0% |
0 - 100 |
 |
 |
| ampeg_vel2hold |
float |
0% |
0 - 100 |
 |
 |
| ampeg_vel2release |
float |
0% |
0 - 100 |
 |
 |
| ampeg_vel2sustain |
float |
0% |
0 - 100 |
 |
 |
| ampeg_vel2depth |
float |
0% |
0 - 100 |
 |
 |
Other capabilities
-
#define handling
-
#include handling
- Audio formats:
WAV,
FLAC and
Ogg