I'm using PulseEffects as a system-wide equalizer and it works fine, but recently I've started learning SFML and noticed that PulseEffects can't process the SFML output. Moreover, PulseEffects throws a critical error when I start audio playback using SFML.
The creator of the PulseEffects, Wellington Wallace said this about the critical error: "Usually this happens when the audio program, sfml in this case, is setting the DONT_MOVE Pulseaudio flag. There are others programs that unfortunately do that too. Firefox(mic stream) is an example. If the application tells Pulseaudio that no one is allowed to move its stream there is nothing I can do."
So I thought somebody here can help me to fix this issue?
#include <SFML/Audio.hpp>
#include <iostream>
int main()
{
sf::Music music;
if (!music.openFromFile("music.wav"))
return -1; // error
music.play();
char a;
std::cin >> a;
return 0;
}
For help requests we tend to prefer the use of the forum, so we have a better overview of outstanding issues on GitHub itself.
SFML is audio-backend agnostic and uses OpenAL for everything. How OpenAL interacts with Pulseaudio and your equalizer is unclear to me. But equipped with the knowledge of OpenAL being the one talking to Pulseaudio, maybe you can find similar issues people had and maybe there's even some configuration.
Hm, we're using OpenAL in SFML and I'm not aware of such a setting.
I found some related threads and workarounds though:
~/.alsoftrc)I'm not sure if there's even much that can be done within SFML itself; maybe it needs to be configured externally?
Thanks for the extremely quick responses! I didn't know that SFML uses OpenAL. Bromeon's last link helped me fix this issue!
Most helpful comment
Thanks for the extremely quick responses! I didn't know that SFML uses OpenAL. Bromeon's last link helped me fix this issue!