[Visualization] Disable visualization if no Metal
If the system has no working Metal devices, disable the visualization. The legacy visualization was also too slow for said systems to handle reasonably anyway, so I guess it's safe to say that they shouldn't have to handle any visualizers at all. At least have working audio playback, of course, since that is the primary function of the application. Too bad that the OpenGL renderers don't work on my scene, it would be nice to have a fallback there. GL 4.1 crashes on an M1, and both GL 4.1 and 3.2 crash with SIGFPE division by zero error on Intel Macs without Metal devices. Meh. Signed-off-by: Christopher Snowhill <kode54@gmail.com>swiftingly
parent
539a8c79eb
commit
8c2df13f3b
|
@ -29,6 +29,7 @@
|
|||
if(!self.spectrumView) {
|
||||
self.spectrumView = [[SpectrumView alloc] initWithFrame:[[self window] frame]];
|
||||
[[self window] setContentView:self.spectrumView];
|
||||
if(!self.spectrumView) return;
|
||||
|
||||
[self.spectrumView enableCameraControl];
|
||||
}
|
||||
|
|
|
@ -45,8 +45,13 @@ extern NSString *CogPlaybackDidStopNotficiation;
|
|||
@synthesize isListening;
|
||||
|
||||
- (id)initWithFrame:(NSRect)frame {
|
||||
id<MTLDevice> device = MTLCreateSystemDefaultDevice();
|
||||
|
||||
if(!device) return nil;
|
||||
|
||||
NSDictionary *sceneOptions = @{
|
||||
SCNPreferredRenderingAPIKey: @(SCNRenderingAPIMetal),
|
||||
SCNPreferredDeviceKey: device,
|
||||
SCNPreferLowPowerDeviceKey: @(NO)
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue