wwmm / easyeffects

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
GNU General Public License v3.0
6.57k stars 270 forks source link

EasyEffects crashes when launching League of Legends (via Lutris) #1181

Closed Rabcor closed 3 years ago

Rabcor commented 3 years ago

EasyEffects Version

6.1.2

What package are you using?

Arch Official (easyeffects)

Distribution

Manjaro

Expected Behavior

Not Crashing

Actual Behavior

Crashes

Additional Information

EasyEffects has no problems affecting the sound from the game after the client has been launched.

Blocklisting LeagueClientUXRender.exe (the stream that outputs game's audio) does not affect the issue.

EasyEffects also crashes when shutting off the league of legents client.

The crash usually happens but not always, however if I have the game launched, am playing sounds in the background (in this case Audacious), and the LeagueClientUXRender.exe audio stream is open, and I go to Plasma PA (KDE volume controls) and go to the applications tab, easyeffects will always crash; although admittedly, going to the per application volume controls menu in Plasma PA is liable to crash easyeffects even when I'm not running LoL, so it might be a separate issue.

Game Install: https://lutris.net/games/league-of-legends/ (Note: The game is free, and you do not need to create an account to experience the issue) Output: https://gist.github.com/Rabcor/d9266e251af94a8f9d18d2c18995beb0

wwmm commented 3 years ago

This may have the same source as #1172. Try to install EasyEffects through the AUR package. Our master branch has some changes that should fix this problem.

Rabcor commented 3 years ago

This may have the same source as #1172. Try to install EasyEffects through the AUR package. Our master branch has some changes that should fix this problem.

Ah, I'm crashing even if the easyeffects window is open, so it's possible it's not the same source as well, I will try the AUR git build package tho and tell u if it's fixed there.

wwmm commented 3 years ago

It may help to view the full log. Kill the current instance easyeffects -q and restart it in debug mode G_MESSAGES_DEBUG=easyeffects easyeffects. If you want to get logs running as a service you can run G_MESSAGES_DEBUG=easyeffects easyeffects --gapplication-service

Rabcor commented 3 years ago

@wwmm

ah i'll try to remember that next time I run into this kind of issue.

But I tried with the git build and as far as I can tell this issue is fixed 😺 So I'm closing it, but I do have a minor suggestion (recommendation?) though while I'm at it.

It's about the help dialog from easyeffects -h

Which is currently:

Usage:
  easyeffects [OPTION…]

Help Options:
  -h, --help                 Show help options
  --help-all                 Show all help options
  --help-gapplication        Show GApplication options

Application Options:
  -q, --quit                 Quit EasyEffects. Useful when running in service mode.
  -p, --presets              Show available presets.
  -l, --load-preset          Load a preset. Example: easyeffects -l music
  -r, --reset                Reset EasyEffects.
  -b, --bypass               Global bypass. 1 to enable, 2 to disable and 3 to get status
  -w, --hide-window          Hide the Window.

I would suggest changing this to:

Usage:
  easyeffects [OPTION…]

Help Options:
  -h, --help                 Show help options

Application Options:
  -q, --quit                 Quit EasyEffects. Useful when running in service mode.
  -p, --presets              Show available presets.
  -l, --load-preset          Load a preset. Example: easyeffects -l music
  -r, --reset                Reset EasyEffects.
  -b, --bypass               Global bypass. 1 to enable, 2 to disable and 3 to get status
  -w, --hide-window          Hide the Window.
  --gapplication-service     Enter GApplication service mode (use from D-Bus service files)

I mean the --help-alland --help-gapplicationseem kinda redundant considering the only other option is --gapplication-service, it feels kinda pointless to hide this one option between two possible alternate help commands instead of including it in the normal one.


Additional suggestion would be to make an alias for -s or -g argument to run in service mode, I mean it's a minor improvement but it would be convenient not to need to type out the full --gapplication-service argument every time.

Lastly, adding a -d or --debug option to run in debug mode instead of requiring a command prefix to do it would be nice too 👍

wwmm commented 3 years ago

I do not think your suggestion can be done. The only options that are coming from EasyEffects code are the ones under Application Options:. Our service mode is a gtk feature and as a result the one creating and handling the option --gapplication-service is gtk. Same thing for the help options. They are generic gtk options that any gtk app has and it does not look like I can create alias for them.

wwmm commented 3 years ago

Lastly, adding a -d or --debug option to run in debug mode instead of requiring a command prefix to do it would be nice too

Similar situation. The debug infrastructure used in EasyEffects is another gtk feature. And as far as I can see it has to be set through environment variables.