QUOTE(cabbagerat @ Apr 26 2008, 23:03)

I understand why MS are reluctant to change the win32 API
So do I, it's because they're just fat and lazy!
QUOTE(cabbagerat @ Apr 26 2008, 23:03)

I really think that using the API (Directx or MCI) is the wrong way to go about it. Doing it in your app would probably be much easier - you could use something like libsamplerate to do it with very little pain.
I think it depends on what
"it" is ... I'm not talking studio mixer here, I'm just talking about an mp3 player. Having an ActiveX control which you drive via code like MM.Play "it.mp3", MM.Pause, MM.Volume = x, MM.Rate = y, etc, is not really what you would call painful.
I was just curious about how playback speed controls (with and without pitch change) worked in general ...
I do have a use for rate adjustment, or more specifically the pitch adjustment that goes with it.
The reason is simple - so I don't have to keep retuning my guitar if I want to play along!
If I tune by ear to CD-sourced tracks, there are various other types of recordings that might not be "in sync" pitch wise and it's a bummer having to stop everything and retune.
Problem sources include vinyl-sourced MP3's where the turntable speed at ATD time wasn't quite bang-on 33.33333, or live recordings from any source, where the band's probably out of it and don't know they aren't in concert pitch ... or don't care, etc ...
If I could adjust the pitch to +/- 1 semitone, or even +/- half a semitone, I'd usually be able to play along with any track without retuning (assuming I keep the guitar itself in tune!) ...