libgig 4.4.1
gig::MidiRuleAlternator Class Reference

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

#include <gig.h>

Inheritance diagram for gig::MidiRuleAlternator:
gig::MidiRule

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 compatiblity, 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
protectedvirtual

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: