Finale PDK Framework  0.54
Public Member Functions | Static Public Member Functions | List of all members
FCCellMetrics Class Reference

Class that encapsulate the measure metrics info data. More...

#include <ff_base.h>

Inheritance diagram for FCCellMetrics:
__FCBase

Public Member Functions

virtual const char * ClassName ()
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
bool LoadAtCell (FCCell *pCell)
 Loads the measure metrics for a cell. More...
 
bool LoadAtEntry (FCNoteEntry *pEntry)
 Loads the measure metrics for a cell where the entry belongs. More...
 
Int100 GetHorizontalStretch () const
 Returns the horizontal stretch of the staff system, in 100th of a percent. More...
 
Evpu32 GetTopStafflinePos () const
 Returns the top line position of the staff. The coordinate is referenced from the bottom of the page. More...
 
Evpu32 GetBottomStafflinePos () const
 Returns the bottom line position of the staff. The coordinate is referenced from the bottom of the page. More...
 
Evpu32 GetReferenceLinePos () const
 Returns the position of the reference line of the staff. The coordinate is referenced from the bottom of the page. More...
 
Int100 GetStaffScaling () const
 Returns the accumulated staff scaling for the staff, in 100th of a percent. More...
 
Int100 GetSystemScaling () const
 Returns the accumulated system scaling, in 100th of a percent. More...
 
int GetAttachmentCount () const
 Returns the number of attachments that has info within the metrics data. More...
 
int GetMusicStartPos () const
 Returns position where the music starts in the cell (after the key/clef/repeats), at system scaling. More...
 
int GetLeftEdge () const
 Returns the left position of the cell cell (before the key/clef/repeat), at system scaling. More...
 
int GetWidth () const
 Returns the total width of the cell, at system scaling. More...
 
int GetMusicWidth () const
 Returns the width of the music part of the cell, at system percent. More...
 
int GetFrontRepeatWidth () const
 Returns the width of the front repeat for the cell. More...
 
int GetBackRepeatWidth () const
 Returns the width of the back repeat for the cell. More...
 
bool GetAttachment (__FCBaseData *pBaseDataObject, fourbyte the_id, EAttachment *pAttachment, bool stop=false)
 Fills a buffer with the attachment data for an element. More...
 
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. More...
 
virtual void DebugDump ()
 Outputs the class data/information for debugging purposes. More...
 
- Public Member Functions inherited from __FCBase
virtual const PDKFRAMEWORK_CLASSID GetClassID ()
 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...
 
 __FCBase ()
 The constructor.
 
virtual ~__FCBase ()
 Virtual destructor, so all inherited classes get the virtual destructor. More...
 
void DebugMsgDigit (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 in the data block. More...
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets a 32 bit flag in the data block. 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...
 
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...
 
virtual bool IsIdentical (__FCBase *pCompareObject)
 Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. 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...
 

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. More...
 
static void DebugOutDigit (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, float 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...
 

Additional Inherited Members

- Public Types inherited from __FCBase
enum  PDKFRAMEWORK_CLASSID {
  FCID_UNKNOWN = 0, FCID_ACCIDENTALMOD, FCID_ALLOTMENT, FCID_ARTICULATION,
  FCID_ARTICULATIONDEF, FCID_BACKWARDREPEAT, FCID_BASELINE, FCID_BEAMMOD,
  FCID_BEATCHARTELEMENT, 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_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_KEYSIGNATURE, FCID_LAYERPREFS, 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_PERCUSSIONNOTEMOD, FCID_PIANOBRACEPREFS, FCID_PLAYBACKPREFS, FCID_RAWTEXT,
  FCID_REPEATPREFS, FCID_SECONDARYBEAMBREAKMOD, 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...
 

Detailed Description

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.

Member Function Documentation

virtual const char* FCCellMetrics::ClassName ( )
inlinevirtual

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

Lua-supported.

Reimplemented from __FCBase.

virtual void FCCellMetrics::DebugDump ( )
inlinevirtual

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.

Lua-supported.

bool FCCellMetrics::GetAttachment ( __FCBaseData pBaseDataObject,
fourbyte  the_id,
EAttachment *  pAttachment,
bool  stop = false 
)
inline

Fills a buffer with the attachment data for an element.

Parameters
[in]pBaseDataObjectThe object of an object class that contains the item tag.
[in]the_idFor articulations, this is the inci number.
[out]pAttachmentThe pointer to the destination.
[in]stopIf 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.)
Returns
true if the data was found in the measure metrics.
int FCCellMetrics::GetAttachmentCount ( ) const
inline

Returns the number of attachments that has info within the metrics data.

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

int FCCellMetrics::GetBackRepeatWidth ( ) const
inline

Returns the width of the back repeat for the cell.

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

Evpu32 FCCellMetrics::GetBottomStafflinePos ( ) const
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).

  • Returns
    For a 0-line, the value of a default 5-line staff will be returned instead. Otherwise, the position from the bottom of the page.
int FCCellMetrics::GetFrontRepeatWidth ( ) const
inline

Returns the width of the front repeat for the cell.

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

Int100 FCCellMetrics::GetHorizontalStretch ( ) const
inline

Returns the horizontal stretch of the staff system, in 100th of a percent.

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

int FCCellMetrics::GetLeftEdge ( ) const
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).

int FCCellMetrics::GetMusicStartPos ( ) const
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).

int FCCellMetrics::GetMusicWidth ( ) const
inline

Returns the width of the music part of the cell, at system percent.

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

Evpu32 FCCellMetrics::GetReferenceLinePos ( ) const
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).

Int100 FCCellMetrics::GetStaffScaling ( ) const
inline

Returns the accumulated staff scaling for the staff, in 100th of a percent.

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

Int100 FCCellMetrics::GetSystemScaling ( ) const
inline

Returns the accumulated system scaling, in 100th of a percent.

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

Evpu32 FCCellMetrics::GetTopStafflinePos ( ) const
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).

Returns
For a 0-line, the value of a default 5-line staff will be returned instead. Otherwise, the position from the bottom of the page.
int FCCellMetrics::GetWidth ( ) const
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.

Lua-supported.

bool FCCellMetrics::LoadAtEntry ( FCNoteEntry pEntry)

Loads the measure metrics for a cell where the entry belongs.

Lua-supported.