BASS.NET API for the Un4seen BASS Audio LibraryWaveFormGetCuePoints Method (Double, Double, Double, Int32, Int32, Boolean)BASS.NET API for the Un4seen BASS Audio Library
Determines silence positions of a rendered wave form within a given range.

Namespace: Un4seen.Bass.Misc
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.12.0
Syntax

public bool GetCuePoints(
	ref double startpos,
	ref double endpos,
	double threshold,
	int frameStart,
	int frameEnd,
	bool findZeroCrossing
)

Parameters

startpos
Type: SystemDouble
Returns the position in seconds where the sound begins (cue-in position).
endpos
Type: SystemDouble
Returns the position in seconds where the sound ends (cue-out position).
threshold
Type: SystemDouble
The threshold in dB (e.g. -24.0dB) which should be used to detect silence resp. sound at the beginning and end of the track.
frameStart
Type: SystemInt32
The frame position where to start the silence detection (between 0 and FramesRendered, or -1 to scan from the beginning).
frameEnd
Type: SystemInt32
The frame position til where to perform the silence detection (between 0 and FramesRendered, or -1 to scan til the end; must be bigger than frameStart).
findZeroCrossing
Type: SystemBoolean
If set to the cue points will be adjusted to the next resp. previous zero crossing in order to avoid clicks (if set to the cue points will be adjusted to a quiter sample only).

Return Value

Type: Boolean
on success, else .
Remarks

If your rendering method and your playback stream used different flags during creation (e.g. rendering was done using the BASS_DEFAULT flag whereas your playback stream uses BASS_SAMPLE_FLOAT) getting the cue points might result in different positions, meaning the positions would reflect a different value during playback. But if you called the SyncPlayback(Int32) method this will ensure, that the position will be converted accordingly.

Examples

VB
Dim startpos As Double = 0.0
Dim endpos As Double = 0.0
WF.GetCuePoints(startpos, endpos, -42.0, -1, -1, True)
WF.AddMarker("CUE", startpos)
WF.AddMarker("END", endpos)
...
double startpos = 0.0;
double endpos   = 0.0;
WF.GetCuePoints(ref startpos, ref endpos, -42.0, -1, -1, true);
WF.AddMarker( "CUE", startpos );
WF.AddMarker( "END", endpos );
...
See Also

Reference