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

Encapsulates one note in a note entry (from the FCNoteEntry class). More...

#include <ff_noteframe.h>

+ Inheritance diagram for FCNote:

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.
 
 FCNote (int index, EXNOTE *pexnote, FCNoteEntry *pParent)
 The constructor.
 
FCNoteEntryGetEntry () const
 Returns the note entry object for the note.
 
bool GetAccidental () const
 Gets the accidental state bit for the note. This method should normally NOT be used (use CalcAccidental instead).
 
bool GetAccidentalFreeze () const
 Returns the freezed accidental state.
 
bool GetAccidentalParentheses () const
 Returns the parentheses accidental state.
 
twobyte GetDisplacement () const
 Returns the vertical note position on the staff.
 
bool GetLegality () const
 Gets the legality bit, that marks that the note is valid.
 
twobyte GetRaiseLower () const
 Returns the raised/lowered state of the note.
 
bool GetSpacing () const
 Returns if the note should be used in the spacing algorithm or not.
 
bool GetPlayback () const
 Gets the playback status for the note.
 
bool GetTie () const
 Gets the tie start state for the note.
 
bool GetTieBackwards () const
 Gets the backwards tie state for the note.
 
bool GetCrossStaff () const
 Gets the cross staff state for the note.
 
bool GetDownstem2nd () const
 Gets the Downstem 2nd state for the note.
 
bool GetUpstem2nd () const
 Gets the Upstem 2nd state for the note.
 
bool GetUpstemSplit () const
 Gets the upstem split state for the note.
 
eNoteID GetNoteID () const
 Returns the unique note ID.
 
int GetNoteIndex () const
 Returns the index of the note within its FCNoteEntry.
 
void GetString (FCString *pString, FCKeySignature *pKey, bool simplifydoublesharp=false, bool writtenpitch=false)
 Creates a string representation of the note.
 
bool CalcAccidental () const
 Returns the displayed state of an accidental. This is the method that should be used to find out if an accidental is displayed.
 
twobyte CalcOctave (FCKeySignature *pKey, int transposeinterval=0)
 Returns the sounding octave for the note.
 
twobyte CalcWrittenOctave (FCKeySignature *pKey, int transposevalue, bool simplifytranspose, bool chromatictranspose)
 Returns the written octave for the note, taking a specific transposition into account.
 
bool SetString (FCString *pString, FCKeySignature *pKey, bool writtenpitch)
 Changes the note based on the string representation. See FCNote::GetString for syntax.
 
FCTransposerGetTransposer ()
 Returns a transposer that can be used to transpose this note.
 
void SetAccidental (bool state)
 Sets the accidental state for the note.
 
void SetAccidentalFreeze (bool state)
 Sets the freezed accidental state.
 
void SetAccidentalParentheses (bool state)
 Sets the parentheses accidental state.
 
void SetSpacing (bool state)
 Sets if the note should be used in the spacing algorithm or not.
 
void SetPlayback (bool state)
 Sets if the note should play back or be muted.
 
void SetLegality (bool state)
 Sets the legality bit, marking that the note is valid.
 
void SetDisplacement (twobyte disp)
 Sets the note's vertical position on the staff. The displacement is relative to the key.
 
void SetRaiseLower (twobyte amount)
 Raises or lowers the pitch of the note.
 
void SetNoteID (eNoteID noteid)
 Sets the unique note ID. Use with extreme care!
 
void SetTie (bool value)
 Sets the tie state for the note.
 
void SetTieBackwards (bool value)
 Sets the "tie end" state for the note.
 
void SetCrossStaff (bool state)
 Sets the cross staff state for the note.
 
void SetUpstemSplit (bool state)
 Sets the upstem split state for the note.
 
int CalcNumberOfLedgerLines ()
 Returns the number of ledger lines the note appears on.
 
bool CalcOnLedgerLine ()
 Returns true if the note appears specifically on a ledger line. The ledger line must coincide with the staff position of the note. If the note falls in a space above or below a ledger line, the function returns false. To determine if any particular note has ledger lines, use CalcNumberOfLedgerLines.
 
int CalcCrossStaffNumber ()
 Returns the staff ID that belongs to the cross staff note.
 
bool CalcRightsidePlacement ()
 Returns true if the notehead is on the right side of the stem.
 
twobyte CalcNoteheadWidth ()
 Returns the width of the notehead.
 
twobyte CalcStaffPosition ()
 Calculates the displacement from the top staffline. It takes the current score position into account (including clefs, staff styles and so on).
 
char CalcPitchChar ()
 Returns the sounding note name character for the note.
 
char CalcWrittenPitchChar ()
 Returns the written note name character for the note.
 
twobyte CalcPitchRaiseLower (bool writtenpitch)
 Returns the number of sharps or flats the note actually has in the key signature.
 
twobyte CalcMIDIKey ()
 Returns the MIDI key number for the note.
 
bool CalcVisibleInPart () const
 Returns true if the note is visible in the current part or score. The only time it might be false is if the note is suppressed by voiced part settings. (See FCPartStaffVoicing.)
 
bool CalcIsTopNote () const
 Returns true if the note is the top note in the entry. If some notes in the entry are suppressed in the current voiced part, the function returns true for the top visible note in the part. (See FCPartStaffVoicing.)
 
bool CalcIsBottomNote () const
 Returns true if the note is the bottom visible note note in the entry. If some notes in the entry are suppressed in the current voiced part, the function returns true for the bottom visible note in the part. (See FCPartStaffVoicing.)
 
void SetMIDIKey (twobyte midikey)
 Sets the MIDI key number for the note.
 
bool IsIdenticalPitch (FCNote *pPitchNote)
 Returns true if the pitch is identical to the supplied note.
 
bool IsHigherPitchThan (FCNote *pPitchCompareNote)
 Returns true if the pitch is higher than the pitch in the parameter's note.
 
bool IsLowerPitchThan (FCNote *pPitchCompareNote)
 Returns true if the pitch is lower than the pitch in the parameter's note.
 
bool IsUpper2nd () const
 Returns true if this note is an upper 2nd in a chord.
 
bool IsLower2nd () const
 Returns true if this note is a lower 2nd in a chord.
 
bool IsNonAligned2nd () const
 Returns true if this note is not aligned with its entry.
 
bool MatchSpellingToScore ()
 Reverts a part's note spelling to that of the score. It is useful for reversing an unlinked enharmonic flip.
 
void MarkForErase ()
 Marks the note for erase when the entry is saved.
 
void DebugDump () override
 Outputs the class data/information for debugging purposes.
 
- Public Member Functions inherited from __FCBase
virtual const PDKFRAMEWORK_CLASSID GetClassID () const
 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.
 
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.
 
virtual void DebugDataDump ()
 Outputs a memory dump of the data block in the object for debugging purposes.
 
virtual void DebugDataByteArrayDump ()
 Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array.
 
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.
 
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.
 
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

- 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.
 
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 __FCBase
 __FCBase ()
 The constructor.
 

Detailed Description

Encapsulates one note in a note entry (from the FCNoteEntry class).

This class requires PDK_FRAMEWORK_ENTRIES to be defined.

NOTE! Objects of this class should not be created directly, they are created by the methods in the FCNoteEntry class.

Member Function Documentation

◆ CalcAccidental()

bool FCNote::CalcAccidental ( ) const

Returns the displayed state of an accidental. This is the method that should be used to find out if an accidental is displayed.

On Finale versions lower than Finale 2014, the accidental state bit is returned. On Finale 2014 and higher, the displayed state (based on Finale's settings) is returned.

On Finale 2014 and higher, the entry metrics must be up to date when this method is called.

Lua-supported (this is used for the "Accidental" property as well).

◆ CalcCrossStaffNumber()

int FCNote::CalcCrossStaffNumber ( )

Returns the staff ID that belongs to the cross staff note.

For a proper return value, both the entry and note must have the flags set for cross staff. The method loads the FCCrossStaff connected with the note object.

Lua-supported.

Returns
0 if cross staff couldn't be found.

◆ CalcIsBottomNote()

bool FCNote::CalcIsBottomNote ( ) const

Returns true if the note is the bottom visible note note in the entry. If some notes in the entry are suppressed in the current voiced part, the function returns true for the bottom visible note in the part. (See FCPartStaffVoicing.)

Lua-supported (0.65).

◆ CalcIsTopNote()

bool FCNote::CalcIsTopNote ( ) const

Returns true if the note is the top note in the entry. If some notes in the entry are suppressed in the current voiced part, the function returns true for the top visible note in the part. (See FCPartStaffVoicing.)

Lua-supported (0.65).

◆ CalcMIDIKey()

twobyte FCNote::CalcMIDIKey ( )

Returns the MIDI key number for the note.

Lua-supported.

◆ CalcNoteheadWidth()

twobyte FCNote::CalcNoteheadWidth ( )

Returns the width of the notehead.

Lua-supported.

Returns
-1 on error.

◆ CalcNumberOfLedgerLines()

int FCNote::CalcNumberOfLedgerLines ( )

Returns the number of ledger lines the note appears on.

Lua-supported (0.66).

Returns
positive - ledger lines above; 0 - no ledger lines; negative - ledger lines below

◆ CalcOctave()

twobyte FCNote::CalcOctave ( FCKeySignature * pKey,
int transposeinterval = 0 )

Returns the sounding octave for the note.

For transposed instrument, the transpose interval needs to be supplied and the key needs to include the transposed key alteration.

This method requires the PDK_FRAMEWORK_PREFS define, since the octave number is dependent on the Program options.

Lua-supported.

Parameters
[in]pKeyThe key that the calculation should be based on.
[in]transposeintervalWhen using chromatic transposition, the interval needs to be 1 step less than the value found in the transposition dialog box (or returned by the FCStaff.GetTransposeInterval method). For traditionally transposed instruments, the usual transposition interval value should be used.
Returns
The octave number.

◆ CalcOnLedgerLine()

bool FCNote::CalcOnLedgerLine ( )

Returns true if the note appears specifically on a ledger line. The ledger line must coincide with the staff position of the note. If the note falls in a space above or below a ledger line, the function returns false. To determine if any particular note has ledger lines, use CalcNumberOfLedgerLines.

Lua-supported.

Returns
False for rests.

◆ CalcPitchChar()

char FCNote::CalcPitchChar ( )

Returns the sounding note name character for the note.

Lua-supported.

Returns
The uppercase name character for the note. 0 if the note name couldn't be determined.

◆ CalcPitchRaiseLower()

twobyte FCNote::CalcPitchRaiseLower ( bool writtenpitch)

Returns the number of sharps or flats the note actually has in the key signature.

Lua-supported.

Parameters
writtenpitchfalse = calculate for the sounding pitch, true = calculate for the written pitch
Returns
Return examples: -1 for a note with one flat. 1 for a note with 1 sharp. 2 for a note with a double-sharp. G major returns 1 sharp for the unmodified F#, etc.

◆ CalcRightsidePlacement()

bool FCNote::CalcRightsidePlacement ( )

Returns true if the notehead is on the right side of the stem.

This method looks at the actual layout of the noteheads. If the noteheads are manually moved with the Special Tools, the method will take that into account.

Lua-supported.

Returns
false on rests, errors or if the notehead is on the left side of stem. Otherwise true.

◆ CalcStaffPosition()

twobyte FCNote::CalcStaffPosition ( )

Calculates the displacement from the top staffline. It takes the current score position into account (including clefs, staff styles and so on).

For percussion notation, the actual percussion note position will be returned, if the positioning info is found in the percussion layout. The percussion note's position will be adjusted to the same vertical levels as non-percussion notes.

Even when the score is displayed in concert pitch, the calculated value will be as if the score was transposing.

Lua-supported.

Returns
Any of these values:
  • 0 means on the top staff line (on a 5-line staff).
  • Negative values means below the top staff line.
  • Positive values means a vertical position above the top staff line.

◆ CalcVisibleInPart()

bool FCNote::CalcVisibleInPart ( ) const

Returns true if the note is visible in the current part or score. The only time it might be false is if the note is suppressed by voiced part settings. (See FCPartStaffVoicing.)

Lua-supported (0.65).

◆ CalcWrittenOctave()

twobyte FCNote::CalcWrittenOctave ( FCKeySignature * pKey,
int transposevalue,
bool simplifytranspose,
bool chromatictranspose )

Returns the written octave for the note, taking a specific transposition into account.

Parameters
[in]pKeyThe key for the note. This cannot be NULL.
[in]transposevalueFor key-based transpositions, this should be the transpose alteration. For chromatic transpositions, this should be transposition interval.
[in]simplifytransposeTrue if the key-based transposition uses "Simplify Key". Not used for chromatic transpositions.
[in]chromatictransposeTrue if the transposition is chromatic. False if the transposition is key-based.

Lua-supported.

Returns
The octave number.

◆ CalcWrittenPitchChar()

char FCNote::CalcWrittenPitchChar ( )

Returns the written note name character for the note.

Even when the score is displayed in concert pitch, the calculated value will be as if the score music transposing.

Lua-supported.

Returns
The uppercase name character for the note. 0 if the note name couldn't be determined.

◆ ClassName()

const char * FCNote::ClassName ( ) const
inlineoverridevirtual

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

Lua-supported.

Implements __FCBase.

Reimplemented in FCNotePitch.

◆ DebugDump()

void FCNote::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 __FCBase.

◆ GetAccidental()

bool FCNote::GetAccidental ( ) const
inline

Gets the accidental state bit for the note. This method should normally NOT be used (use CalcAccidental instead).

On Finale 2014 and above, this method will not return the true accidental state.

Lua-supported (also as property). Please note that the "Accidental" property calls CalcAccidental.

Returns
True if the accidental should be displayed.

◆ GetAccidentalFreeze()

bool FCNote::GetAccidentalFreeze ( ) const
inline

Returns the freezed accidental state.

Lua-supported (also as property).

◆ GetAccidentalParentheses()

bool FCNote::GetAccidentalParentheses ( ) const
inline

Returns the parentheses accidental state.

Lua-supported (also as property).

◆ GetCrossStaff()

bool FCNote::GetCrossStaff ( ) const
inline

Gets the cross staff state for the note.

The note's FCCrossStaffMod contains the target staff to which the note is crossed.

Lua-supported (also as property).

Returns
true means that a note is in a cross staff.

◆ GetDisplacement()

twobyte FCNote::GetDisplacement ( ) const
inline

Returns the vertical note position on the staff.

Lua-supported (also as property).

Returns
0 is middle C. Positive values is above middle C, negative is below.

◆ GetDownstem2nd()

bool FCNote::GetDownstem2nd ( ) const
inline

Gets the Downstem 2nd state for the note.

Finale recalculates this value every time it edits the FCNoteEntry, so modifying it serves no purpose.

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

Returns
true means that the note's notehead is drawn on the "wrong" side of its stem, usually because it is an interval of a 2nd from another note in the same chord.

◆ GetEntry()

FCNoteEntry * FCNote::GetEntry ( ) const
inline

Returns the note entry object for the note.

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

◆ GetLegality()

bool FCNote::GetLegality ( ) const
inline

Gets the legality bit, that marks that the note is valid.

Every note must have this bit set for validity.

Lua-supported (also as property).

Returns
True if the note is marked as valid.

◆ GetNoteID()

eNoteID FCNote::GetNoteID ( ) const
inline

Returns the unique note ID.

See SetNoteID for more info.

Lua-supported (also as property).

◆ GetNoteIndex()

int FCNote::GetNoteIndex ( ) const
inline

Returns the index of the note within its FCNoteEntry.

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

◆ GetPlayback()

bool FCNote::GetPlayback ( ) const
inline

Gets the playback status for the note.

Lua-supported (also as property).

Returns
False means that the note will be muted. True means that it will play back (except when the note entry or layer settings mute).

◆ GetRaiseLower()

twobyte FCNote::GetRaiseLower ( ) const
inline

Returns the raised/lowered state of the note.

See also the CalcPitchRaiseLower method.

Lua-supported (also as property).

Returns
0 is a normal note in the key. 1 is raised by one step. -1 is lowered by one step. 2 is double-raised, and so on.

◆ GetSpacing()

bool FCNote::GetSpacing ( ) const
inline

Returns if the note should be used in the spacing algorithm or not.

Lua-supported (also as property).

Returns
True if note should be included in the music spacing algorithm.

◆ GetString()

void FCNote::GetString ( FCString * pString,
FCKeySignature * pKey,
bool simplifydoublesharp = false,
bool writtenpitch = false )

Creates a string representation of the note.

Syntax:

  • Note name in Upper case first (A-G)
  • Accidental sign, if available: #, b, ##, bb, ###, bbb, etc...
  • Octave number
Warning
Due to some strange Finale behavior with how it simplifies key signatures, the written-pitch string may indicate a different octave than Finale shows when a key signature is simplified. This seems specifically to affect written keys with exactly 7 sharps or 7 flats. Concert-pitch strings are not affected.

This method requires the PDK_FRAMEWORK_PREFS define.

Lua-supported.

Parameters
pStringPointer to the string object that should contain the pitch string.
pKeyPointer to a key signature object, which will be used as input to produce the string. (The key signature could be obtained from the FCMeasure and FCCell classes.) This should NOT be the transposed key. If this is NULL, the key signature from the current entry's position will be used.
simplifydoublesharpIf true, simplifies "##" to "x". (Defaults to false.)
writtenpitchfalse = Get sounding pitch, true = Get written pitch. (Defaults to false.)

◆ GetTie()

bool FCNote::GetTie ( ) const
inline

Gets the tie start state for the note.

Lua-supported (also as property).

Returns
true means that a tie starts on the note.

◆ GetTieBackwards()

bool FCNote::GetTieBackwards ( ) const
inline

Gets the backwards tie state for the note.

Lua-supported (also as property).

Returns
true means that a tie ends on the note.

◆ GetTransposer()

FCTransposer * FCNote::GetTransposer ( )

Returns a transposer that can be used to transpose this note.

Do not use it with any other FCNote instance. Do not attempt to use it after the note that created it goes out of scope.

Lua-supported (0.67).

◆ GetUpstem2nd()

bool FCNote::GetUpstem2nd ( ) const
inline

Gets the Upstem 2nd state for the note.

Finale recalculates this value every time it edits the FCNoteEntry, so modifying it serves no purpose.

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

Returns
true means that the note's notehead is drawn on the "wrong" side of its stem, usually because it is an interval of a 2nd from another note in the same chord.

◆ GetUpstemSplit()

bool FCNote::GetUpstemSplit ( ) const
inline

Gets the upstem split state for the note.

Ignored unless FCNoteEntry::GetSplitStem == true.

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

Returns
true means that the stem splits up for this note.

◆ IsHigherPitchThan()

bool FCNote::IsHigherPitchThan ( FCNote * pPitchCompareNote)

Returns true if the pitch is higher than the pitch in the parameter's note.

Lua-supported.

◆ IsIdenticalPitch()

bool FCNote::IsIdenticalPitch ( FCNote * pPitchNote)

Returns true if the pitch is identical to the supplied note.

Lua-supported.

◆ IsLower2nd()

bool FCNote::IsLower2nd ( ) const

Returns true if this note is a lower 2nd in a chord.

Lua-supported (0.62).

◆ IsLowerPitchThan()

bool FCNote::IsLowerPitchThan ( FCNote * pPitchCompareNote)

Returns true if the pitch is lower than the pitch in the parameter's note.

Lua-supported.

◆ IsNonAligned2nd()

bool FCNote::IsNonAligned2nd ( ) const

Returns true if this note is not aligned with its entry.

Lua-supported (0.62).

◆ IsUpper2nd()

bool FCNote::IsUpper2nd ( ) const

Returns true if this note is an upper 2nd in a chord.

Lua-supported (0.62).

◆ MarkForErase()

void FCNote::MarkForErase ( )
inline

Marks the note for erase when the entry is saved.

Please note that this shouldn't normally be called directly. Instead use methods such as FCNoteEntry.DeleteNote to immediatelly remove the note.

This mechanism makes it possible to, for example, continue to iterate through a note collection (=chord) until the entry have been saved.

Lua-supported.

◆ MatchSpellingToScore()

bool FCNote::MatchSpellingToScore ( )

Reverts a part's note spelling to that of the score. It is useful for reversing an unlinked enharmonic flip.

This function does nothing if the score is in edit focus. Note that calling MatchSpellingToScore does not in itself relink the note's spelling to the score. To do that, you also must set FCNoteheadMod::SetEnharmonicFlip to false and relink the note's FCNoteheadMod instance to the score (or delete it if there are no other notehead modifications). See __FCBaseData::RelinkToScore.

See FCNoteheadMod::SetEnharmonicFlip for a complete Lua code example.

Lua-supported (0.66).

Returns
true if the spelling was changed, otherwise false.

◆ SetAccidental()

void FCNote::SetAccidental ( bool state)
inline

Sets the accidental state for the note.

Use this method to set the accidental state for freezing. If you do not also call SetAccidentalFreeze to freeze the accidental state, Finale can change it at any time.

Lua-supported (also as property).

Parameters
stateTrue to display the accidental.

◆ SetAccidentalFreeze()

void FCNote::SetAccidentalFreeze ( bool state)
inline

Sets the freezed accidental state.

Lua-supported (also as property).

◆ SetAccidentalParentheses()

void FCNote::SetAccidentalParentheses ( bool state)
inline

Sets the parentheses accidental state.

Lua-supported (also as property).

◆ SetCrossStaff()

void FCNote::SetCrossStaff ( bool state)
inline

Sets the cross staff state for the note.

Generally speaking, you do not need this method to create cross-staff notes. Instead, load or create the note's instance of FCCrossStaffMod. There you set its target staff, and saving it sets all the proper flags (including this one).

Lua-supported (also as property).

Parameters
statetrue means that a note is in a cross staff.

◆ SetDisplacement()

void FCNote::SetDisplacement ( twobyte disp)
inline

Sets the note's vertical position on the staff. The displacement is relative to the key.

Lua-supported (also as property).

Parameters
disp0 is middle C in C major.

◆ SetLegality()

void FCNote::SetLegality ( bool state)
inline

Sets the legality bit, marking that the note is valid.

Every note should have this bit set for validity.

Lua-supported (also as property).

Parameters
stateTrue to set the note as valid.

◆ SetMIDIKey()

void FCNote::SetMIDIKey ( twobyte midikey)

Sets the MIDI key number for the note.

If the note is on a regular notation staff, an enharmonic version of the note is set.

If the note is on a percussion staff, the percussion note is set.

Lua-supported.

This requires PDK_FRAMEWORK_PREFS to be defined.

◆ SetNoteID()

void FCNote::SetNoteID ( eNoteID noteid)
inline

Sets the unique note ID. Use with extreme care!

The note ID is a 1-based number for the note within the entry. It's referenced in the modification data records for the note (such as FCNoteheadMods, FCDotMods, and so on).

Lua-supported (also as property).

Parameters
noteidthe new note ID

◆ SetPlayback()

void FCNote::SetPlayback ( bool state)
inline

Sets if the note should play back or be muted.

This flag is ignored if HP is used during playback.

Lua-supported (also as property).

Parameters
stateTrue to play back. False to mute.

◆ SetRaiseLower()

void FCNote::SetRaiseLower ( twobyte amount)
inline

Raises or lowers the pitch of the note.

Lua-supported (also as property).

Parameters
amount0 is a normal diatonic note for the key. 1 is raised by one step. -1 is lowered by one step. 2 is double-raised, and so on.

◆ SetSpacing()

void FCNote::SetSpacing ( bool state)
inline

Sets if the note should be used in the spacing algorithm or not.

Lua-supported (also as property).

Parameters
stateTrue to include note in spacing.

◆ SetString()

bool FCNote::SetString ( FCString * pString,
FCKeySignature * pKey,
bool writtenpitch )

Changes the note based on the string representation. See FCNote::GetString for syntax.

In addition to the syntax produced by FCNote::GetString, the lower-case 'x' can be used for double-sharp.

This method requires the PDK_FRAMEWORK_PREFS define.

Lua-supported.

Parameters
[in]pStringThe FCString object containing the pitch.
[in]pKeyPointer to the key signature object. If no key signature object was supplied, a temporary key signature object will be created, based on the entry's position. Percussion notation is handled separately.
[in]writtenpitchfalse = Set sounding pitch, true = Set written pitch
Returns
Returns true if the syntax was correct and the pitch was set.

◆ SetTie()

void FCNote::SetTie ( bool value)
inline

Sets the tie state for the note.

Lua-supported (also as property).

◆ SetTieBackwards()

void FCNote::SetTieBackwards ( bool value)
inline

Sets the "tie end" state for the note.

This method should normally not be used, since Finale handles this internally.

Lua-supported (also as property).

◆ SetUpstemSplit()

void FCNote::SetUpstemSplit ( bool state)
inline

Sets the upstem split state for the note.

Ignored unless FCNoteEntry::GetSplitStem == true.

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

Parameters
statetrue means that the stem splits up for this note.