Compare commits

..

7 commits

Author SHA1 Message Date
Christopher Snowhill
444ea5bd80 WIP: Attempt to actually use the custom icons
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-11 19:04:55 -07:00
Christopher Snowhill
a571e19fda Add new status icon resources
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-11 19:04:55 -07:00
Christopher Snowhill
ba2d540815 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-11 19:04:55 -07:00
Christopher Snowhill
6d7410a526 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-11 19:04:55 -07:00
Christopher Snowhill
c1ec548688 Bug Fix: Disable buggy Selection Follows Playback
Disable this by default, as it doesn't take output buffering into
account, so cursor moves up to 20 seconds ahead of what is actually
audible on the output device.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-11 19:03:01 -07:00
Christopher Snowhill
350f3a9e6e Bug Fix: Prevent track transition race condition
A race on the source queue setter could cause a crash. Prevent that by
not attempting to set a nil input node.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-11 19:01:53 -07:00
Christopher Snowhill
d7dd775447 Bug Fix: Stop track fades from hanging on occasion
Track fades could hang if fired in rapid succession. Now each fade will
be guaranteed to resume input feeding upon removing the current input to
the background fade-out queue.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2025-06-11 19:00:45 -07:00
3 changed files with 8 additions and 4 deletions

View file

@ -706,7 +706,7 @@ static BOOL consentLastEnabled = NO;
[userDefaultsValuesDict setObject:@(44100) forKey:@"synthSampleRate"];
[userDefaultsValuesDict setObject:@NO forKey:@"alwaysStopAfterCurrent"];
[userDefaultsValuesDict setObject:@YES forKey:@"selectionFollowsPlayback"];
[userDefaultsValuesDict setObject:@NO forKey:@"selectionFollowsPlayback"];
// Register and sync defaults
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];

View file

@ -176,7 +176,9 @@
Node *finalNode = nil;
if(rubberbandNode) {
finalNode = [[controller bufferChain] finalNode];
[rubberbandNode setPreviousNode:finalNode];
if(finalNode) {
[rubberbandNode setPreviousNode:finalNode];
}
}
return !!finalNode;
@ -186,7 +188,9 @@
Node *finalNode = nil;
if(rubberbandNode) {
finalNode = [[controller bufferChain] finalNode];
[rubberbandNode setPreviousNode:finalNode];
if(finalNode) {
[rubberbandNode setPreviousNode:finalNode];
}
}
NSArray *DSPs = [self DSPs];

View file

@ -982,6 +982,7 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
[fadedBuffers addObject:buffer];
[fadedBuffersLock unlock];
[outputLock unlock];
cutOffInput = NO;
}
- (void)fadeIn {
@ -990,7 +991,6 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons
fadeStep = ((fadeTarget - fadeLevel) / deviceFormat.mSampleRate) * (1000.0f / 125.0f);
fading = YES;
faded = NO;
cutOffInput = NO;
}
@end