Automatically mutes the Main bus while at least one audio track is record-armed, and unmutes it again as soon as no audio track is armed.
Built to avoid feedback loops when recording with a microphone through monitor speakers. Separate headphone outputs are unaffected — only the Main bus is touched.
This is not an official Fender Studio extension. It is an independent hobby project, and neither it nor its author is affiliated with, endorsed by, or otherwise connected to Fender or PreSonus.
It is an unofficial script built on an undocumented internal API. Fender/PreSonus provide no public documentation for Studio Pro scripting, and this extension is not endorsed, reviewed, or supported by them.
It was vibe coded with Claude (Anthropic's Claude Opus), based on the community-maintained Studio Pro Scripting API Reference, which itself states it is "entirely community-derived and incomplete" and may contain "missing, improperly structured, and potentially incorrect information."
It manipulates your Main bus mute state during recording. Test it on an empty song before trusting it in a real session. A future Studio Pro update may break it without warning. No warranty of any kind — if it ruins a take, that's on you.
- Fender Studio Pro 8 (may work on earlier Studio One versions — untested)
- macOS or Windows
The extension is not signed, so it has to be copied into place manually. Drag & drop onto the Studio Pro window will most likely be rejected.
1. Quit Studio Pro.
2. Copy the padbangers.automute folder into the Extensions directory:
macOS:
~/Library/Application Support/Fender/Studio Pro 8/Extensions/
Windows:
%APPDATA%\Fender\Studio Pro 8\Extensions\
On macOS the ~/Library folder is hidden. In Finder press ⌘ +
⇧ + G and paste the path above.
The result should look like this:
Extensions/
└── padbangers.automute/
├── installdata.xml
├── metainfo.xml
└── scripts/
└── automute.package
3. Start Studio Pro. Scripts are only scanned at startup.
Overwrite the folder with the new one — the package ID is unchanged, so it
replaces the old version in place. One manual step is needed afterwards:
v1.1.0 moves the command into the Padbangers category, which clears any
keyboard shortcut or toolbar button you had assigned to it. Assign it once
more and you're done.
The protection is off by default after every launch. Switch it on deliberately before a microphone session.
Find the command under the category Padbangers, named
Toggle Auto-Master-Mute:
- Keyboard shortcut: Preferences → Keyboard Shortcuts → category
Padbangers - Macro toolbar button: right-click the toolbar → Customize, then drag the command onto the toolbar
Both directions are acknowledged by briefly dipping the Main bus mute — no dialog, no click. The two signals are shaped differently so they can be told apart without counting:
| Action | Signal |
|---|---|
| Protection on | two short dips (~130 ms each) |
| Protection off | one long dip (~420 ms) |
Toggling while an audio track is still record-armed is refused outright: a dialog explains why and the state stays unchanged. There is no override — disarm the track first, then toggle.
This is the only dialog left in normal use. It is also the only thing the command does while something is armed, no matter how often you press it.
When recording DI guitar, synth, or reamping, switch the protection off so the Main bus stays open.
- Only audio channels are checked. Instrument/MIDI tracks never trigger it.
- A Main mute you set by hand is left untouched — the script only clears a mute it set itself. The acknowledgement blink also restores whatever mute state it found.
- On shutdown the script clears its own mute so you don't inherit a silent Main bus.
- While switched off, the script does no work at all (no channel scanning).
The API exposes no callback for record-arm changes, so the service polls every 500 ms. This runs on the UI/script thread, not the audio thread — it cannot cause dropouts or clicks regardless of buffer size.
To change the interval, edit POLL_MS in service.js inside
scripts/automute.package (a plain ZIP archive). The blink runs on its own
faster timer so the poll rate doesn't have to be raised for it: BLINK_ON and
BLINK_OFF are lists of phase lengths in ms, starting with a muted phase and
alternating ([130, 130, 130] = dip, gap, dip).
- Feature — Blink feedback instead of dialogs. Toggling no longer opens a dialog you have to click away. The new state is signalled by briefly dipping the Main bus mute: two short dips for on, one long dip for off.
- Feature — Safety block while a track is armed. Toggling while an audio track is still record-armed is refused outright, with a dialog explaining why. Disarm first, then toggle. Switch the protection on before arming.
- Change — Command category renamed to
Padbangers(wasAuto-Mute), so all Padbangers commands sit together. This clears any keyboard shortcut or macro toolbar button you had assigned — reassign it once after updating. - Change — Product renamed to Auto-Master-Mute. The package ID stays
padbangers.automute, so this updates an existing install in place.
- Feature — Initial release. Background service that mutes the Main bus while at least one audio track is record-armed, plus a toggle command to switch the protection off for non-microphone recording.
Quit Studio Pro and delete the padbangers.automute folder from the Extensions
directory.
The command doesn't appear in the lists.
Make sure Studio Pro was fully restarted. Registration changes in
classfactory.xml are only read at startup.
Nothing happens when arming a track.
The protection starts off after every launch — toggle it on first. If it is
on and still does nothing, the polling loop may not be running on your version;
the loop relies on Host.Signals.postMessage re-waking the service, which is
not documented behaviour.
The button only shows the "track is still record-armed" dialog. That is the safety block doing its job: the state cannot be changed while a track is armed. Because of it, switch the protection on before arming — once a track is hot the toggle is locked until you disarm.
Public domain / do whatever you want. No warranty.