Skip to content
Janek edited this page Aug 31, 2020 · 19 revisions

Macro Format

This is the format specification for Mixxx Macros, a feature that allows the recording and reproduction of jumps and particular control changes.

See Mixxx Macros and Mixxx Macros Requirements for background on the project.

Controls

[ChannelN]

show_macros not yet implemented because GUI is very ad-hoc

Key/Control Range What it does
show_macros binary Whether to show the Macro Rack for this channel
macro_X_status -1 - 4, read-only -1=no track loaded, 0=empty, 1=recording armed, 2=recording, 3=recorded, 4=playing
macro_X_record binary Whether Macro recording is active. When activated while state is recorded(3), the new recording will be appended. Can be toggled with a button.
macro_X_play binary Whether the Macro is playing. Can be toggled with a button.
macro_X_enable binary Whether the Macro will automatically be started when the track is loaded. Automatically set to true on play. Can be toggled
macro_X_loop binary Whether the Macro should loop infinitely. Persisted in database.
macro_X_activate binary If playing, seek to beginning and start over. If recorded, enable. If unset, start recording.
macro_X_clear binary If status is recorded(3), remove all actions. Keeps the label in case you want to re-record it.

Storage

A Macro with its Actions is stored in the protobuf format.

A table in the mixxxdb stores the binary blob of the Macro along with its name, the id of the corresponding track and its state (enabled/looped).

Clone this wiki locally