Control WildTrax from another machine over the HTTP API. Standard library only, Python 3.8+.
pip install wildtrax-client
from wildtrax_client import WildTrax
wt = WildTrax("192.168.1.42") # port defaults to 5659
wt.wait_for_approval() # approve + grant Write in Session Manager
wt.metadata.scene("SC07")
wt.transport.record()
wt.transport.stop()
Indices are 1-based.
| Call | |
|---|---|
WildTrax(host, port=5659) |
|
wt.hello() |
{"app","version","status"} |
wt.wait_for_approval(timeout=120) |
Blocks until approved |
wt.is_approved() |
|
wt.can_write() |
| Call | |
|---|---|
wt.recording() |
bool |
wt.session_state() |
Full snapshot |
wt.get_tracks() |
|
wt.get_metadata() |
|
wt.get_pad(i) |
|
wt.get_playlist_row(i) |
|
wt.get_export_file(i) |
|
wt.get_soundreport_entry(i) |
|
wt.get_session_client(i) |
|
wt.get_matrix("input") |
"input" or "output" |
| Namespace | Calls |
|---|---|
wt.transport |
record() stop() false_start() false_start_confirmed() |
wt.tracks |
arm(i, value=True) mute(i, value=True) monitor(i, value=True) pan(i, pan) name(i, name) add() remove(i) set_count(n) |
wt.metadata |
project(v) scene(v) slate(v) take(v) roll(v) note(v) add_marker() add_note_to_bank(text) remove_note_from_bank(i) insert_quick_note(i) |
next_project(v) next_scene(v) next_slate(v) next_take(v) next_roll(v) reset_next() |
|
auto_increment("take", True) auto_reset("slate", True) |
|
wt.config |
preroll(enabled) preroll_full(enabled, size) meter_smoothness(f) global_monitor(on) playback_volume(0-100) matrix_cell("input", row, col, on) |
wt.soundboard |
play(i) stop(i) add_pad() remove_pad(i) move_pad(a, b) title(i, t) color(i, c) fade_in(i) fade_out(i) repeat(i) solo(i) trigger_mode(i, m) |
routing_mode(i, m) routing_init(i) routing_cell(i, src, dst, gain) |
|
wt.playlist |
play() stop() loop(on) index(i) add_row() remove_row(i) move_row(a, b) row_title(i, t) row_color(i, c) |
row_routing_mode(i, m) row_routing_init(i) row_routing_cell(i, src, dst, gain) |
|
wt.export |
add() remove(i) update(i, field, value) toggle_track(file, track) display_resolved_names(on) |
wt.report |
csv(folder=None) auto_save(on) edit_entry(row, field, value, track_index=None) |
pan: 0 left · 1 right · 2 center. trigger_mode: 0 latched · 1 momentary. Routing mode: 0 auto · 1 stereo · 2 mono left · 3 mono right · 4 mono center · 5 custom. Fields for update and edit_entry are listed in the HTTP API.
All exceptions subclass WildTraxError.
| Exception | HTTP |
|---|---|
ConnectionFailed |
Host unreachable |
PendingApprovalError |
202 |
BadRequest |
400 |
PermissionDenied |
403 |
NotFound |
404 |
RecordingInProgress |
409 |
RateLimited |
429 |
ServerError |
Anything else, including 402 tier_required |