Finale PDK Framework 0.73
Public Types | Public Member Functions | List of all members
FCTieMod Class Reference

Class with adjustments to the ties (in Finale's Special Tools). More...

#include <ff_entrydetails.h>

Inheritance diagram for FCTieMod:
__FCEntryDetailNoteID __FCEntryDetail __FCBaseData __FCBase

Public Types

enum  TIEMOD_TIETYPES { TIEMODTYPE_TIEEND = 0 , TIEMODTYPE_TIESTART = 1 }
 TieMod types. More...
 
enum  TIEMOD_SELECTOR { TIEMODSEL_DEFAULT = 0 , TIEMODSEL_ON = 1 , TIEMODSEL_OFF = 2 }
 Selector values: Default, On, Off. More...
 
enum  TIEMOD_DIRECTION { TIEMODDIR_AUTOMATIC = 0 , TIEMODDIR_OVER = 1 , TIEMODDIR_UNDER = 2 }
 Tie Direction: Automatic, Over, Under. More...
 
enum  TIEMOD_CONNECTION_CODES {
  TIEMODCNCT_NONE = TIE_ENTCNCT_NONE , TIEMODCNCT_ENTRYLEFT_NOTECENTER = TIE_ENTRYLEFT_NOTECENTER , TIEMODCNCT_ENTRYRIGHT_NOTECENTER = TIE_ENTRYRIGHT_NOTECENTER , TIEMODCNCT_NOTELEFT_NOTECENTER = TIE_NOTELEFT_NOTECENTER ,
  TIEMODCNCT_NOTERIGHT_NOTECENTER = TIE_NOTERIGHT_NOTECENTER , TIEMODCNCT_NOTECENTER_NOTEBOTTOM = TIE_NOTECENTER_NOTEBOTTOM , TIEMODCNCT_NOTECENTER_NOTETOP = TIE_NOTECENTER_NOTETOP , TIEMODCNCT_DOTRIGHT_NOTECENTER = TIE_DOTRIGHT_NOTECENTER ,
  TIEMODCNCT_ACCILEFT_NOTECENTER = TIE_ACCILEFT_NOTECENTER , TIEMODCNCT_ENTRYCENTER_NOTEBOTTOM = TIE_ENTRYCENTER_NOTEBOTTOM , TIEMODCNCT_ENTRYCENTER_NOTETOP = TIE_ENTRYCENTER_NOTETOP , TIEMODCNCT_NOTELEFT_NOTEBOTTOM = TIE_NOTELEFT_NOTEBOTTOM ,
  TIEMODCNCT_NOTERIGHT_NOTEBOTTOM = TIE_NOTERIGHT_NOTEBOTTOM , TIEMODCNCT_NOTELEFT_NOTETOP = TIE_NOTELEFT_NOTETOP , TIEMODCNCT_NOTERIGHT_NOTETOP = TIE_NOTERIGHT_NOTETOP , TIEMODCNCT_SYSTEMEND = TIE_SYSTEMEND ,
  TIEMODCNCT_SYSTEMSTART = TIE_SYSTEMSTART
}
 Tie Connection Codes. These are used to activate Start Point and End Point fields. If the code does not match the current context, Finale does not apply the endpoint data to the tie. 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...
 
 FCTieMod (TIEMOD_TIETYPES tietype)
 The constructor. More...
 
bool IsStartTie () const
 Returns true if the FCTieMod instance is for regular start tie settings (defined as a parameter to the constructor). Otherwise it is settings for a tie end (backwards tie). More...
 
bool IsStartPointActive () const
 Returns true if the start point is active. More...
 
void ActivateStartPoint (bool fortieover, TIEMOD_CONNECTION_CODES connectioncode, Evpu16 hoffset, Evpu16 voffset)
 Activates the start placement fields and initializes them with the input values. More...
 
void DeactivateStartPoint ()
 Deactivates the start placement fields and initializes them with zero. More...
 
bool IsEndPointActive () const
 Returns true if the end point is active. More...
 
void ActivateEndPoint (bool fortieover, TIEMOD_CONNECTION_CODES connectioncode, Evpu16 hoffset, Evpu16 voffset)
 Activates the end placement fields and initializes them with the input values. More...
 
void DeactivateEndPoint ()
 Deactivates the end placement fields and initializes them with zero. More...
 
void LocalizeFromPreferences ()
 Localizes all settings for this FCTieMod from FCTiePrefs. More...
 
bool IsContourActive () const
 Returns true if the tie contour adjustment fields are active. More...
 
void ActivateContour (twobyte insetleft, twobyte heightleft, twobyte insetright, twobyte heightright, bool fixedinset=false)
 Activates the contour adjustment fields and initializes them with the input values. More...
 
void DeactivateContour ()
 Deactivates the contour adjustment fields and initializes them with zero. More...
 
int GetStartConnectionCode () const
 Gets the connection code for the start point. More...
 
twobyte GetStartVerticalPos () const
 Gets the vertical offset of the tie start. More...
 
twobyte GetStartHorizontalPos () const
 Gets the horizonal offset of the start point. More...
 
int GetEndConnectionCode () const
 Gets the connection code for the end point. More...
 
twobyte GetEndVerticalPos () const
 Gets the vertical offset of the end point. More...
 
twobyte GetEndHorizontalPos () const
 Gets the horizontal offset of the end point. More...
 
bool GetFixedInsetStyle () const
 Gets the local fixed inset style for the tie. More...
 
twobyte GetLeftHeight () const
 Gets the left height contour value for the tie. More...
 
twobyte GetRightHeight () const
 Gets the right height contour value for the tie. More...
 
twobyte GetLeftInset () const
 Gets the left inset contour value for the tie. More...
 
twobyte GetRightInset () const
 Gets the right inset contour value for the tie. More...
 
twobyte GetTieDirection () const
 Returns the tie direction selection. More...
 
twobyte GetBreakForTimeSignature () const
 Returns the Break for Time Signature selection. More...
 
twobyte GetBreakForKeySignature () const
 Returns the Break for Key Signature selection. More...
 
twobyte GetOuterPlacement () const
 Returns the Outer Placement selection. More...
 
bool GetAvoidStaffLines () const
 Returns the Avoid Staff Lines selection. More...
 
void SetStartVerticalPos (twobyte pos)
 Sets the vertical offset of the start point. More...
 
void SetStartHorizontalPos (twobyte pos)
 Sets the horizontal offset of the start point. More...
 
void SetEndVerticalPos (twobyte pos)
 Sets the vertical offset of the end point. More...
 
void SetEndHorizontalPos (twobyte pos)
 Sets the horizontal offset of the end point. More...
 
void SetFixedInsetStyle (bool value)
 Sets the local fixed inset style for the tie. This value overrides the style value in FCTiePrefs::GetFixedInsetStyle. More...
 
void SetLeftHeight (twobyte value)
 Sets the left height contour value for the tie. More...
 
void SetRightHeight (twobyte value)
 Sets the right height contour value for the tie. More...
 
void SetLeftInset (twobyte value)
 Sets the left inset contour value for the tie. More...
 
void SetRightInset (twobyte value)
 Sets the right inset contour value for the tie. More...
 
void SetTieDirection (twobyte value)
 Sets the tie direction selection. More...
 
void SetBreakForTimeSignature (twobyte value)
 Sets the Break for Time Signature selection. More...
 
void SetBreakForKeySignature (twobyte value)
 Sets the Break for Key Signature selection. More...
 
void SetOuterPlacement (twobyte value)
 Sets the Outer Placement selection. More...
 
void SetAvoidStaffLines (bool value)
 Sets the Avoid Staff Lines selection. More...
 
void SetNoteID (twobyte id) override
 Sets the note ID for the tie, so it maps to the note. More...
 
- Public Member Functions inherited from __FCEntryDetailNoteID
 __FCEntryDetailNoteID ()
 The constructor.
 
bool SaveNew () override
 Overridden method for SaveNew() More...
 
bool SaveAt (FCNote *pNote)
 Saves the note entry modifications in a slot and sets the correct flag in the associated note entry. More...
 
bool LoadAt (FCNote *pNote)
 Tries to find and load the note entry modifications based on the note ID. More...
 
bool EraseAt (FCNote *pNote)
 Deletes the note entry modifications for a slot and adjusts the flag in the associated note entry. 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...
 
bool Reload () override
 Overridden Reload() method, that supports complex (mixed) data. More...
 
bool SaveAs (ENTNUM entnum, twobyte inci)
 Saves the data at the given entry number and inci. More...
 
bool LoadFirst () override
 Overloaded version of LoadFirst that will load the first inci for the entry. SetNoteEntry must be called first. More...
 
bool LoadNext () override
 Overloaded version of LoadNext. More...
 
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...
 
void DebugDump () override
 Outputs the class data/information for debugging purposes. 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 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...
 
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...
 
virtual bool IsIdentical (const __FCBase *pCompareObject) const
 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 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 with adjustments to the ties (in Finale's Special Tools).

The PDK Framework as of 0.62 supports creating, loading, modifying, and deleting existing FCTieMod records. Some fields do not require activation, and they can be created and assigned values easily. However, the following categories require activation.

The methods ActivateStartPoint, ActivateEndPoint, and ActivateContour activate each of these respectively. To initialize the fields the way Finale does requires considerable analysis and reverse-engineering of how Finale behaves. Unfortuately, the Finale PDK does not provide its initialization logic to plugins.

Robert Patterson has provided a tie.lua library that re-implements Finale's behavior (based on reverse engineering) and calculates usable values for all the variables needed for activations. The library includes activation functions that eliminate any requirement to provide difficult-to-obtain inputs. It is highly recommended to use it rather than writing code from scratch. The library code itself is at the Github repository. Documentation can be found at the Finale Lua website.

The methods IsStartPointActive, IsEndPointActive, and IsContourActive allow you to determine if the fields of a specific category have been activated.

The methods DeactivateStartPoint, DeactivateEndPoint, and DeactivateContour deactivate their respective fields and set them all to zero.

This class requires PDK_FRAMEWORK_ENTRIES to be defined.

Member Enumeration Documentation

◆ TIEMOD_CONNECTION_CODES

Tie Connection Codes. These are used to activate Start Point and End Point fields. If the code does not match the current context, Finale does not apply the endpoint data to the tie.

Lua-supported (0.62).

Enumerator
TIEMODCNCT_NONE 

No connection

TIEMODCNCT_ENTRYLEFT_NOTECENTER 

Left of entry, center of note

TIEMODCNCT_ENTRYRIGHT_NOTECENTER 

Right of entry, center of note

TIEMODCNCT_NOTELEFT_NOTECENTER 

Left of note, center of note

TIEMODCNCT_NOTERIGHT_NOTECENTER 

Right of note, center of note

TIEMODCNCT_NOTECENTER_NOTEBOTTOM 

Horizontal center of note, bottom of note

TIEMODCNCT_NOTECENTER_NOTETOP 

Horizontal center of note, top of note

TIEMODCNCT_DOTRIGHT_NOTECENTER 

Right of dot(s), center of note

TIEMODCNCT_ACCILEFT_NOTECENTER 

Left of accidental, center of note

TIEMODCNCT_ENTRYCENTER_NOTEBOTTOM 

Horizontal center of entry, bottom of note (possibly not used by Finale)

TIEMODCNCT_ENTRYCENTER_NOTETOP 

Horizontal center of entry, top of note (possibly not used by Finale)

TIEMODCNCT_NOTELEFT_NOTEBOTTOM 

Left of note, bottom of note

TIEMODCNCT_NOTERIGHT_NOTEBOTTOM 

Right of note, bottom of note

TIEMODCNCT_NOTELEFT_NOTETOP 

Left of note, top of note

TIEMODCNCT_NOTERIGHT_NOTETOP 

Right of note, top of note

TIEMODCNCT_SYSTEMEND 

System end (for the right side across systems

TIEMODCNCT_SYSTEMSTART 

System start (for the left side of tie ends)

◆ TIEMOD_DIRECTION

Tie Direction: Automatic, Over, Under.

Lua-supported (0.62).

Enumerator
TIEMODDIR_AUTOMATIC 

Automatic

TIEMODDIR_OVER 

Over

TIEMODDIR_UNDER 

Under

◆ TIEMOD_SELECTOR

Selector values: Default, On, Off.

Lua-supported (0.62).

Enumerator
TIEMODSEL_DEFAULT 

Default

TIEMODSEL_ON 

On

TIEMODSEL_OFF 

Off

◆ TIEMOD_TIETYPES

TieMod types.

Lua-supported (0.62).

Enumerator
TIEMODTYPE_TIEEND 

Tie End (visible at starts of systems)

TIEMODTYPE_TIESTART 

Tie Start (normal tie)

Constructor & Destructor Documentation

◆ FCTieMod()

FCTieMod::FCTieMod ( TIEMOD_TIETYPES  tietype)
inline

The constructor.

Lua-supported (0.62).

Parameters
tietypeOne of the TIEMOD_TIETYPES constants

Member Function Documentation

◆ ActivateContour()

void FCTieMod::ActivateContour ( twobyte  insetleft,
twobyte  heightleft,
twobyte  insetright,
twobyte  heightright,
bool  fixedinset = false 
)
inline

Activates the contour adjustment fields and initializes them with the input values.

Lua-supported (0.62).

Parameters
insetleftLeft inset value. See comments at GetLeftInset for how to interpret this value.
heightleftLeft height value (evpu).
insetrightRight inset value. See comments at GetLeftInset for how to interpret this value.
heightrightRight height value (evpu).
fixedinsetSee comments at SetFixedInsetStyle. This parameter may be omitted, including in Lua scripts, and it defaults to false.

◆ ActivateEndPoint()

void FCTieMod::ActivateEndPoint ( bool  fortieover,
TIEMOD_CONNECTION_CODES  connectioncode,
Evpu16  hoffset,
Evpu16  voffset 
)
inline

Activates the end placement fields and initializes them with the input values.

The input direction and connection code must match that of the tie being modified. Otherwise, Finale ignores the values in the horizontal and vertical fields.

Lua-supported (0.62).

Parameters
fortieoverTrue if this is for a tie-over and false if for a tie-under.
connectioncodeOne of the TIEMOD_CONNECTION_CODES values.
hoffsetHorizontal offset value (evpu).
voffsetVertical offset value (evpu).

◆ ActivateStartPoint()

void FCTieMod::ActivateStartPoint ( bool  fortieover,
TIEMOD_CONNECTION_CODES  connectioncode,
Evpu16  hoffset,
Evpu16  voffset 
)
inline

Activates the start placement fields and initializes them with the input values.

The input direction and connection code must match that of the tie being modified. Otherwise, Finale ignores the values in the horizontal and vertical fields.

Lua-supported (0.62).

Parameters
fortieoverTrue if this is for a tie-over and false if for a tie-under.
connectioncodeOne of the TIEMOD_CONNECTION_CODES values.
hoffsetHorizontal offset value (evpu).
voffsetVertical offset value (evpu).

◆ ClassName()

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

◆ DeactivateContour()

void FCTieMod::DeactivateContour ( )
inline

Deactivates the contour adjustment fields and initializes them with zero.

Lua-supported (0.62).

◆ DeactivateEndPoint()

void FCTieMod::DeactivateEndPoint ( )
inline

Deactivates the end placement fields and initializes them with zero.

Lua-supported (0.62).

◆ DeactivateStartPoint()

void FCTieMod::DeactivateStartPoint ( )
inline

Deactivates the start placement fields and initializes them with zero.

Lua-supported (0.62).

◆ GetAvoidStaffLines()

bool FCTieMod::GetAvoidStaffLines ( ) const
inline

Returns the Avoid Staff Lines selection.

Lua-supported (also as property) (0.62).

Returns
true if Avoid Staff Lines is enabled

◆ GetBreakForKeySignature()

twobyte FCTieMod::GetBreakForKeySignature ( ) const
inline

Returns the Break for Key Signature selection.

Lua-supported (also as property) (0.62).

Returns
Any of the TIEMOD_SELECTOR constants.

◆ GetBreakForTimeSignature()

twobyte FCTieMod::GetBreakForTimeSignature ( ) const
inline

Returns the Break for Time Signature selection.

Lua-supported (also as property) (0.62).

Returns
Any of the TIEMOD_SELECTOR constants.

◆ GetClassID()

const PDKFRAMEWORK_CLASSID FCTieMod::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.

◆ GetEndConnectionCode()

int FCTieMod::GetEndConnectionCode ( ) const
inline

Gets the connection code for the end point.

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

Returns
One of the TIEMOD_CONNECTION_CODES values.

◆ GetEndHorizontalPos()

twobyte FCTieMod::GetEndHorizontalPos ( ) const
inline

Gets the horizontal offset of the end point.

If the end point is not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
Negative is left. Positive is right.

◆ GetEndVerticalPos()

twobyte FCTieMod::GetEndVerticalPos ( ) const
inline

Gets the vertical offset of the end point.

If the end point is not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
Negative is down. Positive is up.

◆ GetFixedInsetStyle()

bool FCTieMod::GetFixedInsetStyle ( ) const
inline

Gets the local fixed inset style for the tie.

If the contour fields are not active, returns false.

Lua-supported (also as property) (0.62).

◆ GetLeftHeight()

twobyte FCTieMod::GetLeftHeight ( ) const
inline

Gets the left height contour value for the tie.

If the contour fields are not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
left height in EVPU

◆ GetLeftInset()

twobyte FCTieMod::GetLeftInset ( ) const
inline

Gets the left inset contour value for the tie.

If the inset style is percent (most common), this value is the raw percentage value, which is the percent * 2048. If the inset style is fixed (GetFixedInsetStyle is true), it is an EVPU value.

If the contour fields are not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
left height in EVPU

◆ GetOuterPlacement()

twobyte FCTieMod::GetOuterPlacement ( ) const
inline

Returns the Outer Placement selection.

If the note is an inner note of a chord, Finale always uses Inner placement, even if the placement has been overridden to Outer. This function returns TIEMODSEL_ON in that case, even though Finale behaves as if the value were TIEMODSEL_OFF.

Lua-supported (also as property) (0.62).

Returns
Any of the TIEMOD_SELECTOR constants.

◆ GetRightHeight()

twobyte FCTieMod::GetRightHeight ( ) const
inline

Gets the right height contour value for the tie.

If the contour fields are not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
right height in EVPU

◆ GetRightInset()

twobyte FCTieMod::GetRightInset ( ) const
inline

Gets the right inset contour value for the tie.

See comments at GetLeftInset for how to interpret this value.

If the contour fields are not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
right height in EVPU

◆ GetStartConnectionCode()

int FCTieMod::GetStartConnectionCode ( ) const
inline

Gets the connection code for the start point.

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

Returns
One of the TIEMOD_CONNECTION_CODES values.

◆ GetStartHorizontalPos()

twobyte FCTieMod::GetStartHorizontalPos ( ) const
inline

Gets the horizonal offset of the start point.

If the start point is not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
Negative is left. Positive is right.

◆ GetStartVerticalPos()

twobyte FCTieMod::GetStartVerticalPos ( ) const
inline

Gets the vertical offset of the tie start.

If the start point is not active, returns 0.

Lua-supported (also as property) (0.62).

Returns
Negative is down. Positive is up.

◆ GetTieDirection()

twobyte FCTieMod::GetTieDirection ( ) const
inline

Returns the tie direction selection.

Lua-supported (also as property) (0.62).

Returns
Any of the TIEMOD_DIRECTION constants.

◆ IsContourActive()

bool FCTieMod::IsContourActive ( ) const
inline

Returns true if the tie contour adjustment fields are active.

Lua-supported (0.62).

◆ IsEndPointActive()

bool FCTieMod::IsEndPointActive ( ) const
inline

Returns true if the end point is active.

Lua-supported (0.62).

◆ IsStartPointActive()

bool FCTieMod::IsStartPointActive ( ) const
inline

Returns true if the start point is active.

Lua-supported (0.62).

◆ IsStartTie()

bool FCTieMod::IsStartTie ( ) const
inline

Returns true if the FCTieMod instance is for regular start tie settings (defined as a parameter to the constructor). Otherwise it is settings for a tie end (backwards tie).

Lua-supported (0.62).

◆ LocalizeFromPreferences()

void FCTieMod::LocalizeFromPreferences ( )

Localizes all settings for this FCTieMod from FCTiePrefs.

If you do not localize your settings, subsequent changes to the Tie Preferences can make the connecton codes invalid. If an endpoint's code is invalid, Finale stops rendering the FCTieMod settings for that endpoint. Localizing locks in the context at the time the connection codes were calculated so that future changes to the Tie Preferences, at least, cannot affect this FCTieMod. (Other types of changes, such as flipping stem direction or changing the number of notes in the chord, will still cause connection codes to be invalid. At that point you may be better off deactivating and reactivating your endpoints.)

This function changes the FCTieMod's Outer placement to match that of FCTiePrefs::GetUseOuterPlacement. Localization normally should be done as part of activating the start and end points and then left alone after that.

This method requires PDK_FRAMEWORK_PREFS to be defined.

Lua-supported (0.62).

◆ SetAvoidStaffLines()

void FCTieMod::SetAvoidStaffLines ( bool  value)
inline

Sets the Avoid Staff Lines selection.

Lua-supported (also as property) (0.62).

◆ SetBreakForKeySignature()

void FCTieMod::SetBreakForKeySignature ( twobyte  value)
inline

Sets the Break for Key Signature selection.

Lua-supported (also as property) (0.62).

Parameters
valueAny of the TIEMOD_SELECTOR constants.

◆ SetBreakForTimeSignature()

void FCTieMod::SetBreakForTimeSignature ( twobyte  value)
inline

Sets the Break for Time Signature selection.

Lua-supported (also as property) (0.62).

Parameters
valueAny of the TIEMOD_SELECTOR constants.

◆ SetEndHorizontalPos()

void FCTieMod::SetEndHorizontalPos ( twobyte  pos)
inline

Sets the horizontal offset of the end point.

If the end point has not been actived, this method does nothing.

Lua-supported (also as property) (0.62).

Parameters
posNegative is left. Positive is right.

◆ SetEndVerticalPos()

void FCTieMod::SetEndVerticalPos ( twobyte  pos)
inline

Sets the vertical offset of the end point.

If the end point has not been actived, this method does nothing.

Lua-supported (also as property) (0.62).

Parameters
posNegative is down. Positive is up.

◆ SetFixedInsetStyle()

void FCTieMod::SetFixedInsetStyle ( bool  value)
inline

Sets the local fixed inset style for the tie. This value overrides the style value in FCTiePrefs::GetFixedInsetStyle.

If the contour fields have not been actived, this method does nothing.

Lua-supported (also as property) (0.62).

◆ SetLeftHeight()

void FCTieMod::SetLeftHeight ( twobyte  value)
inline

Sets the left height contour value for the tie.

If the contour fields are not active, this method does nothing.

Lua-supported (also as property) (0.62).

◆ SetLeftInset()

void FCTieMod::SetLeftInset ( twobyte  value)
inline

Sets the left inset contour value for the tie.

If the contour fields are not active, this method does nothing.

Lua-supported (also as property) (0.62).

Parameters
valueSee comments at GetLeftInset for how to interpret this value.

◆ SetNoteID()

void FCTieMod::SetNoteID ( twobyte  id)
inlineoverride

Sets the note ID for the tie, so it maps to the note.

Parameters
idThe note ID. This shoud be the same as the note ID in the FCNote class.

◆ SetOuterPlacement()

void FCTieMod::SetOuterPlacement ( twobyte  value)
inline

Sets the Outer Placement selection.

If the note is an inner note of a chord, Finale always uses Inner placement, even if the placement has been overridden to Outer.

Lua-supported (also as property) (0.62).

Parameters
valueAny of the TIEMOD_SELECTOR constants.

◆ SetRightHeight()

void FCTieMod::SetRightHeight ( twobyte  value)
inline

Sets the right height contour value for the tie.

If the contour fields are not active, this method does nothing.

Lua-supported (also as property) (0.62).

◆ SetRightInset()

void FCTieMod::SetRightInset ( twobyte  value)
inline

Sets the right inset contour value for the tie.

If the contour fields are not active, this method does nothing.

Lua-supported (also as property) (0.62).

Parameters
valueSee comments at GetLeftInset for how to interpret this value.

◆ SetStartHorizontalPos()

void FCTieMod::SetStartHorizontalPos ( twobyte  pos)
inline

Sets the horizontal offset of the start point.

If the start point has not been actived, this method does nothing.

Lua-supported (also as property) (0.62).

Parameters
posNegative is left. Positive is right.

◆ SetStartVerticalPos()

void FCTieMod::SetStartVerticalPos ( twobyte  pos)
inline

Sets the vertical offset of the start point.

If the start point has not been actived, this method does nothing.

Lua-supported (also as property) (0.62).

Parameters
posNegative is down. Positive is up.

◆ SetTieDirection()

void FCTieMod::SetTieDirection ( twobyte  value)
inline

Sets the tie direction selection.

Lua-supported (also as property) (0.62).

Parameters
valueAny of the TIEMOD_DIRECTION constants.