11#include "ff_basecollection.h"
14#ifdef PDK_FRAMEWORK_ENTRIES
30#ifndef DOXYGEN_SHOULD_IGNORE_THIS
36 std::unique_ptr<FCTransposer> _pTransposer;
42 void _SetNoteFlag(FLAG_32 flag,
bool state)
49 bool _GetNoteFlag(FLAG_32 flag)
const {
return GetBitFlag(_pNote->flag, flag); }
54 const char*
ClassName()
const override {
return "FCNote"; }
62 _shouldbeerased =
false;
65#ifndef DOXYGEN_SHOULD_IGNORE_THIS
71 ENTNUM _GetEntryNumber();
74 EXNOTE* _GetEXNOTE() {
return _pNote; }
77 void _UpdateEXNOTE(EXNOTE* pNote) { _pNote = pNote; }
121#ifdef PDK_FRAMEWORK_DIAGNOSE
122 if ((_pNote->noteID < 0) || (_pNote->noteID > 32))
124 DebugOutInt(
"Illegal Note ID value in FCNote::GetDisplacement(): ", _pNote->noteID);
157 bool GetSpacing()
const {
return !_GetNoteFlag(NF_NOSPACING); }
175 bool GetTie()
const {
return _GetNoteFlag(NF_TIESTART); }
241#ifdef PDK_FRAMEWORK_PREFS
268 bool writtenpitch =
false);
390 void SetSpacing(
bool state) { _SetNoteFlag(NF_NOSPACING, !state); }
400 void SetPlayback(
bool state) { _SetNoteFlag(NF_NOPLAYBACK, !state); }
442 _pNote->noteID = noteid;
450 void SetTie(
bool value) { _SetNoteFlag(NF_TIESTART, value); }
616#ifdef PDK_FRAMEWORK_PREFS
684#ifndef DOXYGEN_SHOULD_IGNORE_THIS
689 void _SetNoteDetailEntryFlag(
bool state);
695 bool _GetNoteDetailEntryFlag();
701 void _SetPerformanceDataEntryFlag(
bool state);
707 bool _GetPerformanceDataEntryFlag();
713 void _SetSpecialAltsEntryFlag(
bool state);
719 bool _GetSpecialAltsEntryFlag();
726 void _SetCrossStaffEntryFlag(
bool state);
732 bool _GetCrossStaffEntryFlag();
738 void _SetArticulationEntryFlag(
bool state);
755#ifndef DOXYGEN_SHOULD_IGNORE_THIS
761 bool _GetShouldEraseState() {
return _shouldbeerased; }
765#ifdef PDK_FRAMEWORK_DEBUG
777#ifdef PDK_FRAMEWORK_ENTRIES
792 const char*
ClassName()
const override {
return "FCNotePitch"; }
796 memset(&_exnote, 0,
sizeof(_exnote));
802 memcpy(&_exnote , pNote->_GetEXNOTE(),
sizeof(EXNOTE));
819 TimeEdu32 _actualduration;
838 const char*
ClassName()
const override {
return "FCNotePitches"; }
840#ifdef PDK_FRAMEWORK_PREFS
904#ifdef PDK_FRAMEWORK_DEBUG
917#ifdef PDK_FRAMEWORK_ENTRIES
941#ifndef DOXYGEN_SHOULD_SKIP_THIS
943 EXTGF2005a* _pFrameRef;
944 twobyte _framemeasure;
950 void _SetXefFlag(FLAG_16 mask,
bool state)
956 void _SetEfFlag(FLAG_32 mask,
bool state)
962 bool _GetXefFlag(FLAG_32 mask)
const
964 return (_pEntryRef) ?
GetBitFlag(_pEntryRef->xef, mask) :
false;
967 bool _GetEfFlag(FLAG_32 mask)
const
969 return (_pEntryRef) ?
GetBitFlag(_pEntryRef->ef, mask) :
false;
972 void _UpdateNoteCollection();
978 twobyte _FindUniqueNoteID();
981 bool _CanBeBeamed()
const;
988 template<FCNoteEntry* (FCNoteEntry::*ITERATOR)()>
991#ifndef DOXYGEN_SHOULD_SKIP_THIS
992#ifdef PDK_FRAMEWORK_PREFS
999 template<FCNoteEntry* (FCNoteEntry::*ITERATOR)()>
1000 std::optional<int> _IterateFindRestsInSecondaryBeam(
FCNoteEntry* pNextOrPrevInBeam);
1010 FCNoteEntry* pNext = _IteratePotentialEntryInBeam<&FCNoteEntry::NextSameVInFrame>();
1011 if (pNext && pNext->
GetBeamBeat())
return nullptr;
1022 return _IteratePotentialEntryInBeam<&FCNoteEntry::PreviousSameVInFrame>();
1025#ifdef PDK_FRAMEWORK_PREFS
1032 template<FCNoteEntry* (FCNoteEntry::*ITERATOR)(), FCNoteEntry* (FCNoteEntry::*REVERSE_ITERATOR)()>
1037#if PDK_FRAMEWORK_PREFS
1042 twobyte _CalcVisibleBeams();
1067 QUARTER_NOTE = 1024,
1068 NOTE_QUARTER = 1024,
1071 SIXTEENTH_NOTE = 256,
1073 THIRTYSECOND_NOTE = 128,
1075 SIXTYFOURTH_NOTE = 64,
1081 const char*
ClassName()
const override {
return "FCNoteEntry"; }
1086 _pArticulationCache = NULL;
1087 _pEntryRef = pEntry;
1088 _framemeasure = pFrame->meas;
1089 _framestaff = FX_SlotToInst(pFrame->staffSlot, pFrame->iuList);
1090 _pFrameRef = pFrame;
1091 _pPreviousEntry = pPrevious;
1093 _UpdateNoteCollection();
1099#ifndef DOXYGEN_SHOULD_SKIP_THIS
1105 void _AttachNextEntry(
FCNoteEntry* pNext) { _pNextEntry = pNext; }
1110 void _AttachPreviousEntry(
FCNoteEntry* pNext) { _pPreviousEntry = pNext; }
1114 EXENTRY* _GetEXENTRY() {
return _pEntryRef; }
1118 EXTGF2005a* _GetTGFRef() {
return _pFrameRef; }
1125 int _CalcTGFIndex();
1128 void _TGFUpdate(EXTGF2005a* pTGF, EXENTRY* pEntry)
1131 _pEntryRef = pEntry;
1134 for (
int i = 0; i <
GetCount(); i++)
1137 pNote->_UpdateEXNOTE(&pEntry->note[i]);
1142 FCArticulations* _GetArticulationCache() {
return _pArticulationCache; }
1195 if (!_pPreviousEntry)
return NULL;
1196 if (_pPreviousEntry->_GetTGFRef() != _GetTGFRef())
return NULL;
1197 return _pPreviousEntry;
1209#ifdef PDK_FRAMEWORK_PREFS
1224 {
return _IterateBeamGroup<&FCNoteEntry::_NextPotentialInBeam, &FCNoteEntry::_PreviousPotentialInBeam>(); }
1227#ifdef PDK_FRAMEWORK_PREFS
1242 {
return _IterateBeamGroup<&FCNoteEntry::_PreviousPotentialInBeam, &FCNoteEntry::_NextPotentialInBeam>(); }
1256#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1258 luabridge::RefCountedPtr<FCArticulations> CreateArticulations_GC()
1273#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1275 luabridge::RefCountedPtr<FCNoteheadMods> CreateNoteheadMods_GC()
1290#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1292 luabridge::RefCountedPtr<FCPerformanceMods> CreatePerformanceMods_GC()
1307#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1309 luabridge::RefCountedPtr<FCTuplets> CreateTuplets_GC()
1321#ifndef DOXYGEN_SHOULD_SKIP_THIS
1327 void _PackEXENTRYNotes();
1333 bool _GetTupletDef(twobyte inci, EDTTuplet2005* pTuplet);
1417 void SetSpacing(
bool state) { _SetXefFlag(XEF_NOSPACING, !state); }
1425 void SetVisible(
bool state) { _SetEfFlag(EF_IGNOREBIT, !state); }
1589 void SetStemUp(
bool state) { _SetEfFlag(EF_UPSTEMBIT, state); }
1611 _SetEfFlag(EF_FLOATREST, state);
1922 TimeEdu32 timeedu_try = 8192;
1925 if (timeedu_try & duration)
return timeedu_try;
1941#ifdef PDK_FRAMEWORK_PREFS
2092 if (duration == 0)
return 0;
2093 if (duration > EIGHTH_NOTE)
return 0;
2094 twobyte retvalue = 1;
2095 TimeEdu32 tryvalue = EIGHTH_NOTE;
2098 if (tryvalue == duration)
return retvalue;
2355 if (!_pNextEntry)
return NULL;
2356 if (_pNextEntry->_GetTGFRef() != _GetTGFRef())
return NULL;
2375 bool IsNote() {
return _GetEfFlag(EF_NOTEBIT); }
2383 bool IsRest()
const {
return !_GetEfFlag(EF_NOTEBIT); }
2454 if (!
Next())
return true;
2468#ifdef PDK_FRAMEWORK_PREFS
2517#ifdef PDK_FRAMEWORK_PREFS
2532#ifdef PDK_FRAMEWORK_PREFS
2547#ifdef PDK_FRAMEWORK_PREFS
2562#ifdef PDK_FRAMEWORK_PREFS
2577#ifdef PDK_FRAMEWORK_PREFS
2800#ifndef PDK_FRAMEWORK_LUAFRIENDLY
3009#ifdef PDK_FRAMEWORK_DEBUG
3010#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3011 void DebugOutLocation()
3013 FCString location(
"Location - Staff: ");
3014 location.AppendInteger(
GetStaff());
3015 location.AppendCString(
" Measure: ");
3017 location.AppendCString(
" Duration Pos: ");
3049#ifdef PDK_FRAMEWORK_ENTRIES
3060#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3066 void _ClearTGF(EXTGF2005a* pTgf)
3068 FX_DeleteEXENTRY( pTgf, 0, pTgf->numEntries );
3072 void _CopyEntries(EXTGF2005a* pSourceTgf, EXTGF2005a* pDestinationTgf);
3077 const char*
ClassName()
const override {
return "__FCNoteEntryCollection"; }
3088 for (
int i = 0; i <
GetCount(); i++)
3103#ifdef PDK_FRAMEWORK_ENTRIES
3114 const char*
ClassName()
const override {
return "FCNoteEntries"; }
3118#ifdef PDK_FRAMEWORK_ENTRIES
3139 bool _findalternatenotation;
3143 bool _findvoice2launch;
3149 bool _loadedmetrics;
3153 void _AssureLoadedEntryCellMetrics();
3175#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3177 std::vector<EXTGF2005a*> _frames;
3189 void _SetupEntries();
3193 const char*
ClassName()
const override {
return "FCNoteEntryCell"; }
3202 _loadedmetrics =
false;
3205 _findvisible =
true;
3209 _findalternatenotation =
true;
3210 _findcutaway =
true;
3213 _findvoice2launch =
true;
3216 _loadmirrors =
true;
3281 for (
int i = 1; i <
GetCount(); i++)
3301 for (
int i = 0; i <
GetCount(); i++)
3319 if (!_frames[layerno - 1])
return -1;
3320 return FX_GetTGFDuration(_frames[layerno - 1]);
3332 for (
int i = 0; i < FX_GetMaxLayers(); i++)
3334 if (_frames[i]) FX_FreeTGF(_frames[i]);
3429#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3431 EXTGF2005a* _GetEXTGF(
int index) {
return _frames[index]; }
3434 bool _DeleteAllNullEntriesOld();
3509 for (
auto frame : _frames)
3511 if (frame && !frame->isMirror)
3512 FX_ReduceEntries(frame);
3815#ifdef PDK_FRAMEWORK_ENTRIES
3833#ifndef DOXYGEN_SHOULD_IGNORE_THIS
3834 twobyte _layerindex;
3836 twobyte _startmeasure;
3837 twobyte _endmeasure;
3840 bool _usevisiblelayeronly;
3843 EXTGF2005a** _tgfarray;
3849 void _SetupEntries();
3857 bool _LoadRedir(twobyte layer_redir,
3858 twobyte staff_redir,
3859 twobyte startmeasure_redir);
3871 EXTGF2005a* _SilentTGFUpdate(EXTGF2005a* pOldTGF);
3880 EXTGF2005a* _GetNextTGFRef(EXTGF2005a* pTGF)
3882 for (
int i = 0; i < _tgfcounter - 1; i++)
3884 if (_tgfarray[i] == pTGF)
return _tgfarray[i + 1];
3893 bool _DeleteAllRestFramesMethod(
bool keepentryattachedrestframes);
3898 const char*
ClassName()
const override {
return "FCNoteEntryLayer"; }
3913 FCNoteEntryLayer(twobyte layerindex, twobyte staff, twobyte startmeas = 1, twobyte endmeas = -1);
3928 for (
int i = 0; i < _tgfcounter; i++) {
3929 if (_tgfarray[i]) FX_FreeTGF(_tgfarray[i]);
3930 _tgfarray[i] = NULL;
3932 delete [] _tgfarray;
3987 for (
int i = 0; i < _tgfcounter; i++) {
3988 if (_tgfarray[i]) _ClearTGF(_tgfarray[i]);
4095 twobyte staff_redir,
4096 twobyte startmeasure_redir);
4098#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
4100 luabridge::RefCountedPtr<FCNoteEntryLayer> CreateCloneEntries_GC(twobyte layer_redir,
4101 twobyte staff_redir,
4102 twobyte startmeasure_redir)
4103 {
return makeLuaSharedPtr(
CreateCloneEntries(layer_redir, staff_redir, startmeasure_redir)); }
4188 if (pEntry1->
Next() != pEntry2)
return false;
4253#ifdef PDK_FRAMEWORK_DEBUG
4263 for (
int i = 0; i < _tgfcounter; i++) {
4269 DebugOutInt(
"===> .staffSlot ", _tgfarray[i]->staffSlot);
4291 bool _usevisiblelayersonly;
4304 _startmeasure = startmeas;
4305 _endmeasure = endmeas;
4306 _usevisiblelayersonly =
true;
4314 bool result =
false;
4315 for (
int layer = 0; layer < FX_GetMaxLayers(); layer++)
4319 if (pNoteEntryLayer->
Load()) result =
true;
4320 Add(pNoteEntryLayer);
4328 for (
int layeridx = 0; layeridx <
GetCount(); layeridx++)
4331 if (!pLayer->
Save())
return false;
4340 _usevisiblelayersonly = value;
Base class for the Finale Framework classes.
Definition ff_base.h:71
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 h...
Definition finaleframework.cpp:404
void Set16BitFlag(FLAG_16 *flag, FLAG_16 flagbits, bool state)
Sets a 16 bit flag.
Definition finaleframework.cpp:635
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 d...
Definition finaleframework.cpp:335
void Set32BitFlag(FLAG_32 *flag, FLAG_32 flagbits, bool state)
Sets/resets a 32 bit flag, by using a bit mask.
Definition finaleframework.cpp:643
static void DebugOut(const char *pszLine)
Static method to output a line of text for debugging purposes.
Definition finaleframework.cpp:526
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.
Definition ff_base.h:485
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition finaleframework.cpp:609
static void DebugOutBool(const char *pszPrefixText, bool state)
Static method that outputs a line for debugging purposes. The boolean state appears afterwards as eit...
Definition finaleframework.cpp:451
virtual void DebugDataDump()
Outputs a memory dump of the data block in the object for debugging purposes.
Definition finaleframework.cpp:617
Base class for all collection classes. A collection is a storage that can store multiple objects of s...
Definition ff_basecollection.h:26
void Add(__FCBase *pNewItem)
Adds an element to the end of the collection.
Definition finaleframework.cpp:13726
void ClearAll()
Destroys all the objects in the collection and empties the collection.
Definition ff_basecollection.h:151
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_basecollection.h:334
int GetCount() const
Returns the number of elements of the collection.
Definition ff_basecollection.h:102
__FCBase * GetItemAt(int index) const
Returns the object at the index position. Index is 0-based.
Definition finaleframework.cpp:13767
__FCCollection()
The constructor.
Definition ff_basecollection.h:74
Abstract class that encapsulate collections of note entries (of the FCNoteEntry class)....
Definition ff_noteframe.h:3058
FCNoteEntry * FindEntryNumber(ENTNUM entnum)
Finds the entry item in the collection with the given note entry number.
Definition ff_noteframe.h:3086
FCNoteEntry * GetItemAt(int index) const
Overridden version of GetItemAt().
Definition ff_noteframe.h:3097
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:3077
Collection class for FCArticulation class objects.
Definition ff_entrydetailscollection.h:25
static void MarkMetricsForRebuild()
Static method that sets the flag that the metrics should be rebuilt on the next load.
Definition ff_base.h:3850
static void MarkMetricsForRebuild()
Static method that sets the refresh flag, so the next Load call will rebuild the metrics data.
Definition ff_base.h:4175
Class for iterator handlers.
Definition ff_iterator.h:26
Class for key signatures. Instances of this class are auto-created by FCMeasure:GetKeySignature and F...
Definition ff_keysig.h:25
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition ff_region.h:25
Collection class for FCNoteEntry class objects. This class is intended for the collection of random e...
Definition ff_noteframe.h:3112
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:3114
Class that encapsulate a cell of note entries.
Definition ff_noteframe.h:3133
bool GetFindCutaway() const
Returns if entries that are hidden by cutaway notation should be searched in the 'Find' methods,...
Definition ff_noteframe.h:3608
bool Save()
Saves the note entries for the cell. Mirror frames are never saved.
Definition finaleframework.cpp:19162
LOADLAYERMODES
Special layer constants to be used with SetLoadLayerMode().
Definition ff_noteframe.h:3161
@ LLM_EVERYLAYER
Definition ff_noteframe.h:3169
@ LLM_HIDDENLAYERS
Definition ff_noteframe.h:3166
@ LLM_NONE
Definition ff_noteframe.h:3163
@ LLM_ALLVISIBILELAYERS
Definition ff_noteframe.h:3172
bool GetFindVoice2() const
Returns if entries that marked as voice 2 should be searched in the 'Find' methods,...
Definition ff_noteframe.h:3632
FCNoteEntry * AppendEntriesInLayer(int layerno, int noofentries)
Adds empty entries to the the end of a specific layer in the cell. The note entry cell must be loaded...
Definition finaleframework.cpp:18948
FCNoteEntry * FindClosestPos(TimeEdu32 pos)
Finds the entry that is closest to the indicated duration position. All loaded layers will be scanned...
Definition finaleframework.cpp:19288
void SetFindVoice1(bool state)
Sets if entries that marked as voice 1 should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3780
bool GetFindRests() const
Returns if rest entries should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3582
bool GetFindVisible() const
Sets if visible entries should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3549
bool GetLoadMirrors() const
Returns the state of mirror frame loading that will be used for the object at a Load() call.
Definition ff_noteframe.h:3538
bool GetFindAlternateNotation() const
Returns if entries that are hidden by a staff definition or staff style should be searched in the 'Fi...
Definition ff_noteframe.h:3596
twobyte GetMeasure() const
Returns the measure that the cell belongs to.
Definition ff_noteframe.h:3652
virtual ~FCNoteEntryCell()
The destructor.
Definition ff_noteframe.h:3225
FCNoteEntryCell(int measure, int staff)
The constructor.
Definition ff_noteframe.h:3199
bool CalcEntriesInMultiLayers()
Returns true if the note entry cell contain entries from more than one layer.
Definition ff_noteframe.h:3277
bool DeleteEntry(FCNoteEntry *pEntry)
Deletes an entry from the cell (and TGF).
Definition finaleframework.cpp:18980
bool CalcAccidental(FCNoteEntry *pEntry, FCNote *pNote)
Calculates the accidental state in the note entry cell. Only works on Finale 2014 and above.
Definition finaleframework.cpp:19032
void SetFindVoice2(bool state)
Sets if entries that marked as voice 2 should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3792
void SetFindHidden(bool state)
Sets if hidden entries should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3712
void SetLoadMirrors(bool state)
Sets if mirrors should be loaded as well. (The default is that mirrors are loaded....
Definition ff_noteframe.h:3686
FCNoteEntry * GetItemAt(int index) const
Overridden version of the GetItemAt() method.
Definition ff_noteframe.h:3811
bool GetFindNotes() const
Returns if note entries (=non-rests) should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3571
FCNoteEntry * GetRegionItemAt(int index, FCMusicRegion *pRegion)
Returns the entry item at the index position - but only if it's within the region.
Definition finaleframework.cpp:19208
void SetFindVoice2Launch(bool state)
Sets if entries that marked as voice 2 start should be searched in the 'Find' methods,...
Definition ff_noteframe.h:3804
TimeEdu32 CalcLayerDuration(int layerno)
Returns the duration of the indicated layer.
Definition ff_noteframe.h:3317
void SetFindNotes(bool state)
Sets if note entries (=non-rests) should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3725
FCNoteEntry * FindEntryStartPosition(TimeEdu32 pos, int layerno)
Finds the entry that starts exacly at the indicated measure position in the indicated layer (or in an...
Definition finaleframework.cpp:19255
bool DeleteAllNullEntries()
Deletes all entries from the cell (and TGF) that are 0 in duration.
Definition finaleframework.cpp:19097
bool GetFindVoice2Launch() const
Returns if entries that marked as voice 2 start should be searched in the 'Find' methods,...
Definition ff_noteframe.h:3644
bool ReduceEntries()
Breaks or combines the entries for the current time signature for the measure based on the rules of s...
Definition ff_noteframe.h:3507
bool IsLayerContainingEntries(int layerno)
Returns true if the indicated layer contains currently loaded note entries.
Definition ff_noteframe.h:3299
bool Load()
Loads the note entries for the cell. Which layers that will be loaded are controlled by the SetLoadLa...
Definition finaleframework.cpp:18898
bool MoveEntry(FCNoteEntry *pEntry, FCNoteEntryCell *pSourceEntryCell)
Moves the entry from one cell to another. The entry number is preserved (so all note-attached will fo...
Definition finaleframework.cpp:19008
int GetLoadLayerMode() const
Returns the "layer mode" that will be used for the object at a Load() call.
Definition ff_noteframe.h:3529
void ClearFrame()
Clears the collection and frees the associated TGF frame data.
Definition ff_noteframe.h:3329
FCNoteEntry * FindNextEntryPos(TimeEdu32 pos)
Finds the first entry that appears after the indicated position. All loaded layers will be scanned.
Definition finaleframework.cpp:19309
void SetFindVisible(bool state)
Sets if visible entries should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3699
void SetFindRests(bool state)
Sets if rest entries should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3738
FCNoteEntry * FindPreviousEntryPos(TimeEdu32 pos)
Finds the first entry that appears earlier than the indicated position. All loaded layers will be sca...
Definition finaleframework.cpp:19331
FCNoteEntry * FindCoveredEntry(TimeEdu32 pos, int layerno)
Finds the entry that is at the indicated measure position in the indicated layer.
Definition finaleframework.cpp:19274
void SetLoadLayerMode(int mode)
Sets the "layer mode" for the Load method. This must be called/st before any Load() call.
Definition ff_noteframe.h:3679
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:3193
void SetFindAlternateNotation(bool state)
Sets if entries that are hidden by a staff definition or staff style should be searched in the 'Find'...
Definition ff_noteframe.h:3754
twobyte GetStaff() const
Returns the staff that the cell belongs to.
Definition ff_noteframe.h:3660
bool GetFindHidden() const
Returns if hidden entries should be searched in the 'Find' methods, or not.
Definition ff_noteframe.h:3560
void SetFindCutaway(bool state)
Sets if entries that are hidden by cutaway notation should be searched in the 'Find' methods,...
Definition ff_noteframe.h:3768
bool GetFindVoice1() const
Returns if entries that marked as voice 1 should be searched in the 'Find' methods,...
Definition ff_noteframe.h:3620
Class that encapsulate ALL the entry metrics data in a note entry cell, as well as the cell metrics....
Definition ff_basecollection.h:1463
Encapsulates a note entry from an owner class (for example FCNoteEntryCell, FCNoteEntryLayer) class.
Definition ff_noteframe.h:940
FCNote * FindNoteID(twobyte noteID)
Definition finaleframework.cpp:17783
TimeEdu32 GetDuration() const
Gets the symbolic duration of the entry. For tuplet entries, the symbolic duration would be different...
Definition ff_noteframe.h:1889
bool GetGraceNoteSlash() const
Gets the grace note slash state of the note entry.
Definition ff_noteframe.h:1845
void SetNoteFlag(bool state)
Sets if the entry is a note or a rest.
Definition ff_noteframe.h:1387
Evpu16 GetManualPosition() const
Gets the manual positioning of the entry.
Definition ff_noteframe.h:1966
bool HasSameNotes(FCNoteEntry *pEntry)
Compares the notes with the notes in another note entry.
Definition finaleframework.cpp:17736
FCNoteEntry * NextInBeamedGroup()
Returns the next note entry in a beamed group or NULL if there is none.
Definition ff_noteframe.h:1223
bool GetSplitStem() const
Gets the "Split Stem" state for the note entry.
Definition ff_noteframe.h:1756
FCNoteEntry * PreviousInBeamedGroup()
Returns the previous note entry in a beamed group or NULL if there is none.
Definition ff_noteframe.h:1241
void MakeNote()
Turns the entry into a note.
Definition finaleframework.cpp:18754
bool GetStemUp() const
Returns the state of the "up" bit for the entry. This is NOT the same as the true direction for the s...
Definition ff_noteframe.h:1871
bool RelinkToCurrentView()
Relinks the unlinkable items in the current view so that the score and part(s) match.
Definition finaleframework.cpp:18136
bool GetNoteDetailFlag() const
Returns true for existing note detail records.
Definition ff_noteframe.h:2246
FCNote * AddNewNote()
Adds a new note to the chord.
Definition finaleframework.cpp:17794
bool GetSecondaryBeamFlag() const
Returns true for secondary beam detail records.
Definition ff_noteframe.h:2293
void SetSmartShapeFlag(bool state)
Sets the flag that marks that a smart shape is attached to the entry.
Definition ff_noteframe.h:1650
void SetStemDetailFlag(bool state)
Sets the flag state for stem detail records.
Definition ff_noteframe.h:1670
bool GetBeamExtensionFlag() const
Returns true for beam extension detail records.
Definition ff_noteframe.h:2301
twobyte CalcResize()
Calculates the resize percent for the note entry.
Definition finaleframework.cpp:18101
bool CalcDisplaysAsRest() const
Calculates if this entry displays as a rest in the current score or part view, taking into account th...
Definition ff_noteframe.h:2004
bool IsNote()
Returns true if entry is a note.
Definition ff_noteframe.h:2375
bool GetLedgerLines() const
Gets the ledger line state for the note entry.
Definition ff_noteframe.h:1732
void SetCrossStaff(bool state)
Sets the cross staff state for the entry.
Definition ff_noteframe.h:1473
twobyte CalcHighestStaffPosition()
Calculates the highest staff position for a note in the entry's chord.
Definition finaleframework.cpp:17420
void SetPerformanceDataFlag(bool state)
Sets the flag state for performance data records.
Definition ff_noteframe.h:1628
void SetSpecialAltsFlag(bool state)
Sets the flag state for special alteration records.
Definition ff_noteframe.h:1636
ENTNUM GetEntryNumber() const
Returns the internal entry number (ID) for the note entry.
Definition ff_noteframe.h:1319
bool CalcBeamedGroupEnd()
Returns true if it's the end entry in a beamed group.
Definition finaleframework.cpp:18295
int AddPitch(FCNote *pNote)
Adds a note to a chord.
Definition finaleframework.cpp:18653
int CalcGraceNoteIndex()
Returns the grace note index for the entry.
Definition finaleframework.cpp:17394
twobyte CalcStemLength()
Calculates the stem length, based on the entry metrics.
Definition finaleframework.cpp:18110
void SetGraceNoteSlash(bool state)
Sets the slashed state for a grace note entry.
Definition ff_noteframe.h:1462
FCNoteheadMods * CreateNoteheadMods()
Creates a collection for all the notehead modifications attached to the note entry.
Definition finaleframework.cpp:17346
bool IsDotted()
Returns true if it's a dotted entry.
Definition finaleframework.cpp:18472
void SetLegality(bool state)
Sets the legality bit, marking that the entry is valid.
Definition ff_noteframe.h:1558
void SetTupletStartFlag(bool state)
Sets the flag that marks that a tuplet starts on the entry.
Definition ff_noteframe.h:1656
bool IsAllTied()
Returns true if all of the notes in the chord is tied to the next entry.
Definition finaleframework.cpp:18450
bool CalcMultiLayeredCell()
Returns true if the entry is in a cell with multiple layers of music.
Definition finaleframework.cpp:17489
void SetMeasurePos(TimeEdu32 value)
Sets the elapsed position in the measure for the entry.
Definition ff_noteframe.h:1709
bool CalcHiddenThroughAltNotation()
Calculates if entry is hidden through alternate notation.
Definition finaleframework.cpp:17656
void CopyEntry(FCNoteEntry *pFromEntry)
Copies the duration and notes (or rest) from the source entry.
Definition finaleframework.cpp:17847
twobyte CalcBeamCount()
Returns the number of beams/flags for the entry, based on the duration.
Definition ff_noteframe.h:2089
bool CalcUniquePitchString(FCString *pString)
Creates a "pitch ID" string for the entry.
Definition finaleframework.cpp:17369
int CalcLowestBeamStart()
Returns the lowest beam number starting at this entry, where 1 = 8th note beam, 2 = 16th note beam,...
Definition finaleframework.cpp:18344
bool IsTied()
Returns true if any of the notes in the chord is tied to the next entry.
Definition finaleframework.cpp:18428
bool GetVoice2Launch() const
Returns true if the entry launches voice 2.
Definition ff_noteframe.h:1859
void SetVoice2Launch(bool state)
Sets the entry that controls the launch of voice 2.
Definition ff_noteframe.h:1454
void SetFloatingRest(bool state)
Sets the floating rest status of the entry.
Definition ff_noteframe.h:1606
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:1081
bool GetVoice2() const
Returns true if it's a voice 2 entry.
Definition ff_noteframe.h:1852
void SetDuration(TimeEdu32 duration)
Sets the symbolic duration of the note. For tuplet entries, the symbolic duration would be different ...
Definition ff_noteframe.h:1598
FCNoteEntry * Next()
Returns the next entry in the loaded entry chain (within the same layer).
Definition ff_noteframe.h:2343
twobyte CalcLowestDisplacement()
Calculates the lowest displacement value found in the entry's chord.
Definition finaleframework.cpp:17461
void SetFlatBeam(bool state)
Sets the "flat beam" state of the entry.
Definition ff_noteframe.h:1499
bool IsPartOfTuplet()
Returns true if the entry is part of a tuplet.
Definition finaleframework.cpp:18536
bool GetArticulationFlag() const
Returns true if the entry is marked to contain articulations.
Definition ff_noteframe.h:2308
int CalcNumberOfVisibleNotes() const
Calculates the number of notes visible in the current score or part view, taking into account any tha...
Definition finaleframework.cpp:17408
void SetCombineRests(bool state)
Sets the flag for if the rest should combine.
Definition finaleframework.cpp:17321
bool GetPlayback() const
Gets the playback state of the note entry.
Definition ff_noteframe.h:1789
bool GetReverseDownStem() const
Gets the reverse stem setting for down stem.
Definition ff_noteframe.h:1750
bool GetLegality() const
Gets the legality bit, that marks that the entry is valid.
Definition ff_noteframe.h:1764
bool IsPartOfTupletParam(TupletInfo *pInfoStorage=NULL)
Returns true if the entry is part of a tuplet (parameter version).
Definition finaleframework.cpp:18559
bool GetReverseUpStem() const
Gets the reverse stem setting for up stem.
Definition ff_noteframe.h:1744
bool GetCrossStaff() const
Returns the cross staff state for the entry.
Definition ff_noteframe.h:1879
FCNoteEntry * CreateShallowClone()
Creates a shallow copy of the note entry, meaning that the reference to the entry,...
Definition finaleframework.cpp:18829
FCNote * CalcLowestNote(FCNote *pFloor=NULL)
Finds the note with the lowest pitch in the chord.
Definition finaleframework.cpp:17562
virtual ~FCNoteEntry()
Definition finaleframework.cpp:17305
static int CalcDotsForDuration(TimeEdu32 duration)
Static method that calculates the number of dots a specific duration would get.
Definition finaleframework.cpp:17248
FCTuplets * CreateTuplets()
Creates a collection for all the tuplets connected to the note entry.
Definition finaleframework.cpp:17360
void SetBeamExtensionFlag(bool state)
Sets the flag state for beam extension detail records.
Definition ff_noteframe.h:1686
twobyte CalcHighestDisplacement()
Calculates the highest displacement value found in the entry's chord.
Definition finaleframework.cpp:17448
void SetFreezeBeam(bool state)
Sets the freeze state for the "beam/beat".
Definition ff_noteframe.h:1489
void SetClefIndex(eClef clef)
Sets the clef index for the entry.
Definition ff_noteframe.h:1575
void SetSplitRest(bool state)
Sets the split rest state of the note entry. (Applies if note entry is a rest.)
Definition ff_noteframe.h:1441
bool GetFlatBeam() const
Gets the "flat beam" state of the entry.
Definition ff_noteframe.h:1781
FCNote * CalcHighestPercussionNote()
For percussion notation, calculates the topmost percussion note.
Definition finaleframework.cpp:17607
int AddArticulations(FCNoteEntry *pSourceEntry, bool bNoDuplicates=true)
Adds (appends to the existing ones) all articulations from another entry.
Definition finaleframework.cpp:18665
bool IsTiedBackwards()
Returns true if any of the notes in the chord is flagged to be tied from the previous entry.
Definition finaleframework.cpp:18439
FCArticulations * CreateArticulations()
Creates a collection for all the articulations attached to the note entry.
Definition finaleframework.cpp:17339
bool GetGraceNote() const
Gets the grace note state of the note entry.
Definition ff_noteframe.h:1828
void CopyNotes(FCNoteEntry *pFrom)
Copies all pitches and other note information from another entry. The old notes for the entry will be...
Definition finaleframework.cpp:17827
bool GetTupletStartFlag() const
Returns true if the entry is marked to start a tuplet.
Definition ff_noteframe.h:2271
static TimeEdu32 CalcNondottedDurationForDuration(TimeEdu32 duration)
Static method that truncates duration to give only return the non-dotted duration value.
Definition finaleframework.cpp:17236
twobyte CalcLowestStaffPosition()
Calculates the lowest staff position for a note in the entry's chord.
Definition finaleframework.cpp:17434
bool CalcUnbeamedNote()
Returns true if the entry is a non-beamed note (=not part of a beamed group.)
Definition finaleframework.cpp:18411
bool IsAllTiedBackwards()
Returns true if all of the notes in the chord has a flagged to be tied from the previous entry.
Definition finaleframework.cpp:18461
FCNote * CalcLowestPercussionNote()
For percussion notation, calculates the bottommost percussion note.
Definition finaleframework.cpp:17686
bool GetVisible() const
Gets the visibility state of the note entry.
Definition ff_noteframe.h:1820
bool CalcSmallestNoteheadResize(FCNumber *pSmallestFontSize, FCNumber *pSmallestResize)
Calculates the smallest point size and the smallest notehead % resize for the entry.
Definition finaleframework.cpp:18043
void SetVoice2(bool state)
Sets the voice 2 status for the entry.
Definition ff_noteframe.h:1448
bool CalcLargestNoteheadResize(FCNumber *pLargestFontSize, FCNumber *pLargestResize)
Calculates the largest point size and the largest notehead % resize for the entry.
Definition finaleframework.cpp:18010
TimeEdu32 GetActualDuration() const
Gets the actual duration of the entry. For tuplet entries, the symbolic duration would be different f...
Definition ff_noteframe.h:1907
void SetGraceNote(bool state)
Sets the grace note state of the note entry.
Definition ff_noteframe.h:1433
void SetActualDuration(TimeEdu32 value)
Sets the actual duration for the entry.
Definition ff_noteframe.h:1695
bool IsRestMovable()
Returns true if it's a movable rest.
Definition finaleframework.cpp:18711
static bool IsValidDuration(TimeEdu32 duration)
Static method that evaluates the validity of a duration value.
Definition finaleframework.cpp:17264
FCNoteEntry * CalcBeamStartEntry()
Returns the start entry of the beamed group where the entry belongs. If the "Extend beams over rests"...
Definition finaleframework.cpp:18303
void SetReverseUpStem(bool state)
Sets the reverse stem setting for up stem.
Definition ff_noteframe.h:1524
void SetRestDisplacement(twobyte value)
Sets the displacement for a rest entry.
Definition finaleframework.cpp:17314
void SetManualPosition(Evpu16 pos)
Sets the manual positioning of the entry.
Definition ff_noteframe.h:1564
bool RelinkToScore()
Relinks the unlinkable items in all parts to the contents of the score.
Definition finaleframework.cpp:18175
twobyte CalcDots()
Returns the number of dots for a dotted entry.
Definition ff_noteframe.h:1936
int CalcLowestBeamEnd()
Returns the lowest beam number ending at this entry, where 1 = 8th note beam, 2 = 16th note beam,...
Definition finaleframework.cpp:18376
FCNote * FindDisplacement(twobyte displacement)
Tries to finds a note in the chord with a specific displacement value.
Definition finaleframework.cpp:18776
bool GetLyricFlag() const
Returns the flag that marks that an entry has syllable attached to it.
Definition ff_noteframe.h:2277
void SetBeamBeat(bool state)
Sets the "beam/beat" state of the entry.
Definition ff_noteframe.h:1481
FCNoteEntry * NextSameVInFrame()
Returns the next note entry in the same V1 or V2 within the current frame. If the current instance of...
Definition finaleframework.cpp:18812
bool GetFreezeStem() const
Gets the "Freeze Stem" state for the note entry.
Definition ff_noteframe.h:1738
void SetFlipTie(bool state)
Sets the "flip tie" of the note entry.
Definition ff_noteframe.h:1409
bool IsRest() const
Returns true if entry is a rest.
Definition ff_noteframe.h:2383
bool GetSpacing() const
Gets the music spacing state of the note entry.
Definition ff_noteframe.h:1812
void SetSecondaryBeamFlag(bool state)
Sets the flag state for secondary beam detail records.
Definition ff_noteframe.h:1678
bool IsLastInMeasure()
Returns true if it's the last entry in the measure frame.
Definition ff_noteframe.h:2452
void SetCheckAccidentals(bool state)
Marks the entry that the accidentals should be verified when the frame is saved.
Definition finaleframework.cpp:18850
bool GetSmartShapeFlag() const
Returns true if the entry is marked to contain smart shapes.
Definition ff_noteframe.h:2315
static TimeEdu32 CalcValidDuration(TimeEdu32 duration)
Static method that calculates a valid note duration value by truncating the value if necessary.
Definition finaleframework.cpp:17284
FCNoteEntry * NextInFrame()
Returns the next note entry in the linked collection (layer or cell), but only within the frame.
Definition ff_noteframe.h:2353
TimeEdu32 CalcNondottedDuration()
Returns the non-dotted symbolic duration of the entry.
Definition ff_noteframe.h:1919
FCNoteEntry * PreviousSameVInFrame()
Returns the previous note entry in the same V1 or V2 within the current frame. If the current instanc...
Definition finaleframework.cpp:18798
void CopyEntryPercussionDetails(FCNoteEntry *pFromEntry)
Copies note-related data between percussion entries.
Definition finaleframework.cpp:17920
ENTRY_DURATIONS
Defintions of common note durations, for use with any operation where the TimeEdu32 type is used.
Definition ff_noteframe.h:1061
bool GetCombineRests() const
Returns the flag for if the rest should combine.
Definition finaleframework.cpp:17327
twobyte CalcWidestNoteheadWidth()
Returns the widest width of a notehead in the entry, as the non-printing width.
Definition finaleframework.cpp:18078
int CalcDisplacementMatchCount(FCNoteEntry *pCompareEntry)
Calculates the number of matching note displacements between the entries.
Definition finaleframework.cpp:17499
FCNoteEntry(EXENTRY *pEntry, EXTGF2005a *pFrame, FCNoteEntry *pPrevious)
The constructor.
Definition ff_noteframe.h:1084
bool IsTiedToPrevious()
Return true if the previous entry has a tie to this entry.
Definition finaleframework.cpp:18418
void SetSplitStem(bool state)
Sets the "Split Stem" state for the note entry.
Definition ff_noteframe.h:1536
bool GetFreezeBeam() const
Gets the freeze state for the "beam/beat".
Definition ff_noteframe.h:1771
bool IsStartOfTupletParam(TupletInfo *pInfoStorage=NULL)
Returns true if the entry is the start of a tuplet (parameter version).
Definition finaleframework.cpp:18521
bool CalcStemUp()
Returns the direction of the beam.
Definition finaleframework.cpp:17999
bool GetCheckAccidentals() const
Returns the accidental "refresh" flag.
Definition finaleframework.cpp:18856
FCNote * CalcHighestNote(FCNote *pCeiling=NULL)
Finds the note with the highest pitch in the chord.
Definition finaleframework.cpp:17517
void SetArticulationFlag(bool state)
Sets the flag that marks that an articulation is attached to the entry.
Definition ff_noteframe.h:1644
void SetLedgerLines(bool state)
Sets the ledger line state for the note entry.
Definition ff_noteframe.h:1507
bool GetStemDetailFlag() const
Gets the flag state for stem detail records.
Definition ff_noteframe.h:2285
void SetAccidentals(bool bAccidental)
Sets/removes accidental display for all chord notes in the entry.
Definition finaleframework.cpp:17817
void SetSpacing(bool state)
Sets the music spacing state of the note entry.
Definition ff_noteframe.h:1417
FCNotePitches * CreateNotePitches()
Create local copies of the note pitches in a collection.
Definition finaleframework.cpp:18835
bool GetFloatingRest() const
Gets the floating rest status of the entry.
Definition ff_noteframe.h:1897
bool CalcFlippable()
Signals if the entry would flip when the up/down state is changed.
Definition finaleframework.cpp:18198
bool GetBeamBeat() const
Gets the "beam/beat" flag state of the entry.
Definition ff_noteframe.h:1717
void SetLyricFlag(bool state)
Sets the flag that marks that an entry has syllable attached to it.
Definition ff_noteframe.h:1662
FCNoteEntry * CalcLastTupletEntry(FCTuplet *pTuplet)
Scans forward and returns the end entry of a tuplet that's connected to this entry object.
Definition finaleframework.cpp:18483
bool GetFlipTie() const
Gets the "flip tie" state of the note entry.
Definition ff_noteframe.h:1804
FCNoteEntry * PreviousInFrame()
Returns the previous note entry in the linked collection (layer or cell), but only within the frame.
Definition ff_noteframe.h:1193
bool IsSameMeasurePosAs(FCNoteEntry *pCompareEntry)
Returns true if the compared entry is at the same measure/measure position as the object.
Definition finaleframework.cpp:18513
twobyte GetLayerNumber() const
Returns the 1-based layer number that the entry belongs to.
Definition ff_noteframe.h:1959
bool DeleteNote(FCNote *pNote)
Deletes a note from a chord. The note collection is rebuilt after the deletion.
Definition finaleframework.cpp:17941
void SetFreezeStem(bool state)
Sets the "Freeze Stem" state for the note entry.
Definition ff_noteframe.h:1518
bool GetPerformanceDataFlag() const
Returns true for existing performance data records.
Definition ff_noteframe.h:2256
twobyte GetRestDisplacement()
Returns the rest displacement.
Definition finaleframework.cpp:17333
FCNote * GetItemAt(int index) const
Overload version of GetItemAt(), which returns a note object (if available) for the note entry.
Definition ff_noteframe.h:1053
bool GetSplitRest() const
Gets the split rest state of the note entry. (Applies if note entry is a rest.)
Definition ff_noteframe.h:1836
int CalcLowestBeamStub()
Returns the lowest beam number that is a stand-alone beam stub. 1 = 8th note beam,...
Definition finaleframework.cpp:18400
FCNote * FindPitch(FCNote *pPitchNote)
Tries to finds a note in the chord with the identical pitch as the suppied note.
Definition finaleframework.cpp:18787
bool GetSpecialAltsFlag() const
Returns true for existing special alteration records.
Definition ff_noteframe.h:2264
void SetNoteDetailFlag(bool state)
Sets the flag state for note detail records.
Definition ff_noteframe.h:1620
twobyte GetMeasure() const
Returns the entry's measure.
Definition ff_noteframe.h:2323
twobyte CalcDisplacementRange()
Calculates the range of the highest and lowest note in a chord.
Definition finaleframework.cpp:17474
FCNoteEntry * Previous()
Returns the previous note entry in the linked collection (layer or cell).
Definition ff_noteframe.h:1183
void CopyNote(FCNote *pFrom)
Copies all pitches and other note information from one single note. The old notes for the entry will ...
Definition finaleframework.cpp:17839
void ClearPitches()
Clears all pitches from the entry, to prepare to add new notes.
Definition finaleframework.cpp:18607
void MakeMovableRest()
Turns the entry into a movable rest.
Definition finaleframework.cpp:18731
void SetPlayback(bool state)
Sets the playback state of the note entry.
Definition ff_noteframe.h:1395
bool IsStartOfTuplet()
Returns true if the entry is the start of a tuplet.
Definition finaleframework.cpp:18508
bool IsOverlappedEntry(FCNoteEntry *pTestEntry)
Returns true if the test entry is at least partly overlapping the current entry.
Definition finaleframework.cpp:18541
eClef GetClefIndex() const
Gets the clef that's used for the entry.
Definition ff_noteframe.h:1976
void MakeRest()
Turns the entry into a rest (without any displacement).
Definition finaleframework.cpp:18720
void SetVisible(bool state)
Sets the visibility state of the note entry.
Definition ff_noteframe.h:1425
void TieAll(bool bTie)
Ties or unties all chord notes for the entry.
Definition finaleframework.cpp:17807
TimeEdu32 GetMeasurePos() const
Returns the elapsed duration position in the measure for the entry.
Definition ff_noteframe.h:2238
int AddPitches(FCNoteEntry *pSourceEntry, bool unique, bool settie=false)
Adds (appends to the existing notes) all notes from another entry.
Definition finaleframework.cpp:18613
static void MarkEntryMetricsForUpdate()
Static method that mark that the entry-related layout info needs to be rebuilt (for CalcStemUp(),...
Definition ff_noteframe.h:2662
twobyte GetStaff() const
Returns the entry's staff.
Definition ff_noteframe.h:2331
void CopyEntryDetails(FCNoteEntry *pFromEntry, bool copytuplets)
Copies note-related data from another entry.
Definition finaleframework.cpp:17858
void CacheArticulations()
Stores the available articulations in a cache memory.
Definition finaleframework.cpp:18697
void SetReverseDownStem(bool state)
Sets the reverse stem setting for down stem.
Definition ff_noteframe.h:1530
FCPerformanceMods * CreatePerformanceMods()
Creates a collection for all the MIDI performance modifications attached to the note entry.
Definition finaleframework.cpp:17353
void SetStemUp(bool state)
Sets the "stem up" flag for the entry.
Definition ff_noteframe.h:1589
Class to load a layer on the same staff. This class is for example suitable when working with music l...
Definition ff_noteframe.h:3832
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:3898
twobyte GetStaff() const
Returns the 1-based staff number where the layer is loaded/saved.
Definition ff_noteframe.h:4004
FCNoteEntry * GetRegionItemAt(int index, FCMusicRegion *pRegion)
Returns the indexed item that appear in the region.
Definition finaleframework.cpp:19816
FCNoteEntryLayer(twobyte layerindex, twobyte staff, twobyte startmeas=1, twobyte endmeas=-1)
The constructor.
Definition finaleframework.cpp:19364
int CalcRegionCount(FCMusicRegion *pRegion)
Calculates the number of entries that are within the region.
Definition finaleframework.cpp:19806
FCNoteEntries * CreateRegionEntries(FCMusicRegion *pRegion)
Extracts just the entries that are within the region into a collection.
Definition finaleframework.cpp:19849
bool GetUseVisibleLayer() const
Gets the value that controls to only load visible layers.
Definition ff_noteframe.h:4033
twobyte GetStartMeasure() const
Returns the 1-based start measure number.
Definition ff_noteframe.h:4010
bool DeleteAllNullEntries()
Deletes all entries from the layer (and TGFs) that are 0 in length.
Definition finaleframework.cpp:19556
bool Save()
Saves the note entries for the layer. Mirrors frames are never saved.
Definition finaleframework.cpp:19720
FCNoteEntry * InsertEntriesAfter(FCNoteEntry *pPositionEntry, int count, bool nextmeasure=false)
Inserts empty entries to the TGF frame at the indicated point.
Definition finaleframework.cpp:19946
bool DeleteAllNonconnectedRestFrames()
Similar to DeleteAllRestFrames, but this doesn't delete rest frames that have smartshapes or articula...
Definition finaleframework.cpp:19682
twobyte GetEndMeasure() const
Returns the 1-based end measure number.
Definition ff_noteframe.h:4017
void SetLoadMirrors(bool state)
Sets if mirror frames should be loaded. The default is that they are loaded.
Definition ff_noteframe.h:4060
bool Load()
Loads the note entries for the layer. Mirror frames are loaded based on the GetLoadMirrors setting.
Definition finaleframework.cpp:19385
void ClearFrames()
Clears the collection and frees all associated TGF frame data.
Definition ff_noteframe.h:3926
twobyte GetLayerIndex() const
Returns the 0-based layer number where the layer data is loaded/saved.
Definition ff_noteframe.h:3998
void SetUseVisibleLayer(bool value)
Sets the value to only load visible layers.
Definition ff_noteframe.h:4042
bool CloneTuplets(FCNoteEntryLayer *pSource)
Copies the tuplets from one layer to another identical layer after a layer has been cloned....
Definition finaleframework.cpp:19771
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_noteframe.h:4254
virtual ~FCNoteEntryLayer()
The destructor.
Definition ff_noteframe.h:3916
void SetLayerIndex(twobyte layerno)
Sets the layer number. USE WITH EXTREME CARE!
Definition finaleframework.cpp:19491
bool DeleteAllRestFrames()
Deletes all full frames (measures) that only contains of rests in the note entry layer.
Definition finaleframework.cpp:19687
TimeEdu32 CalcFrameDuration(int measurenumber)
Calculates the duration of a frame (in one measure) based on the entries in the frame.
Definition finaleframework.cpp:19799
void ClearAllEntries()
Removes all the entries from the layer, but keeps all the TGFs. So it's possible to (for example) sav...
Definition ff_noteframe.h:3985
int ForEachInRegion(FCIteratorHandler *pIterator, FCMusicRegion *pRegion)
Iterates through the layer's entries that fit in a region.
Definition finaleframework.cpp:19831
bool IsInSuccession(FCNoteEntry *pEntry1, FCNoteEntry *pEntry2)
Verifies that 2 entries really appears directly after one another in the layer.
Definition ff_noteframe.h:4186
int CalcMeasureSpan()
Returns the total number of measures the layer spans.
Definition ff_noteframe.h:4214
FCNoteEntryLayer * CreateCloneEntries(twobyte layerindex_redir, twobyte staff_redir, twobyte startmeasure_redir)
Creates a cloned copy that can be saved as a copy. The cloned copy is recreated from reloaded Finale ...
Definition finaleframework.cpp:19760
bool GetLoadMirrors() const
Returns if mirror frames should be loaded. The default is that they are loaded.
Definition ff_noteframe.h:4024
FCNoteEntry * InsertEntriesBefore(FCNoteEntry *pPositionEntry, int count)
Inserts empty entries to the TGF frame before the indicated point.
Definition finaleframework.cpp:19871
FCNoteEntry * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_noteframe.h:4252
Collection class to load all layers for a staff, to be used when the entries in the layers need to in...
Definition ff_noteframe.h:4286
FCNoteEntryLayers(twobyte staff, twobyte startmeas=1, twobyte endmeas=-1)
The constructor.
Definition ff_noteframe.h:4301
FCNoteEntryLayer * GetItemAt(int index) const
Overloaded version of GetItemAt().
Definition ff_noteframe.h:4344
bool SaveAll()
Saves all the layers for the full measure span.
Definition ff_noteframe.h:4326
bool LoadAll()
Load all the layers for the full measure span and assemble them into a collection....
Definition ff_noteframe.h:4312
void SetUseVisibleLayersOnly(bool value)
Sets the value to if only visible layers should be loaded or not.
Definition ff_noteframe.h:4338
Encapsulates one note in a note entry (from the FCNoteEntry class).
Definition ff_noteframe.h:29
int CalcCrossStaffNumber()
Returns the staff ID that belongs to the cross staff note.
Definition finaleframework.cpp:16377
void SetPlayback(bool state)
Sets if the note should play back or be muted.
Definition ff_noteframe.h:400
twobyte CalcMIDIKey()
Returns the MIDI key number for the note.
Definition finaleframework.cpp:16674
void SetCrossStaff(bool state)
Sets the cross staff state for the note.
Definition ff_noteframe.h:471
bool IsUpper2nd() const
Returns true if this note is an upper 2nd in a chord.
Definition finaleframework.cpp:16787
bool GetUpstem2nd() const
Gets the Upstem 2nd state for the note.
Definition ff_noteframe.h:215
bool IsHigherPitchThan(FCNote *pPitchCompareNote)
Returns true if the pitch is higher than the pitch in the parameter's note.
Definition finaleframework.cpp:16765
void SetSpacing(bool state)
Sets if the note should be used in the spacing algorithm or not.
Definition ff_noteframe.h:390
twobyte GetRaiseLower() const
Returns the raised/lowered state of the note.
Definition ff_noteframe.h:149
eNoteID GetNoteID() const
Returns the unique note ID.
Definition ff_noteframe.h:233
bool CalcVisibleInPart() const
Returns true if the note is visible in the current part or score. The only time it might be false is ...
Definition finaleframework.cpp:16692
void SetNoteID(eNoteID noteid)
Sets the unique note ID. Use with extreme care!
Definition ff_noteframe.h:440
void SetTieBackwards(bool value)
Sets the "tie end" state for the note.
Definition ff_noteframe.h:459
bool GetAccidentalParentheses() const
Returns the parentheses accidental state.
Definition ff_noteframe.h:110
bool IsIdenticalPitch(FCNote *pPitchNote)
Returns true if the pitch is identical to the supplied note.
Definition finaleframework.cpp:16743
int GetNoteIndex() const
Returns the index of the note within its FCNoteEntry.
Definition ff_noteframe.h:239
bool GetLegality() const
Gets the legality bit, that marks that the note is valid.
Definition ff_noteframe.h:138
char CalcWrittenPitchChar()
Returns the written note name character for the note.
Definition finaleframework.cpp:16484
bool GetTie() const
Gets the tie start state for the note.
Definition ff_noteframe.h:175
void SetRaiseLower(twobyte amount)
Raises or lowers the pitch of the note.
Definition ff_noteframe.h:428
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_noteframe.h:766
bool MatchSpellingToScore()
Reverts a part's note spelling to that of the score. It is useful for reversing an unlinked enharmoni...
Definition finaleframework.cpp:16811
FCNote(int index, EXNOTE *pexnote, FCNoteEntry *pParent)
The constructor.
Definition ff_noteframe.h:57
twobyte GetDisplacement() const
Returns the vertical note position on the staff.
Definition ff_noteframe.h:119
int CalcNumberOfLedgerLines()
Returns the number of ledger lines the note appears on.
Definition finaleframework.cpp:16345
void SetLegality(bool state)
Sets the legality bit, marking that the note is valid.
Definition ff_noteframe.h:410
bool GetSpacing() const
Returns if the note should be used in the spacing algorithm or not.
Definition ff_noteframe.h:157
void GetString(FCString *pString, FCKeySignature *pKey, bool simplifydoublesharp=false, bool writtenpitch=false)
Creates a string representation of the note.
Definition finaleframework.cpp:16845
void SetAccidentalFreeze(bool state)
Sets the freezed accidental state.
Definition ff_noteframe.h:376
bool CalcIsBottomNote() const
Returns true if the note is the bottom visible note note in the entry. If some notes in the entry are...
Definition finaleframework.cpp:16717
twobyte CalcPitchRaiseLower(bool writtenpitch)
Returns the number of sharps or flats the note actually has in the key signature.
Definition finaleframework.cpp:16517
void MarkForErase()
Marks the note for erase when the entry is saved.
Definition ff_noteframe.h:753
twobyte CalcStaffPosition()
Calculates the displacement from the top staffline. It takes the current score position into account ...
Definition finaleframework.cpp:16429
void SetUpstemSplit(bool state)
Sets the upstem split state for the note.
Definition ff_noteframe.h:481
twobyte CalcOctave(FCKeySignature *pKey, int transposeinterval=0)
Returns the sounding octave for the note.
Definition finaleframework.cpp:17089
bool IsLowerPitchThan(FCNote *pPitchCompareNote)
Returns true if the pitch is lower than the pitch in the parameter's note.
Definition finaleframework.cpp:16776
bool GetDownstem2nd() const
Gets the Downstem 2nd state for the note.
Definition ff_noteframe.h:204
twobyte CalcNoteheadWidth()
Returns the width of the notehead.
Definition finaleframework.cpp:16409
bool GetUpstemSplit() const
Gets the upstem split state for the note.
Definition ff_noteframe.h:225
bool CalcIsTopNote() const
Returns true if the note is the top note in the entry. If some notes in the entry are suppressed in t...
Definition finaleframework.cpp:16704
FCNoteEntry * GetEntry() const
Returns the note entry object for the note.
Definition ff_noteframe.h:85
void SetAccidentalParentheses(bool state)
Sets the parentheses accidental state.
Definition ff_noteframe.h:382
bool GetCrossStaff() const
Gets the cross staff state for the note.
Definition ff_noteframe.h:193
bool GetAccidental() const
Gets the accidental state bit for the note. This method should normally NOT be used (use CalcAccident...
Definition ff_noteframe.h:98
FCTransposer * GetTransposer()
Returns a transposer that can be used to transpose this note.
Definition finaleframework.cpp:17067
bool GetAccidentalFreeze() const
Returns the freezed accidental state.
Definition ff_noteframe.h:104
bool IsNonAligned2nd() const
Returns true if this note is not aligned with its entry.
Definition finaleframework.cpp:16803
bool CalcOnLedgerLine()
Returns true if the note appears specifically on a ledger line. The ledger line must coincide with th...
Definition finaleframework.cpp:16361
void SetAccidental(bool state)
Sets the accidental state for the note.
Definition ff_noteframe.h:370
bool GetTieBackwards() const
Gets the backwards tie state for the note.
Definition ff_noteframe.h:183
void SetTie(bool value)
Sets the tie state for the note.
Definition ff_noteframe.h:450
bool CalcAccidental() const
Returns the displayed state of an accidental. This is the method that should be used to find out if a...
Definition finaleframework.cpp:17074
void SetMIDIKey(twobyte midikey)
Sets the MIDI key number for the note.
Definition finaleframework.cpp:16732
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:54
bool CalcRightsidePlacement()
Returns true if the notehead is on the right side of the stem.
Definition finaleframework.cpp:16387
void SetDisplacement(twobyte disp)
Sets the note's vertical position on the staff. The displacement is relative to the key.
Definition ff_noteframe.h:419
bool SetString(FCString *pString, FCKeySignature *pKey, bool writtenpitch)
Changes the note based on the string representation. See FCNote::GetString for syntax.
Definition finaleframework.cpp:16929
twobyte CalcWrittenOctave(FCKeySignature *pKey, int transposevalue, bool simplifytranspose, bool chromatictranspose)
Returns the written octave for the note, taking a specific transposition into account.
Definition finaleframework.cpp:17116
bool IsLower2nd() const
Returns true if this note is a lower 2nd in a chord.
Definition finaleframework.cpp:16795
bool GetPlayback() const
Gets the playback status for the note.
Definition ff_noteframe.h:167
char CalcPitchChar()
Returns the sounding note name character for the note.
Definition finaleframework.cpp:16474
Encapsulates a note as a locally stored data, instead of a reference in a TGF.
Definition ff_noteframe.h:789
FCNotePitch()
The constructor.
Definition ff_noteframe.h:795
void CopyFrom(FCNote *pNote)
Copies the note pitch info from a FCNote object.
Definition ff_noteframe.h:800
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:792
Class that contains information about the note, without being dependent on a note entry frame.
Definition ff_noteframe.h:809
ENTNUM GetENTNUM()
Returns the entry number.
Definition ff_noteframe.h:893
TimeEdu32 GetActualDuration()
Returns the actual duration.
Definition ff_noteframe.h:899
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_noteframe.h:905
int GetStaff()
Returns the staff number, if CloneEntryPositionData has been used.
Definition ff_noteframe.h:874
int GetLayerNumber()
Returns the 1-based layer number, if CloneEntryPositionData has been used.
Definition ff_noteframe.h:878
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_noteframe.h:838
TimeEdu32 GetDuration()
Returns the duration.
Definition ff_noteframe.h:896
TimeEdu32 GetMeasurePos()
Returns the duration position within the measure, if CloneEntryPositionData has been used.
Definition ff_noteframe.h:890
FCNotePitch * GetItemAt(int index) const
Overloaded version of GetItemAt().
Definition ff_noteframe.h:836
void CloneEntryPositionData(FCNoteEntry *pEntry)
Copies the "important" entry data, so it can be used for analytical purpose, without the need of a TG...
Definition finaleframework.cpp:17216
bool GetGraceNote()
Returns the grace note state, if CloneEntryPositionData has been used.
Definition ff_noteframe.h:882
void AddFromEntry(FCNoteEntry *pEntry)
Adds all the note pitches from a note entry.
Definition finaleframework.cpp:17179
int GetMeasure()
Returns the measure number, if CloneEntryPositionData has been used.
Definition ff_noteframe.h:870
int GetGraceNoteIndex()
Returns the grace note index for grace notes, if CloneEntryPositionData has been used.
Definition ff_noteframe.h:886
void AddFromCellEntry(FCNoteEntry *pEntry, FCNoteEntryCell *pNoteEntryCell)
Adds all the note pitches from a note entry that is located in a FCNoteEntryCell.
Definition finaleframework.cpp:17197
int GetFrameIndex()
Returns the 0-based frame index within the TGF frame.
Definition ff_noteframe.h:902
Collection class for FCNoteheadMod class objects. The collection would typically collect all notehead...
Definition ff_entrydetailscollection.h:455
Simple class to put numbers into collections.
Definition ff_base.h:4821
Class that provides storage for text. This is to achieve platform-transparent text handling,...
Definition ff_base.h:1877
This is a utility class to facilitate transposition. It supports:
Definition ff_celldetails.h:2766
Class for attaching an tuplet to an entry.
Definition ff_entrydetails.h:2153
Collection class for FCTuplet class objects.
Definition ff_entrydetailscollection.h:308