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

The class for a staff system on a page. More...

#include <ff_other.h>

Inheritance diagram for FCStaffSystem:
__FCNoInciOther __FCOther __FCBaseData __FCBase

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...
 
 FCStaffSystem ()
 The constructor. More...
 
void SetFirstMeasure (eMeas measure)
 Sets the first measure to start the system. More...
 
void SetNextSysMeasure (eMeas measure)
 Sets the measure starting the next system. More...
 
void SetSpaceBeforeMusic (twobyte space)
 Sets the extra space before the music, in EVPUs. More...
 
void SetSpaceAfterMusic (twobyte space)
 Sets the extra space after the music, in EVPUs. More...
 
void SetSpaceAbove (twobyte space)
 Sets the space to the previous system, in EVPUs. More...
 
void SetTopMargin (Evpu16 margin)
 Sets the top margin value (the distance between the system top and the topmost staff reference line), in EVPUs. More...
 
void SetBottomMargin (Evpu16 margin)
 Sets the bottom margin value, referenced from the staff baseline of the bottom staff, in EVPUs. More...
 
void SetLeftMargin (Evpu16 margin)
 Sets the left margin value, in EVPUs. More...
 
void SetRightMargin (Evpu16 margin)
 Sets the right system margin value, in EVPUs. This is usually a negative value, since it's the distance from the right page margin. More...
 
void SetResize (twobyte value)
 Sets the staff system's resize value (in percent). More...
 
void SetStaffHeight (twobyte value)
 Sets the default staff height for the system, in 1/64th of a Evpu32. More...
 
void SetResizeVerticalSpace (bool value)
 Sets the "Resize Vertical Space" option. More...
 
void SetUseStaffResize (bool state)
 Sets the flag that marks if any of the staves on the system use individual staff resizing. More...
 
void SetHoldMargins (bool state)
 Sets the flag for "Hold Margins" for the staff system. More...
 
eMeas GetFirstMeasure () const
 Returns the measure for the first measure of the system. More...
 
eMeas GetNextSysMeasure () const
 Returns the starting measure number for the next system. More...
 
twobyte GetSpaceBeforeMusic () const
 Gets the extra space before the music, in EVPUs. More...
 
twobyte GetSpaceAfterMusic () const
 Gets the extra space after the music, in EVPUs. More...
 
twobyte GetSpaceAbove () const
 Returns the space to the previous system (or the distance from the top page margin), in EVPUs. More...
 
Evpu16 GetTopMargin () const
 Returns the top margin value, in EVPUs. More...
 
Evpu16 GetBottomMargin () const
 Returns the bottom margin value, in EVPUs. More...
 
Evpu16 GetLeftMargin () const
 Returns the left margin value, in EVPUs. More...
 
Evpu16 GetRightMargin () const
 Returns the right margin value, in EVPUs. More...
 
twobyte GetStaffHeight () const
 Returns the default staff height for the system, in 1/64th of a Evpu32. More...
 
twobyte GetResize () const
 Returns the resize value (in percent) for the system. More...
 
bool GetResizeVerticalSpace () const
 Returns true if the "Resize Vertical Space" option is set. More...
 
bool GetUseStaffResize () const
 Returns the flag that marks if any of the staves on the system use individual staff resizing. More...
 
bool GetHoldMargins () const
 Returns the "Hold Margins" flag for the staff system. More...
 
twobyte GetTopStaff () const
 Returns the staff number of the top staff of the system. More...
 
Int100 GetHorizontalStretch () const
 Returns the calculated horizontal stretch of the system contents, in 1/100 of a percent. More...
 
bool HasPageBreak ()
 Returns true if the first measure of the staff system has a page break (or "start a new page" marker). More...
 
eStaff CalcTopStaff ()
 Calculates the top staff ID for the staff system. More...
 
eStaff CalcBottomStaff ()
 Calculates the bottom staff ID for the staff system. More...
 
int CalcStavesSpan ()
 Calculates the distance from the reference line of the top-most staff to the reference of the bottom-most staff on the system. More...
 
int CalcHeight (bool verticalresize)
 Calculates the height of the staff system. More...
 
int CalcWhiteSpaceBottom (bool verticalresize)
 Calculates the vertical white space below the first staff line to the bottom system margin. More...
 
bool IsOptimized () const
 Returns true if the system is "optimized". More...
 
bool ContainsMeasure (eMeas measurenumber)
 Returns true if the measure number is on the system. More...
 
FCSystemStavesCreateSystemStaves ()
 Creates a staff list with the staves available for the system. More...
 
FCFreezeSystemCreateFreezeSystem (bool force_create=true)
 Creates a corresponding FCFreezeSystem object, if any such exists. More...
 
bool CalcRegion (FCMusicRegion *pRegion)
 Get the region for the staff system. 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...
 
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

- 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...
 
- 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

The class for a staff system on a page.

The PDK_FRAMEWORK_LAYOUT is required for this class.

Constructor & Destructor Documentation

◆ FCStaffSystem()

FCStaffSystem::FCStaffSystem ( )
inline

The constructor.

Lua-supported.

Member Function Documentation

◆ CalcBottomStaff()

eStaff FCStaffSystem::CalcBottomStaff ( )

Calculates the bottom staff ID for the staff system.

Lua-supported.

◆ CalcHeight()

int FCStaffSystem::CalcHeight ( bool  verticalresize)

Calculates the height of the staff system.

Lua-supported.

Parameters
verticalresizeIf set, the vertical resizing will be taken into account in the calculation. If not set, the returned value will be as a non-resized staff system.
Returns
The height of the staff system, in EVPUs.

◆ CalcRegion()

bool FCStaffSystem::CalcRegion ( FCMusicRegion pRegion)

Get the region for the staff system.

The system layout must be updated before calling this method.

Lua-supported.

Parameters
pRegionPointer to the region object that should be filled with the region of the staff system.
Returns
True if successful.

◆ CalcStavesSpan()

int FCStaffSystem::CalcStavesSpan ( )

Calculates the distance from the reference line of the top-most staff to the reference of the bottom-most staff on the system.

Lua-supported.

◆ CalcTopStaff()

eStaff FCStaffSystem::CalcTopStaff ( )

Calculates the top staff ID for the staff system.

Lua-supported.

◆ CalcWhiteSpaceBottom()

int FCStaffSystem::CalcWhiteSpaceBottom ( bool  verticalresize)

Calculates the vertical white space below the first staff line to the bottom system margin.

Lua-supported.

Parameters
verticalresizeIf set, the vertical resizing will be taken into account in the calculation. If not set, the returned value will be as a non-resized staff system.
Returns
The height of the white space, in EVPUs.

◆ ClassName()

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

◆ ContainsMeasure()

bool FCStaffSystem::ContainsMeasure ( eMeas  measurenumber)
inline

Returns true if the measure number is on the system.

The system layout must be updated before calling this method.

Lua-supported.

Parameters
measurenumberThe 1-based measure number

◆ CreateFreezeSystem()

FCFreezeSystem * FCStaffSystem::CreateFreezeSystem ( bool  force_create = true)

Creates a corresponding FCFreezeSystem object, if any such exists.

The system layout must be updated before calling this method.

Lua-supported.

Parameters
force_createIf true (the default), the method will create empty objects even if they don't already exist - which is useful to create locked systems. If false, NULL will be returned if no freeze system object could be loaded for the system.
Returns
NULL if no FCFreezeSystem was found, or if it couldn't be created. Otherwise, the pointer to the object.

◆ CreateSystemStaves()

FCSystemStaves * FCStaffSystem::CreateSystemStaves ( )

Creates a staff list with the staves available for the system.

In Finale 2011 and later, this is always a system-dedicated staff list. In earlier version, this can be the global staff list (if the system isn't optimized).

Lua-supported.

Returns
Pointer to the created staff list. This must be destroyed after use.

◆ DebugDump()

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

◆ GetBottomMargin()

Evpu16 FCStaffSystem::GetBottomMargin ( ) const
inline

Returns the bottom margin value, in EVPUs.

Lua-supported (also as property).

◆ GetClassID()

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

◆ GetFirstMeasure()

eMeas FCStaffSystem::GetFirstMeasure ( ) const
inline

Returns the measure for the first measure of the system.

If the measure is 0, it means that the layout must be updated.

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

◆ GetHoldMargins()

bool FCStaffSystem::GetHoldMargins ( ) const
inline

Returns the "Hold Margins" flag for the staff system.

Lua-supported (also as property).

◆ GetHorizontalStretch()

Int100 FCStaffSystem::GetHorizontalStretch ( ) const
inline

Returns the calculated horizontal stretch of the system contents, in 1/100 of a percent.

This is a diagnostic value only.

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

◆ GetLeftMargin()

Evpu16 FCStaffSystem::GetLeftMargin ( ) const
inline

Returns the left margin value, in EVPUs.

Positive values to the right, negative values to the left.

Lua-supported (also as property).

◆ GetNextSysMeasure()

eMeas FCStaffSystem::GetNextSysMeasure ( ) const
inline

Returns the starting measure number for the next system.

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

◆ GetResize()

twobyte FCStaffSystem::GetResize ( ) const
inline

Returns the resize value (in percent) for the system.

Lua-supported (also as property).

◆ GetResizeVerticalSpace()

bool FCStaffSystem::GetResizeVerticalSpace ( ) const
inline

Returns true if the "Resize Vertical Space" option is set.

Lua-supported (also as property).

◆ GetRightMargin()

Evpu16 FCStaffSystem::GetRightMargin ( ) const
inline

Returns the right margin value, in EVPUs.

Lua-supported (also as property).

◆ GetSpaceAbove()

twobyte FCStaffSystem::GetSpaceAbove ( ) const
inline

Returns the space to the previous system (or the distance from the top page margin), in EVPUs.

Lua-supported (also as property).

◆ GetSpaceAfterMusic()

twobyte FCStaffSystem::GetSpaceAfterMusic ( ) const
inline

Gets the extra space after the music, in EVPUs.

Lua-supported (also as property).

◆ GetSpaceBeforeMusic()

twobyte FCStaffSystem::GetSpaceBeforeMusic ( ) const
inline

Gets the extra space before the music, in EVPUs.

Lua-supported (also as property).

◆ GetStaffHeight()

twobyte FCStaffSystem::GetStaffHeight ( ) const
inline

Returns the default staff height for the system, in 1/64th of a Evpu32.

The old 100% default height is 96 EVPUs = 6144.

Lua-supported (also as property).

◆ GetTopMargin()

Evpu16 FCStaffSystem::GetTopMargin ( ) const
inline

Returns the top margin value, in EVPUs.

Lua-supported (also as property).

◆ GetTopStaff()

twobyte FCStaffSystem::GetTopStaff ( ) const

Returns the staff number of the top staff of the system.

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

Returns
The 1-based staff number. 0 on error.

◆ GetUseStaffResize()

bool FCStaffSystem::GetUseStaffResize ( ) const
inline

Returns the flag that marks if any of the staves on the system use individual staff resizing.

The resize value for a specific staff on a system can be read by FCSystemStaff::GetResize.

Lua-supported (also as property).

◆ HasPageBreak()

bool FCStaffSystem::HasPageBreak ( )

Returns true if the first measure of the staff system has a page break (or "start a new page" marker).

Lua-supported.

◆ IsOptimized()

bool FCStaffSystem::IsOptimized ( ) const

Returns true if the system is "optimized".

For compatibility with older Finale versions only.

Lua-supported.

Returns
On Finale 2011 and above, this return value is always true.

◆ SetBottomMargin()

void FCStaffSystem::SetBottomMargin ( Evpu16  margin)
inline

Sets the bottom margin value, referenced from the staff baseline of the bottom staff, in EVPUs.

This is a positive value. Compared to the value in the Page Layout Tool, the real value here is 96 EVPUs larger (taking the size of the staff into account).

Lua-supported (also as property).

◆ SetFirstMeasure()

void FCStaffSystem::SetFirstMeasure ( eMeas  measure)
inline

Sets the first measure to start the system.

Be careful when using this method!

Lua-supported only through 'SetFirstMeasure_' (due to its dangerous nature).

Parameters
measureThe measure to start the system

◆ SetHoldMargins()

void FCStaffSystem::SetHoldMargins ( bool  state)
inline

Sets the flag for "Hold Margins" for the staff system.

Lua-supported (also as property).

◆ SetLeftMargin()

void FCStaffSystem::SetLeftMargin ( Evpu16  margin)
inline

Sets the left margin value, in EVPUs.

Positive values pushes to the right, negative values to the left.

Lua-supported (also as property).

◆ SetNextSysMeasure()

void FCStaffSystem::SetNextSysMeasure ( eMeas  measure)
inline

Sets the measure starting the next system.

Be careful when using this method!

Lua-supported only through 'SetNextSysMeasure_' (due to its dangerous nature).

Parameters
measureThe measure to end the system

◆ SetResize()

void FCStaffSystem::SetResize ( twobyte  value)
inline

Sets the staff system's resize value (in percent).

Lua-supported (also as property).

◆ SetResizeVerticalSpace()

void FCStaffSystem::SetResizeVerticalSpace ( bool  value)
inline

Sets the "Resize Vertical Space" option.

Lua-supported (also as property).

◆ SetRightMargin()

void FCStaffSystem::SetRightMargin ( Evpu16  margin)
inline

Sets the right system margin value, in EVPUs. This is usually a negative value, since it's the distance from the right page margin.

Lua-supported (also as property).

◆ SetSpaceAbove()

void FCStaffSystem::SetSpaceAbove ( twobyte  space)
inline

Sets the space to the previous system, in EVPUs.

Lua-supported (also as property).

◆ SetSpaceAfterMusic()

void FCStaffSystem::SetSpaceAfterMusic ( twobyte  space)
inline

Sets the extra space after the music, in EVPUs.

Lua-supported (also as property).

◆ SetSpaceBeforeMusic()

void FCStaffSystem::SetSpaceBeforeMusic ( twobyte  space)
inline

Sets the extra space before the music, in EVPUs.

Lua-supported (also as property).

◆ SetStaffHeight()

void FCStaffSystem::SetStaffHeight ( twobyte  value)
inline

Sets the default staff height for the system, in 1/64th of a Evpu32.

The old 100% default height in Finale was 96 EVPUs = 6144.

Lua-supported (also as property).

Parameters
valueThe height in 1/64th of an EVPU. Please note that the value isn't saved with complete accuracy. (The value is truncated so it's dividable by 4.)

◆ SetTopMargin()

void FCStaffSystem::SetTopMargin ( Evpu16  margin)
inline

Sets the top margin value (the distance between the system top and the topmost staff reference line), in EVPUs.

This is a positive value.

Lua-supported (also as property).

◆ SetUseStaffResize()

void FCStaffSystem::SetUseStaffResize ( bool  state)
inline

Sets the flag that marks if any of the staves on the system use individual staff resizing.

The resize value for a specific staff on a system can be read by FCSystemStaff::GetResize.

Lua-supported (also as property).