libgig  4.3.0
gig::MidiRuleLegato Class Reference

MIDI rule for instruments with legato samples. More...

#include <gig.h>

Inheritance diagram for gig::MidiRuleLegato:
gig::MidiRule

Public Attributes

uint8_t LegatoSamples
 Number of legato samples per key in each direction (always 12)
 
bool BypassUseController
 If a controller should be used to bypass the sustain note.
 
uint8_t BypassKey
 Key to be used to bypass the sustain note.
 
uint8_t BypassController
 Controller to be used to bypass the sustain note.
 
uint16_t ThresholdTime
 Maximum time (ms) between two notes that should be played legato.
 
uint16_t ReleaseTime
 Release time.
 
range_t KeyRange
 Key range for legato notes.
 
uint8_t ReleaseTriggerKey
 Key triggering release samples.
 
uint8_t AltSustain1Key
 Key triggering alternate sustain samples.
 
uint8_t AltSustain2Key
 Key triggering a second set of alternate sustain samples.
 

Protected Member Functions

 MidiRuleLegato (RIFF::Chunk *_3ewg)
 
void UpdateChunks (uint8_t *pData) const
 

Detailed Description

MIDI rule for instruments with legato samples.

A "Legato MIDI rule" allows playing instruments resembling the legato playing technique. In the past such legato articulations were tried to be simulated by pitching the samples of the instrument. However since usually a high amount of pitch is needed for legatos, this always sounded very artificial and unrealistic. The "Legato MIDI rule" thus uses another approach. Instead of pitching the samples, it allows the sound designer to bundle separate, additional samples for the individual legato situations and the legato rules defined which samples to be played in which situation.

Note: "Legato MIDI rules" are only supported by gigedit, but not by LinuxSampler. We recommend you using real-time instrument scripts instead. Read more about the details and reasons for this in the description of the MidiRule base class.

Deprecated:
Just provided for backward compatiblity, use Script for new instruments instead. See description of MidiRule for details.

Definition at line 1067 of file gig.h.


The documentation for this class was generated from the following files: