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

The class that reference a cell (one measure on one staff) in the musical "grid". More...

#include <ff_cell.h>

Inheritance diagram for FCCell:
__FCBase

Public Member Functions

 FCCell (int measure, int staff)
 The constructor. More...
 
FCNoteEntryCellCreateNoteEntryCell (bool shouldload, int loadlayermode=0)
 Creates a note entry cell object and optionally loads it with notes. More...
 
virtual const char * ClassName ()
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
int GetMeasure () const
 Returns the measure for the cell. More...
 
int GetStaff () const
 Returns the staff for the cell. More...
 
TimeEdu32 CalcEntryDuration (int layer=0)
 Returns the duration for all the entries in the cell. The value of the layer with the longest duration is returned. More...
 
int CalcClefIndexAt (TimeEdu32 pos)
 Calculates the clef index at a specific position in the cell. More...
 
TimeEdu32 CalcDuration ()
 Returns the duration of the frame, according to the time signature. More...
 
FCKeySignatureGetKeySignature ()
 Returns a pointer to the key signature object. More...
 
bool HasIndependentTimeSig ()
 Returns true if the cell has an independent time signature. More...
 
bool HasIndependentKeySig ()
 Returns true if the cell has an independent key signature. More...
 
FCTimeSignatureGetTimeSignature ()
 Returns a pointer to the time signature object. More...
 
void ReAssign (int measure, int staff)
 Reassigns the cell to a different cell position, which will also delete attached cell data. More...
 
FCCellMetricsCreateCellMetrics ()
 Creates a cell metrics object for a cell. The created object must be disposed after use. More...
 
FCKeySignatureAssureSavedIndependentKeySig ()
 Makes sure that the cell has saved indepentent key signature data. More...
 
FCTimeSignatureAssureSavedIndependentTimeSig ()
 Makes sure that the cell has saved indepentent time signature data. More...
 
bool Save ()
 Saves any independent key and/or time signatures connected with the cell. 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 DebugDump ()
 Outputs the class data/information for debugging purposes. 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...
 

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...
 
- 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...
 

Detailed Description

The class that reference a cell (one measure on one staff) in the musical "grid".

Constructor & Destructor Documentation

FCCell::FCCell ( int  measure,
int  staff 
)
inline

The constructor.

Lua-supported.

Member Function Documentation

FCKeySignature * FCCell::AssureSavedIndependentKeySig ( )

Makes sure that the cell has saved indepentent key signature data.

Lua-supported.

Returns
NULL if the staff hasn't be set to use indepentent key signatures. Otherwise, the independent key signature for the cell.
FCTimeSignature * FCCell::AssureSavedIndependentTimeSig ( )

Makes sure that the cell has saved indepentent time signature data.

Lua-supported.

Returns
NULL if the staff hasn't be set to use indepentent time signatures. Otherwise, the independent time signature for the cell.
int FCCell::CalcClefIndexAt ( TimeEdu32  pos)

Calculates the clef index at a specific position in the cell.

Lua-supported.

Parameters
posThe position in the cell, in Enigma duration units.

The 0-based clef index.

TimeEdu32 FCCell::CalcDuration ( )
inline

Returns the duration of the frame, according to the time signature.

Lua-supported.

TimeEdu32 FCCell::CalcEntryDuration ( int  layer = 0)

Returns the duration for all the entries in the cell. The value of the layer with the longest duration is returned.

Lua-supported.

Parameters
layerAny of the following values:
  • -1: All layers, regardless if they're visible or not
  • 0 : All visible layer(s). This is the default.
  • 1 and above: The one-based layer number. The layer is loaded regardless of the layer visibility.
Returns
The duration in EDUs. 0 if there is no music. If multiple layers are checked, the value of the layer with the longest duration is returned.
virtual const char* FCCell::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.

FCCellMetrics* FCCell::CreateCellMetrics ( )
inline

Creates a cell metrics object for a cell. The created object must be disposed after use.

Lua-supported.

Returns
NULL on error. Otherwise, the pointer to the created object.
FCNoteEntryCell* FCCell::CreateNoteEntryCell ( bool  shouldload,
int  loadlayermode = 0 
)
inline

Creates a note entry cell object and optionally loads it with notes.

The created object must be deleted after use. This method requires PDK_FRAMEWORK_ENTRIES to be defined.

Lua-supported.

Parameters
shouldloadIf true, the FCNoteEntryCell object is also loaded with note entries.
loadlayermodeAny of the following values, which are used if shouldload parameter is true:
  • -1: All layers, regardless if they're visible or not
  • 0 : The visible layer(s). This is the default
  • 1 and above: The one-based layer number, regardless of the layer visibility.
Returns
The created FCNoteEntryCell object. This object must be deleted from the heap after use.
FCKeySignature * FCCell::GetKeySignature ( )

Returns a pointer to the key signature object.

This method takes independent key sigs into account.

Since there's more involved here than just creating and returning a pointer, this method should always be used internally as well to access the _pKeySig private member.

Lua-supported.

Returns
The pointer to the key signature object.
int FCCell::GetMeasure ( ) const
inline

Returns the measure for the cell.

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

Returns
The measure number (1-based) for the cell
int FCCell::GetStaff ( ) const
inline

Returns the staff for the cell.

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

Returns
The staff number (1-based in the global score) for the cell
FCTimeSignature * FCCell::GetTimeSignature ( )

Returns a pointer to the time signature object.

This method takes independent time sigs into account.

Since there's more involved here than just creating and returning a pointer, this method should always be used internally as well to access the _pTimeSig private member.

Lua-supported.

Returns
The pointer to the time signature object. This object should NOT be deleted manually.
bool FCCell::HasIndependentKeySig ( )

Returns true if the cell has an independent key signature.

Lua-supported.

bool FCCell::HasIndependentTimeSig ( )

Returns true if the cell has an independent time signature.

Lua-supported.

void FCCell::ReAssign ( int  measure,
int  staff 
)
inline

Reassigns the cell to a different cell position, which will also delete attached cell data.

If the reassignment is identical to the previous cell assignment, no change will be made.

Lua-supported.

bool FCCell::Save ( )

Saves any independent key and/or time signatures connected with the cell.

This method will only affect elements that has been retrieved by the GetKeySignature or GetTimeSignature method.

Lua-supported.