Finale PDK Framework 0.77
Power Up Your Finale Music Software
|
Class that encapsulate the measure metrics info data. More...
#include <ff_base.h>
Public Member Functions | |
const char * | ClassName () const override |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. | |
FCCellMetrics () | |
The constructor. Defaults to unloaded. Metrics must be loaded with LoadAtCell or LoadAtEntry. | |
bool | LoadAtCell (FCCell *pCell) |
Loads the measure metrics for a cell. | |
bool | LoadAtEntry (FCNoteEntry *pEntry) |
Loads the measure metrics for a cell where the entry belongs. The entry must be visible in page view or else the load will fail. | |
Int100 | GetHorizontalStretch () const |
Returns the horizontal stretch of the staff system, in 100th of a percent. | |
Evpu32 | GetTopStafflinePos () const |
Returns the top line position of the staff. The coordinate is referenced from the bottom of the page. | |
Evpu32 | GetBottomStafflinePos () const |
Returns the bottom line position of the staff. The coordinate is referenced from the bottom of the page. | |
Evpu32 | GetReferenceLinePos () const |
Returns the position of the reference line of the staff. The coordinate is referenced from the bottom of the page. | |
Int100 | GetStaffScaling () const |
Returns the accumulated staff scaling for the staff, in 100th of a percent. | |
Int100 | GetSystemScaling () const |
Returns the accumulated system scaling, in 100th of a percent. | |
int | GetAttachmentCount () const |
Returns the number of attachments that has info within the metrics data. | |
int | GetMusicStartPos () const |
Returns position where the music starts in the cell (after the key/clef/repeats), at system scaling. | |
int | GetLeftEdge () const |
Returns the left position of the cell cell (before the key/clef/repeat), at system scaling. | |
int | GetWidth () const |
Returns the total width of the cell, at system scaling. | |
int | GetMusicWidth () const |
Returns the width of the music part of the cell, at system percent. | |
int | GetFrontRepeatWidth () const |
Returns the width of the front repeat for the cell. | |
int | GetBackRepeatWidth () const |
Returns the width of the back repeat for the cell. | |
int | GetRightBarlineWidth () const |
Returns the combined total width of the right barline, including double or final barlines and the gap between them (if any). | |
int | GetStaffSystem () const |
Returns the staff system number for the cell. | |
Evpu32 | GetSystemTopPos () const |
Returns the position of the top of the system. The coordinate is referenced from the bottom of the page. | |
Evpu32 | GetSlotNumber () const |
Returns the 1-based slot number within its system for the cell's staff. Subtract 1 to get an index to pass to FCSystemStaves::GetItemAt. | |
bool | GetAttachment (__FCBaseData *pBaseDataObject, fourbyte the_id, EAttachment *pAttachment, bool stop=false) |
Fills a buffer with the attachment data for an element. | |
void | FreeMetrics () |
Tells Finale to clear the metrics data. This can be of use for Lua scripting, where the GC doesn't provide a predictable way to clean the used data. | |
void | DebugDump () override |
Outputs the class data/information for debugging purposes. | |
Public Member Functions inherited from __FCBase | |
virtual const PDKFRAMEWORK_CLASSID | GetClassID () const |
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. | |
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 | 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. | |
virtual bool | IsIdentical (const __FCBase *pCompareObject) const |
Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. | |
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 void | MarkMetricsForRebuild () |
Static method that sets the flag that the metrics should be rebuilt on the next load. | |
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 that encapsulate the measure metrics info data.
This is an information object only. Please note that rebuilding the metrics data at each loading is very resource-intensive in Finale. Only rebuild the metrics info when needed.
Supports <close>
in Lua 5.4 (FreeMetrics).
|
inline |
The constructor. Defaults to unloaded. Metrics must be loaded with LoadAtCell or LoadAtEntry.
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.
|
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.
void FCCellMetrics::FreeMetrics | ( | ) |
Tells Finale to clear the metrics data. This can be of use for Lua scripting, where the GC doesn't provide a predictable way to clean the used data.
Use this method if loading new metrics data becomes an issue. Starting with 0.67 of the Lua plugin, this function can be invoked automatically with the <close>
keyword, as follows:
Lua 5.4 then calls FreeMetrics whenever the metrics
variable goes out of scope, without waiting for garbage collection and regardless of the exit path out of the code block.
Lua-supported.
|
inline |
Fills a buffer with the attachment data for an element.
[in] | pBaseDataObject | The object of an object class that contains the item tag. |
[in] | the_id | For articulations, this is the inci number. |
[out] | pAttachment | The pointer to the destination. |
[in] | stop | If true, the attachment must have the "stop bit" set. (Since a shape that span a region in the same measure might have 2 attachments for the same object.) |
|
inline |
Returns the number of attachments that has info within the metrics data.
Lua-supported (also as a read-only property).
|
inline |
Returns the width of the back repeat for the cell.
Lua-supported (also as a read-only property).
|
inline |
Returns the bottom line position of the staff. The coordinate is referenced from the bottom of the page.
Lua-supported (also as a read-only property).
|
inline |
Returns the width of the front repeat for the cell.
Lua-supported (also as a read-only property).
|
inline |
Returns the horizontal stretch of the staff system, in 100th of a percent.
Lua-supported (also as a read-only property).
|
inline |
Returns the left position of the cell cell (before the key/clef/repeat), at system scaling.
Lua-supported (also as a read-only property).
|
inline |
Returns position where the music starts in the cell (after the key/clef/repeats), at system scaling.
Lua-supported (also as a read-only property).
|
inline |
Returns the width of the music part of the cell, at system percent.
Lua-supported (also as a read-only property).
|
inline |
Returns the position of the reference line of the staff. The coordinate is referenced from the bottom of the page.
The reference line is at the top of a staff, where the staff handle appears.
Lua-supported (also as a read-only property).
|
inline |
Returns the combined total width of the right barline, including double or final barlines and the gap between them (if any).
Lua-supported (also as a read-only property) (0.58).
|
inline |
Returns the 1-based slot number within its system for the cell's staff. Subtract 1 to get an index to pass to FCSystemStaves::GetItemAt.
Lua-supported (also as a read-only property) (0.62).
|
inline |
Returns the accumulated staff scaling for the staff, in 100th of a percent.
Lua-supported (also as a read-only property).
|
inline |
Returns the staff system number for the cell.
Lua-supported (also as a read-only property) (0.62).
|
inline |
Returns the accumulated system scaling, in 100th of a percent.
Lua-supported (also as a read-only property).
|
inline |
Returns the position of the top of the system. The coordinate is referenced from the bottom of the page.
Lua-supported (also as a read-only property) (0.62).
|
inline |
Returns the top line position of the staff. The coordinate is referenced from the bottom of the page.
Lua-supported (also as a read-only property).
|
inline |
Returns the total width of the cell, at system scaling.
Lua-supported (also as a read-only property).
bool FCCellMetrics::LoadAtCell | ( | FCCell * | pCell | ) |
Loads the measure metrics for a cell.
The rebuild flag is cleared on a successful load. Load will fail or the metrics be unusable if the cell's system in page-view does not contain the staff or if the cell is the 2nd or higher measure in a multimeasure rest.
Lua-supported.
bool FCCellMetrics::LoadAtEntry | ( | FCNoteEntry * | pEntry | ) |
Loads the measure metrics for a cell where the entry belongs. The entry must be visible in page view or else the load will fail.
Lua-supported.
|
inlinestatic |
Static method that sets the flag that the metrics should be rebuilt on the next load.
Lua-supported