class KeySig

A key signature change. More...

Full nameTSE3::KeySig
Definition#include <KeySigTrack.h>
List of all Methods
Annotated List

Public Types

Public Methods

Public Members

Detailed Description

KeySig objects are values of key signature change that occur in the Song, held in the KeySigTrack.

This class defines the type that is used to create KeySig events, which are of type Event<KeySig>.

When streamed from a Playable interface (using the KeySigTrackIterator class) KeySig objects are represented by a MidiEvent containing a MidiCommand_TSE_Meta MidiCommand with data 1 byte as MidiCommand_TSE_Meta_KeySig.

KeySig is a value type.

See also: KeySigTrack, Event

enum KeySigIncidentals { Cb = -7, Gb = -6, Db = -5, Ab = -4, Eb = -3, Bb = -2, F = -1, C = 0, G = 1, D = 2, A = 3, E = 4, B = 5, Fs = 6, Cs = 7 }


This enum type describes the number of incidentals in a key, this will determine it as one of a pair of major/minor keys. The KeySigType enum resolves exactly which key is represented.

Negative values for this type represent the number of flats in the key. Positive values represent the number of sharps in the key.

Since the names are major ones (for all the difference that makes) you can use the KeySigIncidentalsMinor to specify minor names. Remember that this name means nothing, whether the key is minor or major is determined by the KeySigType value alone.

See also: KeySigType, KeySigIncidentalsMinor

enum KeySigIncidentalsMinor { Abm = -7, Fbbm= -6, Bbm = -5, Gbm = -4, Cm = -3, Dm = -2, Fm = -1, Am = 0, Em = 1, Bm = 2, Fsm = 3, Csm = 4, Gsm = 5, Dsm = 6, Asm = 7 }


Minor version of the KeySigIncidentals enum type.

See also: KeySigIncidentals

enum KeySigType { Major = 0, Minor = 1 }


Represents whether a key is major or minor.

Values are:

See also: KeySigIncidentals

 KeySig (int incidentals = C, int type = Major)


Create a KeySig.

incidentalsNo sharps/flats in key
typeWhether it is a major/minor key

int incidentals


int type


int  operator== (const KeySig &k)



The type of this key signature (major/minor).