gig::MidiRuleAlternator Class Reference

MIDI rule to automatically cycle through specified sequences of different articulations. More...

`#include <gig.h>`

Inheritance diagram for gig::MidiRuleAlternator:

## Public Types

enum | selector_t { selector_none , selector_key_switch , selector_controller }

## Public Attributes

uint8_t | Articulations
| Number of articulations in the instrument.
String | pArticulations [32]
| Names of the articulations.
range_t | PlayRange
| Key range of the playable keys in the instrument.
uint8_t | Patterns
| Number of alternator patterns.
struct gig::MidiRuleAlternator::pattern_t | pPatterns [32]
| A pattern is a sequence of articulation numbers.
selector_t | Selector
| Method by which pattern is chosen.
range_t | KeySwitchRange
| Key range for key switch selector.
uint8_t | Controller
| CC number for controller selector.
bool | Polyphonic
| If alternator should step forward only when all notes are off.
bool | Chained
| If all patterns should be chained together.

## Protected Member Functions

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

## Detailed Description

MIDI rule to automatically cycle through specified sequences of different articulations.

The instrument must be using the smartmidi dimension.

Note: "Alternator" MIDI rules are neither supported by gigedit nor 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 1099 of file gig.h.

## Member Enumeration Documentation

## selector_t

enum gig::MidiRuleAlternator::selector_t

Definition at line 1120 of file gig.h.

## Constructor & Destructor Documentation

## MidiRuleAlternator() [1/2]

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

protected

Definition at line 4515 of file gig.cpp.

## MidiRuleAlternator() [2/2]

gig::MidiRuleAlternator::MidiRuleAlternator | ( |  | ) |

protected

Definition at line 4547 of file gig.cpp.

## Member Function Documentation

## UpdateChunks()

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

protected virtual

Implements gig::MidiRule.

Definition at line 4559 of file gig.cpp.

## Member Data Documentation

## Articulations

uint8_t gig::MidiRuleAlternator::Articulations

Number of articulations in the instrument.

Definition at line 1101 of file gig.h.

## Chained

bool gig::MidiRuleAlternator::Chained

If all patterns should be chained together.

Definition at line 1130 of file gig.h.

## Controller

uint8_t gig::MidiRuleAlternator::Controller

CC number for controller selector.

Definition at line 1127 of file gig.h.

## KeySwitchRange

range_t gig::MidiRuleAlternator::KeySwitchRange

Key range for key switch selector.

Definition at line 1126 of file gig.h.

## pArticulations

String gig::MidiRuleAlternator::pArticulations[32]

Names of the articulations.

Definition at line 1102 of file gig.h.

## Patterns

uint8_t gig::MidiRuleAlternator::Patterns

Number of alternator patterns.

Definition at line 1106 of file gig.h.

## PlayRange

range_t gig::MidiRuleAlternator::PlayRange

Key range of the playable keys in the instrument.

Definition at line 1104 of file gig.h.

## Polyphonic

bool gig::MidiRuleAlternator::Polyphonic

If alternator should step forward only when all notes are off.

Definition at line 1129 of file gig.h.

## Selector

selector_t gig::MidiRuleAlternator::Selector

Method by which pattern is chosen.

Definition at line 1125 of file gig.h.

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

- gig.h
- gig.cpp