eqMac: Bug: Switching output leads to spinning beachball

Disclaimer:

  • I have checked for a similar issue and sure it hasn’t been reported before.

Steps to Reproduce

  1. Click on switch output device
  2. Scroll down to select either external headphones (jack plug) or MacBook Pro Speakers (built-in) while the other is the current output device in eqMac.
  3. Sound stops, eqMac shows spinning beachball.

Expected behaviour

Output switching works like it used to: it just switches output device, sound stays audible and eqMac remains responsive.

Setup information:

  • Audio device used for playback: external headphones (jack plug) or MBP speakers.
  • Audio transmission interface:
  • macOS Version: 11.6.3 Big Sur
  • eqMac Version 1.4.5, driver 2.0.4
  • eqMac UI Version 3.2.4

Screenshots or Console.app logs

Searching for ‘eqmac’ in the console app yielded no results.

Not sure if this helps, but after killing eqmac from the activity monitor, the console system log shows:

Feb  2 10:11:43 nvc3751 com.apple.xpc.launchd[1] (application.com.bitgapp.eqmac.227987202.227987209[7038]): Service exited due to SIGTERM | sent by Activity Monitor[51906]
Feb  2 10:11:47 nvc3751 com.apple.xpc.launchd[1]: Coalition Cache Hit: app<application.com.bitgapp.eqmac.227987202.227987209(502)> [933]
Feb  2 10:11:49 nvc3751 eqMac[51929]: getattrlist failed for /System/Library/Extensions/AppleIntelKBLGraphicsGLDriver.bundle/Contents/MacOS/AppleIntelKBLGraphicsGLDriver: #2: No such file or directory
Feb  2 10:11:49 nvc3751 eqMac[51929]: getattrlist failed for /Library/GPUBundles/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/ATIRadeonX4000SCLib.dylib: #2: No such file or directory
Feb  2 10:11:49 nvc3751 eqMac[51929]: getattrlist failed for /System/Library/Extensions/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/ATIRadeonX4000SCLib.dylib: #2: No such file or directory
Feb  2 10:11:49 nvc3751 eqMac[51929]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory

Additional information

N/A

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 6
  • Comments: 23

Most upvoted comments

I’ve been running into this a lot as my M1 wakes from sleep (which of course annoyingly switches from any device to the monitor’s audio device).

Please let me know I can help investigate this.

At the moment I have a script that sends SIGKILL the app and restarts it.

[EDIT]

If this helps, here’s the output of running the application directly via terminal. After the last line, the spinner happens.

Steps to Repo

Pre setup

  1. eqMac, pick Audio of Dell U2417H
  2. Close eqMac

Actual Problem

  1. Pick MacOS menu Audio i.e. Dell U2417H
  2. Launch eqMac
  3. Wait 1-2 seconds
  4. Pick MacOS menu Audio i.e. Justin’s AirPods Pro
  5. Try to use eqMac, but has spinner

Based on the output, it looks like it switches audio properly but actually get the EQ to run?

===========

$ /Applications/eqMac.app/Contents/MacOS/eqMac ; exit;
2022-02-15 10:47:45.090 eqMac[92810:2676014] Reachability Flag Status: XR ------- networkStatusForFlags
2022-02-15 10:47:45.5660 eqMac (Source/Application.swift:152) Setting up Audio Engine
2022-02-15 10:47:45.5690 eqMac (Source/Application.swift:451) Setting up UI
2022-02-15 10:47:45.590 eqMac[92810:2676014] Reachability Flag Status: XR ------- networkStatusForFlags
2022-02-15 10:47:45.590 eqMac[92810:2676014] Reachability Flag Status: XR ------- networkStatusForFlags
2022-02-15 10:47:45.591 eqMac[92810:2676014] Reachability Flag Status: XR ------- networkStatusForFlags
2022-02-15 10:47:45.6080 eqMac (Source/Application.swift:459) Setting up Data Bus
2022-02-15 10:47:45.654 eqMac[92810:2676014] Reachability Flag Status: XR ------- networkStatusForFlags
2022-02-15 10:47:45.6590 eqMac (Source/UI/UI.swift:405) Loading Remote UI
2022-02-15 10:47:46.0720 eqMac (Source/Application.swift:382) Last known device: 45 - MacBook Pro Speakers
2022-02-15 10:47:46.0830 eqMac (Source/Application.swift:325) Driver new Latency: 70
2022-02-15 10:47:46.0840 eqMac (Source/Application.swift:326) Driver new Sample Rate: Optional(48000.0)
2022-02-15 10:47:46.0840 eqMac (Source/Application.swift:327) Driver new name: MacBook Pro Speakers (eqMac)
2022-02-15 10:47:46.088 eqMac[92810:2676014] Reachability Flag Status: XR ------- networkStatusForFlags
2022-02-15 10:47:47.1270 eqMac (Source/Audio/Engine.swift:36) Creating Engine
2022-02-15 10:47:47.3120 eqMac (Source/Audio/Sources/Sources.swift:46) Creating Sources
2022-02-15 10:47:47.3270 eqMac (Source/Audio/Effects/Reverbs/Reverbs.swift:47) Creating Reverbs
2022-02-15 10:47:47.3270 eqMac (Source/Audio/Effects/Equalizers/Equalizers.swift:69) Creating Equalizers
2022-02-15 10:47:47.3280 eqMac (Source/Audio/Effects/Equalizers/Basic/BasicEqualizer.swift:179) Creating Basic Equalizer
2022-02-15 10:47:47.3280 eqMac (Source/Audio/Effects/Equalizers/Advanced/AdvancedEqualizer.swift:129) Creating Advanced Equalizer
2022-02-15 10:47:47.3290 eqMac (Source/Audio/Effects/Equalizers/Expert/ExpertEqualizer.swift:137) Creating Expert Equalizer
2022-02-15 10:47:47.3320 eqMac (Source/Audio/Volume/Volume.swift:176) Creating Volume
2022-02-15 10:47:47.4200 eqMac (Source/Audio/Engine.swift:62) 
________ GraphDescription ________
AVAudioEngineGraph 0x600001966700: initialized = 1, running = 1, number of nodes = 9

	 ******** output chain ********

	 node 0x600000b6e400 {'auou' 'ahal' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b09900, {'aumx' 'mcmx' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b09900 {'aumx' 'mcmx' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b33a00, {'aumx' 'mcmx' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b6e400, {'auou' 'ahal' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b33a00 {'aumx' 'mcmx' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b62680, {'aufx' 'nbeq' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b09900, {'aumx' 'mcmx' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b62680 {'aufx' 'nbeq' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b4ba80, {'aufx' 'nbeq' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b33a00, {'aumx' 'mcmx' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b4ba80 {'aufx' 'nbeq' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b50600, {'aufx' 'nbeq' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b62680, {'aufx' 'nbeq' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b50600 {'aufx' 'nbeq' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b52280, {'aufx' 'mrev' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b4ba80, {'aufx' 'nbeq' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b52280 {'aufx' 'mrev' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b4fc80, {'aufc' 'vari' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b50600, {'aufx' 'nbeq' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b4fc80 {'aufc' 'vari' 'appl'}, 'I'
		 inputs = 1
			 (bus0, en1) <- (bus0) 0x600000b6fe00, {'augn' 'ttsp' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b52280, {'aufx' 'mrev' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]

	 node 0x600000b6fe00 {'augn' 'ttsp' 'appl'}, 'I'
		 outputs = 1
			 (bus0, en1) -> (bus0) 0x600000b4fc80, {'aufc' 'vari' 'appl'}, [ 2 ch,  48000 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
______________________________________


2022-02-15 10:47:47.4320 eqMac (Source/Audio/Sources/System/SystemSource.swift:141) Safety Offset:  2196
2022-02-15 10:47:47.4320 eqMac (Source/Audio/Sources/System/SystemSource.swift:142) Sample Offset:  2316400
2022-02-15 10:47:52.0380 eqMac (Source/Application.swift:186) outputChanged:  Justin’s AirPods Pro (72)  starting PlayThrough
2022-02-15 10:47:52.0690 eqMac (Source/Application.swift:325) Driver new Latency: 7680
2022-02-15 10:47:52.0690 eqMac (Source/Application.swift:326) Driver new Sample Rate: Optional(48000.0)
2022-02-15 10:47:52.0700 eqMac (Source/Application.swift:327) Driver new name: Justin’s AirPods Pro (eqMac)
2022-02-15 10:47:52.9470 eqMac (Source/Audio/Sources/System/Driver.swift:313) Driver.outputIsRunning: false
2022-02-15 10:47:52.9920 eqMac (Source/Audio/Sources/System/Driver.swift:326) Driver.outputBuffer changed

Hey everyone, I’m super sorry for the lack of communication from my end, the last 5 months have been pretty rough for me but I pulled through. I have been working on an update for a while that addresses the issue you’re all experiencing. I had to completely rewrite the Core of the app to use a more older version of Audio API’s that Apple has. The newer AVAudioEngine API that Apple has been pushing down developers throats ended up being a massive problem for eqMac and my productivity. Hopefully this is all behind us now and I’ll be able to release updates more often and better as I have more control over the Audio Pipeline! Please check out a Pre-Release of v1.5.0 that you can download here: https://github.com/bitgapp/eqMac/releases/tag/v1.5.0 Or just Enable “Beta Program” in eqMacs Settings! Please let me know how it goes!

Kind Regards, Roman - Founder of eqMac

Ugh, even worse now. I updated to 1.4.6 and now I get that beachball on switching devices. I was able to switch before this. MacOS 12.2, MBP M1 Pro

This is on top of constant crashes I was experiencing for quite a few releases.

Ran into same issue on an intel based macbook.

Steps to reproduce the behaviour

  1. Have a device set as main playback device in macOS/eqMac (Could be an audio interface, airpods, etc)
  2. Disconnect said device from machine
  3. eqMac freezes every time

Expected behaviour eqMac switches to next default device instead of freezing.

Setup information

  • Audio device used for playback: Behringer UMC204HD/AirPods Pro
  • Audio transmission interface: USB/Bluetooth
  • macOS Version: 12.3I
  • Intel MacBook Pro 2017
  • eqMac Version: 1.4.6
  • eqMac UI Version: 3.2.4

Hey @erikhuizinga I’ve just released a small patch trying to mitigate this issue: https://github.com/bitgapp/eqMac/releases/download/v1.4.6/eqMac.pkg Does this still bug still happen to you in v1.4.6? Sorry for the inconvenience caused