Finale PDK Framework 0.77
Power Up Your Finale Music Software
|
Class for time signatures. Instances of this class are auto-created when needed by FCMeasure:GetTimeSignature and FCCell:GetTimeSignature and their "ForDisplay" counterparts. More...
#include <ff_timesig.h>
Public Member Functions | |
FCTimeSignature () | |
The constructor. Sets the default time signature to 4/4. | |
const char * | ClassName () const override |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. | |
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. | |
void | SetBeats (twobyte value) |
Sets the number of beats, or the composite top ID. | |
void | SetBeatDuration (twobyte value) |
Sets the beat duration (in EDUs), or the composite bottom ID. | |
void | SetCompositeTop (bool value) |
Sets the composite "mark" of the top part of the time signature. | |
void | SetCompositeBottom (bool value) |
Sets the composite "mark" of the bottom part of the time signature. | |
void | SetAbbreviate (bool state) |
Sets if the time signature should be abbreviated (to cut and common time). | |
twobyte | GetBeats () const |
Gets the number of beats. If the time signature has a composite top, this represent a composite record. | |
twobyte | CalcBeats () |
To get the number of beats for both standard or composite time signatures. | |
twobyte | CalcLargestBeats () |
Gets the largest number of beats in the time signature. This method works with time sigs with composite bottom as well. | |
twobyte | GetBeatDuration () const |
Gets the beat duration. If the time signature has a composite bottom, this represent a composite record ID. | |
twobyte | CalcSmallestBeatDuration () |
Gets the smallest beat duration found in the time signature. This method works with time sigs with composite bottom as well. | |
twobyte | CalcLargestBeatDuration () |
Gets the largest beat duration found in the time signature. This method works with time sigs with composite bottom as well. | |
bool | GetCompositeTop () const |
Returns true if the top part of the time signature is marked as composite. | |
bool | GetCompositeBottom () const |
Returns true if the bottom part of the time signature is marked as composite. | |
bool | GetAbbreviate () const |
Returns true if the time signature should be abbreviated (to cut and common time). | |
bool | IsBeatPosition (TimeEdu32 eduposition) |
Returns true if the position is a "beat" in the time signature. | |
int | CalcBeatPosition (TimeEdu32 eduposition) |
TimeEdu32 | CalcPrevBeatPosition (TimeEdu32 eduposition) |
TimeEdu32 | CalcNextBeatPosition (TimeEdu32 eduposition) |
bool | IsIdentical (const __FCBase *pCompareObject) const override |
Returns true if the time signature is identical to the compared time signature. | |
bool | IsCompound () |
Returns true if the time signature is a compound meter, such as 3/8, 6/8, etc. | |
bool | IsCommonTime () |
Returns true if the time signature is in 4/4. | |
void | RemoveCompositeTop (twobyte newNumBeats) |
Removes any composite top numbers and sets the number of beats to the input value. | |
void | RemoveCompositeBottom (twobyte newBeatDuration) |
Removes any composite bottom numbers and and sets the beat duration to the input value. | |
void | MakeString (FCString *pString) |
Creates a string representation of the time signature. | |
FCCompositeTimeSigTop * | CreateCompositeTop () const |
Creates, loads and initializes a composite top object. | |
bool | SaveNewCompositeTop (FCCompositeTimeSigTop *pCompositeTop) |
Saves a new composite top object and assigns the ID to the time sig. | |
FCCompositeTimeSigBottom * | CreateCompositeBottom () const |
Creates, loads and initializes a composite bottom object. | |
bool | SaveNewCompositeBottom (FCCompositeTimeSigBottom *pCompositeBottom) |
Saves a new composite bottom object and assigns the ID to the time sig. | |
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. | |
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. | |
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. | |
void | DebugMsg (const char *pszMsg) |
Creates a simple Message Box for debug purposes with just one text string. | |
void | DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const |
Outputs the menu command info for debugging purposes. | |
int | DebugOutFormat (const char *fmt,...) |
Outputs debug text using C style "printf" syntax. | |
virtual void | DebugDump () |
Outputs the class data/information for debugging purposes. | |
virtual void | DebugDataDump () |
Outputs a memory dump of the data block in the object for debugging purposes. | |
virtual void | DebugDataByteArrayDump () |
Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. | |
void | Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state) |
Sets a 16 bit flag. | |
void | Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state) |
Sets/resets a 32 bit flag, by using a bit mask. | |
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. | |
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. | |
void | SetUserData (void *pData) |
Sets the user data attached to the instance of an object. | |
void | SetUserData2 (void *pData) |
Sets the additional user data attached to the instance of an object. | |
void * | GetUserData () const |
Gets the user data attached to the instance of an object. | |
void * | GetUserData2 () const |
Gets the additional user data attached to the instance of an object. | |
void | StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper function to store FCString objects in the XML file. | |
void | StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value) |
Helper function to store integer objects in the XML file. | |
void | StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value) |
Helper function to store boolean objects in the XML file. | |
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. | |
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. | |
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. | |
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. | |
virtual void | StoreToXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to store an object's data. | |
bool | ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue) |
Helper method to read FCString objects from the XML file. | |
bool | ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue) |
Helper method to read integer objects from the XML file. | |
bool | ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue) |
Helper method to read boolean objects from the XML file. | |
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. | |
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. | |
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. | |
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. | |
virtual bool | ReadFromXML (tinyxml2::XMLElement *pParentNode) |
Virtual method that is used to read object data. | |
Static Public Member Functions | |
static bool | IsCompoundBeatDuration (TimeEdu32 duration) |
Returns true if the time signature duration is a compound meter, such as 3/8, 6/8, etc. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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". | |
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. | |
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. | |
static void | DebugOut (const char *pszLine) |
Static method to output a line of text for debugging purposes. | |
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... | |
Protected Member Functions inherited from __FCBase | |
__FCBase () | |
The constructor. | |
Class for time signatures. Instances of this class are auto-created when needed by FCMeasure:GetTimeSignature and FCCell:GetTimeSignature and their "ForDisplay" counterparts.
int FCTimeSignature::CalcBeatPosition | ( | TimeEdu32 | eduposition | ) |
Returns the 0-based position index of the beat within the measure.
-1 if the beat isn't exactly on a beat position.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS to be defined.
Lua-supported.
twobyte FCTimeSignature::CalcBeats | ( | ) |
To get the number of beats for both standard or composite time signatures.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
twobyte FCTimeSignature::CalcLargestBeatDuration | ( | ) |
Gets the largest beat duration found in the time signature. This method works with time sigs with composite bottom as well.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
twobyte FCTimeSignature::CalcLargestBeats | ( | ) |
Gets the largest number of beats in the time signature. This method works with time sigs with composite bottom as well.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
TimeEdu32 FCTimeSignature::CalcNextBeatPosition | ( | TimeEdu32 | eduposition | ) |
Returns the beat position after the current one (if any).
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
TimeEdu32 FCTimeSignature::CalcPrevBeatPosition | ( | TimeEdu32 | eduposition | ) |
Returns the beat position before the current one (if any).
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
twobyte FCTimeSignature::CalcSmallestBeatDuration | ( | ) |
Gets the smallest beat duration found in the time signature. This method works with time sigs with composite bottom as well.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
|
inlineoverridevirtual |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
Lua-supported.
Implements __FCBase.
FCCompositeTimeSigBottom * FCTimeSignature::CreateCompositeBottom | ( | ) | const |
Creates, loads and initializes a composite bottom object.
The object is always created. If the time signature currently has no composite bottom, the object is an empty collection. For callers other than Lua scripts, it is the caller's responsibility to delete the created object after use.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
FCCompositeTimeSigTop * FCTimeSignature::CreateCompositeTop | ( | ) | const |
Creates, loads and initializes a composite top object.
The object is always created. If the time signature currently has no composite top, the object is an empty collection. For callers other than Lua scripts, it is the caller's responsibility to delete the created object after use.
Lua-supported (0.59).
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
|
inline |
Returns true if the time signature should be abbreviated (to cut and common time).
Currently, Finale only supports this for time signatures for display.
Lua-supported (also as property).
|
inline |
Gets the beat duration. If the time signature has a composite bottom, this represent a composite record ID.
Lua-supported (also as property).
|
inline |
Gets the number of beats. If the time signature has a composite top, this represent a composite record.
To get the number of beats for standard or composite time signature, use the CalcBeats method instead.
Lua-supported (also as property).
|
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.
|
inline |
Returns true if the bottom part of the time signature is marked as composite.
Lua-supported (also as a read-only property).
|
inline |
Returns true if the top part of the time signature is marked as composite.
Lua-supported (also as a read-only property).
bool FCTimeSignature::IsBeatPosition | ( | TimeEdu32 | eduposition | ) |
Returns true if the position is a "beat" in the time signature.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
|
inline |
Returns true if the time signature is in 4/4.
Lua-supported.
bool FCTimeSignature::IsCompound | ( | ) |
Returns true if the time signature is a compound meter, such as 3/8, 6/8, etc.
If the time signature has a composite bottom, all bottom digits must be of a compound meter.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
|
static |
Returns true if the time signature duration is a compound meter, such as 3/8, 6/8, etc.
This static method is called without a class instance.
Lua-supported.
|
overridevirtual |
Returns true if the time signature is identical to the compared time signature.
This method will compare each digit in a composite time signature as well.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
Lua-supported.
Reimplemented from __FCBase.
void FCTimeSignature::MakeString | ( | FCString * | pString | ) |
Creates a string representation of the time signature.
Currently this function does not support multiple numbers in the denominator of composite time signatures. For these it produces a string, but the string may not make much sense. It also represents the actual time signature even if it is an abbreviated time signature for display. That is, "C" time signatures are represented as 4/4 and cut-time as 2/2.
If PDK_FRAMEWORK_COMPOSITETIMESIGS is defined, composite time signatures can be converted into strings as well.
Lua-supported.
void FCTimeSignature::RemoveCompositeBottom | ( | twobyte | newBeatDuration | ) |
Removes any composite bottom numbers and and sets the beat duration to the input value.
If there is no composite bottom, this is the same as calling SetBeatDuration.
Lua-supported (0.59).
newBeatDuration | [in] the beat duration to set for the time signature. |
void FCTimeSignature::RemoveCompositeTop | ( | twobyte | newNumBeats | ) |
Removes any composite top numbers and sets the number of beats to the input value.
If there is no composite top, this is the same as calling SetBeats.
Lua-supported (0.59).
newNumBeats | [in] the number of beats to set for the time signature. |
bool FCTimeSignature::SaveNewCompositeBottom | ( | FCCompositeTimeSigBottom * | pCompositeBottom | ) |
Saves a new composite bottom object and assigns the ID to the time sig.
The measure must be saved afterwards. (The ID is transfered during the save).
Do not use this method if there already is a composite bottom for the measure. If the measure already has a composite bottom, you can simply call FCCompositeTimeSigBottom::SaveAll to modify it.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
bool FCTimeSignature::SaveNewCompositeTop | ( | FCCompositeTimeSigTop * | pCompositeTop | ) |
Saves a new composite top object and assigns the ID to the time sig.
The measure must be saved afterwards. (The ID is transfered during the save).
Do not use this method if there already is a composite top for the measure. If the measure already has a composite top, you can simply call FCCompositeTimeSigTop::SaveAll to modify it.
This method requires PDK_FRAMEWORK_COMPOSITETIMESIGS defined.
|
inline |
Sets if the time signature should be abbreviated (to cut and common time).
Currently, Finale only supports this for time signatures for display.
Lua-supported (also as property).
|
inline |
Sets the beat duration (in EDUs), or the composite bottom ID.
Callers can avoid using this function. Instead, use RemoveCompositeBottom to set a new value or CreateCompositeBottom and SaveNewCompositeBottom to manage composite time signatures. These functions set this value as needed. However, if you are certain there are no composite time signatures, this works just fine.
Lua-supported (also as property).
|
inline |
Sets the number of beats, or the composite top ID.
Callers can avoid using this function. Instead, use RemoveCompositeTop to set a new value or CreateCompositeTop and SaveNewCompositeTop to manage composite time signatures. These functions set this value as needed. However, if you are certain there are no composite time signatures, this works just fine.
Lua-supported (also as property).