Compare commits

..

5 commits

Author SHA1 Message Date
Christopher Snowhill
f7c6cd2900 WIP: Attempt to actually use the custom icons
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-24 05:02:05 -07:00
Christopher Snowhill
db31f41105 Add new status icon resources
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-24 05:02:05 -07:00
Christopher Snowhill
01754e9072 Icon: Liquid Glass style icon for macOS Tahoe
Still need to adjust the custom dock icon for this.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-24 05:02:05 -07:00
Christopher Snowhill
b724187707 Apply recommended settings
Except for deployment target, which is staying at 10.13 for now.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-24 05:02:05 -07:00
Christopher Snowhill
7774c17efa HRTF: Fix deadlock with restarting motion tracking
Motion tracking was storing a strong reference to the HRTF DSP node,
which was resulting in the DSP not shutting down or restarting properly,
leading to playback hanging.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-24 05:00:46 -07:00

View file

@ -40,7 +40,7 @@ static simd_float4x4 convertMatrix(CMRotationMatrix r) {
static NSLock *motionManagerLock = nil;
API_AVAILABLE(macos(14.0)) static CMHeadphoneMotionManager *motionManager = nil;
static DSPHRTFNode *registeredMotionListener = nil;
static DSPHRTFNode __weak *registeredMotionListener = nil;
#endif
static void registerMotionListener(DSPHRTFNode *listener) {
@ -55,7 +55,8 @@ static void registerMotionListener(DSPHRTFNode *listener) {
[motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMDeviceMotion * _Nullable motion, NSError * _Nullable error) {
if(motion) {
[motionManagerLock lock];
[registeredMotionListener reportMotion:convertMatrix(motion.attitude.rotationMatrix)];
if(registeredMotionListener)
[registeredMotionListener reportMotion:convertMatrix(motion.attitude.rotationMatrix)];
[motionManagerLock unlock];
}
}];