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

Class for chord assignments to a measure/staff. More...

#include <ff_celldetails.h>

Inheritance diagram for FCChord:
__FCCellDetail __FCBaseData __FCBase

Public Types

enum  ALTERNATEBASS_PLACEMENT { ALTBASSPLACE_AFTERROOT = 0 , ALTBASSPLACE_UNDERROOT , ALTBASSPLACE_SUBTEXT }
 For use with FCChord::SetChordAlternateBassPlacement() 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

EXTAG Tag () const override
 The Enigma tag for the derived class. More...
 
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...
 
 FCChord ()
 The constructor. More...
 
bool IsEarlierThan (FCChord *pTestChord)
 Returns true if the position is earlier than the tested chord.
 
TimeEdu32 GetMeasurePos () const override
 Gets the horizontal position within the measure. More...
 
void SetMeasurePos (TimeEdu32 position)
 Sets the horizontal position within the measure. More...
 
bool AnalyzeEntryChord (FCNoteEntry *pEntry)
 Analyzes the chord notes in the entry and map it to the chord object. More...
 
FCChordSuffixElementsCreateChordSuffixElements () const
 Creates an object with the chord suffix elements. More...
 
CMPER CalcFretboardGroupID () const
 Calculates the ID for the associated FCFretboardGroupDef as follows: More...
 
FCFretboardGroupDefCreateFretboardGroupDef () const
 Creates an object with the associated FCFretboardGroupDef. More...
 
FCTransposerGetTransposer ()
 Returns a transposer that can be used to transpose this chord. More...
 
twobyte GetChordSuffixID () const
 Returns the chord suffix ID. Each chord can contain many different records for the same suffix, each representing a symbol in the suffix. More...
 
twobyte GetChordHorizontalPos () const
 Returns the horizontal position (from the measure position) of the chord in EVPUs. More...
 
twobyte GetChordVerticalPos () const
 Returns the vertical position (from the baseline) of the chord. More...
 
bool GetChordVisible () const
 Returns the display state of the chord. More...
 
twobyte GetChordResize () const
 Returns the resize value of the chord, in percent. More...
 
bool GetChordRootVisible () const
 Returns the display state of the chord root. More...
 
bool GetChordRootPlayback () const
 Returns the playback state of the chord root. More...
 
bool GetChordRootLowercase () const
 Returns if the root should be drawn using lowercase. More...
 
bool GetChordSuffixVisible () const
 Returns the display state of the chord suffix. More...
 
bool GetChordSuffixPlayback () const
 Returns the playback state of the chord suffix. More...
 
bool GetUseCapo () const
 Returns the setting if the chord should use the local capo setting. More...
 
twobyte GetCapo () const
 Returns the capo value. For this value to be actively used, SetUseCapo must be called. More...
 
twobyte GetScaleNumber () const
 Returns the scale degree of the root. More...
 
twobyte GetAlteration () const
 Returns the chord alteration, compared to the scale degree. More...
 
bool GetChordAlternateBassVisible () const
 Returns true if the alternate bass is displayed. More...
 
bool GetChordAlternateBassPlayback () const
 Returns the playback state of the alternate bass for the chord symbol. More...
 
bool GetChordAlternateBassLowercase () const
 If set, draw alternate bass using lowercase. More...
 
twobyte GetAlternateBassScaleNumber () const
 Returns the scale degree of the alternate bass. More...
 
twobyte GetAlternateBassAlteration () const
 Returns the alternate bass alteration, compared to the scale degree. More...
 
ALTERNATEBASS_PLACEMENT GetChordAlternateBassPlacement () const
 Returns the placement for alternate bass. More...
 
twobyte GetFretboardStyleID () const
 Gets the fretboard style ID. More...
 
twobyte GetFretboardHorizontalPos () const
 Returns the horizontal fretboard pos (relative to the chord) More...
 
twobyte GetFretboardVerticalPos () const
 Returns the vertical fretboard pos (relative to the chord) More...
 
bool GetFretboardVisible () const
 Returns the display state of the fretboard. More...
 
twobyte GetFretboardResize () const
 Returns the resize value of the fretboard, in percent. More...
 
bool GetFretboardPlayback () const
 Returns the fretboard to playback/mute. More...
 
bool GetFretboardUseFont () const
 Returns the fretboard to use a fretboard font. More...
 
int GetFretboardID () const
 Returns the 1-based "Fretboard ID" from the Chord Definition dialog. More...
 
void SetChordSuffixID (twobyte value)
 Sets the chord suffix ID. Each chord can contain many different versions of the same suffix within the same ID. More...
 
void SetChordHorizontalPos (twobyte value)
 Sets the horizontal position offset (from the measure pos) of the chord in EVPUs. More...
 
void SetChordVerticalPos (twobyte value)
 Sets the vertical position of the chord (from the baseline). More...
 
void SetChordVisible (bool state)
 Sets the display state of the chord. More...
 
void SetChordResize (twobyte value)
 Sets the resize value of the chord, in percent. More...
 
void SetChordRootVisible (bool state)
 Sets the display state of the chord root. More...
 
void SetChordRootPlayback (bool playback)
 Sets the playback state of the chord root. More...
 
void SetChordRootLowercase (bool state)
 If set, draw root using lowercase. More...
 
void SetChordSuffixVisible (bool state)
 Sets the display state of the chord suffix. More...
 
void SetChordSuffixPlayback (bool playback)
 Sets the playback state of the chord suffix. More...
 
void SetChordAlternateBassVisible (bool state)
 Sets the display state of the alternate bass for the chord symbol. More...
 
void SetChordAlternateBassPlayback (bool playback)
 Sets the playback state of the alternate bass for the chord symbol. More...
 
void SetChordAlternateBassLowercase (bool lowercase)
 If set, draw alternate bass using lowercase. More...
 
void SetChordAlternateBassPlacement (ALTERNATEBASS_PLACEMENT placement)
 Sets the placement type for the chord's alternate bass. More...
 
void SetUseCapo (bool state)
 Sets the chord to use the local capo setting. More...
 
void SetCapo (twobyte value)
 Sets the capo value. For this value to be actively used, SetUseCapo must be called. More...
 
void SetScaleNumber (twobyte scalenumber)
 Sets the scale degree number for the root. More...
 
void SetAlteration (twobyte alteration)
 Sets the chord alteration, compared to the scale degree. More...
 
void SetAlternateBassScaleNumber (twobyte scalenumber)
 Sets the scale degree number for the alternate bass. More...
 
void SetAlternateBassAlteration (twobyte alteration)
 Sets the alternate bass alteration, compared to the scale degree. More...
 
void SetFretboardStyleID (twobyte value)
 Sets the fretboard style ID. More...
 
void SetFretboardHorizontalPos (twobyte value)
 Sets the horizontal fretboard pos (relative to the chord). More...
 
void SetFretboardVerticalPos (twobyte value)
 Sets the vertical fretboard pos (relative to the chord) More...
 
void SetFretboardVisible (bool state)
 Sets the display state of the fretboard. More...
 
void SetFretboardResize (twobyte value)
 Sets the resize value of the fretboard, in percent. More...
 
void SetFretboardPlayback (bool playback)
 Sets the fretboard to playback/mute. More...
 
void SetFretboardUseFont (bool state)
 Sets the fretboard to use a fretboard font. More...
 
void SetFretboardID (int value)
 Sets the 1-based "Fretboard ID" from the Chord Definition dialog. More...
 
void DebugDump () override
 Outputs the class data/information for debugging purposes. More...
 
- Public Member Functions inherited from __FCCellDetail
void ConnectCell (FCCell *pCell)
 Connects the object to a cell. This must be done prior to any load/save operations. More...
 
FCCellGetConnectedCell () const
 Returns the connected cell.
 
bool LoadFirst () override
 Overloads the LoadFirst method with a one that loads the cell data into cmper1 (staff), cmper2 (measure), inci (0) More...
 
bool LoadLast () override
 Overloads the LoadLast method with a one that loads the cell data into cmper1 (staff), cmper2 (measure) and the last found inci. More...
 
bool LoadNext () override
 Overloaded method of LoadNext that will only load incis within the same cmper1/cmper2. More...
 
bool LoadPrevious () override
 
virtual bool SaveNew ()
 Creates new data. Make sure to call __FCCellDetail::ConnectCell() first. More...
 
virtual eMeas GetMeasure () const
 Returns the connected measure (based on the connected cell or actual storage). More...
 
virtual twobyte GetStaff () const
 Returns the connected staff (based on the connected cell). 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 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 Reload ()
 Refreshes the data for the object, to synch the data with Finale's current data. More...
 
virtual bool DeleteData ()
 Deletes the associated data from Finale's database. Be careful when deleting multiple objects. More...
 
virtual bool DeepDeleteData ()
 Deletes data and all data that's connected to the object. More...
 
bool RelinkToCurrentView ()
 Relinks the contents in the current view so that the score and part(s) match. More...
 
bool RelinkToScore ()
 Relinks all parts to the contents of the score. More...
 
__FCBaseDataCreateClone ()
 Creates an identical copy of an object. More...
 
void DebugDataDump () override
 Outputs a memory dump of the data block in the object for debugging purposes. More...
 
void DebugDataByteArrayDump () override
 Outputs a memory dump of the data block in the object for debugging purposes, as a C++ byte array. More...
 
void DebugDataOffsetDump (int offset, int size)
 For debug mode only. Dumps a data memory block at a specific offset and with a specific size.
 
FCNumbersCreateRawDataDump ()
 Creates a byte collection with the raw loaded data block for the object (if the object type supports single data blocks). This method is only intended for debug purposes. More...
 
- Public Member Functions inherited from __FCBase
virtual ~__FCBase ()
 Virtual destructor, so all inherited classes get the virtual destructor.
 
void DebugMsgInt (const char *pszPrefixText, int i)
 Creates a simple Message Box for debug purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More...
 
void DebugMsgHex (const char *pszPrefixText, int i)
 Creates a simple Message Box for debug purposes. The text appears with the extra digit (as a hexadecimal number) appearing afterwards. More...
 
void DebugMsgString (const char *pszPrefixText, const char *thestring)
 Creates a simple Message Box for debug purposes. The text appears with the extra string appearing afterwards. More...
 
void DebugMsg (const char *pszMsg)
 Creates a simple Message Box for debug purposes with just one text string. More...
 
void DebugOutMenuInfo (FCUI *pUI, int menuixd_horiz, int menuixd_vert) const
 Outputs the menu command info for debugging purposes. More...
 
int DebugOutFormat (const char *fmt,...)
 Outputs debug text using C style "printf" syntax. More...
 
void Set16BitFlag (FLAG_16 *flag, FLAG_16 flagbits, bool state)
 Sets a 16 bit flag. More...
 
void Set32BitFlag (FLAG_32 *flag, FLAG_32 flagbits, bool state)
 Sets/resets a 32 bit flag, by using a bit mask. More...
 
bool GetBitFlag (FLAG_32 flag, FLAG_32 flagbits) const
 Gets a state from flag bits. Returns true if any bit in the mask is set. More...
 
int GetBitCount (FLAG_32 flag)
 Returns the total number of set bits in a 32-bit unsigned int.
 
void SetSpecific32Bit (FLAG_32 *flag, int bitnumber, bool state)
 Sets/resets a single bit in a 32 bit flag, by specifying one specific bit. More...
 
void SetUserData (void *pData)
 Sets the user data attached to the instance of an object. More...
 
void SetUserData2 (void *pData)
 Sets the additional user data attached to the instance of an object. More...
 
void * GetUserData () const
 Gets the user data attached to the instance of an object. More...
 
void * GetUserData2 () const
 Gets the additional user data attached to the instance of an object. More...
 
virtual bool IsIdentical (const __FCBase *pCompareObject) const
 Returns true if the data in the passed object is considered to be identical to the current object, otherwise false. More...
 
void StoreXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file. More...
 
void StoreXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int value)
 Helper function to store integer objects in the XML file. More...
 
void StoreXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool value)
 Helper function to store boolean objects in the XML file. More...
 
void StoreXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue)
 Helper function to store FCString objects in the XML file, as an attribute to a node. More...
 
void StoreXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int value)
 Helper function to store integer objects in the XML file, as an attribute to a node. More...
 
void StoreXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool value)
 Helper function to store boolean objects in the XML file, as an attribute to a node. More...
 
void StoreXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float value)
 Helper function to store floating point objects in the XML file, as an attribute to a node. More...
 
virtual void StoreToXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to store an object's data. More...
 
bool ReadXML_String (tinyxml2::XMLElement *pParentNode, const char *pszElementName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file. More...
 
bool ReadXML_Integer (tinyxml2::XMLElement *pParentNode, const char *pszElementName, int *pValue)
 Helper method to read integer objects from the XML file. More...
 
bool ReadXML_Bool (tinyxml2::XMLElement *pParentNode, const char *pszElementName, bool *pValue)
 Helper method to read boolean objects from the XML file. More...
 
bool ReadXML_StringAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, FCString *pStringValue)
 Helper method to read FCString objects from the XML file, as an attribute to a node. More...
 
bool ReadXML_IntegerAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, int *pValue)
 Helper method to read integer objects from the XML file, as an attribute to a node. More...
 
bool ReadXML_BoolAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, bool *pValue)
 Helper method to read boolean objects from the XML file, as an attribute to a node. More...
 
bool ReadXML_FloatAttribute (tinyxml2::XMLElement *pNode, const char *pszAttributeName, float *pValue)
 Helper method to read floating point objects from the XML file, as an attribute to a node. More...
 
virtual bool ReadFromXML (tinyxml2::XMLElement *pParentNode)
 Virtual method that is used to read object data. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from __FCBase
static void DebugOutPtr (const char *pszPrefixText, void *ptr)
 Static method that outputs a line for debugging purposes. The prefix text appears with the extra ptr (in hexadeximal representation) appearing afterwards. More...
 
static void DebugOutInt (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in decimal presentation) appearing afterwards. More...
 
static void DebugOutFloat (const char *pszPrefixText, double f)
 Static method that outputs a line for debugging purposes. The text appears with the extra float value appearing afterwards. More...
 
static void DebugOutTag (const char *pszPrefixText, EXTAG extag)
 Static method that outputs a line for debugging purposes. The text appears with the EXTAG (in text) appearing afterwards. More...
 
static void DebugOutHex (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in hexadecimal presentation) appearing afterwards. More...
 
static void DebugOutBin (const char *pszPrefixText, int i)
 Static method that outputs a line for debugging purposes. The text appears with the extra digit (in binary presentation) appearing afterwards. More...
 
static void DebugOutString (const char *pszPrefixText, const char *thestring)
 Static method that outputs a line for debugging purposes (C string version). The text appears with the extra string appearing afterwards. More...
 
static void DebugOutString (const char *pszPrefixText, FCString *pString)
 Static method that outputs a line for debugging purposes (FCString version). The text appears with the extra string appearing afterwards. More...
 
static void DebugOutBool (const char *pszPrefixText, bool state)
 Static method that outputs a line for debugging purposes. The boolean state appears afterwards as either "TRUE" or "FALSE". More...
 
static void DebugOutBlock (const void *pBuffer, int startoffset, int size)
 Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) until the whole memory block is dumped. More...
 
static void DebugOutByteArrayBlock (const void *pBuffer, int startoffset, int size)
 Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (as hex digits) as a C++ onebyte array, until the whole memory block is dumped. More...
 
static void DebugOut (const char *pszLine)
 Static method to output a line of text for debugging purposes. More...
 
- Protected Member Functions inherited from __FCBaseData
virtual void * Allocate ()=0
 
virtual void Deallocate ()
 
virtual bool IsDynamicSize ()
 
bool LoadDataBlock ()
 Loads the data. If the object is of dynamic size, the old memory block is freed and a new is allocated.
 
void ClearData ()
 
virtual twobyte CalcLastInci ()
 For internal use only! More...
 
virtual __FCBaseDataCreateObject ()=0
 Creates a new instance of the object. More...
 
bool DataIsLoaded () const
 Returns true is any data has been loaded into the object.
 
void _TagDocumentID ()
 For internal use only. More...
 
- Protected Member Functions inherited from __FCBase
 __FCBase ()
 The constructor.
 
- Protected Attributes inherited from __FCBaseData
EDOCID _connecteddocID
 The "connected" document ID., which is the document the where the document was loaded (or last saved). This is for a mechanism to prevent resaving of certain data in other documents.
 
void * _datablock
 Pointer to the object's data block, the meaning is implementation-specific for each derived subclass.
 
bool _heapdatablock
 Variable that tells if _datablock is dynamically created on the heap (and should be deleted at object destruction).
 
int _loadedsize
 Loaded size of the data block for a loaded object, in bytes. Since the datablock is implementation-specific, the _loadedsize should be updated by child classes that create new data. More...
 
EDataID _dataid
 The EdataID for the last loaded/saved object.
 

Detailed Description

Class for chord assignments to a measure/staff.

Please note that chords assignments are not sorted in any particular order within the measure. Use FCChord::GetMeasurePos() to find out the position.

Member Enumeration Documentation

◆ ALTERNATEBASS_PLACEMENT

For use with FCChord::SetChordAlternateBassPlacement()

Lua-supported.

Constructor & Destructor Documentation

◆ FCChord()

FCChord::FCChord ( )
inline

The constructor.

Lua-supported.

Member Function Documentation

◆ AnalyzeEntryChord()

bool FCChord::AnalyzeEntryChord ( FCNoteEntry pEntry)
inline

Analyzes the chord notes in the entry and map it to the chord object.

The entry must be available and stored in the document's TGF.

Lua-supported.

Returns
true if successful.

◆ CalcFretboardGroupID()

CMPER FCChord::CalcFretboardGroupID ( ) const
inline

Calculates the ID for the associated FCFretboardGroupDef as follows:

  • if the chord has a suffix, then the ID is the same value as GetChordSuffixID.
  • otherwise it is a hardcoded value for major or minor triads depending on the value of GetChordRootLowercase.

You can use CreateFretboardGroupDef to load the associated fret group without the need of using this function.

Lua-supported (0.68)

◆ ClassName()

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

◆ CreateChordSuffixElements()

FCChordSuffixElements * FCChord::CreateChordSuffixElements ( ) const

Creates an object with the chord suffix elements.

C++ callers are responsible for deleting the object from the heap after use, either with delere or by using a smart pointer.

Lua-supported.

Returns
NULL if there was no chord suffix. Otherwise, the created collection of the FCChordSuffixElements class.

◆ CreateFretboardGroupDef()

FCFretboardGroupDef * FCChord::CreateFretboardGroupDef ( ) const

Creates an object with the associated FCFretboardGroupDef.

C++ callers are responsible for deleting the object from the heap after use, either with delere or by using a smart pointer.

Lua-supported.

Returns
NULL if there was no fretboard group or the chord uses a fretboard font. Otherwise, the created instance of the FCFretboardGroupDef class.

◆ DebugDump()

void FCChord::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 __FCCellDetail.

◆ GetAlteration()

twobyte FCChord::GetAlteration ( ) const
inline

Returns the chord alteration, compared to the scale degree.

Returns
Typically 0, 1 or -1.

◆ GetAlternateBassAlteration()

twobyte FCChord::GetAlternateBassAlteration ( ) const
inline

Returns the alternate bass alteration, compared to the scale degree.

Lua-supported (also as property).

\return Typically 0, 1 or -1.

◆ GetAlternateBassScaleNumber()

twobyte FCChord::GetAlternateBassScaleNumber ( ) const
inline

Returns the scale degree of the alternate bass.

Lua-supported (also as property).

◆ GetCapo()

twobyte FCChord::GetCapo ( ) const
inline

Returns the capo value. For this value to be actively used, SetUseCapo must be called.

Lua-supported (also as property).

◆ GetChordAlternateBassLowercase()

bool FCChord::GetChordAlternateBassLowercase ( ) const
inline

If set, draw alternate bass using lowercase.

Lua-supported (also as property).

◆ GetChordAlternateBassPlacement()

ALTERNATEBASS_PLACEMENT FCChord::GetChordAlternateBassPlacement ( ) const
inline

Returns the placement for alternate bass.

Lua-supported (also as property).

Returns
Any of the ALTBASSPLACE_ constants.

◆ GetChordAlternateBassPlayback()

bool FCChord::GetChordAlternateBassPlayback ( ) const
inline

Returns the playback state of the alternate bass for the chord symbol.

Lua-supported (also as property).

◆ GetChordAlternateBassVisible()

bool FCChord::GetChordAlternateBassVisible ( ) const
inline

Returns true if the alternate bass is displayed.

Lua-supported (also as property).

◆ GetChordHorizontalPos()

twobyte FCChord::GetChordHorizontalPos ( ) const
inline

Returns the horizontal position (from the measure position) of the chord in EVPUs.

Lua-supported (also as property).

◆ GetChordResize()

twobyte FCChord::GetChordResize ( ) const
inline

Returns the resize value of the chord, in percent.

Lua-supported (also as property).

◆ GetChordRootLowercase()

bool FCChord::GetChordRootLowercase ( ) const
inline

Returns if the root should be drawn using lowercase.

Lua-supported (also as property).

◆ GetChordRootPlayback()

bool FCChord::GetChordRootPlayback ( ) const
inline

Returns the playback state of the chord root.

Lua-supported (also as property).

◆ GetChordRootVisible()

bool FCChord::GetChordRootVisible ( ) const
inline

Returns the display state of the chord root.

Lua-supported (also as property).

◆ GetChordSuffixID()

twobyte FCChord::GetChordSuffixID ( ) const
inline

Returns the chord suffix ID. Each chord can contain many different records for the same suffix, each representing a symbol in the suffix.

Use the CreateChordSuffixElements method to create an object with all the elements of a chord suffix.

Lua-supported (also as property).

◆ GetChordSuffixPlayback()

bool FCChord::GetChordSuffixPlayback ( ) const
inline

Returns the playback state of the chord suffix.

Lua-supported (also as property).

◆ GetChordSuffixVisible()

bool FCChord::GetChordSuffixVisible ( ) const
inline

Returns the display state of the chord suffix.

Lua-supported (also as property).

◆ GetChordVerticalPos()

twobyte FCChord::GetChordVerticalPos ( ) const
inline

Returns the vertical position (from the baseline) of the chord.

Lua-supported (also as property).

◆ GetChordVisible()

bool FCChord::GetChordVisible ( ) const
inline

Returns the display state of the chord.

Lua-supported (also as property).

◆ GetClassID()

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

◆ GetFretboardHorizontalPos()

twobyte FCChord::GetFretboardHorizontalPos ( ) const
inline

Returns the horizontal fretboard pos (relative to the chord)

Lua-supported (also as property).

◆ GetFretboardID()

int FCChord::GetFretboardID ( ) const
inline

Returns the 1-based "Fretboard ID" from the Chord Definition dialog.

This value is converted into a 0-based enigma incident (by subtracting 1) and then combined with CalcFretboardGroupID to access the FCFretboardGroupDef for this chord. However, callers should use the CreateFretboardGroupDef method to create an object for the assigned fretboard group to avoid including this logic in their code.

Lua-supported (also as property) (0.68)

◆ GetFretboardPlayback()

bool FCChord::GetFretboardPlayback ( ) const
inline

Returns the fretboard to playback/mute.

Lua-supported (also as property).

◆ GetFretboardResize()

twobyte FCChord::GetFretboardResize ( ) const
inline

Returns the resize value of the fretboard, in percent.

Lua-supported (also as property).

◆ GetFretboardStyleID()

twobyte FCChord::GetFretboardStyleID ( ) const
inline

Gets the fretboard style ID.

Fretboard styles are handled through the FCFretboardStyleDef class.

Lua-supported (also as property).

◆ GetFretboardUseFont()

bool FCChord::GetFretboardUseFont ( ) const
inline

Returns the fretboard to use a fretboard font.

Lua-supported (also as property).

◆ GetFretboardVerticalPos()

twobyte FCChord::GetFretboardVerticalPos ( ) const
inline

Returns the vertical fretboard pos (relative to the chord)

Lua-supported (also as property).

◆ GetFretboardVisible()

bool FCChord::GetFretboardVisible ( ) const
inline

Returns the display state of the fretboard.

Lua-supported (also as property).

◆ GetMeasurePos()

TimeEdu32 FCChord::GetMeasurePos ( ) const
inlineoverridevirtual

Gets the horizontal position within the measure.

Lua-supported (also as property).

Returns
The position in EDUs (Enigma duration units).

Reimplemented from __FCCellDetail.

◆ GetScaleNumber()

twobyte FCChord::GetScaleNumber ( ) const
inline

Returns the scale degree of the root.

Lua-supported (also as property).

◆ GetTransposer()

FCTransposer * FCChord::GetTransposer ( )

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

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

Lua-supported (0.67).

◆ GetUseCapo()

bool FCChord::GetUseCapo ( ) const
inline

Returns the setting if the chord should use the local capo setting.

Lua-supported (also as property).

◆ SetAlteration()

void FCChord::SetAlteration ( twobyte  alteration)
inline

Sets the chord alteration, compared to the scale degree.

Parameters
alterationTypically 0, 1 or -1.

◆ SetAlternateBassAlteration()

void FCChord::SetAlternateBassAlteration ( twobyte  alteration)
inline

Sets the alternate bass alteration, compared to the scale degree.

Lua-supported (also as property).

\param alteration Typically 0, 1 or -1.

◆ SetAlternateBassScaleNumber()

void FCChord::SetAlternateBassScaleNumber ( twobyte  scalenumber)
inline

Sets the scale degree number for the alternate bass.

Lua-supported (also as property).

◆ SetCapo()

void FCChord::SetCapo ( twobyte  value)
inline

Sets the capo value. For this value to be actively used, SetUseCapo must be called.

Lua-supported (also as property).

◆ SetChordAlternateBassLowercase()

void FCChord::SetChordAlternateBassLowercase ( bool  lowercase)
inline

If set, draw alternate bass using lowercase.

Lua-supported (also as property).

◆ SetChordAlternateBassPlacement()

void FCChord::SetChordAlternateBassPlacement ( ALTERNATEBASS_PLACEMENT  placement)
inline

Sets the placement type for the chord's alternate bass.

Lua-supported (also as property).

Parameters
placementAny of the ALTBASSPLACE_ constants.

◆ SetChordAlternateBassPlayback()

void FCChord::SetChordAlternateBassPlayback ( bool  playback)
inline

Sets the playback state of the alternate bass for the chord symbol.

Lua-supported (also as property).

◆ SetChordAlternateBassVisible()

void FCChord::SetChordAlternateBassVisible ( bool  state)
inline

Sets the display state of the alternate bass for the chord symbol.

Lua-supported (also as property).

◆ SetChordHorizontalPos()

void FCChord::SetChordHorizontalPos ( twobyte  value)
inline

Sets the horizontal position offset (from the measure pos) of the chord in EVPUs.

Lua-supported (also as property).

◆ SetChordResize()

void FCChord::SetChordResize ( twobyte  value)
inline

Sets the resize value of the chord, in percent.

Lua-supported (also as property).

◆ SetChordRootLowercase()

void FCChord::SetChordRootLowercase ( bool  state)
inline

If set, draw root using lowercase.

Lua-supported (also as property).

◆ SetChordRootPlayback()

void FCChord::SetChordRootPlayback ( bool  playback)
inline

Sets the playback state of the chord root.

Lua-supported (also as property).

◆ SetChordRootVisible()

void FCChord::SetChordRootVisible ( bool  state)
inline

Sets the display state of the chord root.

Lua-supported (also as property).

◆ SetChordSuffixID()

void FCChord::SetChordSuffixID ( twobyte  value)
inline

Sets the chord suffix ID. Each chord can contain many different versions of the same suffix within the same ID.

This value is also the ID (enigma cmper) for the FCFretboardGroupDef.

Lua-supported (also as property).

◆ SetChordSuffixPlayback()

void FCChord::SetChordSuffixPlayback ( bool  playback)
inline

Sets the playback state of the chord suffix.

Lua-supported (also as property).

◆ SetChordSuffixVisible()

void FCChord::SetChordSuffixVisible ( bool  state)
inline

Sets the display state of the chord suffix.

Lua-supported (also as property).

◆ SetChordVerticalPos()

void FCChord::SetChordVerticalPos ( twobyte  value)
inline

Sets the vertical position of the chord (from the baseline).

Lua-supported (also as property).

◆ SetChordVisible()

void FCChord::SetChordVisible ( bool  state)
inline

Sets the display state of the chord.

Lua-supported (also as property).

◆ SetFretboardHorizontalPos()

void FCChord::SetFretboardHorizontalPos ( twobyte  value)
inline

Sets the horizontal fretboard pos (relative to the chord).

Lua-supported (also as property).

◆ SetFretboardID()

void FCChord::SetFretboardID ( int  value)
inline

Sets the 1-based "Fretboard ID" from the Chord Definition dialog.

See comments at GetFretboardID for more information.

Lua-supported (also as property) (0.68)

◆ SetFretboardPlayback()

void FCChord::SetFretboardPlayback ( bool  playback)
inline

Sets the fretboard to playback/mute.

Lua-supported (also as property).

◆ SetFretboardResize()

void FCChord::SetFretboardResize ( twobyte  value)
inline

Sets the resize value of the fretboard, in percent.

Lua-supported (also as property).

◆ SetFretboardStyleID()

void FCChord::SetFretboardStyleID ( twobyte  value)
inline

Sets the fretboard style ID.

Fretboard styles are handled through the FCFretboardStyleDef class.

Lua-supported (also as property).

◆ SetFretboardUseFont()

void FCChord::SetFretboardUseFont ( bool  state)
inline

Sets the fretboard to use a fretboard font.

Lua-supported (also as property).

◆ SetFretboardVerticalPos()

void FCChord::SetFretboardVerticalPos ( twobyte  value)
inline

Sets the vertical fretboard pos (relative to the chord)

Lua-supported (also as property).

◆ SetFretboardVisible()

void FCChord::SetFretboardVisible ( bool  state)
inline

Sets the display state of the fretboard.

Lua-supported (also as property).

◆ SetMeasurePos()

void FCChord::SetMeasurePos ( TimeEdu32  position)
inline

Sets the horizontal position within the measure.

Lua-supported (also as property).

Parameters
positionThe position in EDUs (Enigma duration units).

◆ SetScaleNumber()

void FCChord::SetScaleNumber ( twobyte  scalenumber)
inline

Sets the scale degree number for the root.

Lua-supported (also as property).

◆ SetUseCapo()

void FCChord::SetUseCapo ( bool  state)
inline

Sets the chord to use the local capo setting.

Lua-supported (also as property).

◆ Tag()

EXTAG FCChord::Tag ( ) const
inlineoverridevirtual

The Enigma tag for the derived class.

(Have this public so it's possible to query from the outside world.)

Implements __FCBaseData.