Releases: vincentneo/LosslessSwitcher
Sequoia Empty Window
This beta release is yet another attempt to fix the empty window issue as mentioned by many in #146.
Unfortunately, I wasn't able to replicate the exact issue, when tested with macOS 15.0 (24A335), so this release's 'fix' is based on yet another guess.
Built for Sequoia beta users
This beta version is somewhat equivalent to version 1.1, build 18, with 2 differences:
- It's built using the latest Xcode 16 beta 6 (i.e. macOS Sequoia SDK), just in case the high CPU usage/freeze have something to do with this.
- Very minor code change as recommended by Xcode.
In response to #146.
Version 1.1
I think the 'beta' of v1.1 has basically been dragged for way too long now, so build 18 will become the release build for v1.1.
Improvements from v1.0.0
- Improved sample rate detection
- Option to explicitly select an audio device
- Bit Depth detection mode
- Option to run script when sample rate change
- Ability for third party scripts to obtain latest sample rate via AppleScript
Menu for scripting
In this release of LosslessSwitcher,
A new menu has been added to allow for selected shell script to run, with the first argument being the latest sample rate.
Notes
- Selected shell scripts must have a shebang declared, such as
#!/bin/bash
- The script will run when the app launches for the first time.
- The script file selection window may sometimes show underneath your current active window. (it's how macOS works)
For HQ Player developers / Call via AppleScript
Just a simple release that adds a way to obtain the latest sample rate via AppleScript.
Effectively it covers #108 use case.
Example:
tell application "LosslessSwitcher"
set rate to get latest sample rate
do shell script "echo " & rate
end tell
Returns:
"44100"
on a 44.1kHz track.
Note: on first call/launch, -1
will be returned.
Switching improvements
This release includes improvements with sample rate switching, from the changes in #106, which should see the reduction in doing unnecessary processing, on console messages that didn't contain the data needed for LosslessSwitcher.
Special thanks to @bonifaido for this release!
Minor fix
Local file detection removal, optional bit depth
This release follows the decision made in discussion #74, to discontinue local file sample rate switching. For more information on that, please refer to discussion #74.
Bit depth switching, introduced in beta 8, is now an opt-in option. It can be found on the dropdown menu, just like other options. By default, it is switched off.
Happy listening!
Side note: Not that it matters much, but for some reason this build is about 300kb larger. Probably some change in Xcode's building.
Bit Depth switching support
Happy New Year!
Experimental build that switches both sample rate (e.g. 192kHz) and bit depth (e.g. 16-bit/24-bit), is now here.
Those facing issue #2, please look here!
Known Issues
- Menu does not show bit depth info yet, please use Audio MIDI Setup to observe if bit depth has switched.
- Detection may not be as good as prior builds (has yet to verify impact of detection, just a guess), as I've disabled a detection method via
com.apple.coremedia
messages due to lack of bit depth info. - Use of
com.apple.coreaudio
messages now, known to not provide info for certain sample rates in the past, but have yet to observe that in Ventura 13.1 so far. - Code is a mess right now!
Beta 7
A few (minor) changes for this update.
Changes
- Console messages have now been restricted to the Music process only. This is to fix #51. Since the app's core purpose is to serve Apple Music users, there are no guarantees that I would lift this restriction in the future.
- Minor UI fix.
- Toggle "Detect Local Track Rates" option is added. This option can be used to enable or disable AppleScript-based detection. Enabling it will use AppleScript to get sample rate for local tracks / playlist tracks, but disabling might be good if experienced issue #30.
About AppleScript Support
With the introduction of the toggle as mentioned in the above section, third point, users should be able to decide this for themselves, rather than fixating towards using a particular build.