Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Open panel" causes Equalizer APO Configuration Editor to crash. #44

Closed
YellowOnion opened this issue Jul 16, 2020 · 18 comments
Closed
Labels
help wanted Extra attention is needed

Comments

@YellowOnion
Copy link

Is there some way to control the amount of noise suppression?

@werman
Copy link
Owner

werman commented Jul 16, 2020

The only configuration know is VAD threshold (#20), it is zero for VST plugin by default and could be tuned, however I don't think anyone tested if this parameter works with Equalizer APO.

Does it at least work if you don't try to change parameters?

@YellowOnion
Copy link
Author

Yeah it works, My sound card just has heaps of noise, was hoping to boost it a little. definitely better than ReaFIR VST

@werman
Copy link
Owner

werman commented Jul 16, 2020

Does it have any logs, is there anything?

@YellowOnion
Copy link
Author

YellowOnion commented Jul 16, 2020

No sorry, just looks like it crashes to desktop. Maybe just a bug in the UI expecting the plugin to have a UI component?

@werman
Copy link
Owner

werman commented Jul 16, 2020

I think logs could be found at C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\EqualizerAPO

Maybe just a bug in the UI expecting the plugin to have a UI component?

It may be, but I'd have to spin a windows vm to have a better understanding...

@YellowOnion
Copy link
Author

2020-07-17 05:45:09.154 4952 C98F3980 (EqualizerAPO.cpp:245): Failure in IsInputFormatSupported of child apo

I get this message repeatedly but it predates me using this plugin.

@PhantomGamers
Copy link

I know this isn't helpful at all but I just wanted to say I'm having the same issue and I couldn't find any useful logs from Equalizer, closest thing I've found is %localappdata%\CrashDumps but the dump only says "The thread tried to read from or write to a virtual address for which it does not have the appropriate access."

Also oddly I don't have this C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\EqualizerAPO folder you mentioned.

@werman werman added the help wanted Extra attention is needed label Jul 18, 2020
@githubplanetarparrot
Copy link

I am encountering the same issue.

Version=1
EventType=APPCRASH
EventTime=132416461924710150
ReportType=2
Consent=1
UploadTime=132416461927340705
ReportStatus=268435456
ReportIdentifier=686d1137-65bc-4f5f-aa4f-79d558185b3f
IntegratorReportIdentifier=1203bbae-013d-418d-9d3d-7979b93fe91f
Wow64Host=34404
NsAppName=Editor.exe
OriginalFilename=Editor.exe
AppSessionGuid=000036d0-0001-0032-ded3-ffa21170d601
TargetAppId=W:0006a3a1efc1618a6ed270fb2ec7f6fae4f800000904!0000b65945b18fdd883a305e834b7df16a0044674c14!Editor.exe
TargetAppVer=2019//06//10:11:21:57!0!Editor.exe
BootId=4294967295
TargetAsId=379
UserImpactVector=808452912
IsFatal=1
EtwNonCollectReason=1
Response.BucketId=76f6a8ab41912d645ad7cbed312c5035
Response.BucketTable=4
Response.LegacyBucketId=1934238784571592757
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=Editor.exe
Sig[1].Name=Application Version
Sig[1].Value=1.2.1.0
Sig[2].Name=Application Timestamp
Sig[2].Value=5cfe3d55
Sig[3].Name=Fault Module Name
Sig[3].Value=Editor.exe
Sig[4].Name=Fault Module Version
Sig[4].Value=1.2.1.0
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=5cfe3d55
Sig[6].Name=Exception Code
Sig[6].Value=c0000005
Sig[7].Name=Exception Offset
Sig[7].Value=0000000000085612
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=10.0.18363.2.0.0.768.101
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=a882
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=a882675904241f1cbcf4c28fefb46de9
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=641a
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=641ab726d97d72e60412bac19e1ad8f0
UI[2]=P:\Programs\EqualizerAPO\Editor.exe
LoadedModule[0]=P:\Programs\EqualizerAPO\Editor.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\System32\KERNEL32.DLL
LoadedModule[3]=C:\Windows\System32\KERNELBASE.dll
LoadedModule[4]=C:\Windows\SYSTEM32\apphelp.dll
LoadedModule[5]=C:\Windows\System32\SHELL32.dll
LoadedModule[6]=C:\Windows\System32\ucrtbase.dll
LoadedModule[7]=C:\Windows\System32\cfgmgr32.dll
LoadedModule[8]=C:\Windows\System32\shcore.dll
LoadedModule[9]=C:\Windows\System32\msvcrt.dll
LoadedModule[10]=C:\Windows\System32\RPCRT4.dll
LoadedModule[11]=C:\Windows\System32\combase.dll
LoadedModule[12]=C:\Windows\System32\bcryptPrimitives.dll
LoadedModule[13]=C:\Windows\System32\windows.storage.dll
LoadedModule[14]=C:\Windows\System32\msvcp_win.dll
LoadedModule[15]=C:\Windows\System32\sechost.dll
LoadedModule[16]=C:\Windows\System32\advapi32.dll
LoadedModule[17]=C:\Windows\System32\profapi.dll
LoadedModule[18]=C:\Windows\System32\powrprof.dll
LoadedModule[19]=C:\Windows\System32\UMPDC.dll
LoadedModule[20]=C:\Windows\System32\shlwapi.dll
LoadedModule[21]=C:\Windows\System32\GDI32.dll
LoadedModule[22]=C:\Windows\System32\win32u.dll
LoadedModule[23]=C:\Windows\System32\gdi32full.dll
LoadedModule[24]=C:\Windows\System32\USER32.dll
LoadedModule[25]=C:\Windows\System32\kernel.appcore.dll
LoadedModule[26]=C:\Windows\System32\cryptsp.dll
LoadedModule[27]=C:\Windows\System32\ole32.dll
LoadedModule[28]=C:\Windows\System32\CRYPT32.dll
LoadedModule[29]=C:\Windows\System32\MSASN1.dll
LoadedModule[30]=C:\Windows\SYSTEM32\VERSION.dll
LoadedModule[31]=C:\Windows\SYSTEM32\AUTHZ.dll
LoadedModule[32]=C:\Windows\SYSTEM32\dbghelp.dll
LoadedModule[33]=C:\Windows\SYSTEM32\WINMM.dll
LoadedModule[34]=P:\Programs\EqualizerAPO\libsndfile-1.dll
LoadedModule[35]=P:\Programs\EqualizerAPO\libfftw3f-3.dll
LoadedModule[36]=P:\Programs\EqualizerAPO\Qt5Widgets.dll
LoadedModule[37]=P:\Programs\EqualizerAPO\Qt5Gui.dll
LoadedModule[38]=P:\Programs\EqualizerAPO\Qt5Core.dll
LoadedModule[39]=C:\Windows\System32\WS2_32.dll
LoadedModule[40]=P:\Programs\EqualizerAPO\MSVCP120.dll
LoadedModule[41]=P:\Programs\EqualizerAPO\MSVCR120.dll
LoadedModule[42]=C:\Windows\SYSTEM32\WINMMBASE.dll
LoadedModule[43]=C:\Windows\SYSTEM32\MPR.dll
LoadedModule[44]=C:\Windows\System32\IMM32.DLL
LoadedModule[45]=C:\Program Files (x86)\Citrix\ICA Client\epclient64.dll
LoadedModule[46]=C:\Windows\SYSTEM32\ntmarta.dll
LoadedModule[47]=C:\Windows\System32\bcrypt.dll
LoadedModule[48]=C:\Windows\SYSTEM32\CRYPTBASE.DLL
LoadedModule[49]=P:\Programs\EqualizerAPO\qt\platforms\qwindows.dll
LoadedModule[50]=C:\Windows\System32\OLEAUT32.dll
LoadedModule[51]=C:\Windows\system32\uxtheme.dll
LoadedModule[52]=P:\Programs\RivaTuner Statistics Server\RTSSHooks64.dll
LoadedModule[53]=C:\Windows\System32\clbcatq.dll
LoadedModule[54]=C:\Windows\System32\MMDevApi.dll
LoadedModule[55]=C:\Windows\System32\DEVOBJ.dll
LoadedModule[56]=C:\Windows\system32\propsys.dll
LoadedModule[57]=P:\Programs\EqualizerAPO\qt\imageformats\qico.dll
LoadedModule[58]=P:\Programs\EqualizerAPO\qt\imageformats\qgif.dll
LoadedModule[59]=P:\Programs\EqualizerAPO\qt\imageformats\qjpeg.dll
LoadedModule[60]=C:\Windows\system32\dwrite.dll
LoadedModule[61]=C:\Windows\System32\MSCTF.dll
LoadedModule[62]=C:\Windows\system32\dataexchange.dll
LoadedModule[63]=C:\Windows\system32\d3d11.dll
LoadedModule[64]=C:\Windows\system32\dcomp.dll
LoadedModule[65]=C:\Windows\system32\dxgi.dll
LoadedModule[66]=C:\Windows\SYSTEM32\dxcore.dll
LoadedModule[67]=C:\Windows\system32\twinapi.appcore.dll
LoadedModule[68]=C:\Windows\system32\RMCLIENT.dll
LoadedModule[69]=C:\Windows\System32\TextInputFramework.dll
LoadedModule[70]=C:\Windows\System32\CoreUIComponents.dll
LoadedModule[71]=C:\Windows\System32\CoreMessaging.dll
LoadedModule[72]=C:\Windows\SYSTEM32\wintypes.dll
LoadedModule[73]=C:\Windows\System32\iertutil.dll
LoadedModule[74]=C:\Windows\SYSTEM32\SAMLIB.dll
LoadedModule[75]=P:\Programs\Overwolf\0.153.0.13\OWExplorer.dll
LoadedModule[76]=C:\Windows\System32\comdlg32.dll
LoadedModule[77]=C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.959_none_e6c7bbbf130c62bb\COMCTL32.dll
LoadedModule[78]=C:\Windows\System32\DUI70.dll
LoadedModule[79]=C:\Windows\System32\DUser.dll
LoadedModule[80]=C:\Windows\System32\dwmapi.dll
LoadedModule[81]=C:\Windows\system32\explorerframe.dll
LoadedModule[82]=C:\Windows\SYSTEM32\WindowsCodecs.dll
LoadedModule[83]=C:\Windows\System32\thumbcache.dll
LoadedModule[84]=C:\Windows\SYSTEM32\policymanager.dll
LoadedModule[85]=C:\Windows\SYSTEM32\msvcp110_win.dll
LoadedModule[86]=C:\Windows\System32\Windows.UI.FileExplorer.dll
LoadedModule[87]=C:\Windows\System32\OLEACC.dll
LoadedModule[88]=C:\Windows\SYSTEM32\edputil.dll
LoadedModule[89]=C:\Windows\System32\StructuredQuery.dll
LoadedModule[90]=C:\Windows\SYSTEM32\atlthunk.dll
LoadedModule[91]=C:\Windows\System32\Windows.StateRepositoryPS.dll
LoadedModule[92]=C:\Windows\system32\Windows.Storage.Search.dll
LoadedModule[93]=C:\Windows\SYSTEM32\CLDAPI.dll
LoadedModule[94]=C:\Windows\SYSTEM32\FLTLIB.DLL
LoadedModule[95]=C:\Windows\SYSTEM32\SspiCli.dll
LoadedModule[96]=C:\Program Files\Common Files\microsoft shared\ink\tiptsf.dll
LoadedModule[97]=C:\Windows\System32\drprov.dll
LoadedModule[98]=C:\Windows\System32\WINSTA.dll
LoadedModule[99]=C:\Windows\System32\ntlanman.dll
LoadedModule[100]=C:\Windows\System32\davclnt.dll
LoadedModule[101]=C:\Windows\System32\DAVHLPR.dll
LoadedModule[102]=C:\Windows\System32\wkscli.dll
LoadedModule[103]=C:\Windows\SYSTEM32\cscapi.dll
LoadedModule[104]=C:\Windows\System32\netutils.dll
LoadedModule[105]=C:\Windows\System32\dlnashext.dll
LoadedModule[106]=C:\Windows\System32\twinapi.dll
LoadedModule[107]=C:\Windows\System32\PlayToDevice.dll
LoadedModule[108]=C:\Windows\System32\DevDispItemProvider.dll
LoadedModule[109]=C:\Windows\System32\coml2.dll
LoadedModule[110]=C:\Windows\SYSTEM32\LINKINFO.dll
LoadedModule[111]=C:\Windows\system32\NetworkExplorer.dll
LoadedModule[112]=C:\Program Files (x86)\Dropbox\Client\DropboxExt64.44.0.dll
LoadedModule[113]=C:\Windows\system32\PhotoMetadataHandler.dll
LoadedModule[114]=C:\Users\austi\AppData\Local\Microsoft\OneDrive\20.124.0621.0006\amd64\FileSyncShell64.dll
LoadedModule[115]=C:\Windows\SYSTEM32\WININET.dll
LoadedModule[116]=C:\Windows\SYSTEM32\WTSAPI32.dll
LoadedModule[117]=C:\Windows\SYSTEM32\USERENV.dll
LoadedModule[118]=C:\Windows\System32\EhStorShell.dll
LoadedModule[119]=C:\Windows\System32\SETUPAPI.dll
LoadedModule[120]=C:\Windows\System32\PortableDeviceApi.dll
LoadedModule[121]=C:\Windows\System32\WINTRUST.dll
LoadedModule[122]=C:\Windows\System32\EhStorAPI.dll
LoadedModule[123]=C:\Windows\SYSTEM32\ntshrui.dll
LoadedModule[124]=C:\Windows\SYSTEM32\srvcli.dll
LoadedModule[125]=C:\Windows\System32\urlmon.dll
LoadedModule[126]=C:\Windows\system32\IconCodecService.dll
LoadedModule[127]=C:\Windows\System32\ActXPrxy.dll
LoadedModule[128]=P:\Programs\windows_rnnoise_bin_x64\bin\vst\librnnoise_vst.dll
State[0].Key=Transport.DoneStage1
State[0].Value=1
OsInfo[0].Key=vermaj
OsInfo[0].Value=10
OsInfo[1].Key=vermin
OsInfo[1].Value=0
OsInfo[2].Key=verbld
OsInfo[2].Value=18363
OsInfo[3].Key=ubr
OsInfo[3].Value=959
OsInfo[4].Key=versp
OsInfo[4].Value=0
OsInfo[5].Key=arch
OsInfo[5].Value=9
OsInfo[6].Key=lcid
OsInfo[6].Value=1033
OsInfo[7].Key=geoid
OsInfo[7].Value=244
OsInfo[8].Key=sku
OsInfo[8].Value=101
OsInfo[9].Key=domain
OsInfo[9].Value=0
OsInfo[10].Key=prodsuite
OsInfo[10].Value=768
OsInfo[11].Key=ntprodtype
OsInfo[11].Value=1
OsInfo[12].Key=platid
OsInfo[12].Value=10
OsInfo[13].Key=sr
OsInfo[13].Value=0
OsInfo[14].Key=tmsi
OsInfo[14].Value=119562
OsInfo[15].Key=osinsty
OsInfo[15].Value=2
OsInfo[16].Key=iever
OsInfo[16].Value=11.959.18362.0-11.0.200
OsInfo[17].Key=portos
OsInfo[17].Value=0
OsInfo[18].Key=ram
OsInfo[18].Value=16315
OsInfo[19].Key=svolsz
OsInfo[19].Value=232
OsInfo[20].Key=wimbt
OsInfo[20].Value=0
OsInfo[21].Key=blddt
OsInfo[21].Value=190318
OsInfo[22].Key=bldtm
OsInfo[22].Value=1202
OsInfo[23].Key=bldbrch
OsInfo[23].Value=19h1_release
OsInfo[24].Key=bldchk
OsInfo[24].Value=0
OsInfo[25].Key=wpvermaj
OsInfo[25].Value=0
OsInfo[26].Key=wpvermin
OsInfo[26].Value=0
OsInfo[27].Key=wpbuildmaj
OsInfo[27].Value=0
OsInfo[28].Key=wpbuildmin
OsInfo[28].Value=0
OsInfo[29].Key=osver
OsInfo[29].Value=10.0.18362.959.amd64fre.19h1_release.190318-1202
OsInfo[30].Key=buildflightid
OsInfo[31].Key=edition
OsInfo[31].Value=Core
OsInfo[32].Key=ring
OsInfo[32].Value=Retail
OsInfo[33].Key=expid
OsInfo[34].Key=containerid
OsInfo[35].Key=containertype
OsInfo[36].Key=edu
OsInfo[36].Value=0
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=Equalizer APO Configuration Editor
AppPath=P:\Programs\EqualizerAPO\Editor.exe
NsPartner=windows
NsGroup=windows8
ApplicationIdentity=20FB982B74E4C3B36104DCA4EF6EB9F4
MetadataHash=834471186

@franktntx
Copy link

franktntx commented Sep 19, 2020

It would be great, that it could be edited in equalizer apo.

@theglobe
Copy link
Contributor

There is only one parameter to be edited in this plugin, for most users the default value is the best choice. So there is no need to edit this parameter. Just load the plugin and resist the temptation to click the button. :)

If you need to edit it, here is perhaps a workaround:
After loading the plugin in the Editor, choose Options -> Embed and then disable it again (it is a check box). Now choose Edit (in the drop down menu to the left) and you will see a configuration line with the name of the parameter and floating point value. Here you can set the value of the parameter, 0 to 1 (with decimals, outside this range crashes Eq APO).

This configuration line is also written to the config file, and you can also edit it there.

Eq APO differs from other hosts in that it does not provide GUI controls to the plugin. Interestingly, Embed is also supposed to open the plugins controls but does not crash Eq APO.

@werman
Copy link
Owner

werman commented Sep 30, 2020

Yes, I actually installed Windows in a VM and can confirm that the crash is due to Eq APO not handling correctly the lack of GUI in the plugin.

"Options -> Embed" is indeed a solution.

@theglobe
Copy link
Contributor

theglobe commented Oct 8, 2020

I found this source code of Equalizer APO: https://github.com/mirror/equalizerapo/blob/master/helpers/VSTPluginInstance.cpp
(Is this the official source?)

In particular this piece

void VSTPluginInstance::startEditing(HWND hWnd, short* width, short* height)
{
	if (effect == NULL)
		return;

	VstRect* rect;
	effect->dispatcher(effect, effEditGetRect, 0, 0, &rect, 0.0f);
	effect->dispatcher(effect, effEditOpen, 0, 0, hWnd, 0.0f);
	effect->dispatcher(effect, effEditGetRect, 0, 0, &rect, 0.0f);

	*width = rect->right - rect->left;
	*height = rect->bottom - rect->top;
}

So in our case we have an effect, but no implementation of getRect(), thus rect will be unassigned.

It is possible to fix, by implementing getRect() that returns a rect set to some values, which would lead to hosts opening an empty window, just for the sake of fixing a bug in Equalizer APO.

@franktntx
Copy link

There is only one parameter to be edited in this plugin, for most users the default value is the best choice. So there is no need to edit this parameter. Just load the plugin and resist the temptation to click the button. :)

If you need to edit it, here is perhaps a workaround:
After loading the plugin in the Editor, choose Options -> Embed and then disable it again (it is a check box). Now choose Edit (in the drop down menu to the left) and you will see a configuration line with the name of the parameter and floating point value. Here you can set the value of the parameter, 0 to 1 (with decimals, outside this range crashes Eq APO).

This configuration line is also written to the config file, and you can also edit it there.

Eq APO differs from other hosts in that it does not provide GUI controls to the plugin. Interestingly, Embed is also supposed to open the plugins controls but does not crash Eq APO.

Hello, can you give me an example of how to change the parameters?

VSTPlugin: Library "C:\Program Files\VSTPlugins\rrnNoise\librnnoise_vst.dll"

@theglobe
Copy link
Contributor

theglobe commented Oct 8, 2020

@werman
Copy link
Owner

werman commented Oct 10, 2020

@theglobe Thank you for analysis!

For Equalizer APO it would be correct to initialize rect to nullptr and check it after effEditGetRect.

I'm not sure about having a workaround since what if some other host checks if a plugin has GUI by checking the returned rect.

@pannal
Copy link

pannal commented Jan 26, 2022

There is only one parameter to be edited in this plugin, for most users the default value is the best choice. So there is no need to edit this parameter. Just load the plugin and resist the temptation to click the button. :)

If you need to edit it, here is perhaps a workaround: After loading the plugin in the Editor, choose Options -> Embed and then disable it again (it is a check box). Now choose Edit (in the drop down menu to the left) and you will see a configuration line with the name of the parameter and floating point value. Here you can set the value of the parameter, 0 to 1 (with decimals, outside this range crashes Eq APO).

This configuration line is also written to the config file, and you can also edit it there.

Eq APO differs from other hosts in that it does not provide GUI controls to the plugin. Interestingly, Embed is also supposed to open the plugins controls but does not crash Eq APO.

Can you confirm that the VAD threshold works with EqualizerAPO? Also, the README states that its default is 50% - how does that translate to the float value of the parameter?

@MrBridgeSix
Copy link

There is only one parameter to be edited in this plugin, for most users the default value is the best choice. So there is no need to edit this parameter. Just load the plugin and resist the temptation to click the button. :)

If you need to edit it, here is perhaps a workaround: After loading the plugin in the Editor, choose Options -> Embed and then disable it again (it is a check box). Now choose Edit (in the drop down menu to the left) and you will see a configuration line with the name of the parameter and floating point value. Here you can set the value of the parameter, 0 to 1 (with decimals, outside this range crashes Eq APO).

This configuration line is also written to the config file, and you can also edit it there.

Eq APO differs from other hosts in that it does not provide GUI controls to the plugin. Interestingly, Embed is also supposed to open the plugins controls but does not crash Eq APO.

Stopped working after EQ APO 1.3.

MrBridgeSix added a commit to MrBridgeSix/noise-suppression-for-voice that referenced this issue Jun 13, 2022
Properly tell people how to set the VAD Threshold in Equalizer APO, the "exploit" described in werman#44 does not work anymore with EQ APO 1.3 but the edit text part of it still works.
MrBridgeSix added a commit to MrBridgeSix/noise-suppression-for-voice that referenced this issue Jun 13, 2022
Properly tell people how to configure VAD Threshold in EQ APO, the "exploit" described in werman#44 does not work anymore in EQ APO 1.3 but edit text part still works.
@werman
Copy link
Owner

werman commented Jul 23, 2022

Released v1.01, there is GUI now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

8 participants