Track change notification [Archive] - Quintessential Forum

PDA

View Full Version : Track change notification


acozz
07-05-2005, 12:51 PM
It seems that WM_PN_PLAYSTARTED will catch a track change for mp3s and such, but will not catch a track change with a CD. It doesn't seem that WM_PN_TRACKCHANGED catches the track change for a CD either. Thoughts?

acozz
07-06-2005, 12:03 AM
Paul?

Edit: Seems I spoke too soon. WM_PN_TRACKCHANGED is working now (not sure why it wasn't working before) but the current track isn't correct, it's the track that just ended, not the next track.

This is for B103...would 4.51 exhibit this same behavior?

Paul
07-06-2005, 01:39 AM
I checked, and see no issue with WM_PN_TRACKCHANGED. If it wasn't working properly, then the display in QCD would not display the correct track during CD playback.

How did you determine it was reporting the previous track?

acozz
07-06-2005, 02:18 AM
Using this plugin, it will pop up a balloon with the current track info on track change. The handling for WM_PN_TRACKCHANGED is the same as WM_PN_PLAYSTARTED. When a CD track completes (not when you skip), the balloon will show the current track info. With CDs it shows the song that just completed, with mp3s it works correctly.

Paul
07-06-2005, 05:34 AM
Ah, I didnt test with your plugin, but I know the issue. The notification message is sent out by the CD plugin which causes QCD to update the display as the CD playback progresses. Since you are intercepting these messages, you are getting them before QCD. And I assume you are then doing a -1 to get the current track - which has not yet been updated in QCD.

You could use the (LPCSTR)lParam in the message to get the name of the track being changed to.

acozz
07-07-2005, 12:03 AM
Alright, everything seems to be in order then. Any particular reason the CD plugin can't just send a WM_PN_PLAYSTARTED message after track change?

Paul
07-07-2005, 08:21 PM
I'll be giving this issue some thought.

Tokelil
06-06-2006, 09:10 AM
Just ran into the same problem (again) with b110, so thought Id bump it... :)

Easiest way for me to work around it seems to be a seconds delay.