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

Class for attaching an articulation definition to an entry. More...

#include <ff_entrydetails.h>

Inheritance diagram for FCArticulation:
__FCEntryDetail __FCBaseData __FCBase

Public Member Functions

virtual EXTAG Tag ()
 The Enigma tag for the derived class. More...
 
virtual const char * ClassName ()
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
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...
 
 FCArticulation ()
 The constructor. More...
 
void SetArticulationDef (FCArticulationDef *pDef)
 Assigns an articulation definition to the articulation instance. More...
 
void SetID (CMPER cmper)
 Sets the (1-based) articulation definition ID. More...
 
void SetHorizontalPos (twobyte pos)
 Sets the horizontal position. More...
 
void SetVerticalPos (twobyte pos)
 Sets the vertical position. More...
 
bool GetVisible () const
 Sets the visibility state of the articulation. More...
 
void SetVisible (bool state)
 Returns the visibility state of the articulation. More...
 
twobyte GetHorizontalPos () const
 Returns the horizontal position. More...
 
twobyte GetVerticalPos () const
 Returns the vertical position. More...
 
twobyte GetID () const
 Returns the (1-based) articulation definition ID. More...
 
FCArticulationDefCreateArticulationDef ()
 Creates a articulation definition object for the articulation. More...
 
bool CalcMetricPos (FCPoint *pPoint)
 Calculate the metric position for an articulation. More...
 
bool CalcFlippedSymbolUsed ()
 Returns true if the flipped version of the articulation is used (based on the entry metrics). More...
 
void ResetPos (FCArticulationDef *pDef)
 Resets the articulation positioning based on the articulation definition. This method currently doesn't support the "Center horizontally" option. More...
 
virtual void DebugDump ()
 Outputs the class data/information for debugging purposes. More...
 
- Public Member Functions inherited from __FCEntryDetail
 __FCEntryDetail ()
 The constructor.
 
void SetEntnumAndInci (ENTNUM entnum, twobyte inci)
 Sets the entry number reference and inci for the object.
 
virtual bool Load (ENTNUM entnum, twobyte inci)
 Loads the data at the given entry number and inci. More...
 
virtual bool Reload ()
 Overridden Reload() method, that supports complex (mixed) data.
 
bool SaveAs (ENTNUM entnum, twobyte inci)
 Saves the data at the given entry number and inci. More...
 
virtual bool LoadFirst ()
 Overloaded version of LoadFirst that will load the first inci for the entry. SetNoteEntry must be called first. More...
 
virtual bool LoadNext ()
 Overloaded version of LoadNext.
 
virtual void SetNoteEntry (FCNoteEntry *pEntry)
 Maps the data to an entry. More...
 
FCNoteEntryGetNoteEntry ()
 Returns a pointer to the mapped note entry. More...
 
twobyte GetItemInci () const
 Returns the inci number for the stored object. More...
 
ENTNUM GetItemEntryNumber () const
 Returns the note entry number for the stored object. More...
 
virtual bool SaveNew ()
 Saves a new inci and sets the correct flag in the associated note entry. More...
 
- Public Member Functions inherited from __FCBaseData
EDOCID GetConnectedDocID () const
 Returns the document ID that was connected to the last load/save of the data. More...
 
bool VerifyConnectedDocID ()
 Checks that the stored document ID for the data object matches the current document's ID. More...
 
virtual EVERSION EnigmaVersion ()
 The Enigma version for save/load/create/delete operations. More...
 
virtual int DataSizeLoad ()=0
 Returns the data size for the data structure that should be loaded. More...
 
virtual int DataSizeSave ()
 Returns the data size for the data structure that should be saved or created. More...
 
void _CloneFrom (__FCBaseData *pSource)
 For internal use only. Copies object data (except data block) from another object. More...
 
virtual void CloneMemoryFrom (__FCBaseData *pSource)
 
const EDataID * _GetDataID ()
 Intended ONLY for the _CloneFrom implementation. More...
 
int _GetLoadedSize () const
 Intended ONLY for the _CloneFrom implementation. More...
 
const void * GetDataBlock ()
 Intended ONLY for the _CloneFrom implementation. More...
 
EXTAG GetCustomTag ()
 Returns the custom Enigma tag, if any. More...
 
void SetCustomTag (EXTAG tag)
 Sets the custom Enigma tag, for classes that support multiple Enigma tags. More...
 
 __FCBaseData ()
 The constructor.
 
virtual ~__FCBaseData ()
 Virtual destructor.
 
virtual bool Save ()
 Saves the currently loaded to its current location. More...
 
virtual bool DeleteData ()
 Deletes the associated data from Finale's database. Be careful when deleting multiple objects. More...
 
virtual bool DeepDeleteData ()
 Deletes data and all data that's connected to the object. More...
 
virtual bool LoadLast ()
 Loads the very last element in the database, if any. More...
 
virtual bool LoadPrevious ()
 Loads the previous element in the database, if any. More...
 
__FCBaseDataCreateClone ()
 Creates an identical copy of an object. 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 DebugDataOffsetDump (int offset, int size)
 For debug mode only. Dumps a data memory block at a specific offset and with a specific size.
 
FCNumbersCreateRawDataDump ()
 Creates a byte collection with the raw loaded data block for the object (if the object type supports single data blocks). This method is only intended for debug purposes. More...
 
- Public Member Functions inherited from __FCBase
 __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...
 
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...
 
- Protected Member Functions inherited from __FCBaseData
virtual void * Allocate ()=0
 
virtual void Deallocate ()
 
virtual bool IsDynamicSize ()
 
bool LoadDataBlock ()
 Loads the data. If the object is of dynamic size, the old memory block is freed and a new is allocated.
 
void ClearData ()
 
virtual twobyte CalcLastInci ()
 For internal use only! More...
 
virtual __FCBaseDataCreateObject ()=0
 Creates a new instance of the object. More...
 
bool DataIsLoaded () const
 Returns true is any data has been loaded into the object. More...
 
void _TagDocumentID ()
 For internal use only. More...
 
- Protected Attributes inherited from __FCBaseData
EDOCID _connecteddocID
 The "connected" document ID., which is the document the where the document was loaded (or last saved). This is for a mechanism to prevent resaving of certain data in other documents.
 
void * _datablock
 Pointer to the object's data block, the meaning is implementation-specific for each derived subclass.
 
bool _heapdatablock
 Variable that tells if _datablock is dynamically created on the heap (and should be deleted at object destruction).
 
int _loadedsize
 Loaded size of the data block for a loaded object, in bytes. Since the datablock is implementation-specific, the _loadedsize should be updated by child classes that create new data. More...
 
EDataID _dataid
 The EdataID for the last loaded/saved object.
 

Detailed Description

Class for attaching an articulation definition to an entry.

This class requires PDK_FRAMEWORK_ENTRIES to be defined.

Constructor & Destructor Documentation

FCArticulation::FCArticulation ( )

The constructor.

Lua-supported.

Member Function Documentation

bool FCArticulation::CalcFlippedSymbolUsed ( )

Returns true if the flipped version of the articulation is used (based on the entry metrics).

This method requires that SetNoteEntry() has been called before the call.

Lua-supported.

bool FCArticulation::CalcMetricPos ( FCPoint pPoint)

Calculate the metric position for an articulation.

Returns
True on success.
virtual const char* FCArticulation::ClassName ( )
inlinevirtual

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

Lua-supported.

Reimplemented from __FCBaseData.

FCArticulationDef * FCArticulation::CreateArticulationDef ( )

Creates a articulation definition object for the articulation.

Lua-supported.

Returns
The created articulation definition object. This object must be deleted from the heap after use.
virtual void FCArticulation::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 __FCEntryDetail.

virtual const PDKFRAMEWORK_CLASSID FCArticulation::GetClassID ( )
inlinevirtual

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.

Implements __FCBaseData.

twobyte FCArticulation::GetHorizontalPos ( ) const
inline

Returns the horizontal position.

Lua-supported (also as property).

twobyte FCArticulation::GetID ( ) const
inline

Returns the (1-based) articulation definition ID.

To set the definition ID, use the SetArticulationDef method.

Lua-supported (also as property).

Returns
The 1-based index in the document's lists of articulations.
twobyte FCArticulation::GetVerticalPos ( ) const
inline

Returns the vertical position.

Lua-supported (also as property).

bool FCArticulation::GetVisible ( ) const

Sets the visibility state of the articulation.

Only works on 2014b and later.

Lua-supported (also as property).

void FCArticulation::ResetPos ( FCArticulationDef pDef)
inline

Resets the articulation positioning based on the articulation definition. This method currently doesn't support the "Center horizontally" option.

Lua-supported (also as property).

Todo:
Support the "Center horizontally" option in FCArticulation::ResetPos
void FCArticulation::SetArticulationDef ( FCArticulationDef pDef)
inline

Assigns an articulation definition to the articulation instance.

Lua-supported.

Parameters
pDefThe articulation definition. If it's NULL, nothing will be assigned.
void FCArticulation::SetHorizontalPos ( twobyte  pos)
inline

Sets the horizontal position.

Lua-supported (also as property).

void FCArticulation::SetID ( CMPER  cmper)
inline

Sets the (1-based) articulation definition ID.

Use with care - try to use the SetArticulationDef method as far as possible.

Lua-supported (also as property).

void FCArticulation::SetVerticalPos ( twobyte  pos)
inline

Sets the vertical position.

Lua-supported (also as property).

void FCArticulation::SetVisible ( bool  state)

Returns the visibility state of the articulation.

Only works on 2014b and later.

Lua-supported (also as property).

virtual EXTAG FCArticulation::Tag ( )
inlinevirtual

The Enigma tag for the derived class.

(Have this public so it's possible to query from the outside world.)

Implements __FCBaseData.