preferences.yaml¶
preferences.yaml allows you to customise various settings of the zcx script.
two levels of preferences¶
At the root of your zcx installation is a file _global_preferences.yaml.
Inside your _config folder, you may create the file preferences.yaml.
As zcx allows per-set configs, the purpose of having multiple files is to allow you to have certain preferences across all of your configs, and expand or modify those preferences per-config. If you only use one zcx config, you may choose to use either of these files.
preference reference¶
Each of these headings represents a top-level yaml entry.
action_log¶
When set to true, all triggered ClyphX Pro action lists will be logged.
configs¶
This setting must be set in _global_preferences.yaml
Allows you to configure per-set configs.
configs:
- config: dj
pattern: dj_set
- config: solo_set
pattern: >
[solo]
- config: mixing
pattern: MIX
encoder_undo_duration¶
When moving an encoder, Live's undo history is written to. zcx attempts to batch these changes so that a long move of the encoder writes to the history only once. When an encoder is moved, zcx will wait for this duration (in seconds) to batch any additional encoder moves. So, by adjusting this preference you will alter this behaviour.
exclusive_modes¶
A list of lists. Each inner list contains the names of modes that are mutually exclusive; only one mode in the list may be active at a time. A mode may appear in multiple exclusive groups.
To have one mode active when zcx loads, use a startup command bundle with a mode_on command.
force_config¶
This setting must be set in _global_preferences.yaml
Override pattern matching for per-set configs and explicitly load the specified config, or the default config.
Load config from the folder _config_dj/
Load the default config _config/
initial_hw_mode¶
Options:
zcx- When zcx loads, switch the device to user mode.live- Do not attempt to take control of the hardware on set load.
load_hardware_plugins¶
Determines whether any hardware-specific plugins (located in zcx/hardware/plugins) will be loaded.
load_user_plugins¶
Determines whether any user plugins (located in zcx/plugins) will be loaded.
log_failed_encoder_bindings¶
By default, when an encoder fails to bind to the specified target an error message is written to the log.
In some cases, it may be expected that bindings fail, so you may set this option to false.
log_file_max_size¶
Max size of the log file in megabytes.
log_file_backups¶
Number of log file backups to keep.
log_level¶
Configures how detailed the zcx logs are. From most to least detailed, the options are:
- debug
- info
- warning
- error
- critical
osc_output¶
See the OSC lesson.
playable_channel¶
plugins¶
Consult the documentation of your plugin to see the available options. If the plugin came with zcx you will find this information in the hardware reference for your controller.
session_ring¶
Configures the session ring. See the lesson for more information.
startup_command¶
Fire a command bundle when the script is finished loading.
startup_page¶
Set the page that is active when the script loads.
Alternatively:
- Use a startup_command
- Set a page order
strict_mode¶
When loading your config with strict_mode: false, some errors that would normally be fatal are handled gracefully, and zcx attempts to continue loading.
Such errors are normally the result of misconfiguring a single control or encoder.
These errors will be written to the log file.
With the default, strict_mode: true, an error with a single control will crash the script.
This will be immediately obvious from the popup error message in Live, and the fact that your controller is not functional.
Danger
Keeping strict_mode: true is highly recommended, as it allows you to notice errors soon after you make them.
Turning off strict mode means you risk discovering such errors at inopportune moments, like while on stage.
If you disable strict mode while debugging, remember to turn it back on once finished.
Disable strict mode at your own peril!
developer preferences¶
The following preferences are only useful when developing the 'core' of zcx.
log_includes_tests:¶
When true, log.txt includes the output of any tests or user tests.
Test output is written to test_log.txt in either case.
refresh_on_all_sysex¶
When set to true, zcx will refresh all LED feedback upon receipt of any MIDI Sysex message.
This may be useful if you are trying to test controller-specific code for a controller you don't have access to.