Retrieves the pregap length (in bytes) of a track.
DWORD BASS_CD_GetTrackPregap( DWORD drive, DWORD track );
drive | The drive... 0 = the first drive. |
track | The track to retrieve the pregap length of... 0 = the first track. |
BASS_ERROR_DEVICE | drive is invalid. |
BASS_ERROR_NOCD | There is no CD in the drive. |
BASS_ERROR_CDTRACK | The track number is invalid. |
BASS_ERROR_NOTAUDIO | The track is not an audio track. |
BASS_ERROR_NOTAVAIL | Reading sub-channel data is not supported by the drive. |
A track's pregap is actually played as part of the preceding track. So to remove the gap from the end of a track, you would get the pregap length of the following track. The gap will usually contain silence, but it does not have to; it could contain crowd noise in a live recording, for example.
DWORD len = BASS_CD_GetTrackLength(0, 0); // get first track length len -= BASS_CD_GetTrackPregap(0, 1); // subtract the ending gap