Skip to content

Audio Mixer Studio

App: apps/audio_mixer_studio/

A GUI audio-mixer console wired end to end (engine PLM-150/159): a looping music bed and a one-shot SFX (the audio_player music clip + audio_3d SFX) each routed to a mixer group, with a channel strip per group (volume slider + mute + solo), a Master fader, a ducking toggle, a Music-bus reverb cycle + low-pass toggle (the EFX effects/filter stack), and a Save mix button that persists the player’s levels. It puts the whole Unity-parity mixer stack — groups, gain/mute/solo, ducking, per-group effects + filter, config defaults, and persistence — on one screen for a game dev to crib from.

Terminal window
% ./plume3d audio_mixer_studio

The music bed starts looping. Drag a group’s slider, mute/solo it, toggle Music ducks under SFX, and press Space (or Play SFX) to fire the SFX — with ducking on, the music dips while it plays. Hit Save mix to write your levels to settings.toml; relaunch and they’re restored.

  • Group defaults come from game.toml’s [Mixer] (Music 0.7, SFX 1.0); the engine pre-creates the groups.
  • Audio.newSource("sounds/TheFieldOfDreams.mp3") (looping) → Mixer.group("Music"); sounds/click.wavMixer.group("SFX").
  • Channel strips read/write group.volume / group.muted / group.soloed; the duck toggle calls group.duckUnder(...) / clearDuck.
  • The Music effects row cycles a reverb preset (clearEffects + addReverbPreset) and toggles a low-pass (setLowPass / clearFilter) on the Music bus — effect and filter stacking live.
  • Save mix calls Mixer.saveSettings()settings.toml, auto-loaded at next startup.
  • Mixer — groups, volume/muted/soloed, duckUnder, saveSettings.
  • Audio — the routed music/SFX sources.
  • Gui — sliders, checkboxes, buttons.
  • game.toml [Mixer] — the default levels.