void MusSetMarkerCallback(void *callback);
It sets the callback function for a synchronous marker. This function specifies the address of the function to inform when a marker prepared in a function by the programmer appears during playback of a song. The callback argument takes on the LIBMUScb_marker definition set with typedef in libmus.h
typedef void(*LIBMUScb_marker) (musHandle, int);
The parameters passed to the callback function are the handle of the song that generated the callback and the number of synchronous markers found.
Note: The callback function is called from the library thread, so it is best to process it as soon as called.
None
void GameSongCallback(musHandle handle, int marker)
{
if (handle==gamesong_handle)
gamesong_position = marker;
}
void GameSongStart(void)
{
gamesong_position = 0;
gamesong_handle = MusStartSongFromMarker(&song_data, 1);
MusSetMarkerCallback(GameSongCallback);
}