/// <summary> /// Triggers note off events for all notes currently on in the referenced Helm instance(s). /// </summary> public void AllNotesOff() { Native.HelmAllNotesOff(channel); pressedNotes.Clear(); }
/// <summary> /// Changes a Helm synthesizer parameter by percent of the valid range. /// e.g. Set the volume to the highest setting by setting the Volume to 1.0. /// </summary> /// <param name="parameter">The parameter to be changed.</param> /// <param name="newPercent">The percent of range of values to use. 0.0 for lowest, 1.0 for highest.</param> public void SetParameterPercent(CommonParam parameter, float newPercent) { Native.HelmSetParameterPercent(channel, (int)parameter, newPercent); }
/// <summary> /// Changes a Helm synthesizer parameter value. /// e.g. Lower the pitch of the oscillator by setting the transpose to -12 semitones. /// </summary> /// <param name="parameter">The parameter to be changed.</param> /// <param name="newValue">The value to change the parameter to.</param> public void SetParameterValue(CommonParam parameter, float newValue) { Native.HelmSetParameterValue(channel, (int)parameter, newValue); }
/// <summary> /// Sets the aftertouch for a given note. The aftertouch may change how the given note sounds depending on the patch. /// </summary> /// <param name="note">The note to change the aftertouch value on.</param> /// <param name="aftertouchValue">The new aftertouch value.</param> public void SetAftertouch(int note, float aftertouchValue) { Native.HelmSetAftertouch(channel, note, aftertouchValue); }
/// <summary> /// Sets the modulation wheel value for the synth. The modulation wheel may change how the synth sounds depending on the patch. /// </summary> /// <param name="wheelValue">The new wheel value. [0.0, 1.0]</param> public void SetModWheel(float wheelValue) { Native.HelmSetModWheel(channel, wheelValue); }
void OnAudioFilterRead(float[] data, int audioChannels) { Native.HelmGetBufferData(channel, data, data.Length / audioChannels, audioChannels); }