For some unknown reason sf::music.setVolume() does not work at all. I'm sure its being called since It printed a test word to the console from the line of code directly before the function.
I saw that someone else had this problem here
https://en.sfml-dev.org/forums/index.php?topic=20657.0 so I tried updating to the latest SFML with GCC 13. It still doesn't change the volume when it should. I have made this minimal example.
The following code gets run in the main loop after the music has been set.
cout<<"test"<<endl;
music.setVolume(0);
I'm guessing its either a problem with how I linked up SFML or a problem with SFML itself.