Finale PDK Framework 0.73
Public Member Functions | Friends | List of all members
FCKeySignature Class Reference

Class for key signatures. Instances of this class are auto-created by FCMeasure:GetKeySignature and FCCell:GetKeySignature when needed. More...

#include <ff_keysig.h>

Inheritance diagram for FCKeySignature:
__FCBase

Public Member Functions

 FCKeySignature (eKey key=KEY_C_MAJOR)
 The constructor. Sets the default key signature to C major is no key is supplied.
 
const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
const PDKFRAMEWORK_CLASSID GetClassID () const override
 Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has problems to resolve the true classes of inherited objects. More...
 
twobyte GetKeyMode () const
 Returns the key mode that can be used to load the associated FCCustomKeyModeDef. More...
 
void SetID (eKey newkey)
 Sets the key signature ID. More...
 
void SetTransposeAlteration (twobyte value)
 Sets the transpose alteration offset, if the key should be calculated based on a transposition of an existing key. More...
 
void SetTransposeSimplify (bool state)
 Sets if a transposed key should be simplified. More...
 
void SetMajorKey (int accidentalnumber)
 Sets the key signature to a major key. More...
 
void SetMinorKey (int accidentalnumber)
 Sets the key signature to a minor key. More...
 
eKey GetID () const
 Gets the key signature ID. More...
 
twobyte GetAlteration () const
 Returns the alteration for the key. Negative if the key signatures contains flats, positive if the signature contains sharps. More...
 
eKey GetIDWithTransposition () const
 Returns the key signature ID with the transposition (and transposition simplification) added. More...
 
twobyte GetTransposeAlteration () const
 Returns the current transposition alteration index. More...
 
bool GetTransposeSimplify () const
 Returns true if the transposed key should be simplified. More...
 
bool GetTransposeChromatic () const
 Returns true if the transposed key is chromatic.
 
int CalcScaleRootIndex () const
 Returns the scale's "letter root", as a 0-base index starting from 'A'. Only predefined major and minor keys are supported. More...
 
int CalcRootRelationIndex () const
 Returns the scale's root relation to C major in the circle of fifths. Only predefined major and minor keys are supported. More...
 
int CalcRootRelationAbsoluteIndex () const
 Returns the scale's root relation to C in the circle of fifths, based on the root's note. Only predefined major and minor keys are supported. More...
 
twobyte CalcSharps () const
 Returns the number of sharps in the key signature. Only predefined major and minor keys are supported. More...
 
twobyte CalcFlats () const
 Returns the number of flats in the key signature. More...
 
twobyte CalcTotalChromaticSteps () const
 Returns the number of chromatic steps in the key mode. For predefined keys this is always 12. For custom key signatures it is the number of equal divisions of the octave. 19-EDO returns 19, 31-EDO returns 31, 96-EDO returns 96, etc. See comments at FCTransposer for more information about EDO numbers. More...
 
std::vector< eHarmLev > CalcDiatonicStepsMap () const
 Returns an array (or table in Lua) specifiying the chromatic step where each diatonic step occurs. The first element is always zero. The elements always increase, and the final element must be less than CalcTotalChromaticSteps. If the array has a number of elements other than 7, it can't easily be represented on a traditional staff, so the chance of a number of elements other than 7 is vanishingly small. But Finale allows it. More...
 
bool IsPredefined () const
 Returns true if the key is a predefined key signature (major or minor). More...
 
bool IsLinear () const
 Returns true if the key mode can transpose its key signature. This includes standard major and minor keys as well as custom key signatures that can be transposed by adding or reducing the number of sharps or flats. An example of a non-linear key signature would be one that contains Eb and F#. By contrast, microtonal key modes can be linear and have key signatures, depending on how they are set up, but they rarely do. More...
 
bool IsMajor () const
 Returns true if the key is a major key signature, using the predefined major key mode. More...
 
bool IsMinor () const
 Returns true if the key is a minor key signature, using the predefined minor key mode. More...
 
bool IsIdentical (const __FCBase *pCompareObject) const override
 Returns true if the key is identical to the compared key signature. More...
 
bool IsSharpNote (int letterindex) const
 Returns true if the key is raising the note. More...
 
bool IsFlatNote (int letterindex) const
 Returns true if the key is adding a flat to the note. Only predefined major and minor keys are supported. More...
 
void MakeString (FCString *pString) const
 Creates a string representation of the key. Only predefined major and minor keys are supported. More...
 
eHarmLev CalcScaleNumber (eHarmLev displacement) const
 Calculate the scale number of the input displacement value. More...
 
void DebugDump () override
 Outputs the class data/information for debugging purposes. More...
 
- Public Member Functions inherited from __FCBase
virtual ~__FCBase ()
 Virtual destructor, so all inherited classes get the virtual destructor.
 
void DebugMsgInt (const char *pszPrefixText, int i)
 Creates a simple Message Box for debug purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More...
 
void DebugMsgHex (const char *pszPrefixText, int i)
 Creates a simple Message Box for debug purposes. The text appears with the extra digit (as a hexadecimal number) appearing afterwards. More...
 
void DebugMsgString (const char *pszPrefixText, const char *thestring)
 Creates a simple Message Box for debug purposes. The text appears with the extra string appearing afterwards. More...
 
void DebugMsg (const char *pszMsg)
 Creates a simple Message Box for debug purposes with just one text string. More...
 
void DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const
 Outputs the menu command info for debugging purposes. More...
 
int DebugOutFormat (const char *fmt,...)
 Outputs debug text using C style "printf" syntax. More...
 
virtual void DebugDataDump ()
 Outputs a memory dump of the data block in the object for debugging purposes. More...
 
virtual void DebugDataByteArrayDump ()
 Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. More...
 
void Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state)
 Sets a 16 bit flag. More...
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets/resets a 32 bit flag, by using a bit mask. More...
 
bool GetBitFlag (FLAG_32 flag, FLAG_32 flagbits) const
 Gets a state from flag bits. Returns true if any bit in the mask is set. More...
 
int GetBitCount (FLAG_32 flag)
 Returns the total number of set bits in a 32-bit unsigned int.
 
void SetSpecific32Bit (FLAG_32 *flag, int bitnumber, bool state)
 Sets/resets a single bit in a 32 bit flag, by specifying one specific bit. More...
 
void SetUserData (void *pData)
 Sets the user data attached to the instance of an object. More...
 
void SetUserData2 (void *pData)
 Sets the additional user data attached to the instance of an object. More...
 
void * GetUserData () const
 Gets the user data attached to the instance of an object. More...
 
void * GetUserData2 () const
 Gets the additional user data attached to the instance of an object. More...
 
void StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file. More...
 
void StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value)
 Helper function to store integer objects in the XML file. More...
 
void StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value)
 Helper function to store boolean objects in the XML file. More...
 
void StoreXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file, as an attribute to a node. More...
 
void StoreXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int value)
 Helper function to store integer objects in the XML file, as an attribute to a node. More...
 
void StoreXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool value)
 Helper function to store boolean objects in the XML file, as an attribute to a node. More...
 
void StoreXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float value)
 Helper function to store floating point objects in the XML file, as an attribute to a node. More...
 
virtual void StoreToXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to store an object's data. More...
 
bool ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file. More...
 
bool ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue)
 Helper method to read integer objects from the XML file. More...
 
bool ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue)
 Helper method to read boolean objects from the XML file. More...
 
bool ReadXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file, as an attribute to a node. More...
 
bool ReadXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int *pValue)
 Helper method to read integer objects from the XML file, as an attribute to a node. More...
 
bool ReadXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool *pValue)
 Helper method to read boolean objects from the XML file, as an attribute to a node. More...
 
bool ReadXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float *pValue)
 Helper method to read floating point objects from the XML file, as an attribute to a node. More...
 
virtual bool ReadFromXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to read object data. More...
 

Friends

class FCTransposer
 

Additional Inherited Members

- Public Types inherited from __FCBase
enum  PDKFRAMEWORK_CLASSID {
  FCID_UNKNOWN = 0 , FCID_ACCIDENTALMOD , FCID_ACTIVELYRIC , FCID_ALLOTMENT ,
  FCID_ARTICULATION , FCID_ARTICULATIONDEF , FCID_BACKWARDREPEAT , FCID_BASELINE ,
  FCID_BEAMMOD , FCID_BEATCHARTELEMENT , FCID_BOOKMARK , FCID_BROKENBEAMMOD ,
  FCID_CATEGORYDEF , FCID_CELLCLEFCHANGE , FCID_CELLFRAMEHOLD , FCID_CELLGRAPHIC ,
  FCID_CELLTEXT , FCID_CENTERSMARTSHAPE , FCID_CHORD , FCID_CHORDPREFS ,
  FCID_CHORDSUFFIXELEMENT , FCID_CHORUSSYLLABLE , FCID_CLEFDEF , FCID_COMPOSITETIMESIGBOTTOMELEMENT ,
  FCID_COMPOSITETIMESIGTOPELEMENT , FCID_CROSSSTAFFMOD , FCID_CUSTOMSMARTLINEDEF , FCID_CUSTOMSTEMMOD ,
  FCID_DISTANCEPREFS , FCID_DOTMOD , FCID_ENCLOSURE , FCID_ENDINGREPEAT ,
  FCID_ENIGMATEXTSTYLE , FCID_ENTRYALTERMOD , FCID_EXECUTABLESHAPEDEF , FCID_EXPRESSION ,
  FCID_FONTINFO , FCID_FONTPREFS , FCID_FREEZESYSTEM , FCID_FRETBOARDSTYLEDEF ,
  FCID_FRETBOARDSTYLEDEFS , FCID_FRETBOARDGROUPDEF , FCID_FRETBOARDGROUPDEFS , FCID_FRETINSTRUMENTDEF ,
  FCID_GENERALPREFS , FCID_GRIDSGUIDESPREFS , FCID_GROUP , FCID_GROUPNAMEPOSITIONPREFS ,
  FCID_HUMANPLAYBACKPREFS , FCID_INDEPENDENTCELLDETAIL , FCID_INSTRUMENTDEF , FCID_INSTRUMENTPLAYBACKDATA ,
  FCID_KEYMODEDEF , FCID_KEYSIGNATURE , FCID_LAYERPREFS , FCID_LYRICSBASELINE ,
  FCID_LYRICSPREFS , FCID_MEASURE , FCID_MEASURENUMBERREGION , FCID_METATOOLASSIGNMENT ,
  FCID_MIDIEXPRESSION , FCID_MISCDOCPREFS , FCID_MULTIMEASUREREST , FCID_MULTIMEASURERESTPREFS ,
  FCID_MULTISTAFFINSTRUMENT , FCID_MULTISTAFFINSTRUMENTS , FCID_MUSICCHARACTERPREFS , FCID_MUSICSPACINGPREFS ,
  FCID_NUMBER , FCID_NOTEHEADMOD , FCID_OTHERINCI , FCID_PERCUSSIONLAYOUTNOTE ,
  FCID_PERCUSSIONSTAFF , FCID_PERFORMANCEMOD , FCID_PAGE , FCID_PAGEFORMATPREFS ,
  FCID_PAGEGRAPHIC , FCID_PAGETEXT , FCID_PART , FCID_PARTEXTRACTPREFS ,
  FCID_PARTSCOPEPREFS , FCID_PARTSTAFFVOICING , FCID_PERCUSSIONNOTEMOD , FCID_PIANOBRACEPREFS ,
  FCID_PLAYBACKPREFS , FCID_RAWTEXT , FCID_REPEATPREFS , FCID_SECONDARYBEAMBREAKMOD ,
  FCID_BEAMEXTENSIONMOD , FCID_SECTIONSYLLABLE , FCID_SEPARATEMEASURENUMBER , FCID_SEPARATEPLACEMENT ,
  FCID_SHAPEDEF , FCID_SHAPEEXPRESSIONDEF , FCID_SLURCONTOURPREFS , FCID_SIZEPREFS ,
  FCID_SMARTSHAPE , FCID_SMARTSHAPEENTRYMARK , FCID_SMARTSHAPEMEASUREMARK , FCID_SMARTSHAPEPREFS ,
  FCID_STAFF , FCID_STAFFLIST , FCID_STAFFNAMEPOSITION , FCID_STAFFNAMEPOSITIONPREFS ,
  FCID_STAFFSTYLEASSIGN , FCID_STAFFSTYLEDEF , FCID_STAFFSYSTEM , FCID_STEMCONNECTIONTABLE ,
  FCID_STEMMOD , FCID_STRING , FCID_SYLLABLEENTRYMOD , FCID_SYSTEMSTAFF ,
  FCID_TABLATURENOTEMOD , FCID_TEMPOELEMENT , FCID_TEXTBLOCK , FCID_TEXTEXPRESSIONDEF ,
  FCID_TEXTREPEAT , FCID_TEXTREPEATDEF , FCID_TIEMOD , FCID_TIEPREFS ,
  FCID_TIECONTOURPREFS , FCID_TIEPLACEMENTPREFS , FCID_TIMESIGNATURE , FCID_TUPLET ,
  FCID_TUPLETPREFS , FCID_VERSESYLLABLE
}
 Constants for the GetClassID method. More...
 
enum  MEASUREMENTUNITS {
  MEASUREMENTUNIT_DEFAULT = UNIT_DEFAULT , MEASUREMENTUNIT_EVPUS = UNIT_EVPUS , MEASUREMENTUNIT_INCHES = UNIT_INCHES , MEASUREMENTUNIT_CENTIMETERS = UNIT_CENTS ,
  MEASUREMENTUNIT_POINTS = UNIT_POINTS , MEASUREMENTUNIT_PICAS = UNIT_PICAS , MEASUREMENTUNIT_SPACES = UNIT_SPACES , MEASUREMENTUNIT_MILLIMETERS = 100
}
 Constants for Finale's standard measurement units. More...
 
- Static Public Member Functions inherited from __FCBase
static void DebugOutPtr (const char *pszPrefixText, void *ptr)
 Static method that outputs a line for debugging purposes. The prefix text appears with the extra ptr (in hexadeximal representation) appearing afterwards. More...
 
static void DebugOutInt (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More...
 
static void DebugOutFloat (const char *pszPrefixText, double f)
 Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. More...
 
static void DebugOutTag (const char *pszPrefixText, EXTAG extag)
 Static method that outputs a line for debugging purposes. The text appears with the EXTAG (in text) appearing afterwards. More...
 
static void DebugOutHex (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in hexadecimal presentation) appearing afterwards. More...
 
static void DebugOutBin (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in binary presentation) appearing afterwards. More...
 
static void DebugOutString (const char *pszPrefixText, const char *thestring)
 Static method that outputs a line for debugging purposes (C string version). The text appears with the extra string appearing afterwards. More...
 
static void DebugOutString (const char *pszPrefixText, FCString *pString)
 Static method that outputs a line for debugging purposes (FCString version). The text appears with the extra string appearing afterwards. More...
 
static void DebugOutBool (const char *pszPrefixText, bool state)
 Static method that outputs a line for debugging purposes. The boolean state appears afterwards as either "TRUE" or "FALSE". More...
 
static void DebugOutBlock (const void *pBuffer, int startoffset, int size)
 Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) until the whole memory block is dumped. More...
 
static void DebugOutByteArrayBlock (const void *pBuffer, int startoffset, int size)
 Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) as a C++ onebyte array, until the whole memory block is dumped. More...
 
static void DebugOut (const char *pszLine)
 Static method to output a line of text for debugging purposes. More...
 
- Protected Member Functions inherited from __FCBase
 __FCBase ()
 The constructor.
 

Detailed Description

Class for key signatures. Instances of this class are auto-created by FCMeasure:GetKeySignature and FCCell:GetKeySignature when needed.

Signatures are normally set with SetMajorKey or SetMinorKey. You can also use SetID to set the signature from FCCustomKeyModeDef::GetKeyID. The owner measure/cell must be saved afterwards.

Transpositions should NOT be set in the key for chromatic transpositions.

Member Function Documentation

◆ CalcDiatonicStepsMap()

std::vector< eHarmLev > FCKeySignature::CalcDiatonicStepsMap ( ) const

Returns an array (or table in Lua) specifiying the chromatic step where each diatonic step occurs. The first element is always zero. The elements always increase, and the final element must be less than CalcTotalChromaticSteps. If the array has a number of elements other than 7, it can't easily be represented on a traditional staff, so the chance of a number of elements other than 7 is vanishingly small. But Finale allows it.

Predefined major keys always return: {0, 2, 4, 5, 7, 9, 11}.
Predefined minor keys always return: {0, 2, 3, 5, 7, 8, 10}.

Lua-supported (0.58).

Returns
An array (or table in Lua) specifying the chromatic step where each diatonic step occurs.

◆ CalcFlats()

twobyte FCKeySignature::CalcFlats ( ) const

Returns the number of flats in the key signature.

Lua-supported.

Returns
Total number of flats in the key signature. -1 for unsupported key sigs.

◆ CalcRootRelationAbsoluteIndex()

int FCKeySignature::CalcRootRelationAbsoluteIndex ( ) const

Returns the scale's root relation to C in the circle of fifths, based on the root's note. Only predefined major and minor keys are supported.

Lua-supported.

Returns
0 through 6. -1 for unsupported key sigs. For example D major and d minor would return 1, since it's one step above C.

◆ CalcRootRelationIndex()

int FCKeySignature::CalcRootRelationIndex ( ) const

Returns the scale's root relation to C major in the circle of fifths. Only predefined major and minor keys are supported.

Lua-supported.

Returns
0 through 6. -1 for unsupported key sigs. For example D major/b minor would return 1, since it's one note above C major/a minor.

◆ CalcScaleNumber()

eHarmLev FCKeySignature::CalcScaleNumber ( eHarmLev  displacement) const

Calculate the scale number of the input displacement value.

The scale number is the distance from the tonic, meaning that the number corresponds to moveable solfege syllables as 0-do, 1-re, 2-mi, 3-fa, etc.

This function is useful for tasks like determining the scale degree of an instance of FCNote or for applying the result of an ad hoc transposition to FCChord. If you use FCChord::GetTransposer to get your transposer, you do not have to worry about this. But you might use it, e.g., to transpose the root of a chord while leaving its alternate bass fixed, or vice versa.

Lua-supported (0.67)

◆ CalcScaleRootIndex()

int FCKeySignature::CalcScaleRootIndex ( ) const

Returns the scale's "letter root", as a 0-base index starting from 'A'. Only predefined major and minor keys are supported.

Lua-supported.

Returns
A 0-based index, ranging between 0 and 6. For example, C major would get 2, a minor would get 0. On error, -1 is returned.

◆ CalcSharps()

twobyte FCKeySignature::CalcSharps ( ) const

Returns the number of sharps in the key signature. Only predefined major and minor keys are supported.

Lua-supported.

Returns
Total number of sharps in the key signature. -1 for unsupported key sigs.

◆ CalcTotalChromaticSteps()

twobyte FCKeySignature::CalcTotalChromaticSteps ( ) const

Returns the number of chromatic steps in the key mode. For predefined keys this is always 12. For custom key signatures it is the number of equal divisions of the octave. 19-EDO returns 19, 31-EDO returns 31, 96-EDO returns 96, etc. See comments at FCTransposer for more information about EDO numbers.

Lua-supported (0.58).

Returns
Total number of chromatic steps in the key signature or 0 if a record could not be found for a custom key signature.

◆ ClassName()

const char * FCKeySignature::ClassName ( ) const
inlineoverridevirtual

Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.

Lua-supported.

Implements __FCBase.

◆ DebugDump()

void FCKeySignature::DebugDump ( )
inlineoverridevirtual

Outputs the class data/information for debugging purposes.

Accessible if PDK_FRAMEWORK_DEBUG is defined.

When child class inherit this method to output the contents of its own members, it should call the parent before providing its own output.

Reimplemented from __FCBase.

◆ GetAlteration()

twobyte FCKeySignature::GetAlteration ( ) const
inline

Returns the alteration for the key. Negative if the key signatures contains flats, positive if the signature contains sharps.

Lua-supported (also as a read-only property).

Returns
0 If the key isn't major/minor.

◆ GetClassID()

const PDKFRAMEWORK_CLASSID FCKeySignature::GetClassID ( ) const
inlineoverridevirtual

Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has problems to resolve the true classes of inherited objects.

This method must be overwritten by all child classes.

Lua-supported (also read-only property) (0.55).

Reimplemented from __FCBase.

◆ GetID()

eKey FCKeySignature::GetID ( ) const
inline

Gets the key signature ID.

Normally, this value isn't accessed directly.

Lua-supported (also as a read-only property).

◆ GetIDWithTransposition()

eKey FCKeySignature::GetIDWithTransposition ( ) const
inline

Returns the key signature ID with the transposition (and transposition simplification) added.

Lua-supported (also as a read-only property).

◆ GetKeyMode()

twobyte FCKeySignature::GetKeyMode ( ) const
inline

Returns the key mode that can be used to load the associated FCCustomKeyModeDef.

Lua-supported (also as read-only property) (0.72)

◆ GetTransposeAlteration()

twobyte FCKeySignature::GetTransposeAlteration ( ) const
inline

Returns the current transposition alteration index.

Transpositions should NOT be set in the key for chromatic transpositions.

Lua-supported (also as property).

◆ GetTransposeSimplify()

bool FCKeySignature::GetTransposeSimplify ( ) const
inline

Returns true if the transposed key should be simplified.

Lua-supported (also as property) (0.55).

◆ IsFlatNote()

bool FCKeySignature::IsFlatNote ( int  letterindex) const

Returns true if the key is adding a flat to the note. Only predefined major and minor keys are supported.

Lua-supported.

Parameters
letterindexA 0-based index value indicating the letter (0 = A). Only values between 0 and 6 are allowed.
Returns
false on letter index range error and if the note doesn't get a flat added by the key signature. Otherwise true.

◆ IsIdentical()

bool FCKeySignature::IsIdentical ( const __FCBase pCompareObject) const
overridevirtual

Returns true if the key is identical to the compared key signature.

Lua-supported.

Reimplemented from __FCBase.

◆ IsLinear()

bool FCKeySignature::IsLinear ( ) const
inline

Returns true if the key mode can transpose its key signature. This includes standard major and minor keys as well as custom key signatures that can be transposed by adding or reducing the number of sharps or flats. An example of a non-linear key signature would be one that contains Eb and F#. By contrast, microtonal key modes can be linear and have key signatures, depending on how they are set up, but they rarely do.

Lua-supported.

◆ IsMajor()

bool FCKeySignature::IsMajor ( ) const
inline

Returns true if the key is a major key signature, using the predefined major key mode.

Lua-supported.

◆ IsMinor()

bool FCKeySignature::IsMinor ( ) const
inline

Returns true if the key is a minor key signature, using the predefined minor key mode.

Lua-supported.

◆ IsPredefined()

bool FCKeySignature::IsPredefined ( ) const
inline

Returns true if the key is a predefined key signature (major or minor).

Lua-supported.

◆ IsSharpNote()

bool FCKeySignature::IsSharpNote ( int  letterindex) const

Returns true if the key is raising the note.

Lua-supported.

Parameters
letterindexA 0-based index value indicating the letter (0 = A). Only values between 0 and 6 are allowed.
Returns
false on letter index range error and if the note isn't raised by the key signature. Otherwise true.

◆ MakeString()

void FCKeySignature::MakeString ( FCString pString) const

Creates a string representation of the key. Only predefined major and minor keys are supported.

Lua-supported.

◆ SetID()

void FCKeySignature::SetID ( eKey  newkey)
inline

Sets the key signature ID.

The primary reason you might use this is to assign a value from FCCustomKeyModeDef::GetKeyID. Otherwise, you are probably better off to use SetMinorKey or SetMajorKey.

◆ SetMajorKey()

void FCKeySignature::SetMajorKey ( int  accidentalnumber)
inline

Sets the key signature to a major key.

Lua-supported.

Parameters
accidentalnumberThe number of accidentals and their signs.

◆ SetMinorKey()

void FCKeySignature::SetMinorKey ( int  accidentalnumber)
inline

Sets the key signature to a minor key.

Lua-supported.

Parameters
accidentalnumberThe number of accidentals and their signs.

◆ SetTransposeAlteration()

void FCKeySignature::SetTransposeAlteration ( twobyte  value)
inline

Sets the transpose alteration offset, if the key should be calculated based on a transposition of an existing key.

Transpositions should NOT be set in the key for chromatic transpositions.

Lua-supported (also as property).

◆ SetTransposeSimplify()

void FCKeySignature::SetTransposeSimplify ( bool  state)
inline

Sets if a transposed key should be simplified.

Lua-supported (also as property) (0.55).