The same applies for texture and texture rect, view center and view size, and so on. There are tons of examples where you have to call multiple methods to set the correct state, and I see no reason to deviate from that scheme.
Then those should change as well, thanks for pointing them out.
It's like your often mentioned RAII: Why allow dangerous situations if they can be avoided by design?
The problem I see with such things is that it's easy to use them wrong. And in case of SFML
especially, it even remains silent if you do so (no assert, no exception, no message) -- or even does not
allow to use it right, like this particular audio bug.
No. It can be discussed for SFML 3, but until then there won't be breaking changes. I don't know why this has to be stated again and again...
I don't care for what version, I try to find a good solution. This shouldn't have to do something with any version number at all: There's a bug, there should be a clean fix.
2.x can live with a workaround, 3 should have a clean solution. Personally I would go with a clean solution immediately, because I don't find backwards-incompatible API changes problematic (if they happen in 2.2 or 3.0 does not really matter in my opinion -- sooner or later it will happen, so why postponing it for an unnecessary long time?).
I've personally never heard something like "Oh no, those API changes are so massive, I will stop using SFML because of it!". (Except the naming scheme change, which surely pissed off some people.
) It's not like that it takes ages to adjust code to work with newer versions. And you have always the option to stay with an older version if it works for you.
I listed three points why the proposed API is unintuitive (to which you didn't respond). On the other side, there is a very clean solution to add an up vector to the existing API.
I did not respond because I did not propose it, you replied to Lo-X.