Finale PDK Framework 0.71
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...
 
const char * ClassName () const override
 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 () const
 Returns the duration of the frame, according to the time signature. More...
 
bool CalcContainsEntries ()
 Returns true if the cell contains entries in any layer. This function takes into account voiced linked parts. More...
 
FCKeySignatureGetKeySignature ()
 Returns a pointer to the key signature object. More...
 
FCKeySignatureCreateCurrentVisibleKeySignature (bool concertpitch=false) const
 Returns the visible key signature on the score or part, taking into account transposition as well as other options such as independent key signatures and Display In Concert Pitch. 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...
 
FCTimeSignatureGetTimeSignatureForDisplay ()
 Returns a pointer to the time signature object. If time signature for display shouldn't be used, NULL will be returned. 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 independent time signature data. More...
 
FCTimeSignatureAssureSavedIndependentTimeSigForDisplay ()
 Makes sure that the cell has saved independent time signature for display data. More...
 
void RemoveIndependentTimeSigForDisplay ()
 Removes an independent time signature for display if there is one. 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 () 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. More...
 
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 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. 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...
 
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_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_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

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

Constructor & Destructor Documentation

◆ FCCell()

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

The constructor.

Lua-supported.

Member Function Documentation

◆ AssureSavedIndependentKeySig()

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.

◆ AssureSavedIndependentTimeSig()

FCTimeSignature * FCCell::AssureSavedIndependentTimeSig ( )

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

Lua-supported.

Returns
NULL if the staff hasn't be set to use independent time signatures. Otherwise, the independent time signature for the cell.

◆ AssureSavedIndependentTimeSigForDisplay()

FCTimeSignature * FCCell::AssureSavedIndependentTimeSigForDisplay ( )

Makes sure that the cell has saved independent time signature for display data.

Lua-supported (0.59).

Returns
NULL if the staff hasn't be set to use independent time signatures. Otherwise, the independent time signature for display for the cell. If none existed before, it is created identical to the time signature.

◆ CalcClefIndexAt()

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.
Returns
The 0-based clef index.

◆ CalcContainsEntries()

bool FCCell::CalcContainsEntries ( )

Returns true if the cell contains entries in any layer. This function takes into account voiced linked parts.

Lua-supported (0.65).

◆ CalcDuration()

TimeEdu32 FCCell::CalcDuration ( ) const
inline

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

Lua-supported.

◆ CalcEntryDuration()

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.

◆ ClassName()

const char * FCCell::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.

◆ CreateCellMetrics()

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.

◆ CreateCurrentVisibleKeySignature()

FCKeySignature * FCCell::CreateCurrentVisibleKeySignature ( bool  concertpitch = false) const
inline

Returns the visible key signature on the score or part, taking into account transposition as well as other options such as independent key signatures and Display In Concert Pitch.

This function calls a utility function provided by the Finale PDK that takes into account all options in effect. The returned FCKeySignature provides no information about whether it has been transposed or simplified from the concert key.

C++ clients must dispose of this value after using it, either with delete or by assigning it to a smart pointer.

Lua-supported (0.68)

Parameters
concertpitch(optional) allows you to get the concert pitch equivalent of the visible key signature. Normally the concert pitch equivalent is the same value as GetKeySignature, but this value is calculated by Finale whereas GetKeySignature is calculated by the PDK Framework.

◆ CreateNoteEntryCell()

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.

◆ GetKeySignature()

FCKeySignature * FCCell::GetKeySignature ( )

Returns a pointer to the key signature object.

This method takes independent key sigs into account. The key signature returned is the concert key. Use CreateCurrentVisibleKeySignature to get the key signature that is visible on the score.

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.

◆ GetMeasure()

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

◆ GetStaff()

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

◆ GetTimeSignature()

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.

◆ GetTimeSignatureForDisplay()

FCTimeSignature * FCCell::GetTimeSignatureForDisplay ( )

Returns a pointer to the time signature object. If time signature for display shouldn't be used, NULL will be returned.

This method takes independent time sigs into account.

This pointer works in similar ways to the pointer returned at GetTimeSignature(). For more info, please refer to GetTimeSignature().

Lua-supported (0.59).

◆ HasIndependentKeySig()

bool FCCell::HasIndependentKeySig ( )

Returns true if the cell has an independent key signature.

Lua-supported.

◆ HasIndependentTimeSig()

bool FCCell::HasIndependentTimeSig ( )

Returns true if the cell has an independent time signature.

Lua-supported.

◆ ReAssign()

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.

◆ RemoveIndependentTimeSigForDisplay()

void FCCell::RemoveIndependentTimeSigForDisplay ( )
inline

Removes an independent time signature for display if there is one.

The cell must be saved with FCCell::Save for the change to take effect. After calling this function, if you call GetTimeSignatureForDisplay or AssureSavedIndependentTimeSigForDisplay, you will need to call this function again for an independent time signature to be removed.

Lua-supported (0.59).

◆ Save()

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.