diff --git a/Application/AppController.m b/Application/AppController.m index cbbea9b48..c896308fe 100644 --- a/Application/AppController.m +++ b/Application/AppController.m @@ -673,7 +673,7 @@ static BOOL consentLastEnabled = NO; [userDefaultsValuesDict setObject:@(CogStatusStopped) forKey:@"lastPlaybackStatus"]; - [userDefaultsValuesDict setObject:@"dls appl" forKey:@"midiPlugin"]; + [userDefaultsValuesDict setObject:@"BASSMIDI" forKey:@"midiPlugin"]; [userDefaultsValuesDict setObject:@"default" forKey:@"midi.flavor"]; @@ -717,6 +717,11 @@ static BOOL consentLastEnabled = NO; if([[[NSUserDefaults standardUserDefaults] stringForKey:@"midiPlugin"] isEqualToString:@"FluidSynth"]) { [[NSUserDefaults standardUserDefaults] setValue:@"BASSMIDI" forKey:@"midiPlugin"]; } + + NSString *midiPlugin = [[NSUserDefaults standardUserDefaults] stringForKey:@"midiPlugin"]; + if([midiPlugin length] == 8 && [[midiPlugin substringFromIndex:4] isEqualToString:@"appl"]) { + [[NSUserDefaults standardUserDefaults] setObject:@"BASSMIDI" forKey:@"midiPlugin"]; + } } MASShortcut *shortcutWithMigration(NSString *oldKeyCodePrefName, diff --git a/Plugins/MIDI/MIDI/MIDIDecoder.mm b/Plugins/MIDI/MIDI/MIDIDecoder.mm index 25476fe99..cf68bc619 100644 --- a/Plugins/MIDI/MIDI/MIDIDecoder.mm +++ b/Plugins/MIDI/MIDI/MIDIDecoder.mm @@ -210,7 +210,6 @@ static OSType getOSType(const char *in_) { if(sauce || !plugin || [plugin isEqualToString:@"BASSMIDI"]) { if(sauce || !globalSoundFontPath || [globalSoundFontPath isEqualToString:@""]) { plugin = @"dls appl"; // Apple DLSMusicSynth if soundfont doesn't exist - [[NSUserDefaults standardUserDefaults] setValue:plugin forKey:@"midiPlugin"]; } } diff --git a/Preferences/Preferences/MIDIPluginBehaviorArrayController.m b/Preferences/Preferences/MIDIPluginBehaviorArrayController.m index cfd0e9cd0..fdc7186eb 100644 --- a/Preferences/Preferences/MIDIPluginBehaviorArrayController.m +++ b/Preferences/Preferences/MIDIPluginBehaviorArrayController.m @@ -31,10 +31,13 @@ static void enumComponents(callback cbEnum, void *context) { bytes = CFStringGetCStringPtr(cfName, kCFStringEncodingUTF8); if(!bytes) { CFStringGetCString(cfName, bytesBuffer, sizeof(bytesBuffer) - 1, kCFStringEncodingUTF8); + bytesBuffer[sizeof(bytesBuffer) - 1] = '\0'; bytes = bytesBuffer; } AudioComponentGetDescription(comp, &tcd); - cbEnum(context, tcd.componentSubType, tcd.componentManufacturer, bytes); + if(tcd.componentManufacturer != kAudioUnitManufacturer_Apple) { + cbEnum(context, tcd.componentSubType, tcd.componentManufacturer, bytes); + } CFRelease(cfName); comp = AudioComponentFindNext(comp, &cd); }