Virux-AUv3 Release Notes
Versions 0.1.119 – 0.1.121
v0.1.121 2026-10-25
- AUv3: no more silent Logic sessions caused by a missing Microphone permission. macOS treats the Virus's USB audio return as a microphone and gives an app without that permission silent audio, with no error. This is why MIDI could reach the synth while no sound came back, even though the standalone app played fine. The AUv3 now asks for access the first time it is activated; the prompt appears in the host's name, because the permission belongs to the host. If you allow it while the plugin is already running, Virux restarts audio capture on its own.
- macOS: the editor tells you when the Microphone permission is missing. If access is denied or blocked by a management profile, the plugin and standalone editors show a notice at the bottom of the window. The notice names the setting to change (System Settings › Privacy & Security › Microphone) and stays there until you fix it. It does not block the editor, and the synth stays fully controllable. The diagnostic report also records the permission state and which process it applies to.
- Editor: Virux now warns when you play notes but the synth's USB audio stays silent. If notes go out for about two seconds while the USB audio coming back stays at the noise floor, every plugin (VST3 on Windows, Linux and macOS, and the AUv3) shows a notice at the bottom of the window. It points to the likely causes in order: the macOS Microphone permission, the parts' Output Select, and the USB audio engine on the Config page. The notice clears as soon as real signal arrives. A synth that is simply idle never triggers it. The diagnostic report records the same result.
- Editor: Save current patch works again. Saving the current patch, from the browser menu or the sidebar Save shortcut, previously asked the synth for a copy it never answered, so after renaming a patch the save beeped and wrote nothing. Virux now saves the editor's own copy of the patch, including every edit and the new name, to User Saved. Virux asks the synth only for a part the editor has never loaded. Edits made on the synth's panel while Hardware Link is off are not included.
- Timing: tempo-synced arpeggios, LFOs and delays now follow the host. While the host provides tempo and position, the plugins send the synth a standard MIDI clock with song position and start/stop, so the synth stays locked to the project's tempo, loops and position changes. This is automatic, with no setting. Clock starts only after the synth has finished preparing. Stopping playback, resetting or removing the plugin, or handing the synth to another application stops the clock and returns the synth to its own internal clock. MIDI clock already coming from the host is filtered out so it is not sent twice.
- Timing: fewer cut-off notes. Several conditions that silenced notes on a healthy synth have been fixed. Audio playback and MIDI sending could briefly block each other and trigger an all-notes-off, which caused intermittent note loss on Windows and macOS. Hosts that update parameters between audio blocks could have that update mistaken for a jump in position, which cut held notes. A gap in the host's transport information is no longer treated as a jump either, while stopping playback still releases held notes immediately. MIDI timing also no longer accumulates small rounding errors from block to block.
- Timing: when a VST3 host stops processing or an AU host resets the plugin, Virux now stops the clock and sends an all-notes-off straight away, without waiting for the next audio block.
- macOS: the VST3 reports its latency to the host accurately, even with the editor closed, and buffers less at small host buffers. Like the AUv3, it now sizes its buffering from the block size the host actually plays rather than the largest block it allows. For example, playing in 64-frame blocks with a 4096-frame maximum now reports 576 frames instead of 4608. Changes are passed to the host's delay compensation within about a tenth of a second. Hosts that repeat their setup while recalculating delay compensation no longer make the reported latency jump back and forth. The VST3 on Windows and Linux keeps its existing buffering.
- macOS: audio capture follows format changes on the Virus's audio device. If its sample rate, channel layout or streams change during a session, Virux restarts capture within about a quarter of a second, which can cause a brief moment of silence. Formats Virux cannot read are now refused at startup instead of producing garbled audio.
- macOS: more reliable USB sending after a write failure. When part of a long message fails to reach the synth, Virux no longer sends the rest as a broken fragment. Messages that ran out of time, such as all-notes-off retries, are now cancelled rather than sent seconds later or left piling up. Each message now waits only for its own delivery, so another message finishing can no longer be mistaken for it.
- Diagnostics: Stop & Save Diagnostics is always reachable. While diagnostic logging is on, the indicator in the top-right corner now reads Stop & Save Diagnostics and stays above every overlay, including the warning that the synth stopped accepting MIDI. Clicking it saves the logs immediately without changing pages or closing the warning. Previously, you had to unplug the synth and reload the editor to save, so the logs described the disconnected state instead of the failure. You can also reach it with Tab and press Enter or Space, even in interactive help mode.
- Testing: new coverage for: when the Microphone permission is requested and what the notice and report say; detecting silent USB audio while notes play, run through the real audio engine; saving the editor's copy with its new name and edits; saving diagnostics from every overlay with mouse and keyboard in both editor styles; MIDI clock tick counts, timing and message order ahead of notes; precise MIDI timing across sample rates and buffer sizes; parameter updates and transport gaps; audio and MIDI running at the same time without false note cut-offs; replay of a field USB write failure; editor-closed latency reporting and format changes in the macOS VST3. The OsTIrus emulator suite now allows enough time for a full state restore after reconnecting, and measures the custom LFO waveform and tempo changes on continuously running playback. Still manual: synth arpeggiator, LFO and delay phase against host clock, and latency compensation in Logic, on physical hardware.