BASS_ChannelSlideAttribute
Slides a channel's attribute from its current value to a new value.
BOOL BASS_ChannelSlideAttribute( DWORD handle, DWORD attrib, float value, DWORD time );
Parameters
handle | The channel handle... a HCHANNEL, HSTREAM, HMUSIC, or HRECORD. | ||||||||||||||||||||||||
attrib | The attribute to slide the value of... one of the following.
| ||||||||||||||||||||||||
value | The new attribute value. See the attribute's documentation for details on the possible values. | ||||||||||||||||||||||||
time | The length of time (in milliseconds) that it should take for the attribute to reach the value. |
Return value
If successful, then TRUE is returned, else FALSE is returned. Use BASS_ErrorGetCode to get the error code.Error codes
BASS_ERROR_HANDLE | handle is not a valid channel. |
BASS_ERROR_ILLTYPE | attrib is not valid. |
Remarks
This function is similar to BASS_ChannelSetAttribute, except that the attribute is ramped to the value over the specified period of time. Another difference is that the value is not pre-checked. If it is invalid, the slide will simply end early.If an attribute is already sliding, then the old slide is stopped and replaced by the new one.
BASS_ChannelIsSliding can be used to check if an attribute is currently sliding. A BASS_SYNC_SLIDE sync can also be set via BASS_ChannelSetSync, to be triggered at the end of a slide. The sync will not be triggered in the case of an existing slide being replaced by a new one.
Attribute slides are unaffected by whether the channel is playing, paused or stopped. They carry on regardless.
Example
Fadeout a channel's volume over a period of 1 second.BASS_ChannelSlideAttribute(channel, BASS_ATTRIB_VOL, 0, 1000);