libgig  4.0.0
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

Classes

struct  pattern_t
 

Public Types

enum  selector_t { selector_none, selector_key_switch, selector_controller }
 

Public Attributes

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

Protected Member Functions

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

Friends

class Instrument
 

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 911 of file gig.h.

Member Enumeration Documentation

§ selector_t

Enumerator
selector_none 
selector_key_switch 
selector_controller 

Definition at line 932 of file gig.h.

Constructor & Destructor Documentation

§ MidiRuleAlternator() [1/2]

gig::MidiRuleAlternator::MidiRuleAlternator ( RIFF::Chunk _3ewg)
protected

§ MidiRuleAlternator() [2/2]

gig::MidiRuleAlternator::MidiRuleAlternator ( )
protected

Definition at line 4034 of file gig.cpp.

References gig::range_t::high, KeySwitchRange, gig::range_t::low, and PlayRange.

Member Function Documentation

§ UpdateChunks()

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

Friends And Related Function Documentation

§ Instrument

friend class Instrument
friend

Definition at line 948 of file gig.h.

Member Data Documentation

§ Articulations

uint8_t gig::MidiRuleAlternator::Articulations

Number of articulations in the instrument.

Definition at line 913 of file gig.h.

Referenced by UpdateChunks().

§ Chained

bool gig::MidiRuleAlternator::Chained

If all patterns should be chained together.

Definition at line 942 of file gig.h.

Referenced by UpdateChunks().

§ Controller

uint8_t gig::MidiRuleAlternator::Controller

CC number for controller selector.

Definition at line 939 of file gig.h.

Referenced by UpdateChunks().

§ KeySwitchRange

range_t gig::MidiRuleAlternator::KeySwitchRange

Key range for key switch selector.

Definition at line 938 of file gig.h.

Referenced by MidiRuleAlternator(), and UpdateChunks().

§ pArticulations

String gig::MidiRuleAlternator::pArticulations[32]

Names of the articulations.

Definition at line 914 of file gig.h.

Referenced by UpdateChunks().

§ Patterns

uint8_t gig::MidiRuleAlternator::Patterns

Number of alternator patterns.

Definition at line 918 of file gig.h.

Referenced by UpdateChunks().

§ PlayRange

range_t gig::MidiRuleAlternator::PlayRange

Key range of the playable keys in the instrument.

Definition at line 916 of file gig.h.

Referenced by MidiRuleAlternator(), and UpdateChunks().

§ Polyphonic

bool gig::MidiRuleAlternator::Polyphonic

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

Definition at line 941 of file gig.h.

Referenced by UpdateChunks().

§ pPatterns

struct gig::MidiRuleAlternator::pattern_t gig::MidiRuleAlternator::pPatterns[32]

A pattern is a sequence of articulation numbers.

Referenced by UpdateChunks().

§ Selector

selector_t gig::MidiRuleAlternator::Selector

Method by which pattern is chosen.

Definition at line 937 of file gig.h.

Referenced by UpdateChunks().


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