gig::MidiRuleLegato Class Reference

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

`#include <gig.h>`

Inheritance diagram for gig::MidiRuleLegato:

## 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 compatibility, use Script for new instruments instead. See description of MidiRule for details.

Definition at line 1067 of file gig.h.

## Constructor & Destructor Documentation

## MidiRuleLegato() [1/2]

gig::MidiRuleLegato::MidiRuleLegato | ( | RIFF::Chunk * | _3ewg | ) |

protected

Definition at line 4466 of file gig.cpp.

## MidiRuleLegato() [2/2]

gig::MidiRuleLegato::MidiRuleLegato | ( |  | ) |

protected

Definition at line 4485 of file gig.cpp.

## Member Function Documentation

## UpdateChunks()

void gig::MidiRuleLegato::UpdateChunks | ( | uint8_t * | pData | ) | const

protected virtual

Implements gig::MidiRule.

Definition at line 4499 of file gig.cpp.

## Member Data Documentation

## AltSustain1Key

uint8_t gig::MidiRuleLegato::AltSustain1Key

Key triggering alternate sustain samples.

Definition at line 1077 of file gig.h.

## AltSustain2Key

uint8_t gig::MidiRuleLegato::AltSustain2Key

Key triggering a second set of alternate sustain samples.

Definition at line 1078 of file gig.h.

## BypassController

uint8_t gig::MidiRuleLegato::BypassController

Controller to be used to bypass the sustain note.

Definition at line 1072 of file gig.h.

## BypassKey

uint8_t gig::MidiRuleLegato::BypassKey

Key to be used to bypass the sustain note.

Definition at line 1071 of file gig.h.

## BypassUseController

bool gig::MidiRuleLegato::BypassUseController

If a controller should be used to bypass the sustain note.

Definition at line 1070 of file gig.h.

## KeyRange

range_t gig::MidiRuleLegato::KeyRange

Key range for legato notes.

Definition at line 1075 of file gig.h.

## LegatoSamples

uint8_t gig::MidiRuleLegato::LegatoSamples

Number of legato samples per key in each direction (always 12).

Definition at line 1069 of file gig.h.

## ReleaseTime

uint16_t gig::MidiRuleLegato::ReleaseTime

Release time.

Definition at line 1074 of file gig.h.

## ReleaseTriggerKey

uint8_t gig::MidiRuleLegato::ReleaseTriggerKey

Key triggering release samples.

Definition at line 1076 of file gig.h.

## ThresholdTime

uint16_t gig::MidiRuleLegato::ThresholdTime

Maximum time (ms) between two notes that should be played legato.

Definition at line 1073 of file gig.h.

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

- gig.h
- gig.cpp