BASS_ATTRIB_MIDI_TRACK_VOL attribute

The volume level of a track in a MIDI stream.

BASS_ChannelSetAttribute(
    HSTREAM handle,
    BASS_ATTRIB_MIDI_TRACK_VOL + track,
    float volume
);

Parameters

handleThe MIDI stream handle.
trackThe track to set the volume of... 0 = first track.
volumeThe volume level... 0 = silent, 1.0 = normal/default, above 1.0 = amplification.

Remarks

The volume curve used by this attribute is always linear, eg. 0.5 = 50%. The BASS_CONFIG_CURVE_VOL config option setting has no effect on this.

Changes can be made at any time, but the effect of changes during playback may not be heard instantaneously due to buffering.

This attribute can also be used to count the number of tracks in a MIDI file stream. MIDI streams created via BASS_MIDI_StreamCreate do not have any tracks.

Example

Count the number of tracks in a MIDI stream.
int tracks = 0;
float dummy;
while (BASS_ChannelGetAttribute(handle, BASS_ATTRIB_MIDI_TRACK_VOL + tracks, &dummy))
    tracks++;

See also

BASS_MIDI_StreamEvent, BASS_ATTRIB_MIDI_VOL

BASS_ChannelGetAttribute, BASS_ChannelSetAttribute, BASS_ChannelSlideAttribute