Used with BASS_FXGetParameters and BASS_FXSetParameters to retrieve and set the parameters of a volume level effect.
typedef struct { float fTarget; float fCurrent; float fTime; DWORD lCurve; } BASS_FX_VOLUME_PARAM;
fTarget | The new volume level... 0 = silent, 1.0 = normal, above 1.0 = amplification. The default value is 1. |
fCurrent | The current volume level... -1 = leave existing current level when setting parameters. The default value is 1. |
fTime | The time to take to transition from the current level to the new level, in seconds. The default value is 0. |
lCurve | The curve to use in the transition... 0 = linear, 1 = logarithmic. The default value is 0. |
When retrieving parameters, the returned fCurrent value is the level that is currently being applied, not necessarily the level that was last set via BASS_FXSetParameters. During playback, it may not be the value that is currently being heard, due to buffering.
Unlike the BASS_ATTRIB_VOL attribute, this effect modifies the channel's sample data, so it can be used to change the level of decoding channels and recording channels. The BASS_CONFIG_CURVE_VOL setting does not affect this effect; the fTarget and fCurrent values are always linear.