ContentsPython: wildtrax_client

Python: wildtrax_client

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.

Connection

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()

Reads

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"

Commands

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.

Errors

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