Skip to content

Releases: GoXLR-on-Linux/goxlr-utility

1.2.3 - Fixes and Features

13 Oct 07:49

Choose a tag to compare

Hi all, welcome to the 1.2.3 release of the GoXLR Utility.

I've had a couple of new features and bugfixes floating around for a while, so decided it was time to dust my GoXLRs off, tack in a few extra features, do some testing and a cleanup and get a release out.

Be advised that all the projects dependencies have been reorganised and updated to their latest version, which includes rewrites to various bits of the code. Everything's been tested but if you find a problem, please open an issue.

New Features

  • [#224] Support 'Fade Out Time' on Samples (@parzival-space)
  • The sampler now supports .ogg and .flac files
  • Tapping the active FX Preset button will match the Echo Tempo to the beat
  • Support 'VOD Mode' on full device with Mix2 Firmware

Fixes

  • [#220] Correctly save 'VOD Mode' setting (@Braastos)
  • Correctly calculate Sampler fade-out sample count
  • Fixed fetching stable firmware from update site
  • Force fader assignment on profile load
  • Minor webserver concurrency improvements

Time to put my GoXLRs back on their shelf until next time!

--
@FrostyCoolSlug

1.2.2 - A couple of Maintenance Fixes

16 Apr 11:54

Choose a tag to compare

This is a re-release of 1.2.1, except it actually works on Windows.

The 1.2.0 release generally went off relatively well, lots of people reporting things working good, but there were a couple of issues that were raised which necessitate a small point release to fix. Firstly a shout out to @JulanDeAlb who identified (after reports) that the Thesycon driver provided by TC-Helicon doesn't provide a version number until a device is attached (which causes issues), and also provided the fix for this.. As always, grab the latest version below, but this changelog will be slightly different, and focus more on people providing the fixes.

Change Log

  • @FrostyCoolSlug

    • Worked around an issue with the Mini firmware version being incorrectly reported by the beta Update Site
    • Tightened up the pre-flight to make sure two utility daemons can't run at once (reported by 4Xsample on Discord)
    • Added Timeouts to fetching data from the TC servers to prevent thread lock ups
    • Fixed the 'Monitor' button never actually having worked correctly (reported by @JulanDeAlb)
    • Suppressed Sampler warnings caused by the Utility temporarily being busy doing other things
    • Force submix volume representation to 0 when 'Muting to All' on the beta firmware (reported by Pally on Discord)
  • @JulanDeAlb

    • Fixed erroneous driver warning if the Utility is started before a GoXLR is connected
    • Fixed issue that prevented the Utility from starting on Windows in 1.2.1 (reported by JP on Discord)

Stream Deck Plugin
Along with this release, we're also releasing a new version of the Stream Deck plugin (v0.4.1), with basic Stream Deck+ support for volume management, and improved plugins for 'Show Volume' and 'Toggle Mute', which you can grab from here

For everything else, there's mastercard downloads below.

1.2.0 - Stream Mix 2 + Firmware Updating

04 Apr 09:25

Choose a tag to compare

Hi all, and welcome to the 1.2.0 release of the GoXLR Utility.

Firstly, there are two new headline features, support for the official 'Stream Mix 2' beta, as well as the ability to Upgrade and Downgrade GoXLR firmware from inside the Utility itself. Given the nature of these changes, I'll put notes separately, and as always, downloads are below.

Before I proceed, I'd like to give a shout out @parzival-space for helping with the firmware update UI code, and @JulanDeAlb for saving the MacOS build, their contributions helped push this release over the line, and are greatly appreciated.

'Stream Mix 2'

This version of the Utility fully supports the 'Stream Mix 2' beta firmware released by TC-Helicon in September 2024, so if you're running the official Beta app you can switch to the Utility and all functionality will be present. Do note, that this requires the GoXLR Driver 5.30 and above. If you run the Mix 2 firmware without the correct driver, a large red banner will appear at the bottom of the UI with a download link to the latest driver.

Firmware Updating

Firstly, as a reminder, the GoXLR Utility is provided as-is. The GoXLR Utility team cannot be held liable for and damage caused to your GoXLR using this, or in fact any, GoXLR Utility feature. Please check the license for more information. If you have any doubts, please use the official application for Firmware actions.

This version of the GoXLR Utility supports downloading and installing official GoXLR firmware from the official TC-Helicon servers. We also support dynamically switching which update site to download the firmware from (Available in System -> Utility Settings).

More details can be found in this wiki page.

Other Changes

  • Attempted to solve issues with delayed sampler playback in rare cases (Thanks Pally & Hollingsbee on Discord for the assist)

Final Note

This is likely to be the last 'major' GoXLR Utility release which I do. I've been working on this project for over 3 years now, and with everything that's happened with TC-Helicon, the GoXLR and myself during that time my heart just isn't in this any more and I simply don't have the motivation to keep going.

I will continue to provide releases with bug fixes, work with the community on any PRs submitted, and ensure that the Utility continues to work as expected for the foreseeable future, however I will no longer be dedicating time to new features or general improvements.

This means until someone else wants to take up stewardship of the project, the GoXLR Utility is now in 'Maintenance Mode'. I'd like to thank everyone who's contributed over the years (be that support, code, bug reports, or just being a member of the community), the Utility would never have gotten this far without you.

--
@FrostyCoolSlug

1.1.4 - Hotfix

16 Sep 15:46

Choose a tag to compare

This is a hotfix release to resolve an issue introduced in 1.1.3 with volumes not loading correctly from the profile on full sized devices.

--
@FrostyCoolSlug

1.1.3 - Swappidy Swap Swap

14 Sep 13:29

Choose a tag to compare

Hi all, hope you're all having a good weekend, I'm here with a GoXLR Utility Release :)

1.1.3 primarily fixes the bug introduced in 1.1.2 which prevented 'swapping' two faders from being correctly saved to the profile, as well as a couple of other bits and pieces (if you're running a Mini, there's something fun in System -> Device Settings for you!).

As always, grab the release below, and here's the full changelog:

  • Fix issue with 'swapping' faders not saving to the profile correctly (Reported by Bullhorn + #188)
  • Fixed scribble display not being swapped when swapping faders
  • Support dynamic updating of 'Mute Function' without needing to unmute / remute faders or Cough button
  • When loading a profile, apply the channel volumes before assigning faders (Reported by my nightmare, MightyFlower)
  • Voice Chat Mute to All also Mutes Mic to Chat Mic correctly updates state on change
  • Update DaemonStatus on wake to correctly report the new GoXLR state
  • Added setting for the GoXLR Mini's Sampler / VOD channels to be sacrificed as a 'Stream Mix (No Music)' channel
  • Fixed issue with randomisation of samples (Reported by RossMinor)
  • Fixed Divide and Multiply by zero when linking submixes
  • Added code to correct profiles that were reporting SubMix link ratios as '0' or 'INFINITY'
  • [UI] Fixed error if the latest firmware version could not be determined
  • [UI] Fixed Sampler Lighting 'Apply to All' button not working (Reported by xAlgorhythms)
  • [UI] Improved screen reader accessibility for 'Mix Assignment', mix naming, and Waterfall direction settings (GoXLR-on-Linux/goxlr-ui#55)
  • [UI] Correctly clamp Mix B range inputs when Linked Mix ratio was greater than 1
  • [MacOS] Added option to disable the utility management of Aggregate Devices (Use Loopback instead, seriously)

--
@FrostyCoolSlug

1.1.2 - Stability, bugfixes and other little things

08 Aug 10:28

Choose a tag to compare

Hi all,

It's been almost 4 months since the last Utility release, how time flies! I'm quite happy with the state of the utility at the moment, it functions and does the job well.. This release is primarily focused on improving stability and reliability, along with a couple of smaller optimisations.

Change Log

Daemon

  • Massively Hardened the Profile Saving / Loading behaviours against corruption
    • A backup is made of a profile when loaded successfully as a 'known good' profile
    • If a profile fails to load, attempt to pull and use the backup
    • Change from fs::copy to fs::rename when saving to aid in avoiding disk sync issues
    • Do not execute any 'Save' shutdown actions when Windows reports a 'CRITICAL' shutdown reason
  • Created defaults for all profile keys to prevent crashing on incomplete official profiles (Reported by Arimil)
  • Removed some excessive error checking on things that cannot error
  • Improved behaviour of the UI app check to be a little less jank
  • Disable Submix Bug Mitigation on latest firmware Versions
  • Correctly display errors in the initialiser if it fails
  • Increased the Windows 'Sleep' check to 15 minutes to ease notification area mic flicker
  • Sample buttons set to 'Random' with only two samples will now choose one randomly
  • Flush the remaining sample buffer to file when stopping recording
  • Replaced bounded-vec-deque with a circular buffer based on rb (should give better performance)
  • Support Updating the Sample pre-buffer without needing to teardown the entire audio handler
  • Promote Profile Load failure messaging from debug to warn
  • The Utility will now probe the TC-Helicon servers on startup to fetch latest firmware versions
  • Expose the latest device firmware versions to IPC
  • Solve issue in TUSB driver which could result in a failure to detect devices
  • On Windows, use CM_Get_Device_Interface_List instead of libusb for device detection
  • Updated all dependencies to their latest versions
  • Fixed issue with Mix B volumes not being set correctly on profile load (Reported by Dadbeard)
  • Optimised the playback / stopping / teardown of Sample audio Playback

UI

  • Correctly disable Mute Target again where applicable
  • [#167] Fix mini hz and khz displays when fine tune is disabled
  • Added whitespace to empty router table cells to prevent weird breakage (Reported by Adrian)
  • Added a 'Firmware Update Available' notice to the bottom of the page with upgrade instructions

--
@FrostyCoolSlug

1.1.1 - Polish, Polish, MacOS and More!

13 Apr 11:58

Choose a tag to compare

NOTE: This is a re-release of 1.1.0, with a Windows UI related bugfix.

Greetings all, a lot of focus on this release has been dedicated to giving everything some polish and finalising features, there are a couple of 'Big Ticket' items in this release, so lets get started :)

Language Support

The Utility has been translated into several languages with MASSIVE thanks to the community members who have helped out with this project. On startup the Utility will check your system locale, and attempt to use that inside the UI if it's available. The language can also be manually changed in System -> Utility Settings if you'd prefer to keep it English, or use a different language. Below is the list of available languages, as well as the legends who have done the translation work (this comes with a MASSIVE thanks from me!).

Italian (Italy) - @PaoloTK
German (Germany) - @mischiminator, @jonilala769
Polish (Poland) - @pitermach
Dutch (Netherlands) - @Tyfcho
French (France) - donttrytogetintomylife(13), HokutoTokiSama
Russian (Russia) - @Kurenai-IRISKA, David, silcu

If your language isn't listed, and you'd like to help contribute, please check out the Translators channel on the Utility's discord.

Experimental MacOS Support

Before now, the only way to run the Utility on MacOS was to either compile it yourself, or use the third party GoXLR-on-MacOS project (which is currently based on 0.12.6), with 1.1.0 we now provide native MacOS binaries and a .pkg installer (Note: You may need to go to Settings -> Security in MacOS to allow the installer to run). There are currently two installers available, the x86_64 build for Intel based Macs, and the aarch64 for M1/M2/M3 based macs. Shoutout to Casper for helping test out the MacOS support!

Functionally, MacOS support now has feature parity with Windows and Linux, and includes the UI wrapper and an 'Aggregate Manager' to automatically manage the GoXLRs channels in CoreAudio while the utility is running. Automatically starting the Utility on Login can enabled in System -> Utility Settings.

Do be advised, the native Utility build will conflict with the GoXLR-on-MacOS project's build, and they cannot currently be run at the same time.

MacOS support is still somewhat experimental, and you may run into problems. Please report them to either github, or the Utility's discord.

Visualiser Polishing

With thanks to @parzival-space, the Visualiser in the UI is now fully functional. It'll now display your scribbles, highlight the section currently being modified, and can be left clicked to open a specific config page, or right clicked to load relevant the lighting page. In addition, if you happen to be running a White GoXLR, the Visualiser will reflect that.

Sampler

The sampler code and timings have been tightened to help reduce latency when replaying a sample, and more accurately trim the start of samples (shoutout to bryaudio on Discord for helping with the logic). Additionally, the sampler should no longer prevent Windows from dropping into a sleep state while the Utility is running, and no audio is currently being played to the Sampler.

Full ChangeLog

Daemon

  • Support Fetching the Scribbles via the Web interface as PNGs
  • Allow file locations to migrate alongside Username changes (Reported by Dusk)
  • [#156] Propagate JSON Formatting errors back to the IPC socket
  • Improved accuracy of Sampler trim code on recording (Reported by SGTBubbaGump)
  • If replaying an active sample, seek to start rather than destroying / recreating (Reported by SGTBubbaGump)
  • Close and Re-Open the Sample listener every minute if it's idle, allowing Windows to reach 'Sleep' mode.
  • Ensure the 'final' audio chunk when is written to the file when recording
  • Increased the CPAL buffer sizes to prevent audio skips when handling large pre-buffers
  • Sampler 'Clear' button now resets the Sample Function to Play/Next (matching official app behaviour)
  • Added setting for the Sampler 'Clear' button to NOT reset the 'Sample Function' (Requested by Ryan)
  • Added MacOS support for Device Lock / Unlock
  • Propage Display Lock state from all OSes to the Event Handler
  • Only spawn a TTS context if TTS is enabled
  • Correctly propagate changes to UIOnLoad in DaemonStatus
  • [API] Added SetLocale(Option) command
  • [API] Expose the GoXLR Driver type, and Version to IPC
  • [API] Expose System Locale to IPC
  • [API] Expose GoXLR ColourWay to IPC

CLI

  • Added 'persist' boolean to goxlr-client profiles [microphone|device] load <profile>

UI

  • Migrated UI from vue-cli to vite
  • Added Scribbles to Visualiser
  • Added Area Highlighting to Visualiser (@parzival-space)
  • Added White GoXLR visualisations
  • Introduces i18n package
  • Pulled all English strings into a separate i18n file
  • Added support for other languages (details above)
  • Modified Components to support 'long' Strings
  • Added Click Handling to the Visualiser (@parzival-space)
  • Fixed some components not using the correct Font (@mischiminator)
  • Polished up the Device Settings, Utility Settings, and Power Actions dialogs
  • Set the Gate Waveform line to the Bottom (Off) if the value is -59dB (Reported by BullHorn)
  • Added Confirmation Dialog when hitting the 'Shutdown Utility' button in settings
  • Display the Driver version in System -> About
  • If using a GoXLR Mini with Windows Driver Version > 5.12, the 'Sampler' output will be changed to 'VOD'
  • Wait for a SetVolume to complete before sending another one to prevent weird backlog issues (Reported by Casper)

Linux

  • Fixed libspeechd dependency requirements on Fedora Beta (Reported by PrussianPrince)

Hope you all enjoy, and until next time :)

--
@FrostyCoolSlug

1.0.6 - Polish, Fixes and Improvements

27 Feb 13:23
a35aeba

Choose a tag to compare

Downgrade Recommended

If you are reaching this page from a 1.1.0 update notification, it's highly recommended you downgrade back to 1.0.6 due to some issues with the Windows App found in the latest release. 1.1.0 will be re-released once those issues are resolved. Thanks!

Original Release Notes

Greetings one and all, 1.0.6 is a relatively large release, that for most people will appear relatively small. A lot of work was done on bringing the GoXLR Utility experience on Linux and MacOS more closely inline with the experience on Windows, but also includes new features, bug fixes, and a lot of extra polish under the hood as well.

The Mic Setup and 'Gate' sections of the UI now have a new waveform which detail your Mics volume levels over the last few seconds, these were added to make it easier to tune your Gain and Gate, and give a visual representation of the changes.

I'd like to also give a shoutout to Ryan on discord, who's spent the last couple of days reporting bugs (including audio and video reproductions), testing fixes, and generally just being awesome with the process :)

As always, grab the binaries below, and without further ado, onto the changelog:

General Changes

Daemon

  • Updated TTS crate to latest version
  • Don't report Encoder changes to TTS if device is a Mini
  • Don't send Echo 'Delay L/R' to GoXLR unless mode is ClassicSlap (Ryan)
  • Don't send Echo 'Tempo' to GoXLR if mode is ClassicSlap (Ryan)
  • Correctly round the Gender dial values so they're consistent (Ryan)
  • Correctly import profiles where 'Mute to Voice Chat' was changed to 'Mute to Chat Mic' (Ryan)
  • Solved situation where the TC-Helicon driver and the Utility's PnP handler could get out of sync (ONI)
  • Export raw Encoder values to IPC
  • Support displaying Startup errors via the UI on Linux (via KDialog / Zenity) and MacOS
  • Add Periodic Check for the 'Application' binary alonside the daemon, or in $PATH
  • Expose currently used 'Activator' (application / browser / other) to IPC
  • Add the ability to change the 'Activator' via IPC

UI

  • The VU Meter has been replaced with a Waveform in the Mic Setup dialog
  • A waveform can be displayed next to the Gate to provide feedback on settings
  • Correctly 'Disable' Tempo / Delay UI Elements depending on Echo Style
  • The Encoder Visualisation now correctly matches the GoXLR (Ryan / @parzival-space)
  • Added 'UI Handler' Option to System -> Settings to change between the App and Browser
  • Changed 'Mute to Voice Chat' to 'Mute to Chat Mic' to match newer versions of the Official App (Ryan)
  • Don't crash the Sampler component when the button is cleared while an option is selected (Ryan)

Application

  • Decreased minimum Utility version requirement to 0.12.0
  • When run, if the application isn't the default UI handler it will prompt to change
  • Added 'Single Instance' behaviour for the command line on MacOS
  • Changed tauri behaviour on MacOS to mimmic the App Hide / Show behaviour on Windows and Linux
  • Added goxlr-utility-ui to AUR, and produce .deb .rpm and .AppImage packages for Linux

Platform Specific Changes

Windows

  • Fixed 'Double Error' occurences when there are issues during Daemon Startup
  • Fixed installer not correctly closing the Utility if it was already running
  • Fixed resampling to prevent occasional 'popping' on long samples, and upgraded rubato
  • Attempt to gracefully handle when the Windows Audio System returns nonsense (#150)

MacOS

  • Added XPC support to goxlr-initialiser (run with --xpc)
  • Rebuilt Tray Handling
  • Added support for Shutdown / Sleep / Power actions
  • Added initial CI for building a .dmg installer for the Utility
  • Typoed the word 'Dock' in a commit at least once..

Linux

  • Support displaying startup error dialogs on Linux (via KDialog / Zenity)
  • Removed libdbus build dependency, instead use zbus fork of ksni
  • Prevent happening if the Utility cannot create a Tray Icon

--
@FrostyCoolSlug

1.0.5 - Fixes, tidying and Error Handling

31 Jan 11:28
4410840

Choose a tag to compare

The main goal of this release was to fix a couple of reported bugs since 1.0.4, as well as increase the robustness of the error handling in case something bad happens. The main fix ensures the UI opens when running the Utility from the Start Menu while it's already running.

In addition if you missed it, the Stream Deck Plugin got a release last week, adding a lot of new actions for better control!

Changelog

  • [Windows] Fixed bug where launcher may not detect the utility running
  • [Windows] Switched from win_win and winapi crates to windows crate
  • [Windows] Reworked Tray Icon Logic
  • [Windows] Display an error if the Utility fails to start
  • [Windows] Correctly set default log level to Debug on fresh installs
  • [UI] Fix Scrollbar style in lighting effects tab (Contributed by @t3duk)
  • Fixed Microphone not unmuting if unmuted via the API (Reported by @TheRealDadbeard)
  • Added 'already running' checks for platforms that use Named Pipes
  • Added preliminary code to detect Session Locking on Windows and Linux
  • If launching the Utility fails, force enable DEBUG logging

--
@FrostyCoolSlug

1.0.4 - Sample Trim Fix

05 Jan 13:18

Choose a tag to compare

This release primarily fixes issues with trimming the samples introduced with 1.0.1/1.0.2. It should now be possible once again to set the start and end points in the Waveform editor.

Thanks to Panja, Sepapiel and FatBoss on Discord, as well as #146 here on Github.

In addition, the GoXLR Utility is now available on Windows via winget, and will automatically update on future releases. A huge shoutout to @parzival-space for getting all that setup!

ChangeLog

  • Correctly update profile on SetSampleStartPercent and SetSampleStopPercent
  • Fix profile selectors in 'Power Options' being reset on unrelated changes. (Reported by ViP3R_76 on Discord)

--
@FrostyCoolSlug