Releases: GoXLR-on-Linux/goxlr-utility
1.0.3 - Hotfix
This is a small 'HotFix' release that solves issues with Samples not being Resampled correctly, resulting in them playing back faster or slower than they should on Windows.
Thanks to Pally, Corey, Zerovu and LupusCapiosus for reporting, and helping!
ChangeLog
- Reverted the
rubatocrate back to 0.12.0, to solve resample issues.
Release 1.0.2 - Sleep and Samples
Note: 1.0.1 was redacted due to issues, 1.0.2 is now the latest version.
2023 Started with the release of 0.9.0 and we've seen 14 releases since then! A huge shoutout to everyone who's worked on the utility, helped with support as well as bug fixes throughout the year. It's been a great year for the GoXLR and the Utility, so I'm looking forward to 2024! Anyway, down to business.
As you may recall, in the 1.0.0 release I noted that I consider the Utility 'Complete', so with that in mind, here's some new stuff!
Sleep / Wake Actions
The 'Shutdown Actions' button on the System tab has been replaced with a 'Power Actions' button, and now includes options for what to do when your PC is entering and leaving Sleep mode. This allows you to (for example) load the Sleep Colour profile when your PC goes to Sleep, then reload your normal profiles colours when it wakes up, amongst other things.
For those using a Mini which powers off when your computer sleeps, there's a 'Reload Settings' option, which should bring your Mini back to life with the previous settings when your PC wakes up.
This feature is currently only available on Windows and Linux, and for Linux your environment needs to implement the org.freedesktop.login1.Manager dbus signals.
Sampler Changes
Some changes have been made to the way Samples are recorded in an effort to bring better volume consistency to added vs recorded samples. This is the first situation in which the utility does NOT behave identically to the official app on a common feature, but overall I feel it's an important change. Because of the nature of this change, I've created a Wiki Page which details the context as well as 'Before' and 'After' behaviours.
Change Log
- Prevent Visual C installation from Rebooting PCs on install.
- Improve PnP Handler's readiness check
- Add option to System -> Utility Settings to always show the UI on Launch
- Add Sleep / Wake Power State Actions (#79, #127)
- Properly Handle process names as UTF-8 when doing Process Check (#134)
- Normalise recorded Samples to match Added sample Volumes
- Bundle VC Redist and WebView2 Bootstrapper with the Windows Installer
- Correctly update the DeEsser UI Element when the Value is changed (#132)
- Added a Pre-Flight check on Windows to ensure the Driver is present before launching, and error otherwise.
- Properly Log errors when Spawning the HTTP Server
- Have the the WebUI automatically attempt to reconnect when it loses connection
- Change the Labels in Mic Setup to better reflect their behaviour
- The UI will now correctly load external links (such as updates, or discord) in the users external browser.
- Various Dependency Updates
While I normally attach credits to the issue, this release has been a little difficult just to the number of people involved! So I'll list all Discord contributors / suggesters / helpers below:
ViP3R_76, DSL_Installateur, Cob Kurtain, S N Λ K Σ, Turbo_David, Caniso, Parzival, JulanDeAlb, SirWizardLizard, Pally, Kable, ThicChan, lily<3, tekidoko, catherine, Le Gâté, xargs, bryaudio, Zerovu, Paolo
If I've missed you, gimme a poke on discord and I'll fix it!
Happy Holidays, and the best new year!
1.0.0 - Official Release
I know a lot of people have been waiting on this release, so it's finally, here, v1.0.0 of the GoXLR Utility!
When we started this project several years ago, our goal was always to simply make a 1:1 compatible version of the GoXLR App designed for use on Linux and MacOS to provide those OSes with the same experience as on Windows. During development and over time we also added quite a few Quality of Life changes and improvements, good accessibility support, and eventually Windows support.
This release indicates that our main objectives for the Utility have been attained, and that the project is now considered 'Complete', and future updates here will likely be primarily bugfixes and smaller changes. For those happy with the compatibility and simple usage, the utility is still the tool for you.
But do not fret, this certainly isn't the end of the road. Work is beginning on a new project where we intend on throwing out the need for compatibility with the official app, and attempt to push the GoXLR as best as we can with the firmware available. We'll be looking at features such as fader paging, multiple mute targets, and other enhancements which aren't possible while maintaining compatibility.
While work is still in its extremely early days, keep an eye on the Utility's discord for notifications as we start putting things in place :)
For now, enjoy 1.0.0, below as always is the main changelog:
- Reorganised the FX Keys to prevent activation when changing settings
- Fixed incorrect handling of cough button on profile load when Muted To X (#121)
- Correctly handle the Pitch Threshold when loading from a profile (Reported by Pally)
- Avoid saving corrupt configs in the event the Utility is killed before configs are written (Reported by Multiple)
- A corrupt global settings file will no longer crash the utility, instead will load defaults (Reported by Multiple)
- Errors with (for example) opening a browser when clicking the tray icon are logged
- Critical PANIC errors are now logged to the log file
- Log files will attempt to use local time instead of UTC (Requested by DrawF)
- Add ability to probe the 'Microphone Level' directly from the GoXLR via the API
- Fix Scenario where 'MicInputMute' is not correctly reset on profile load (Reported by evlsmurf)
- Disable Fader Colours when 'Muted to All' to simulate 'Volume 0' on the Mini (Requested by silcu)
- Added Option to 'Lock' the Faders in their current positions when Muting to All (Requested by Dadbeard)
- [UI] The 'Mic Setup' dialog will now display a basic VU Meter indicating mic level
- [Linux] Added a SuSE artifact during CI build (Requested by MagicTrevor)
- [Linux] Do not try to reload udev when running on an immutable OS (#128)
- [Windows] Don't warn on driver version 5.57.0
- [Windows] Tray icon will respawn on explorer.exe restart (#124)
- [Windows] Download and install the Visual C++ Runtime if needed on install (Requested by Arnavigator)
- [Windows] The installer will now tick 'Use App' by default
- [Windows] Added goxlr-client-quiet.exe binary, which executes without a Command Prompt (Requested by MaddinAusmPott)
- [Windows] Fixed incorrect Error message in the installer if the GoXLR Drivers are missing
All the best!
0.12.6 - Bugfix Release
Hi all,
It's been just under a month since the last release, and from what I can tell things are going smootly, this release is primarily to fix a couple of small issues which have been floating around since then, there is a stability fix, so it's recommended you update.
Installer
[FIX - #114] - Installer will correctly check for drivers installed to non-default locations
Daemon
[FIX] Solved issue with Windows Handle leak that could cause stability issues after extended runtimes (Thanks samcarsonx on Discord)
[FIX] Ensure FX load in the correct order on Profile Load to prevent bad settings
[FIX] Delay loading GoXLRs on first start due to conflict with PnP handler
[NEW] Device setting to turn on Mic Monitoring when FX are active (Requested by CJ on Discord)
[*] Default Microphone profiles now have the noise gate disabled by default, to aid with initial setup
UI
[FIX - UI29] Update the visualisation of the encoders when changed via the UI (Thanks @Ginjah6205)
And that's all!
0.12.5 - Experimental UI App
Hi everyone! - This is a re-release after fixing a bug which could cause Mini Compressors to not function at all.
This release contains several fixes for some issues and suggestions that have appeared since 0.12.4, but primarily includes an option to use an App, instead of a browser window when clicking the tray icon or running from the programs menu.
During installation you'll get an option to install and use the app, if you wanna use the App, simply tick it and complete installation. If you run into any problems, please report them to discord. The WebUI will still (always) be available in a browser at http://localhost:14564 if you can't load the App.
If the app simply doesn't work for you, please re-run the installer, and untick the box. This will cleanly remove the App from the Utility.
As always, the main ChangeLog follows:
Daemon
[FIX - #103] When using a GoXLR Mini, keep volumes latched to faders when Muted to All
[FIX - #108] Added Submix Beta bug mitigation when assigning Line Out or Headphones to a Fader
[FIX] Removed 'Ripple' animation option on the Mini, as it's not supported in Firmware (reported by mudtsu on Discord)
[FIX] Actually Implement SetCoughMuteState API command
[FIX] Compressor Attack and Ratio were not being correctly set on the Mini (Reported by Ed on Discord)
[FIX] Properly buffer Samples with low Rates (Reported by Dusk on Discord)
[*] Added 'Logs' to the System Tray -> Open Path menu
[*] Allow Samples -> Sampler Routing (Requested by Mitchtsg93 on Discord)
UI
[FIX] Solved bad behaviour when rapidly moving Animation Gradient Mod (Reported by mudtsu on Discord)
[FIX] The 'Add Sample' dialog now works if the top right tab is on 'Samples' (Reported by Gonzi and xAlgorhythms: on discord, also #109)
[NEW] If your mouse button is down when you leave the lighting circle, pin colour selector to edge of circle (Requested by mudtsu on Discord)
And that's it, update, try out the new app, remove the new app, and otherwise enjoy :)
0.12.4 - Hotfix
Hi all,
This is primarily a bugfix release to prevent the Utility from sipping away at far more CPU than it needs (some people reported up to 10% usage with 0.12.3), Shout-out to Yunnie, Nvsbl, KiwiJar and mudtsu for reporting and helping me with testing to solve it. I've also slotted in a couple of other bug fixes, but they're relatively minor.
ChangeLog:
- [FIX] Switch from
WaitForSingleObject+PeekMessageWtoSetTimer+GetMessageWto solve CPU overhead issue - [FIX] Improved Logging when Loading Mic Profiles
- [FIX] Fixed loading some values in Mic Profiles if they're stored as Float instead of Int (Reported by TechSavage on Discord)
- [FIX] Solved issue with the utility not correctly unmuting channels on first profile load
- [*] Moved from
sysinfototaskliston Windows to lower process checking overheads
Enjoy!
0.12.3 - Fixes and Visualisation!
Hi everyone!
This release is primarily to fix some issues found by users over the last week and a couple of changes, for all those who joined us, welcome!
Firstly, from the UI space this release comes the brand new, and absolutely beautiful GoXLR Visualisation, brought to us by @parzival-space! In addition scroll wheels work properly on sliders (including on the Visualisation) thanks to @NinjaLabs-Dev. Huge shout-out and thanks for the contributions!
On the main Utility side, the Windows 'Shutdown Behaviours' functionality has been improved and hopefully reliably runs now. Shout out to @Lioden4, @teddybrine and @AlienXAXS on Github, and Arnavigator, NPC, POLY, KiwiJar and TargetCrafter on Discord for helping with the arduous task of running test builds, providing logs and feeding back that helped me get to the bottom of that!
And finally, a special Shout Out to the 'Survivors' and 'GoXLR-on-Linux' discord groups for helping facilitate the transition, and for the support they've been providing. I've probably missed a few names in this Change Log, if I have I apologies, but to everyone who's helped out, a massive thank you!
Due to some issues with anti-virus occasionally popping up some false positives, the installer has been changed from InnoSetup to NSIS, hopefully this will help solve some of those problems. You'll see an uninstaller run for the old setup when you first install the new one.
And now, the main ChangeLog:
Daemon:
- [FIX] Correctly support HttpStatus in
ipccrate - [FIX] Windows tray handling is now done with winapi, rather than tao
- [FIX] Fetch goxlr_audioapi_x64.dll's location from the registry, rather than the default path
- [FIX] Change Plug and Play polling to libusb, to prevent a rogue Window spawning
- [FIX] Set default LogLevel to 'Debug' by default, to aid tracking launch issues
- [FIX] Display an actual error if the util can't start due to the official app running
Profile:
- [FIX] Errors loading profiles will now give useful error messages
- [FIX] Correctly set Gain if it's an invalid value in MicProfile
- [FIX] If a colour is blank, or set to '0' in the profile, default it to Black (Reported by Hoshi and Mocha on Discord)
- [FIX] if 'offStyle' is missing or blank in the profile, use a default (Reported by Mocha on Discord)
- [FIX] Correctly load animation settings when using 'Load Profile Colours' (Reported by Gonzi on Discord)
- [FIX] Pause before loading a profile after detecting a GoXLR to allow it to complete calibration (#96 and clarebear on Discord)
- [FIX] If LineOut volume is missing from the profile (it's missing in all the defaults), set default volume to 100% (Several Sources!)
- [FIX] If a Submix ratio is set as
-nan(ind), or other invalid number in the profile, reset it to1(Reported by TechSavage on Discord)
UI:
- [NEW] Brand new GoXLR vector based visualisation (Thanks @parzival-space!)
- [FIX] Some map values occasionally showing an incorrect value on Load (Reported by mudtsu on Discord)
- Split the 'Settings' dialog into 'Device Settings' and 'Utility Settings'
- [NEW] 'Utility Settings' button added to the 'Select Device / Device not Found' page
- [NEW] Support Scrollwheels on all range sliders (Thanks @NinjaLabs-Dev!)
- [FIX] Fixed range sliders when using touch controls in Mobile Browsers
And that just about covers it, Grab your downloads below!
0.12.2 - Animations..
This release was never originally intended, I didn't want to add additional features during the 0.12.X period, but a bug popped up yesterday (#85) which caused issues if you configured lighting animations in the official app and moved across to the util. The reverse engineering needed to fix that basically made lighting animations quick and easy to implement, so I did.
This should be the last 'major' change during 0.12, there's nothing else to add at this point :)
Changelog:
- [NEW] Added Lighting Animation Support
- [FIX] Sampler pre-record is now in seconds in the WebUI (API / IPC is still milliseconds)
0.12.1 - A couple of Paper Cuts!
Hi all, this is a small update to 0.12.0 that fixes a couple of small issues primarily in the UI rendering. It doesn't require an immediate update.
Changelog:
[FIX] The right 'Handle' on the Sample trimmer is correctly positioned on load
[FIX] The 'Mute' button on the visualiser now functions if the inactive colour isn't 'dimmed active colour' (Thanks Louis!)
[FIX] The 'Select Device' dialog is now correctly positioned
[FIX] Prevent flooding the daemon with changes when adjusting the Gate / Compressor settings
[FIX] The Websocket now handshakes and closes correctly when requested
[FIX] If sending an invalid command to the websocket, return the error to the websocket instead of closing if possible.
And that's it, enjoy!
0.12.0 - EQ Fine Tune and Mass Fixes!
Hello again!
It's been a while and this release ended up brewing for a little longer than expected, the goal for the release was to get everything as close to 'perfect' as possible so we could jump to 1.0 as the next release. So ultimately, this release has a LOT of bug fixes and tidying, fixing 'paper cut' style bugs along with a couple of new features happening.
As always, the headlines:
- EQ Fine Tune is finally available in the UI
- Option to allow remote network access in the UI
- More Shutdown Actions (Load Full Profiles)
- Better Sample File Handling
- Samples will only be added if the util determines it can play them
- Adding a Sample no longer blocks GoXLR buttons and behaviours during processing
- Sample processing now has a progress percentage
- Samples which aren't present on disk will be removed from buttons
- Sample waveforms now render in the WebUI
- Lighting sections now have 'Apply to All' buttons where relevant
- A HUGE accessibility overhaul thanks to @a2hsh (Rockstorm on Discord)
- The UI now has a basic visualisation of the device
- File Logging is now a thing
Finally, the README has received an overhaul to make it more user centric, rather than techical / developer centric, this is in part a response to the quote: "As is tradition, with so many projects, where's the screenshots guys?" - Linux Game Cast, March 2023.. So we have one now..
Full release notes below:
Daemon Changes
- [NEW] Support Loading Full Profiles on Application Exit
- [NEW] Add an Option to allow remote network access to the daemon (System -> Settings)
- [FIX] Prevent Removal of Active Profiles (Reported by JulanDeAlb)
- [FIX] Stop Sample Playback when Saving / Loading Profiles
- [NEW] Announce FX Preset to TTS on Change
- [NEW] Implemented 'Global' colours to change all colours at once
- [FIX] Prevent allowing invalid EQ settings via IPC
- [FIX] Correctly calculate Sample gain on samples shorter than 400milliseconds
- [NEW] Added Submix support to the CLI
- [NEW] Added ability to monitor a specific mix when using submixes
- [FIX] Validated 'Start' and 'End' percentage setting on samples
- [NEW] Support Overriding the Sample input / output device on the command line
- [FIX] Prevent Audio Handlers from persisting after device unplug
- [FIX] Correctly clear and flush the recording state after recording has finished
- [NEW] Preliminary support for JSONPath to allow specific data extraction
- [NEW] Support Daemon logging to a file, and changing verbosity via IPC
- [FIX] If a sample can't be parsed, correctly error out
- [FIX] Only add Sample to a button if it can be played back
- [FIX] Validate the existance of samples, and remove them from buttons if missing
- [FIX] Correctly support scribbles with no icons
- [FIX] Changed recorded sample format to s24le for better compatibility
- [FIX] Enforce 0.5 and 100 modulus on EQ Frequencies
- [#77] Clear mute stats of channels leaving faders on profile load
- [FIX] Improve Mutli-Device support under Windows
- [FIX] Loading Samples no longer 'blocks' other GoXLR activies
- [NEW] Adding a Sample now provides a progress percentage to IPC during parsing
- [NEW] Added 'Smart' profile loading, to avoid changing things that haven't changed
- [FIX] Prevent Invalid routing combinations (Chat -> Chat Mic, Samples -> Sampler)
- [NEW] Sample Pre-Buffer can now be adjusted at runtime (Restart no longer required)
- [FIX] Phrasing and proof reading of the new README thanks to @Ginjah6205
UI Changes
- [NEW] Options for various new features listed above (Network Access / Logs)
- [NEW] Additional Shutdown Actions available for loading full profiles
- [NEW] Massive Accessibility overhaul curtosy of @a2hsh (Rockstorm on Discord)
- [NEW] Render Waveform in the sampler Waveform area
- [NEW] Added 'Apply to All' button in various lighting sections
- [NEW] Added support for 'Global' Lighting
- [FIX] Reorganised Lighting tab to place more general options first
- [FIX] Solve several issues with Sample trimming calculations
- [FIX] Renamed 'Broadcast Mix' to 'Stream Mix'
- [NEW] Initial Visualisation of the GoXLR is now available
- [NEW] The UI will check for a new version when loaded
- [NEW] Sliders with fixed value maps now support auto-rounding text values
- [NEW] Added Equaliser 'Reset' button
- [NEW] Added 'Load Preset' button to the FX Preset Menu
- [FIX] Better inform user of actions in regards to FX Presets (Overwriting etc)
- [FIX] The 'Add Sample' dialog correctly supports directory navigation
- [NEW] The 'Add Sample' dialog now has a 'Play' button to listen before adding
- [NEW] Fine Tune Support!
- [FIX] Ensuring all file sorting occurs in a CAse-InsenSitive way
Considering 0.11.0s release was supposed to be the tail end of development, I think I've managed to produce the largest ChangeLog to date. A lot of the changes have been primarily fixing, adding missing things, and dealing with some weird problems that have harmed the overall experience.
In about 2 weeks time I'm going to go into a 'feature freeze' stage while everything is finalised for the 1.0 release, and the only changes after will be related to fixing bugs, and prettifying some of the rougher parts of the UI (I'm looking at you System -> Settings!).. Until then, get your suggestions and bug reports in!