Finale PDK Framework
0.54
|
Class for a metatool key assignment. More...
#include <ff_other.h>
Public Types | |
enum | METATOOL_MODES { MTOOLMODE_UNKNOWN = 0, MTOOLMODE_EXPRESSION = 1, MTOOLMODE_ARTICULATION = 2, MTOOLMODE_REPEAT = 3, MTOOLMODE_CLEF = 4, MTOOLMODE_TUPLET = 5, MTOOLMODE_STAFFSTYLE = 6 } |
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... | |
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... | |
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... | |
FCMetatoolAssignment () | |
The constructor. More... | |
void | SetMode (METATOOL_MODES mode) |
Sets the mode of the object. More... | |
METATOOL_MODES | GetMode () const |
Returns the mode of the object. More... | |
CMPER | GetDefID () const |
Returns the 1-based (or 0-based) definition ID for supported object types. More... | |
twobyte | GetKeystroke () const |
Returns the keystroke to where the metatool is saved. More... | |
bool | IsShapeExpressionDef () const |
Returns if an expression metatool is connected to a shape expression definition, or not. This method is only relevant for expression metatools. More... | |
bool | AssignArticulationDef (FCArticulationDef *pDef) |
Assigns an articulation definition to a metatool. More... | |
bool | AssignTextExpressionDef (FCTextExpressionDef *pDef) |
Assigns a text expression definition to a metatool. More... | |
bool | AssignShapeExpressionDef (FCShapeExpressionDef *pDef) |
Assigns a shape expression definition to a metatool. More... | |
bool | AssignRepeatDef (FCTextRepeatDef *pDef) |
Assigns an text repeat definition to a metatool. More... | |
bool | AssignClefDef (FCClefDef *pDef) |
Assigns an clef definition to a metatool. More... | |
bool | AssignTuplet (FCTuplet *pTuplet) |
Assigns an tuplet object to a metatool. More... | |
bool | AssignStaffStyle (FCStaffStyleDef *pStaffStyle) |
Assigns an StaffStyle definition object to a metatool. More... | |
bool | SaveAsKeystroke (twobyte keystrokeslot) |
Saves the metatool object to a specific keystroke. More... | |
virtual bool | SaveNew () |
Overridden functionality: SaveNew() is not supported for this class. | |
virtual bool | SaveAs (CMPER cmper) |
Overridden functionality: SaveAs() isn't supported for this class. Use SaveAsKeystroke instead. | |
__FCBaseData * | CreateLinkedObject () |
Creates and loads an object that is connected to the metatool keystroke. More... | |
virtual void | DebugDump () |
Outputs the class data/information for debugging purposes. More... | |
Public Member Functions inherited from __FCNoInciOther | |
__FCNoInciOther () | |
The constructor. | |
virtual bool | Load (CMPER itemno) |
Loads the indicated item. More... | |
virtual bool | Reload () |
Overridden Reload() method to support complex data types. | |
virtual bool | DeepSaveAs (CMPER itemno) |
Saves the data under another item number, but also makes a deep copy of the object. More... | |
virtual bool | DeepDeleteData () |
Deletes the data and all related data available in other data structures. More... | |
virtual CMPER | GetItemNo () const |
Returns the item number. This typically points to items such as a page number, a measure number, a 1-based expression definition number, etc. More... | |
void | SetItemNo (CMPER cmper) |
Sets the item number. Use with extreme care! This is mostly intended for situations when creating new records isn't supported by Finale (preventing SaveAs to work). More... | |
virtual bool | LoadFirst () |
Loads the first element of 1-based data. More... | |
Public Member Functions inherited from __FCOther | |
void | SetCmperAndInci (CMPER cmper, twobyte inci) |
Sets both the CMPER and the incident number in the dataID record. Mainly for internal use. | |
__FCOther () | |
The constructor. | |
bool | IsIdenticalRecord (__FCOther *pCompare) |
Compares an object to see if both objects point to the same data record. 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 EXTAG | Tag ()=0 |
The Enigma tag for the derived class. 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 | LoadLast () |
Loads the very last element in the database, if any. More... | |
virtual bool | LoadNext () |
Loads the next element from the database, if any. More... | |
virtual bool | LoadPrevious () |
Loads the previous element in the database, if any. More... | |
__FCBaseData * | CreateClone () |
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. | |
FCNumbers * | CreateRawDataDump () |
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 | |
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 __FCBaseData * | CreateObject ()=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. | |
Class for a metatool key assignment.
Before using an object, the mode (=Finale tool) must be set with SetMode.
Metatool are saved to the keystroke location. Example: a metatool record for the 'A' key are stored at position 65 (ASCII for 'A'), so GetItemNo would return 65.
Tuplets are only supported if PDK_FRAMEWORK_ENTRIES is defined to the compiler.
Constants for the constructor and GetMode
|
inline |
The constructor.
Lua-supported.
|
inline |
Assigns an articulation definition to a metatool.
The mode for the object must be set to MTOOLMODE_ARTICULATION in advance.
Lua-supported.
bool FCMetatoolAssignment::AssignClefDef | ( | FCClefDef * | pDef | ) |
Assigns an clef definition to a metatool.
The mode for the object must be set to MTOOLMODE_CLEF in advance.
Lua-supported.
|
inline |
Assigns an text repeat definition to a metatool.
The mode for the object must be set to MTOOLMODE_REPEAT in advance.
Lua-supported.
|
inline |
Assigns a shape expression definition to a metatool.
The mode for the object must be set to MTOOLMODE_EXPRESSION in advance.
Lua-supported.
|
inline |
Assigns an StaffStyle definition object to a metatool.
The mode for the object must be set to MTOOLMODE_STAFFSTYLE in advance.
Lua-supported.
|
inline |
Assigns a text expression definition to a metatool.
The mode for the object must be set to MTOOLMODE_EXPRESSION in advance.
Lua-supported.
bool FCMetatoolAssignment::AssignTuplet | ( | FCTuplet * | pTuplet | ) |
Assigns an tuplet object to a metatool.
The mode for the object must be set to MTOOLMODE_TUPLET in advance.
Lua-supported.
|
inlinevirtual |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class.
Lua-supported.
Reimplemented from __FCNoInciOther.
__FCBaseData * FCMetatoolAssignment::CreateLinkedObject | ( | ) |
Creates and loads an object that is connected to the metatool keystroke.
The caller is reponsible for deleting the created object from the heap.
Please note that the returned object is different depending on the object type.
Tuplet metatools will return a FCTuplet object.
Lua-supported.
|
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 __FCNoInciOther.
|
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.
|
inline |
Returns the 1-based (or 0-based) definition ID for supported object types.
These types are supported:
These types are not supported:
Lua-supported (also as a read-only property).
twobyte FCMetatoolAssignment::GetKeystroke | ( | ) | const |
Returns the keystroke to where the metatool is saved.
Lua-supported (also as a read-only property).
|
inline |
Returns the mode of the object.
Lua-supported (also as property).
|
inline |
Returns if an expression metatool is connected to a shape expression definition, or not. This method is only relevant for expression metatools.
Lua-supported.
|
inline |
Saves the metatool object to a specific keystroke.
Lua-supported.
keystrokeslot | Valid values are 48 ('0') through 57 ('9'), or 65 ('A') through 90 ('Z'). |
|
inline |
Sets the mode of the object.
Please note that this method will ONLY set objects that are currently unassigned.
Lua-supported.
mode | Any of the MTOOLMODE_ constants. |