Finale PDK Framework 0.77
Power Up Your Finale Music Software
Loading...
Searching...
No Matches
FCPart Class Reference

Class that represents one linked part in a document. The class also provides methods to switch between linked parts. More...

#include <ff_parts.h>

+ Inheritance diagram for FCPart:

Public Types

enum  PREDEFINED_PARTIDS { PARTID_SCORE = 0 , PARTID_CURRENT = -1 , PARTID_UNKNOWN = -2 }
 Predefined constants for part IDs. 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.
 
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.
 
 FCPart (EPARTID partid=PARTID_CURRENT)
 The constructor. Sets the basic data for the part.
 
virtual ~FCPart ()
 The destructor. Checks if SwitchBack has been called (if PDK_FRAMEWORK_DIAGNOSE has been defined).
 
EPARTID GetID () const
 Returns the internal part ID.
 
FCStringCreateCustomTextString ()
 Creates the raw string part name as a FCString object, for the parts that doesn't use the default-generated part name.
 
bool DeleteCustomText ()
 Deletes the custom text, resulting in the part using only default part names.
 
bool SaveCustomTextString (FCString *pString)
 Saves the raw Enigma string as a custom text.
 
EDOCID GetDocumentID () const
 Returns the internal document ID that is connected to the part.
 
bool SetID (FCPart *pPart)
 Sets up the object's part ID to be assigned to another part.
 
bool SwitchTo ()
 Sets the focus to this part (but does not set it in view).
 
bool SwitchBack ()
 Switches back yo the "original" current part, that was in focus at the call to SwitchTo.
 
bool ViewInDocument ()
 Switch the document display to another part.
 
bool IsStaffIncluded (int staffno)
 Returns true if the staff number is included in the part.
 
bool IsScore ()
 Returns true if the part is the score.
 
bool IsPart ()
 Returns true if the part is a part (and not the score).
 
bool IsCurrent ()
 Returns true if the part is the very same as the current part in the editing focus.
 
bool IsCurrentDocument ()
 Returns true if the document connected with the part in the object is the current document.
 
bool HasCustomText () const
 Returns true if part name is a custom text.
 
bool IsIdentical (const __FCBase *pCompareObject) const override
 Overridden method to provide comparison mechanism for parts.
 
bool SetCurrent ()
 Maps the part to the part/document currently in focus.
 
void GetName (FCString *pString)
 Returns the local string object that stores the part string.
 
bool GetShouldPrint () const
 Returns if the part should print or not.
 
bool GetShouldExtract () const
 Returns if the part should be checked for part extraction.
 
bool GetShouldUpdateLayout () const
 Returns if the part is marked for a required layout update.
 
bool GetShouldUpdateSpacing () const
 Returns if the part is marked for a required music spacing update.
 
bool GetUnlinkedInstrument () const
 Returns if the part's instrument info is unlinked for the part.
 
utwobyte GetOrderID () const
 Returns the part's internal (1-based) order ID.
 
twobyte GetPrintCopies () const
 Returns the number of print copies for the part.
 
void SetShouldPrint (bool state)
 Sets if the part should print or not.
 
void SetShouldExtract (bool state)
 Sets if the part should be checked for part extraction.
 
void SetShouldUpdateLayout (bool state)
 Sets if the part is marked for a required layout update.
 
void SetShouldUpdateSpacing (bool state)
 Sets if the part is marked for a required music spacing update.
 
void SetUnlinkedInstrument (bool state)
 Sets if the part's instrument info is unlinked for the part.
 
void SetOrderID (utwobyte idvalue)
 Sets the part's internal (1-based) order ID. Use with care!!!
 
void SetPrintCopies (twobyte value)
 Sets the number of print copies for the part.
 
bool Print (FCPrintSettings *pSettings)
 Quick-access method to print only one part in the currently active document.
 
void DebugDump () override
 Outputs the class data/information for debugging purposes.
 
- Public Member Functions inherited from __FCNoInciOther
 __FCNoInciOther ()
 The constructor.
 
virtual bool Load (CMPER itemno)
 Loads the indicated item.
 
bool Reload () override
 Overridden Reload() method to support complex data types.
 
virtual bool SaveAs (CMPER itemno)
 Saves the data under another item number. The object will now be connected to the new item number.
 
virtual bool DeepSaveAs (CMPER itemno)
 Saves the data under another item number, but also makes a deep copy of the object.
 
bool DeepDeleteData () override
 Deletes the data and all related data available in other data structures.
 
virtual bool SaveNew ()
 Creates the data as completely new item number. The object will now be connected to the new item number.
 
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.
 
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).
 
bool LoadFirst () override
 Loads the first element of 1-based data.
 
- 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.
 
- Public Member Functions inherited from __FCBaseData
EDOCID GetConnectedDocID () const
 Returns the document ID that was connected to the last load/save of the data.
 
bool VerifyConnectedDocID ()
 Checks that the stored document ID for the data object matches the current document's ID.
 
virtual EXTAG Tag () const =0
 The Enigma tag for the derived class.
 
virtual EVERSION EnigmaVersion () const
 The Enigma version for save/load/create/delete operations.
 
virtual int DataSizeLoad () const =0
 Returns the data size for the data structure that should be loaded.
 
virtual int DataSizeSave () const
 Returns the data size for the data structure that should be saved or created.
 
void _CloneFrom (__FCBaseData *pSource)
 For internal use only. Copies object data (except data block) from another object.
 
virtual void CloneMemoryFrom (__FCBaseData *pSource)
 
const EDataID * _GetDataID ()
 Intended ONLY for the _CloneFrom implementation.
 
int _GetLoadedSize () const
 Intended ONLY for the _CloneFrom implementation.
 
const void * GetDataBlock ()
 Intended ONLY for the _CloneFrom implementation.
 
EXTAG GetCustomTag () const
 Returns the custom Enigma tag, if any.
 
void SetCustomTag (EXTAG tag)
 Sets the custom Enigma tag, for classes that support multiple Enigma tags.
 
 __FCBaseData ()
 The constructor.
 
virtual ~__FCBaseData ()
 Virtual destructor.
 
virtual bool Save ()
 Saves the currently loaded to its current location.
 
virtual bool DeleteData ()
 Deletes the associated data from Finale's database. Be careful when deleting multiple objects.
 
virtual bool LoadLast ()
 Loads the very last element in the database, if any.
 
virtual bool LoadNext ()
 Loads the next element from the database, if any.
 
virtual bool LoadPrevious ()
 Loads the previous element in the database, if any.
 
bool RelinkToCurrentView ()
 Relinks the contents in the current view so that the score and part(s) match.
 
bool RelinkToScore ()
 Relinks all parts to the contents of the score.
 
__FCBaseDataCreateClone ()
 Creates an identical copy of an object.
 
void DebugDataDump () override
 Outputs a memory dump of the data block in the object for debugging purposes.
 
void DebugDataByteArrayDump () override
 Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array.
 
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.
 
- 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.
 
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.
 
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.
 
void DebugMsg (const char *pszMsg)
 Creates a simple Message Box for debug purposes with just one text string.
 
void DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const
 Outputs the menu command info for debugging purposes.
 
int DebugOutFormat (const char *fmt,...)
 Outputs debug text using C style "printf" syntax.
 
void Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state)
 Sets a 16 bit flag.
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets/resets a 32 bit flag, by using a bit mask.
 
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.
 
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.
 
void SetUserData (void *pData)
 Sets the user data attached to the instance of an object.
 
void SetUserData2 (void *pData)
 Sets the additional user data attached to the instance of an object.
 
void * GetUserData () const
 Gets the user data attached to the instance of an object.
 
void * GetUserData2 () const
 Gets the additional user data attached to the instance of an object.
 
void StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file.
 
void StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value)
 Helper function to store integer objects in the XML file.
 
void StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value)
 Helper function to store boolean objects in the XML file.
 
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.
 
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.
 
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.
 
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.
 
virtual void StoreToXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to store an object's data.
 
bool ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file.
 
bool ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue)
 Helper method to read integer objects from the XML file.
 
bool ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue)
 Helper method to read boolean objects from the XML file.
 
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.
 
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.
 
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.
 
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.
 
virtual bool ReadFromXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to read object data.
 

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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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".
 
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.
 
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.
 
static void DebugOut (const char *pszLine)
 Static method to output a line of text for debugging purposes.
 
- 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!
 
virtual __FCBaseDataCreateObject ()=0
 Creates a new instance of the object.
 
bool DataIsLoaded () const
 Returns true is any data has been loaded into the object.
 
void _TagDocumentID ()
 For internal use only.
 
- 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.
 
EDataID _dataid
 The EdataID for the last loaded/saved object.
 

Detailed Description

Class that represents one linked part in a document. The class also provides methods to switch between linked parts.

Finale allows other parts than the currently visible part to get the editing focus. If the SwitchTo method is used, make absolutely sure that a SwitchBack call follows!

Member Enumeration Documentation

◆ PREDEFINED_PARTIDS

Predefined constants for part IDs.

PARTID_CURRENT should only be used in the constructor call.

Lua-supported.

Enumerator
PARTID_SCORE 

The score

PARTID_CURRENT 

When used in the constructor, the object will be assigned to the part currently in focus.

PARTID_UNKNOWN 

For internal use only!

Constructor & Destructor Documentation

◆ FCPart()

FCPart::FCPart ( EPARTID partid = PARTID_CURRENT)
inline

The constructor. Sets the basic data for the part.

Lua-supported.

Parameters
partidThe part ID. If PARTID_CURRENT, the current part ID will be set.

Member Function Documentation

◆ ClassName()

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

◆ CreateCustomTextString()

FCString * FCPart::CreateCustomTextString ( )

Creates the raw string part name as a FCString object, for the parts that doesn't use the default-generated part name.

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

Lua-supported.

Returns
NULL if a part string doesn't exist. Otherwise the pointer to the FCString object.

◆ DebugDump()

void FCPart::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.

◆ DeleteCustomText()

bool FCPart::DeleteCustomText ( )

Deletes the custom text, resulting in the part using only default part names.

Lua-supported.

Returns
Returns true if data was deleted. If true is returned, the object must be resaved to Finale.

◆ GetClassID()

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

◆ GetDocumentID()

EDOCID FCPart::GetDocumentID ( ) const
inline

Returns the internal document ID that is connected to the part.

Lua-supported.

◆ GetID()

EPARTID FCPart::GetID ( ) const
inline

Returns the internal part ID.

Lua-supported.

◆ GetName()

void FCPart::GetName ( FCString * pString)

Returns the local string object that stores the part string.

Due to a bug in earlier versions (where the returned string is disposed prior to return), this will only work in Fin2012 and above.

On Finale 2012 and later, the string will be set to the current part name each time this method is called. The string is a "print version" of the part name, so there's no Enigma commands for flat/sharps in the string.

Lua-supported.

◆ GetOrderID()

utwobyte FCPart::GetOrderID ( ) const
inline

Returns the part's internal (1-based) order ID.

The order ID determines in which order the parts are listed in the parts dialog.

The order ID for the part will always be 0.

Lua-supported (also as property).

◆ GetPrintCopies()

twobyte FCPart::GetPrintCopies ( ) const
inline

Returns the number of print copies for the part.

Lua-supported (also as property).

◆ GetShouldExtract()

bool FCPart::GetShouldExtract ( ) const
inline

Returns if the part should be checked for part extraction.

Lua-supported (also as property).

◆ GetShouldPrint()

bool FCPart::GetShouldPrint ( ) const
inline

Returns if the part should print or not.

Lua-supported (also as property).

◆ GetShouldUpdateLayout()

bool FCPart::GetShouldUpdateLayout ( ) const
inline

Returns if the part is marked for a required layout update.

A required layout update will occur the next time the part is viewed, if the user has set automatic layout update to ON.

Lua-supported (also as property).

◆ GetShouldUpdateSpacing()

bool FCPart::GetShouldUpdateSpacing ( ) const
inline

Returns if the part is marked for a required music spacing update.

A required music spacing update will occur the next time the part is viewed, if the user has set Automatic Music Spacing to ON.

Lua-supported (also as property).

◆ GetUnlinkedInstrument()

bool FCPart::GetUnlinkedInstrument ( ) const
inline

Returns if the part's instrument info is unlinked for the part.

Lua-supported (also as property).

◆ HasCustomText()

bool FCPart::HasCustomText ( ) const
inline

Returns true if part name is a custom text.

Lua-supported (also as property).

Returns
true - custom text string is used for the part. false - default-generated text is used for the part.

◆ IsCurrent()

bool FCPart::IsCurrent ( )
inline

Returns true if the part is the very same as the current part in the editing focus.

Lua-supported.

◆ IsCurrentDocument()

bool FCPart::IsCurrentDocument ( )
inline

Returns true if the document connected with the part in the object is the current document.

Lua-supported.

◆ IsIdentical()

bool FCPart::IsIdentical ( const __FCBase * pCompareObject) const
inlineoverridevirtual

Overridden method to provide comparison mechanism for parts.

Reimplemented from __FCBase.

◆ IsPart()

bool FCPart::IsPart ( )
inline

Returns true if the part is a part (and not the score).

Lua-supported.

◆ IsScore()

bool FCPart::IsScore ( )
inline

Returns true if the part is the score.

Lua-supported.

◆ IsStaffIncluded()

bool FCPart::IsStaffIncluded ( int staffno)

Returns true if the staff number is included in the part.

Lua-supported.

◆ Print()

bool FCPart::Print ( FCPrintSettings * pSettings)

Quick-access method to print only one part in the currently active document.

The approach this method is using is to temporarily switch of the printer toggles for all other parts, and restore them after printing.

Lua-supported.

Parameters
pSettingsPointer to the printer settings object. This object is required.
Returns
True on success.

◆ SaveCustomTextString()

bool FCPart::SaveCustomTextString ( FCString * pString)

Saves the raw Enigma string as a custom text.

Although it's a raw Enigma string, the string is not required to contain any Enigma tags.

Lua-supported.

Returns
Returns true if the text was saved. If true is returned, the object must be resaved to Finale.

◆ SetCurrent()

bool FCPart::SetCurrent ( )
inline

Maps the part to the part/document currently in focus.

Returns
true if successful. false if there has been a call to SwitchTo that hasn't been resolved with a SwitchBack call.

Lua-supported.

◆ SetID()

bool FCPart::SetID ( FCPart * pPart)
inline

Sets up the object's part ID to be assigned to another part.

If SwitchTo has been used without SwitchBack, this function will fail.

Returns
True if successful.

◆ SetOrderID()

void FCPart::SetOrderID ( utwobyte idvalue)
inline

Sets the part's internal (1-based) order ID. Use with care!!!

The order ID determines in which order the parts are listed in the parts dialog. If this value must be changed, make absolutely sure that the all order IDs for the parts are unique and 1-based.

This value can't be set for the score.

Lua-supported (also as property).

◆ SetPrintCopies()

void FCPart::SetPrintCopies ( twobyte value)
inline

Sets the number of print copies for the part.

Lua-supported (also as property).

◆ SetShouldExtract()

void FCPart::SetShouldExtract ( bool state)
inline

Sets if the part should be checked for part extraction.

Lua-supported (also as property).

◆ SetShouldPrint()

void FCPart::SetShouldPrint ( bool state)
inline

Sets if the part should print or not.

Lua-supported (also as property).

◆ SetShouldUpdateLayout()

void FCPart::SetShouldUpdateLayout ( bool state)
inline

Sets if the part is marked for a required layout update.

A required layout update will occur the next time the part is viewed, if the user sets automatic layout update to ON.

Lua-supported (also as property).

◆ SetShouldUpdateSpacing()

void FCPart::SetShouldUpdateSpacing ( bool state)
inline

Sets if the part is marked for a required music spacing update.

A required music spacing update will occur the next time the part is viewed, if the user has set Automatic Music Spacing to ON.

Lua-supported (also as property).

◆ SetUnlinkedInstrument()

void FCPart::SetUnlinkedInstrument ( bool state)
inline

Sets if the part's instrument info is unlinked for the part.

Lua-supported (also as property).

◆ SwitchBack()

bool FCPart::SwitchBack ( )
inline

Switches back yo the "original" current part, that was in focus at the call to SwitchTo.

This method MUST be called after a SwitchTo call.

Lua-supported.

Returns
True if the switch was made.

◆ SwitchTo()

bool FCPart::SwitchTo ( )
inline

Sets the focus to this part (but does not set it in view).

A call to this method MUST be followed by a called to SwitchBack

Lua-supported.

Returns
True if the switch was made.

◆ ViewInDocument()

bool FCPart::ViewInDocument ( )
inline

Switch the document display to another part.

Lua-supported.

Returns
False if the document isn't current.