Finale PDK Framework
0.54
|
Base class that provides the basic functionality for entry detail data (such as Special Tools modifications). More...
#include <ff_entrydetails.h>
Public Member Functions | |
__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... | |
FCNoteEntry * | GetNoteEntry () |
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... | |
virtual void | DebugDump () |
Outputs the class data/information for debugging purposes. More... | |
Public Member Functions inherited from __FCBaseData | |
virtual const PDKFRAMEWORK_CLASSID | GetClassID ()=0 |
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... | |
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... | |
virtual const char * | ClassName () |
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. 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... | |
__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 | |
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 __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. | |
Base class that provides the basic functionality for entry detail data (such as Special Tools modifications).
This class requires PDK_FRAMEWORK_ENTRIES to be defined.
|
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 __FCBaseData.
Reimplemented in FCBeamMod, FCEntryAlterMod, FCSyllableEntryMod, FCSyllableBase, FCTuplet, FCArticulation, and FCSmartShapeEntryMark.
|
inline |
Returns the note entry number for the stored object.
Lua-supported (also as a read-only property).
|
inline |
Returns the inci number for the stored object.
Lua-supported (also as a read-only property).
|
inline |
Returns a pointer to the mapped note entry.
Please note that this value might be an invalid object if the frame with the notes has been disposed.
Lua-supported.
|
virtual |
Loads the data at the given entry number and inci.
Reimplemented in FCBeamMod.
|
inlinevirtual |
Overloaded version of LoadFirst that will load the first inci for the entry. SetNoteEntry must be called first.
Implements __FCBaseData.
bool __FCEntryDetail::SaveAs | ( | ENTNUM | entnum, |
twobyte | inci | ||
) |
Saves the data at the given entry number and inci.
|
virtual |
Saves a new inci and sets the correct flag in the associated note entry.
The SetNoteEntry method should be called prior to using SaveNew().
For some subclasses (namely #FCStemMod), this method must not be called if there's already a stem mod that can be accessed with #FCStemMod::LoadFirst(). A pattern to ensure this is: if not stemMod:LoadFirst() then stemMod:SaveNew() end
Lua-supported.
Reimplemented in FCBeamMod, and __FCEntryDetailNoteID.
|
inlinevirtual |
Maps the data to an entry.
Call this method before a load or save operation.
Lua-supported.
Reimplemented in FCBeamMod.