Finale PDK Framework 0.74
Public Types | Public Member Functions | List of all members
FCCategoryDef Class Reference

Class for a category definition. More...

#include <ff_other.h>

Inheritance diagram for FCCategoryDef:
__FCNoInciOther __FCOther __FCBaseData __FCBase

Public Types

enum  CATEGORY_DEFAULTIDS {
  DEFAULTCATID_DYNAMICS = 1 , DEFAULTCATID_TEMPOMARKS = 2 , DEFAULTCATID_TEMPOALTERATIONS = 3 , DEFAULTCATID_EXPRESSIVETEXT = 4 ,
  DEFAULTCATID_TECHNIQUETEXT = 5 , DEFAULTCATID_REHEARSALMARK = 6
}
 The default/predefined category IDs in Finale. More...
 
enum  CATEGORY_MODE { CATEGORYMODE_NONE = 0 , CATEGORYMODE_TEXT = 1 , CATEGORYMODE_MUSIC = 2 , CATEGORYMODE_NUMBER = 3 }
 Constants used by the FCString::ReplaceCategoryFonts method. More...
 
enum  VERT_ALIGNMENT {
  ALIGNVERT_CLICKPOS = 2 , ALIGNVERT_STAFF_REFERENCE_LINE = 3 , ALIGNVERT_ABOVE_STAFF_BASELINE = 0 , ALIGNVERT_BELOW_STAFF_BASELINE = 1 ,
  ALIGNVERT_TOPNOTE = 4 , ALIGNVERT_BOTTOMNOTE = 5 , ALIGNVERT_ABOVEENTRY = 6 , ALIGNVERT_BELOWENTRY = 7 ,
  ALIGNVERT_ABOVE_STAFF_BASELINE_OR_ENTRY = 8 , ALIGNVERT_BELOW_STAFF_BASELINE_OR_ENTRY = 9
}
 The vertical alignment points available to categories and expressions. More...
 
enum  HORIZ_ALIGNMENT {
  ALIGNHORIZ_CLICKPOS = 3 , ALIGNHORIZ_LEFTOFALLNOTEHEAD = 9 , ALIGNHORIZ_LEFTOFPRIMARYNOTEHEAD = 13 , ALIGNHORIZ_STEM = 10 ,
  ALIGNHORIZ_CENTERPRIMARYNOTEHEAD = 11 , ALIGNHORIZ_CENTERALLNOTEHEADS = 12 , ALIGNHORIZ_RIGHTALLNOTEHEADS = 14 , ALIGNHORIZ_LEFTBARLINE = 0 ,
  ALIGNHORIZ_TIMESIGSTART = 1 , ALIGNHORIZ_AFTERCLEFKEYTIMEREPEAT = 2 , ALIGNHORIZ_STARTOFMUSIC = 7 , ALIGNHORIZ_CENTERBETWEENBARLINES = 4 ,
  ALIGNHORIZ_CENTEROVERUNDERMUSIC = 5 , ALIGNHORIZ_RIGHTBARLINE = 6
}
 The horizontal alignment points available to categories and expressions. More...
 
enum  HORIZ_JUSTIFICATION { EXPRJUSTIFY_LEFT = 0 , EXPRJUSTIFY_CENTER = 1 , EXPRJUSTIFY_RIGHT = 2 }
 The horizontal justification settings for the category. More...
 
- 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_KEYMODEDEF , 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...
 

Public Member Functions

const char * ClassName () const override
 Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child class. More...
 
const PDKFRAMEWORK_CLASSID GetClassID () const override
 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...
 
 FCCategoryDef ()
 The constructor. More...
 
bool IsIdentical (const __FCBase *pObject) const override
 Overridden method to provide comparison of category definitions. More...
 
bool GetBreakMMRest () const
 Gets the "Break Multi-measure rest" option from the category definition. For many categories, this options isn't used. More...
 
bool GetOverrideStaffList () const
 Gets the value for if staff lists are used for this category. More...
 
twobyte GetID () const
 Returns the internal category ID. This is a read-only value. More...
 
CATEGORY_DEFAULTIDS GetType () const
 Returns the original default category ID upon which this category is based. For default categories, this value is the same as GetID. More...
 
bool SaveNewWithType (CATEGORY_DEFAULTIDS type)
 Creates a new category definition based on the input type. The new category inherits features of the base type, which is given by one of the CATEGORY_DEFAULTIDS constants. More...
 
twobyte GetStaffListID () const
 (Only works on Finale 2014b and above.) Returns the staff list ID for the category def. More...
 
void GetName (FCString *pString) const
 Gets the name of the category and copies it to an existing string object. More...
 
FCStringCreateName ()
 Creates a string object with the category name. More...
 
VERT_ALIGNMENT GetVerticalAlignmentPoint () const
 Returns the vertical alignment point for the category definition positioning. More...
 
twobyte GetVerticalBaselineOffset () const
 Returns the vertical "Additional Baseline Offset" in the category definition. More...
 
twobyte GetVerticalEntryOffset () const
 Returns the vertical "Additional Entry Offset" in the category definition. More...
 
HORIZ_JUSTIFICATION GetHorizontalJustification () const
 Gets the "Horizontal Justification" in the category definition. More...
 
HORIZ_ALIGNMENT GetHorizontalAlignmentPoint () const
 Gets the "Horizontal Alignment Point" in the category definition. More...
 
twobyte GetHorizontalOffset () const
 Gets the "Additional Horizontal Offset" in the category definition. More...
 
bool GetTextFontInfo (FCFontInfo *pInfo)
 Gets the font info for the text font. More...
 
bool GetMusicFontInfo (FCFontInfo *pInfo)
 Gets the font info for the music font. More...
 
bool GetNumberFontInfo (FCFontInfo *pInfo)
 Gets the font info for the number font. More...
 
bool SetTextFontInfo (FCFontInfo *pInfo)
 Sets the font info for the text font. More...
 
bool SetMusicFontInfo (FCFontInfo *pInfo)
 Sets the font info for the music font. More...
 
bool SetNumberFontInfo (FCFontInfo *pInfo)
 Sets the font info for the number font. More...
 
void SetStaffListID (twobyte value)
 (Only works on Finale 2014b and above.) Sets the staff list ID for the category def. More...
 
FCFontInfoCreateTextFontInfo ()
 Creates a FCFontInfo object from the text font. More...
 
bool GetUserCreated () const
 Returns true if the category was user created. More...
 
bool IsDefaultMiscellaneous ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Miscellaneous". More...
 
bool IsDefaultDynamics ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Dynamics". More...
 
bool IsDefaultTempoMarks ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Tempo Marks". More...
 
bool IsDefaultTempoAlterations ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Tempo Alterations". More...
 
bool IsDefaultExpressiveText ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Expressive Text". More...
 
bool IsDefaultTechniqueText ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Technique Text". More...
 
bool IsDefaultRehearsalMarks ()
 Returns true if the category is the standard (pre-defined/Finale-created) category "Rehearsal Marks". More...
 
bool UsesStaffList ()
 Returns true if the category uses a staff list. More...
 
bool UsesTextFont ()
 Returns true if the category uses the text font settings. More...
 
bool UsesMusicFont ()
 Returns true if the category uses the music font settings. More...
 
bool UsesNumberFont ()
 Returns true if the category uses the number font settings. More...
 
void SetName (FCString *pString)
 Sets the name of the category. More...
 
void SetVerticalAlignmentPoint (VERT_ALIGNMENT value)
 Sets the vertical alignment point for the category definition positioning. More...
 
void SetUserCreated (bool value)
 Sets the user-defined state. Use with care! More...
 
void SetBreakMMRest (bool state)
 Sets the flag for if the category should break multimeasure rests. More...
 
void SetOverrideStaffList (bool state)
 Gets the value for if staff lists are used for this category. Use with care! More...
 
void SetID (twobyte catID)
 Sets the internal category ID. More...
 
void SetVerticalBaselineOffset (twobyte value)
 Sets the vertical "Additional Baseline Offset" value in the category definition. More...
 
void SetVerticalEntryOffset (twobyte value)
 Sets the vertical "Additional Entry Offset" value in the category definition. More...
 
void SetHorizontalJustification (HORIZ_JUSTIFICATION value)
 Sets the "Horizontal Justification" in the category definition. More...
 
void SetHorizontalOffset (twobyte value)
 Sets the "Additional Horizontal Offset" in the category definition. More...
 
void SetHorizontalAlignmentPoint (HORIZ_ALIGNMENT value)
 Sets the "Horizontal Alignment Point" value in the category definition. More...
 
void DebugDump () override
 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...
 
bool Reload () override
 Overridden Reload() method to support complex data types. More...
 
virtual bool SaveAs (CMPER itemno)
 Saves the data under another item number. The object will now be connected to the new item number. More...
 
virtual bool DeepSaveAs (CMPER itemno)
 Saves the data under another item number, but also makes a deep copy of the object. More...
 
bool DeepDeleteData () override
 Deletes the data and all related data available in other data structures. More...
 
virtual bool SaveNew ()
 Creates the data as completely new item number. The object will now be connected to the new item number. 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...
 
bool LoadFirst () override
 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 () const =0
 The Enigma tag for the derived class. More...
 
virtual EVERSION EnigmaVersion () const
 The Enigma version for save/load/create/delete operations. More...
 
virtual int DataSizeLoad () const =0
 Returns the data size for the data structure that should be loaded. More...
 
virtual int DataSizeSave () const
 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 () const
 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...
 
bool RelinkToCurrentView ()
 Relinks the contents in the current view so that the score and part(s) match. More...
 
bool RelinkToScore ()
 Relinks all parts to the contents of the score. More...
 
__FCBaseDataCreateClone ()
 Creates an identical copy of an object. More...
 
void DebugDataDump () override
 Outputs a memory dump of the data block in the object for debugging purposes. More...
 
void DebugDataByteArrayDump () override
 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
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...
 
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...
 
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 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 __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.
 
void _TagDocumentID ()
 For internal use only. More...
 
- Protected Member Functions inherited from __FCBase
 __FCBase ()
 The constructor.
 
- 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 a category definition.

Please note that Finale does not allow plug-ins to delete category definitions. Creating requires calling SaveNewWithType. (Loading and saving existing category definitions work normally.)

Member Enumeration Documentation

◆ CATEGORY_DEFAULTIDS

The default/predefined category IDs in Finale.

Lua-supported.

Enumerator
DEFAULTCATID_DYNAMICS 

The default/standard category ID for Dynamics.

DEFAULTCATID_TEMPOMARKS 

The default/standard category ID for Tempo Marks.

DEFAULTCATID_TEMPOALTERATIONS 

The default/standard category ID for Tempo Alteration.

DEFAULTCATID_EXPRESSIVETEXT 

The default/standard category ID for Expressive Text.

DEFAULTCATID_TECHNIQUETEXT 

The default/standard category ID for Technique Text.

DEFAULTCATID_REHEARSALMARK 

The default/standard category ID for Rehearsal Marks.

◆ CATEGORY_MODE

Constants used by the FCString::ReplaceCategoryFonts method.

Lua-supported.

Enumerator
CATEGORYMODE_NONE 

Don't map the ^font tag.

CATEGORYMODE_TEXT 

Map the ^font tag to the category text font.

CATEGORYMODE_MUSIC 

Map the ^font tag to the category music font.

CATEGORYMODE_NUMBER 

Map the ^font tag to the category number font.

◆ HORIZ_ALIGNMENT

The horizontal alignment points available to categories and expressions.

Lua-supported.

Enumerator
ALIGNHORIZ_CLICKPOS 

Horizontal Click position

ALIGNHORIZ_LEFTOFALLNOTEHEAD 

Left of all noteheads

ALIGNHORIZ_LEFTOFPRIMARYNOTEHEAD 

Left of primary notehead

ALIGNHORIZ_STEM 

Stem

ALIGNHORIZ_CENTERPRIMARYNOTEHEAD 

Center of primary notehead.

ALIGNHORIZ_CENTERALLNOTEHEADS 

Center of all noteheads.

ALIGNHORIZ_RIGHTALLNOTEHEADS 

Right of all noteheads.

ALIGNHORIZ_LEFTBARLINE 

Left barline.

ALIGNHORIZ_TIMESIGSTART 

Start of Time Signature

ALIGNHORIZ_AFTERCLEFKEYTIMEREPEAT 

After Clef/Key/Time/Repeat

ALIGNHORIZ_STARTOFMUSIC 

Start of Music

ALIGNHORIZ_CENTERBETWEENBARLINES 

Center between barlines

ALIGNHORIZ_CENTEROVERUNDERMUSIC 

Center Over/Under Music

ALIGNHORIZ_RIGHTBARLINE 

Right Barline

◆ HORIZ_JUSTIFICATION

The horizontal justification settings for the category.

Lua-supported.

Enumerator
EXPRJUSTIFY_LEFT 

Left-side justification

EXPRJUSTIFY_CENTER 

Centered justification

EXPRJUSTIFY_RIGHT 

Right-side justification

◆ VERT_ALIGNMENT

The vertical alignment points available to categories and expressions.

Lua-supported.

Enumerator
ALIGNVERT_CLICKPOS 

Vertical Click Position

ALIGNVERT_STAFF_REFERENCE_LINE 

Staff Reference Line

ALIGNVERT_ABOVE_STAFF_BASELINE 

Above Staff Baseline

ALIGNVERT_BELOW_STAFF_BASELINE 

Below Staff Baseline

ALIGNVERT_TOPNOTE 

Top Note

ALIGNVERT_BOTTOMNOTE 

Bottom Note

ALIGNVERT_ABOVEENTRY 

Above Entry

ALIGNVERT_BELOWENTRY 

Below Entry

ALIGNVERT_ABOVE_STAFF_BASELINE_OR_ENTRY 

Above Staff Baseline or Entry

ALIGNVERT_BELOW_STAFF_BASELINE_OR_ENTRY 

Below Staff Baseline or Entry

Constructor & Destructor Documentation

◆ FCCategoryDef()

FCCategoryDef::FCCategoryDef ( )
inline

The constructor.

Lua-supported.

Member Function Documentation

◆ ClassName()

const char * FCCategoryDef::ClassName ( ) const
inlineoverridevirtual

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

Lua-supported.

Reimplemented from __FCNoInciOther.

◆ CreateName()

FCString * FCCategoryDef::CreateName ( )
inline

Creates a string object with the category name.

It's the caller's responsibility to delete the object from the heap after use.

Lua-supported.

Returns
The created string object.

◆ CreateTextFontInfo()

FCFontInfo * FCCategoryDef::CreateTextFontInfo ( )
inline

Creates a FCFontInfo object from the text font.

Lua-supported.

Returns
Pointer to the font info object. It's the caller's responsibility to destroy this object from the heap after use.

◆ DebugDump()

void FCCategoryDef::DebugDump ( )
inlineoverridevirtual

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.

◆ GetBreakMMRest()

bool FCCategoryDef::GetBreakMMRest ( ) const
inline

Gets the "Break Multi-measure rest" option from the category definition. For many categories, this options isn't used.

Lua-supported (also as property).

◆ GetClassID()

const PDKFRAMEWORK_CLASSID FCCategoryDef::GetClassID ( ) const
inlineoverridevirtual

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 (also read-only property) (0.55).

Implements __FCBaseData.

◆ GetHorizontalAlignmentPoint()

HORIZ_ALIGNMENT FCCategoryDef::GetHorizontalAlignmentPoint ( ) const
inline

Gets the "Horizontal Alignment Point" in the category definition.

Lua-supported (also as property).

◆ GetHorizontalJustification()

HORIZ_JUSTIFICATION FCCategoryDef::GetHorizontalJustification ( ) const
inline

Gets the "Horizontal Justification" in the category definition.

Lua-supported (also as property).

Returns
Any of the EXPRJUSTIFY_ constants.

◆ GetHorizontalOffset()

twobyte FCCategoryDef::GetHorizontalOffset ( ) const
inline

Gets the "Additional Horizontal Offset" in the category definition.

Lua-supported (also as property).

◆ GetID()

twobyte FCCategoryDef::GetID ( ) const
inline

Returns the internal category ID. This is a read-only value.

The category can only be read but cannot be changed, since Finale will not save the data if it is changed.

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

Returns
The category ID.

◆ GetMusicFontInfo()

bool FCCategoryDef::GetMusicFontInfo ( FCFontInfo pInfo)
inline

Gets the font info for the music font.

Lua-supported.

Returns
True if the font info was filled. If the category doesn't use music fonts, false is returned.

◆ GetName()

void FCCategoryDef::GetName ( FCString pString) const
inline

Gets the name of the category and copies it to an existing string object.

Lua-supported.

Parameters
pStringThe string to fill with the category name.

◆ GetNumberFontInfo()

bool FCCategoryDef::GetNumberFontInfo ( FCFontInfo pInfo)
inline

Gets the font info for the number font.

Lua-supported.

Returns
True if the font info was filled. If the category doesn't use number fonts, false is returned.

◆ GetOverrideStaffList()

bool FCCategoryDef::GetOverrideStaffList ( ) const
inline

Gets the value for if staff lists are used for this category.

Lua-supported (also as property).

◆ GetStaffListID()

twobyte FCCategoryDef::GetStaffListID ( ) const
inline

(Only works on Finale 2014b and above.) Returns the staff list ID for the category def.

Lua-supported (also as property).

Returns
On 2014b or higher, the staff list ID.

◆ GetTextFontInfo()

bool FCCategoryDef::GetTextFontInfo ( FCFontInfo pInfo)
inline

Gets the font info for the text font.

Lua-supported.

Returns
True if the font info was filled. If the category doesn't use text fonts, false is returned.

◆ GetType()

CATEGORY_DEFAULTIDS FCCategoryDef::GetType ( ) const
inline

Returns the original default category ID upon which this category is based. For default categories, this value is the same as GetID.

Once a category is created, the type should never be changed.

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

Returns
value Any of the DEFAULTCATID_ constants.

◆ GetUserCreated()

bool FCCategoryDef::GetUserCreated ( ) const
inline

Returns true if the category was user created.

Lua-supported (also as property).

Returns
True = user created, False = Created by Finale

◆ GetVerticalAlignmentPoint()

VERT_ALIGNMENT FCCategoryDef::GetVerticalAlignmentPoint ( ) const
inline

Returns the vertical alignment point for the category definition positioning.

Returns
value Any of the ALIGNVERT_ constants.

Lua-supported (also as property).

◆ GetVerticalBaselineOffset()

twobyte FCCategoryDef::GetVerticalBaselineOffset ( ) const
inline

Returns the vertical "Additional Baseline Offset" in the category definition.

Lua-supported (also as property).

◆ GetVerticalEntryOffset()

twobyte FCCategoryDef::GetVerticalEntryOffset ( ) const
inline

Returns the vertical "Additional Entry Offset" in the category definition.

Lua-supported (also as property).

◆ IsDefaultDynamics()

bool FCCategoryDef::IsDefaultDynamics ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Dynamics".

Lua-supported.

◆ IsDefaultExpressiveText()

bool FCCategoryDef::IsDefaultExpressiveText ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Expressive Text".

Lua-supported.

◆ IsDefaultMiscellaneous()

bool FCCategoryDef::IsDefaultMiscellaneous ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Miscellaneous".

Lua-supported.

◆ IsDefaultRehearsalMarks()

bool FCCategoryDef::IsDefaultRehearsalMarks ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Rehearsal Marks".

Lua-supported.

◆ IsDefaultTechniqueText()

bool FCCategoryDef::IsDefaultTechniqueText ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Technique Text".

Lua-supported.

◆ IsDefaultTempoAlterations()

bool FCCategoryDef::IsDefaultTempoAlterations ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Tempo Alterations".

Lua-supported.

◆ IsDefaultTempoMarks()

bool FCCategoryDef::IsDefaultTempoMarks ( )
inline

Returns true if the category is the standard (pre-defined/Finale-created) category "Tempo Marks".

Lua-supported.

◆ IsIdentical()

bool FCCategoryDef::IsIdentical ( const __FCBase pObject) const
inlineoverridevirtual

Overridden method to provide comparison of category definitions.

Compares the ID, flags and name.

Reimplemented from __FCBase.

◆ SaveNewWithType()

bool FCCategoryDef::SaveNewWithType ( CATEGORY_DEFAULTIDS  type)

Creates a new category definition based on the input type. The new category inherits features of the base type, which is given by one of the CATEGORY_DEFAULTIDS constants.

This function requires Finale 2012 or higher.

Lua-supported (0.58).

Parameters
[in]typeAny of the DEFAULTCATID_ constants.
Returns
success or failure

◆ SetBreakMMRest()

void FCCategoryDef::SetBreakMMRest ( bool  state)
inline

Sets the flag for if the category should break multimeasure rests.

Lua-supported (also as property).

◆ SetHorizontalAlignmentPoint()

void FCCategoryDef::SetHorizontalAlignmentPoint ( HORIZ_ALIGNMENT  value)
inline

Sets the "Horizontal Alignment Point" value in the category definition.

Lua-supported (also as property).

◆ SetHorizontalJustification()

void FCCategoryDef::SetHorizontalJustification ( HORIZ_JUSTIFICATION  value)
inline

Sets the "Horizontal Justification" in the category definition.

Lua-supported (also as property).

◆ SetHorizontalOffset()

void FCCategoryDef::SetHorizontalOffset ( twobyte  value)
inline

Sets the "Additional Horizontal Offset" in the category definition.

Lua-supported (also as property).

◆ SetID()

void FCCategoryDef::SetID ( twobyte  catID)
inline

Sets the internal category ID.

Use with care!!!

◆ SetMusicFontInfo()

bool FCCategoryDef::SetMusicFontInfo ( FCFontInfo pInfo)
inline

Sets the font info for the music font.

Lua-supported.

Returns
True if the font was set. If the category doesn't use music fonts, false is returned.

◆ SetName()

void FCCategoryDef::SetName ( FCString pString)
inline

Sets the name of the category.

Lua-supported.

Parameters
pStringThe object that contains the name.

◆ SetNumberFontInfo()

bool FCCategoryDef::SetNumberFontInfo ( FCFontInfo pInfo)
inline

Sets the font info for the number font.

Lua-supported.

Returns
True if the font was set. If the category doesn't use number fonts, false is returned.

◆ SetOverrideStaffList()

void FCCategoryDef::SetOverrideStaffList ( bool  state)
inline

Gets the value for if staff lists are used for this category. Use with care!

Lua-supported (also as property).

◆ SetStaffListID()

void FCCategoryDef::SetStaffListID ( twobyte  value)
inline

(Only works on Finale 2014b and above.) Sets the staff list ID for the category def.

Lua-supported (also as property).

Parameters
valueOn 2014b or higher, an existing staff list ID (1 through 8).

◆ SetTextFontInfo()

bool FCCategoryDef::SetTextFontInfo ( FCFontInfo pInfo)
inline

Sets the font info for the text font.

Lua-supported.

Returns
True if the font was set. If the category doesn't use text fonts, false is returned.

◆ SetUserCreated()

void FCCategoryDef::SetUserCreated ( bool  value)
inline

Sets the user-defined state. Use with care!

Lua-supported (also as property).

◆ SetVerticalAlignmentPoint()

void FCCategoryDef::SetVerticalAlignmentPoint ( VERT_ALIGNMENT  value)
inline

Sets the vertical alignment point for the category definition positioning.

Parameters
valueAny of the ALIGNVERT_ constants.

Lua-supported (also as property).

◆ SetVerticalBaselineOffset()

void FCCategoryDef::SetVerticalBaselineOffset ( twobyte  value)
inline

Sets the vertical "Additional Baseline Offset" value in the category definition.

Lua-supported (also as property).

◆ SetVerticalEntryOffset()

void FCCategoryDef::SetVerticalEntryOffset ( twobyte  value)
inline

Sets the vertical "Additional Entry Offset" value in the category definition.

Lua-supported (also as property).

◆ UsesMusicFont()

bool FCCategoryDef::UsesMusicFont ( )
inline

Returns true if the category uses the music font settings.

Lua-supported.

◆ UsesNumberFont()

bool FCCategoryDef::UsesNumberFont ( )
inline

Returns true if the category uses the number font settings.

Lua-supported.

◆ UsesStaffList()

bool FCCategoryDef::UsesStaffList ( )
inline

Returns true if the category uses a staff list.

Lua-supported.

◆ UsesTextFont()

bool FCCategoryDef::UsesTextFont ( )
inline

Returns true if the category uses the text font settings.

Lua-supported.