Finale PDK Framework 0.77
Power Up Your Finale Music Software
Loading...
Searching...
No Matches
ff_othercollection.h
1/*
2 * File: ff_collection.h
3 * Author: Jari Williamsson
4 *
5 * Created on den 7 november 2010, 13:51
6 */
7
8#ifndef FF_OTHERCOLLECTION_H
9#define FF_OTHERCOLLECTION_H
10
11#include "ff_region.h"
12#include "ff_other.h"
13#include "ff_browser.h"
14#include "ff_parts.h"
15
16
21{
22#ifndef DOXYGEN_SHOULD_IGNORE_THIS
23 __FCBaseData* CreateElement() override { return new FCOtherInci(); }
24#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
25public:
26 const char* ClassName() const override { return "FCOtherIncis"; }
27
29 FCOtherIncis(EXTAG customTag = 0)
30 { if (customTag) SetCustomTag(customTag); }
31
34
39 twobyte* CreateMemoryBlock();
40
43 void MakeMemoryBlockCollection(twobyte* pBuffer, int size, CMPER cmper);
44
47 void ExpandToFitRecords(int noofrecords, int recordsize, CMPER cmper);
48
51};
52
53
54
55#ifdef PDK_FRAMEWORK_LAYOUT
66{
67protected:
68#ifndef DOXYGEN_SHOULD_IGNORE_THIS
69 __FCBaseData* CreateElement() override { return new FCPage(); }
70#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
71public:
79
80 const char* ClassName() const override { return "FCPages"; }
81
86 FCPage* GetItemAt(int index) const { return (FCPage*) __FCCollection::GetItemAt(index); }
87
97 static bool AppendBlank(bool updatelayout);
98
116 static bool InsertBlank(int beforepageno, bool updatelayout);
117
129 FCPage* FindSystemNumber(eSsys systemnumber);
130
144 FCPage* FindMeasureNumber(eMeas measurenumber);
145};
146#endif // PDK_FRAMEWORK_LAYOUT
147
148
149#ifdef PDK_FRAMEWORK_LAYOUT
164{
165protected:
166#ifndef DOXYGEN_SHOULD_IGNORE_THIS
167 __FCBaseData* CreateElement() override { return new FCStaffSystem(); }
168#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
169public:
178
179 const char* ClassName() const override { return "FCStaffSystems"; }
180
185 FCStaffSystem* GetItemAt(int index) const { return (FCStaffSystem*) __FCCollection::GetItemAt(index); }
186
198 static void UpdateFullLayout();
199
205 bool NeedUpdateLayout();
206
215 FCStaffSystem* FindMeasureNumber(eMeas measurenumber);
216};
217#endif // PDK_FRAMEWORK_LAYOUT
218
219
228{
229protected:
230#ifndef DOXYGEN_SHOULD_IGNORE_THIS
231 __FCBaseData* CreateElement() override { return new FCMeasure(); }
232#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
233public:
240
241 const char* ClassName() const override { return "FCMeasures"; }
242
247 FCMeasure* GetItemAt(int index) const { return (FCMeasure*) __FCCollection::GetItemAt(index); }
248
253 void LoadRegion(FCMusicRegion* pRegion);
254
266 static bool Delete(int measureno, int count)
267 {
268 if (count < 1) return false;
269 return ::FX_DeleteMeasures(measureno, count, true) != 0;
270 }
271
283 static bool Append(int count, bool updatelayout)
284 {
285 if (count < 1) return false;
286 FCBrowserMeasures measures;
287 int lastmeasure = measures.GetCount();
288 return ::FX_InsertMeasures(lastmeasure + 1, count, updatelayout) != 0;
289 }
290
303 static bool Insert(int measureno, int count, bool updatelayout)
304 {
305 if (count < 1) return false;
306 tbool param = updatelayout;
307 return (::FX_InsertMeasures(measureno, count, param) != 0);
308 }
309};
310
319{
320protected:
321#ifndef DOXYGEN_SHOULD_IGNORE_THIS
322 __FCBaseData* CreateElement() override { return new FCStaff(); }
323#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
324public:
331
332 const char* ClassName() const override { return "FCStaves"; }
333
338 FCStaff* GetItemAt(int index) const { return (FCStaff*) __FCCollection::GetItemAt(index); }
339
347 static CMPER Append();
348
357 static bool Delete(CMPER staffid);
358};
359
360
361
370{
371 FCNumbers _nonNumberIncludedMeasures; /* Collection with the measures that aren't
372 * included in measure numbering, as a buffer for optimization. */
373 bool _nonincludedmeasuresloaded; /* Flag, that is set when the measures included in measure numbering has been set. */
374
379 void AssureLoadedNonIncludedMeasures();
380
381
382protected:
383#ifndef DOXYGEN_SHOULD_IGNORE_THIS
384 __FCBaseData* CreateElement() override { return new FCMeasureNumberRegion(); }
385#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
386public:
387
393 {
394 _nonincludedmeasuresloaded = false;
395 }
396
397 const char* ClassName() const override { return "FCMeasureNumberRegions"; }
398
408
418
433 int CalcStringFromNumber(int measure, FCString* pString);
434
448 int CalcNumberFromString(const FCString& value);
449
461 bool IsMeasureIncluded(int measure);
462
475 bool IsStringUnique(const FCString& value);
476
485 int CountRegionsForMeasure(int measure);
486
492
493};
494
495
504{
505protected:
506#ifndef DOXYGEN_SHOULD_IGNORE_THIS
507 __FCBaseData* CreateElement() override { return new FCArticulationDef(); }
508#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
509public:
510 const char* ClassName() const override { return "FCArticulationDefs"; }
511
520
527};
528
529
530
544{
545protected:
546#ifndef DOXYGEN_SHOULD_IGNORE_THIS
547 __FCBaseData* CreateElement() override { return new FCSystemStaff(); }
548#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
549public:
555
561
562 const char* ClassName() const override { return "FCSystemStaves"; }
563
571 FCSystemStaff* FindStaff(twobyte staffno)
572 {
573 for (int i = 0; i < GetCount(); i++)
574 {
575 FCSystemStaff* pSystemStaff = (FCSystemStaff*) GetItemAt(i);
576 if (pSystemStaff->GetStaff() == staffno) return pSystemStaff;
577 }
578 return NULL;
579 }
580
591
592
600 {
601 if (GetCount() == 0) return -1;
602 return GetItemAt(0)->GetStaff();
603 }
604
611 twobyte GetEndStaff()
612 {
613 if (GetCount() == 0) return -1;
614 FCSystemStaff* pSystemStaff = (FCSystemStaff*) GetItemAt(GetCount() - 1);
615 return pSystemStaff->GetStaff();
616 }
617
625 {
626 return LoadAllForItem(0);
627 }
628
638 {
639 return LoadAllForItem(65400);
640 }
641
653 {
654 return LoadAllForItem(IU_TEMP);
655 }
656
668 int LoadStaffSet(int staffsetnumber)
669 {
670 return LoadAllForItem(IU_STAFFSET1 + staffsetnumber - 1);
671 }
672
679 int LoadAllForRegion(const FCMusicRegion* pRegion)
680 {
681 ClearAll();
683 /* Remove all staves that aren't part of the selection. */
684 for (int listidx = GetCount() - 1; listidx >= 0; listidx --)
685 {
686 FCSystemStaff* pSystemStaff = (FCSystemStaff*) GetItemAt(listidx);
687 if (!pRegion->IsStaffIncluded(pSystemStaff->GetStaff())) ClearItemAt(listidx);
688 }
689 return GetCount();
690 }
691
701 {
702 return SaveAllForItem(IU_TEMP);
703 }
704
712 bool IsSharingStaffWith(FCSystemStaves* pOtherSystemStaves)
713 {
714 for (int idx = 0; idx < GetCount(); idx++)
715 {
716 FCSystemStaff* pSystemStaff = (FCSystemStaff*) GetItemAt(idx);
717 if (pOtherSystemStaves->FindStaff(pSystemStaff->GetStaff()) != NULL) return true;
718 }
719 return false;
720 }
721
735 FCMusicRegion* CreateMusicRegion(bool forwholedocument = false)
736 {
737 assert(GetCount() >= 0);
738 if (!GetCount()) return nullptr;
739 FCMusicRegion* retval = new FCMusicRegion();
740 if (forwholedocument || !retval->SetCurrentSelection())
741 retval->SetFullDocument();
742 retval->SetInstrumentList(GetItemAt(0)->GetItemCmper());
743 retval->SetStartStaff(GetItemAt(0)->GetStaff());
744 retval->SetEndStaff(GetItemAt(GetCount()-1)->GetStaff());
745 return retval;
746 }
747
748#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
750 luabridge::RefCountedPtr<FCMusicRegion> CreateMusicRegion_GC(bool forwholedocument = false)
751 { return makeLuaSharedPtr(CreateMusicRegion(forwholedocument)); }
752#endif
753
754};
755
756
765{
766protected:
767#ifndef DOXYGEN_SHOULD_IGNORE_THIS
768 __FCBaseData* CreateElement() override { return new FCCategoryDef(); }
769#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
770public:
777
778 const char* ClassName() const override { return "FCCategoryDefs"; }
779
784 FCCategoryDef* GetItemAt(int index) const { return (FCCategoryDef*) __FCCollection::GetItemAt(index); }
785
793 {
794 FCString astring;
795 for (int idx = 0; idx < GetCount(); idx++)
796 {
797 FCCategoryDef* pCategory = GetItemAt(idx);
798 pCategory->GetName(&astring);
799 if (astring.IsEqualString(value)) return pCategory;
800 }
801 return NULL;
802 }
803
810 FCCategoryDef* FindID(twobyte catID)
811 {
812 for (int idx = 0; idx < GetCount(); idx++)
813 {
814 FCCategoryDef* pCategory = GetItemAt(idx);
815 if (pCategory->GetID() == catID) return pCategory;
816 }
817 return NULL;
818 }
819};
820
821
830{
831protected:
832#ifndef DOXYGEN_SHOULD_IGNORE_THIS
833 __FCBaseData* CreateElement() override { return new FCTextExpressionDef(); }
834#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
835public:
841
842 const char* ClassName() const override { return "FCTextExpressionDefs"; }
843
849};
850
859{
860protected:
861#ifndef DOXYGEN_SHOULD_IGNORE_THIS
862 __FCBaseData* CreateElement() override { return new FCShapeExpressionDef(); }
863#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
864public:
870
871 const char* ClassName() const override { return "FCShapeExpressionDefs"; }
872
878};
879
880
881
890{
891protected:
892#ifndef DOXYGEN_SHOULD_IGNORE_THIS
893 __FCBaseData* CreateElement() override { return new FCExpression(); }
894#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
895public:
901
907
908 const char* ClassName() const override { return "FCExpressions"; }
909
918 int LoadAllInCell(FCCell* pCell);
919
920#ifdef PDK_FRAMEWORK_LAYOUT
932 int LoadAllInCellLayout(FCCell* pCell, FCStaffSystems* pStaffSystems);
933#endif
934
942 int LoadAllForRegion(FCMusicRegion* pRegion);
943};
944
945
946
955{
956protected:
957#ifndef DOXYGEN_SHOULD_IGNORE_THIS
958 __FCBaseData* CreateElement() override { return new FCPageText(); }
959#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
960public:
966
967 const char* ClassName() const override { return "FCPageTexts"; }
968
974};
975
976
985{
986protected:
987#ifndef DOXYGEN_SHOULD_IGNORE_THIS
988 __FCBaseData* CreateElement() override { return new FCTextBlock(); }
989#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
990public:
996
997 const char* ClassName() const override { return "FCTextBlocks"; }
998
1004};
1005
1006
1020{
1021#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1022private:
1023 CMPER _cmpersave; /* The "location" for the collection. It's where created
1024 * elements for AssureCellPlacement() should be saved. */
1025 int _expectedmeasure;
1026protected:
1027 __FCBaseData* CreateElement() override { return new FCSeparatePlacement(); }
1028
1029#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1030public:
1036 {
1037 _cmpersave = 0;
1038 _expectedmeasure = 0;
1039 }
1040
1041#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1043 void _SetCmperSave(CMPER cmper) { _cmpersave = cmper; }
1044
1046 void _SetExpectedMeasure(int measure) { _expectedmeasure = measure; }
1047#endif
1048
1049 const char* ClassName() const override { return "FCSeparatePlacements"; }
1050
1059#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1061#else
1062 int
1063#endif
1064 mode)
1065 {
1066 switch (mode)
1067 {
1069 SetCustomTag(ot_SeparateTextRepeatPlacement);
1070 break;
1072 SetCustomTag(ot_SeparateBackwardRepeatPlacement);
1073 break;
1075 SetCustomTag(ot_SeparateEndingRepeatPlacement);
1076 break;
1078 SetCustomTag(ot_SeparateEndingRepeatTextPlacement);
1079 break;
1080 }
1081 }
1082
1088
1099
1101 void KeepOnlyMeasure(eMeas meas)
1102 {
1103 for (int i = GetCount() - 1; i >= 0; i--)
1104 {
1105 FCSeparatePlacement* pItem = GetItemAt(i);
1106 if (pItem->GetMeasure() != meas) ClearItemAt(i);
1107 }
1108 }
1109};
1110
1111#if FXT_VERSION >= FINALEVERSION_2012
1112// Only 2012-style staff style definitions are supported right now, implement later...
1113
1122{
1123protected:
1124#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1125 __FCBaseData* CreateElement() override { return new FCStaffStyleDef(); }
1126#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1127public:
1128 const char* ClassName() const override { return "FCStaffStyleDefs"; }
1129
1132};
1133#endif
1134
1143{
1144protected:
1145#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1146 __FCBaseData* CreateElement() override { return new FCStaffStyleAssign(); }
1147#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1148public:
1149 const char* ClassName() const override { return "FCStaffStyleAssigns"; }
1150
1153};
1154
1155
1164{
1165protected:
1166#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1167 __FCBaseData* CreateElement() override { return new FCMultiMeasureRest(); }
1168#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1169public:
1176
1177 const char* ClassName() const override { return "FCMultiMeasureRests"; }
1178
1184};
1185
1186
1193{
1194protected:
1195#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1196 __FCBaseData* CreateElement() override { return new FCFreezeSystem(); }
1197#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1198public:
1199 const char* ClassName() const override { return "FCFreezeSystems"; }
1200};
1201
1202#if FXT_VERSION >= FINALEVERSION_2012
1211{
1212protected:
1213#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1214 __FCBaseData* CreateElement() override { return new FCMultiStaffInstrument(); }
1215#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1216public:
1224
1225 const char* ClassName() const override { return "FCMultiStaffInstruments"; }
1226 const PDKFRAMEWORK_CLASSID GetClassID() const override { return FCID_MULTISTAFFINSTRUMENTS; }
1227
1239 {
1240 if (staffno == 0) return NULL;
1241 for (int i = 0; i < GetCount(); i++)
1242 {
1244 if (pObject->ContainsStaff(staffno)) return pObject;
1245 }
1246 return NULL;
1247 }
1248
1254};
1255#endif // #if FXT_VERSION >= FINALEVERSION_2012
1256
1257
1266{
1267protected:
1268#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1269 __FCBaseData* CreateElement() override { return new FCAllotment(); }
1270#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1271public:
1272 const char* ClassName() const override { return "FCAllotments"; }
1273
1279};
1280
1281
1290{
1291protected:
1292#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1293 __FCBaseData* CreateElement() override { return new FCPageGraphic(); }
1294#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1295public:
1303
1304 const char* ClassName() const override { return "FCPageGraphics"; }
1305
1311};
1312
1313
1322{
1323protected:
1324#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1325 __FCBaseData* CreateElement() override { return new FCTextRepeatDef(); }
1326#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1327public:
1334
1335 const char* ClassName() const override { return "FCTextRepeatDefs"; }
1336
1342};
1343
1344
1353{
1354protected:
1355#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1356 __FCBaseData* CreateElement() override { return new FCFretInstrumentDef(); }
1357#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1358public:
1365
1366 const char* ClassName() const override { return "FCFretInstrumentDefs"; }
1367
1373};
1374
1375
1387{
1388protected:
1389#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1390 __FCBaseData* CreateElement() override { return new FCTextRepeat(); }
1391#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1392public:
1398
1399 const char* ClassName() const override { return "FCTextRepeats"; }
1400
1406};
1407
1408
1414{
1415protected:
1416#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1417 __FCBaseData* CreateElement() override { return new FCExecutableShapeDef(); }
1418#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1419public:
1420 const char* ClassName() const override { return "FCExecutableShapeDefs"; }
1421};
1422
1423
1424#ifdef PDK_FRAMEWORK_SHAPES
1434{
1435protected:
1436#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1437 __FCBaseData* CreateElement() override { return new FCShapeDef(); }
1438#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1439public:
1445
1446 const char* ClassName() const override { return "FCShapeDefs"; }
1447
1453};
1454#endif /* PDK_FRAMEWORK_SHAPES */
1455
1465{
1466protected:
1467#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1468 __FCBaseData* CreateElement() override { return new FCChordSuffixElement(); }
1469#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1470public:
1471 const char* ClassName() const override { return "FCChordSuffixElements"; }
1472
1478};
1479
1480
1481#if FXT_VERSION >= FINALEVERSION_2012
1490{
1491protected:
1492#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1493 __FCBaseData* CreateElement() override { return new FCFretboardStyleDef(); }
1494#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1495public:
1496 const char* ClassName() const override { return "FCFretboardStyleDefs"; }
1497 const PDKFRAMEWORK_CLASSID GetClassID() const override { return FCID_FRETBOARDSTYLEDEFS; }
1498
1504};
1505#endif
1506
1507#if FXT_VERSION >= FINALEVERSION_2012
1514{
1515protected:
1516#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1517 __FCBaseData* CreateElement() override { return new FCFretboardGroupDef(); }
1518#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1519public:
1521
1522 const char* ClassName() const override { return "FCFretboardGroupDefs"; }
1523 const PDKFRAMEWORK_CLASSID GetClassID() const override { return FCID_FRETBOARDGROUPDEFS; }
1524
1530};
1531#endif
1532
1533
1543{
1544protected:
1545#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1546 __FCBaseData* CreateElement() override { return new FCBeatChartElement(); }
1547#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1548public:
1556
1557 const char* ClassName() const override { return "FCBeatChartElements"; }
1558
1569 FCBeatChartElement* FindMeasurePos(TimeEdu32 durationpos)
1570 {
1571 for (int i = 0; i < GetCount(); i++)
1572 {
1574 if (pElement->GetInitElement()) continue;
1575 if (pElement->GetMeasurePos() == durationpos) return pElement;
1576 }
1577 return NULL;
1578 }
1579
1587 Evpu16 CalcElementWidth(int index)
1588 {
1589 if (GetCount() <= 0 || index <= 0 || index > GetCount()) return 0;
1590 FCBeatChartElement *elt = GetItemAt(index);
1591 const Evpu16 nextMinPos = (index < (GetCount()-1)) ? GetItemAt(index+1)->GetMinimumPosition() : GetItemAt(0)->GetMinimumWidth();
1592 return (std::max<Evpu16>)(elt->CalcWidth(), nextMinPos - elt->GetMinimumPosition());
1593 }
1594
1600 {
1601 if (GetCount() <= 0) return false;
1602 return GetItemAt(0)->GetMinimumWidth() <= 1;
1603 }
1604
1619 {
1620 if (GetCount() <= 1 || CalcIsManual()) return;
1621 Evpu16 accumulatedWidth = GetItemAt(1)->GetMinimumPosition();
1622 for (int x = 1; x < GetCount(); x++)
1623 {
1624 Evpu16 eltWidth = CalcElementWidth(x);
1625 FCBeatChartElement* elt = GetItemAt(x);
1626 elt->SetHorizontalPosition(accumulatedWidth);
1627 accumulatedWidth += eltWidth;
1628 elt->SetNextHorizontalPosition(accumulatedWidth);
1629 elt->SetMinimumPosition((std::min)(x-1, 1));
1630 }
1631 FCBeatChartElement* header = GetItemAt(0);
1632 header->SetFullSpan(accumulatedWidth);
1633 header->SetMinimumWidth(1);
1634 }
1635
1646 bool RebuildAfter(int index, bool updateinitrecord = false)
1647 {
1648 if (GetCount() < 2) return false;
1649 if (index < 1) return false;
1650 if (index >= (GetCount())) return false;
1651
1652 FCBeatChartElement* pThisItem = (FCBeatChartElement*) GetItemAt(index);
1653 int currentpos = pThisItem->GetHorizontalPosition() + pThisItem->CalcWidth();
1654 for (int i = index + 1; i < GetCount(); i++)
1655 {
1657 int elementwidth = pElement->CalcWidth();
1658 pElement->SetHorizontalPosition(currentpos);
1659 currentpos += elementwidth;
1660 pElement->SetWidth(elementwidth);
1661 }
1662 if (updateinitrecord)
1663 {
1664 FCBeatChartElement* pInitElement = (FCBeatChartElement*) GetItemAt(0);
1665 pInitElement->SetFullSpan(currentpos);
1666 }
1668 return true;
1669 }
1670
1682 {
1683 FCBeatChartElement* pNextElement = NULL;
1684 for (int idx = GetCount() - 1; idx >= 1; idx--)
1685 {
1687 if (pNextElement) pElement->SetNextHorizontalPosition(pNextElement->GetHorizontalPosition());
1688 pNextElement = pElement;
1689 }
1690 }
1691
1693 bool IsValid();
1694
1696 bool SaveAll() override
1697 {
1698 if (!IsValid()) return false;
1700 }
1701
1707};
1708
1718{
1719protected:
1720#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1721 __FCBaseData* CreateElement() override { return new FCTempoElement(); }
1722#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1723public:
1732
1733 const char* ClassName() const override { return "FCTempoElements"; }
1734
1740
1744 void AssureSorted();
1745};
1746
1747
1748
1758{
1759 CMPER _percLibID;
1760protected:
1761#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1762 __FCBaseData* CreateElement() override { return new FCPercussionLayoutNote(); }
1763#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1764public:
1765
1771 {
1772 _percLibID = 0;
1773 }
1774
1775 const char* ClassName() const override { return "FCPercussionLayoutNotes"; }
1776
1778 CMPER GetPercussionLibraryID() { return _percLibID; }
1779
1781 int LoadAllForItem(CMPER cmper) override
1782 {
1783 _percLibID = cmper;
1785 }
1786
1795 {
1796 if (!_percLibID) return NULL;
1798 text.Load(_percLibID);
1799 FCString* pString = text.CreateString();
1800 return pString;
1801 }
1802
1803#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1805 luabridge::RefCountedPtr<FCString> CreateNameString_GC()
1806 { return makeLuaSharedPtr(CreateNameString()); }
1807#endif
1808
1817 FCPercussionLayoutNote* FindRawNoteType(PERC_NOTE_TYPE notetype)
1818 {
1819 for (int i = 0; i < GetCount(); i++)
1820 {
1821 FCPercussionLayoutNote* pObject = GetItemAt(i);
1822 if (pObject->GetRawNoteType() == notetype) return pObject;
1823 }
1824 return NULL;
1825 }
1826
1834 FCPercussionLayoutNote* FindNoteType(PERC_NOTE_TYPE notetype)
1835 {
1836 for (int i = 0; i < GetCount(); i++)
1837 {
1838 FCPercussionLayoutNote* pObject = GetItemAt(i);
1839 if (pObject->GetNoteType() == notetype) return pObject;
1840 }
1841 return NULL;
1842 }
1843
1844#ifdef PDK_FRAMEWORK_TINYXML
1855 {
1856 if (!pMapNotes) return NULL;
1857 for (int i = 0; i < GetCount(); i++)
1858 {
1859 FCPercussionLayoutNote* pObject = GetItemAt(i);
1860 if (pObject->CalcMidiRawNote(pMapNotes)== midinote) return pObject;
1861 }
1862 for (int i = 0; i < GetCount(); i++)
1863 {
1864 FCPercussionLayoutNote* pObject = GetItemAt(i);
1865 if (pObject->CalcMidiNote(pMapNotes)== midinote) return pObject;
1866 }
1867 return NULL;
1868 }
1869#endif
1870
1876};
1877
1878
1879
1888{
1889protected:
1890#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1891 __FCBaseData* CreateElement() override { return new FCInstrumentDef(); }
1892#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1893public:
1894
1902
1903
1904 const char* ClassName() const override { return "FCInstrumentDefs"; }
1905
1911};
1912
1913
1928{
1929protected:
1930#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1931 __FCBaseData* CreateElement() override { return new FCStaffList(); }
1932#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1933public:
1940
1961#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1963#else
1964 int
1965#endif
1966 mode
1967 )
1968 {
1969 switch (mode)
1970 {
1971 case FCStaffList::SLMODE_SCORE:
1972 SetCustomTag(ot_StaffListDataScore);
1973 break;
1974 case FCStaffList::SLMODE_PARTS:
1975 SetCustomTag(ot_StaffListDataParts);
1976 break;
1977 case FCStaffList::SLMODE_FORCESCORE:
1978 SetCustomTag(ot_StaffListForceScore);
1979 break;
1980 case FCStaffList::SLMODE_FORCEPARTS:
1981 SetCustomTag(ot_StaffListForceParts);
1982 break;
1983
1984 case FCStaffList::SLMODE_CATEGORY_SCORE:
1985 SetCustomTag(__ot_CategoryStaffListScore);
1986 break;
1987 case FCStaffList::SLMODE_CATEGORY_PARTS:
1988 SetCustomTag(__ot_CategoryStaffListParts);
1989 break;
1990 case FCStaffList::SLMODE_CATEGORY_FORCESCORE:
1991 SetCustomTag(__ot_CategoryStaffListScoreOverride);
1992 break;
1993 case FCStaffList::SLMODE_CATEGORY_FORCEPARTS:
1994 SetCustomTag(__ot_CategoryStaffListPartsOverride);
1995 break;
1996
1997
1998 case FCStaffList::SLMODE_ASSIGNMENT_SCORE:
1999 SetCustomTag(__ot_StaffAssignStaffListScore);
2000 break;
2001 case FCStaffList::SLMODE_ASSIGNMENT_PARTS:
2002 SetCustomTag(__ot_StaffAssignStaffListParts);
2003 break;
2004 case FCStaffList::SLMODE_ASSIGNMENT_FORCESCORE:
2005 SetCustomTag(__ot_StaffAssignStaffListScoreOverride);
2006 break;
2007 case FCStaffList::SLMODE_ASSIGNMENT_FORCEPARTS:
2008 SetCustomTag(__ot_StaffAssignStaffListPartsOverride);
2009 break;
2010 }
2011 }
2012
2013 const char* ClassName() const override { return "FCStaffLists"; }
2014
2020};
2021
2022
2028{
2029 FCStaffList _scoredisplay, _partsdisplay, _scoreforced, _partsforced;
2030 bool _loaded;
2031public:
2037 {
2038 _loaded = false;
2039 }
2040 const char* ClassName() const override { return "FCStaffListLookup"; }
2041
2051 bool LoadStandardList(twobyte number)
2052 {
2053 _loaded = false;
2054 _scoredisplay.SetMode(FCStaffList::SLMODE_SCORE);
2055 if (!_scoredisplay.Load(number)) return false;
2056 _partsdisplay.SetMode(FCStaffList::SLMODE_PARTS);
2057 if (!_partsdisplay.Load(number)) return false;
2058 _scoreforced.SetMode(FCStaffList::SLMODE_FORCESCORE);
2059 if (!_scoreforced.Load(number)) return false;
2060 _partsforced.SetMode(FCStaffList::SLMODE_FORCEPARTS);
2061 if (!_partsforced.Load(number)) return false;
2062 _loaded = true;
2063 return true;
2064 }
2065
2075 bool LoadCategoryList(twobyte number)
2076 {
2077 _loaded = false;
2078 _scoredisplay.SetMode(FCStaffList::SLMODE_CATEGORY_SCORE);
2079 if (!_scoredisplay.Load(number)) return false;
2080 _partsdisplay.SetMode(FCStaffList::SLMODE_CATEGORY_PARTS);
2081 if (!_partsdisplay.Load(number)) return false;
2082 /* Forced state isn't used - the other selections should ideally be cleared! */
2083 _loaded = true;
2084 return true;
2085 }
2086
2095 bool LoadAssignmentList(twobyte number)
2096 {
2097 _loaded = false;
2098 _scoredisplay.SetMode(FCStaffList::SLMODE_ASSIGNMENT_SCORE);
2099 if (!_scoredisplay.Load(number)) return false;
2100 _partsdisplay.SetMode(FCStaffList::SLMODE_ASSIGNMENT_PARTS);
2101 if (!_partsdisplay.Load(number)) return false;
2102 /* Forced state isn't used - the other selections should ideally be cleared! */
2103 _loaded = true;
2104 return true;
2105 }
2106
2111 bool IsLoaded() { return _loaded; }
2112
2113
2127 bool IsStaffElementDisplayed(eStaff staffno, bool score, FCSystemStaves* pSystemStaves)
2128 {
2129 if (!IsLoaded()) return false;
2130 if (staffno == 0) return false;
2131 if (score)
2132 {
2133 if (_scoredisplay.IncludesStaff(staffno)) return true;
2134 if (pSystemStaves)
2135 {
2136 if (staffno == pSystemStaves->GetStartStaff())
2137 {
2138 if (_scoredisplay.IncludesStaff(SLD_TOPSTAFF)) return true;
2139 }
2140 else if (staffno == pSystemStaves->GetEndStaff())
2141 {
2142 if (_scoredisplay.IncludesStaff(SLD_BOTTOMSTAFF)) return true;
2143 }
2144 }
2145 }
2146 else
2147 {
2148 if (_partsdisplay.IncludesStaff(staffno)) return true;
2149 if (pSystemStaves)
2150 {
2151 if (staffno == pSystemStaves->GetStartStaff())
2152 {
2153 if (_partsdisplay.IncludesStaff(SLD_TOPSTAFF)) return true;
2154 }
2155 else if (staffno == pSystemStaves->GetEndStaff())
2156 {
2157 if (_partsdisplay.IncludesStaff(SLD_BOTTOMSTAFF)) return true;
2158 }
2159 }
2160 }
2161 return false;
2162 }
2163};
2164
2165#ifdef PDK_FRAMEWORK_LAYOUT
2178{
2179 /* _partstaffsystems and _partids should match in pairs */
2180 __FCCollection _partstaffsystems; /* Collection of FCStaffSystems objects. */
2181 FCNumbers _partids; /* Collection of FCNumber objects. */
2182public:
2188 const char* ClassName() const override { return "FCStaffSystemsLookup"; }
2189
2196 {
2197 FCPart currentpart(FCPart::PARTID_CURRENT);
2198
2199 /* Try to find the part ID in the number collection. */
2200 FCNumber* pNumber = _partids.FindInt(currentpart.GetID());
2201 if (pNumber)
2202 {
2203 /* Return the existing layout */
2204 int index = _partids.GetIndexOf(pNumber);
2205 return (FCStaffSystems*) _partstaffsystems.GetItemAt(index);
2206 }
2207 /* Create a new layout and make sure that the layout is updated. */
2208 FCStaffSystems* pStaffSystems = new FCStaffSystems();
2209 pStaffSystems->LoadAll();
2210 if (pStaffSystems->NeedUpdateLayout())
2211 {
2213 pStaffSystems->LoadAll();
2214 }
2215 _partstaffsystems.Add(pStaffSystems);
2216 _partids.Add(new FCNumber(currentpart.GetID()));
2217 return pStaffSystems;
2218 }
2219};
2220#endif /* #ifdef PDK_FRAMEWORK_LAYOUT */
2221
2222
2223
2224
2247{
2248protected:
2249#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2250 __FCBaseData* CreateElement() override { return new FCCellClefChange(); }
2251#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2252public:
2253 const char* ClassName() const override { return "FCCellClefChanges"; }
2254
2262
2276 void InsertCellClefChange(FCCellClefChange * pClefInfo);
2277
2284};
2285
2286
2303{
2304#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2305 CMPER _cmper; /* the cmper to use with ot_Guide */
2306#endif
2307 public:
2308
2309#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2314 FCGuides(bool isvertical);
2315
2320 bool _Load(int count);
2321
2326 bool _Save();
2327#endif
2328
2329 const char* ClassName() const override { return "FCGuides"; }
2330
2338 bool SaveAll();
2339
2344 FCGuide* GetItemAt(int index) const { return (FCGuide*)__FCCollection::GetItemAt(index); }
2345
2358 FCGuide* FindClosest(Efix32 testposition, Efix32 gravityzonesize)
2359 {
2360 Efix32 smallestfound = gravityzonesize + 1;
2361 FCGuide* pFound = NULL;
2362 for (int i = 0; i < GetCount(); i++)
2363 {
2364 FCGuide* pGuide = GetItemAt(i);
2365 Efix32 testdiff = pGuide->GetPosition() - testposition;
2366 if (testdiff < 0) testdiff = -testdiff; /* Force positive diff */
2367 if (testdiff > gravityzonesize) continue;
2368 testdiff = -testdiff; /* Negative diff */
2369 if (testdiff < -gravityzonesize) continue;
2370 /* The gravity zone size matches the guide, check to see if it's the smallest diff */
2371 testdiff = -testdiff; /* Positive again */
2372 if (testdiff < smallestfound)
2373 {
2374 smallestfound = testdiff;
2375 pFound = pGuide;
2376 }
2377 }
2378 return pFound;
2379 }
2380
2381
2393 FCGuide* AddGuide(Efix32 position)
2394 {
2395 FCGuide* pGuide = new FCGuide(position);
2396 int index = 0;
2397 for (index = 0; index < GetCount(); index++)
2398 if (GetItemAt(index)->GetPosition() >= position)
2399 break;
2400 InsertItemAt(pGuide, index);
2401 return pGuide;
2402 }
2403};
2404
2415{
2416#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2418#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2419
2420protected:
2421#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2422 __FCBaseData* CreateElement() override { return new FCMetatoolAssignment(); }
2423#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2424public:
2431
2432 const char* ClassName() const override { return "FCMetatoolAssignments"; }
2433
2439
2450#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2452#else
2453 int
2454#endif
2455 mode)
2456 {
2457 if (GetCount() != 0) return;
2459 }
2460
2467#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2469#else
2470 int
2471#endif
2473
2481 int LoadAll() override;
2482
2492#ifndef PDK_FRAMEWORK_LUAFRIENDLY
2494#else
2495 int
2496#endif
2497 mode
2498 )
2499 {
2500 if (mode == FCMetatoolAssignment::MTOOLMODE_UNKNOWN) return 0;
2502 return LoadAll();
2503 }
2504
2513 FCMetatoolAssignment* FindKeystroke(twobyte keystrokeslot)
2514 {
2515 if (keystrokeslot == 0) return NULL;
2516 for (int i = 0; i < GetCount(); i++)
2517 {
2518 FCMetatoolAssignment* pAssignment = GetItemAt(i);
2519 if (pAssignment->GetKeystroke() == keystrokeslot) return pAssignment;
2520 }
2521 return NULL;
2522 }
2523
2533 {
2534 if ((_mode != FCMetatoolAssignment::MTOOLMODE_CLEF) && (defID == 0)) return NULL;
2535 for (int i = 0; i < GetCount(); i++)
2536 {
2537 FCMetatoolAssignment* pAssignment = GetItemAt(i);
2538 if (pAssignment->GetDefID() == defID) return pAssignment;
2539 }
2540 return NULL;
2541 }
2542
2553 {
2554 if (!pDef) return NULL;
2555 if (_mode != FCMetatoolAssignment::MTOOLMODE_EXPRESSION) return NULL;
2556 for (int i = 0; i < GetCount(); i++)
2557 {
2558 FCMetatoolAssignment* pAssignment = GetItemAt(i);
2559 if (!pAssignment->IsShapeExpressionDef()) continue;
2560 if (pAssignment->GetDefID() == pDef->GetItemNo()) return pAssignment;
2561 }
2562 return NULL;
2563 }
2564
2575 {
2576 if (!pDef) return NULL;
2577 if (_mode != FCMetatoolAssignment::MTOOLMODE_EXPRESSION) return NULL;
2578 for (int i = 0; i < GetCount(); i++)
2579 {
2580 FCMetatoolAssignment* pAssignment = GetItemAt(i);
2581 if (pAssignment->IsShapeExpressionDef()) continue;
2582 if (pAssignment->GetDefID() == pDef->GetItemNo()) return pAssignment;
2583 }
2584 return NULL;
2585 }
2586
2597 {
2598 if (!pDef) return NULL;
2599 if (_mode != FCMetatoolAssignment::MTOOLMODE_ARTICULATION) return NULL;
2600 for (int i = 0; i < GetCount(); i++)
2601 {
2602 FCMetatoolAssignment* pAssignment = GetItemAt(i);
2603 if (pAssignment->GetDefID() == pDef->GetItemNo()) return pAssignment;
2604 }
2605 return NULL;
2606 }
2607
2618 {
2619 if (!pDef) return NULL;
2620 if (_mode != FCMetatoolAssignment::MTOOLMODE_REPEAT) return NULL;
2621 for (int i = 0; i < GetCount(); i++)
2622 {
2623 FCMetatoolAssignment* pAssignment = GetItemAt(i);
2624 if (pAssignment->GetDefID() == pDef->GetItemNo()) return pAssignment;
2625 }
2626 return NULL;
2627 }
2628
2639
2640#ifdef PDK_FRAMEWORK_ENTRIES
2653#endif
2654
2665};
2666
2667
2668#ifdef PDK_FRAMEWORK_ENIGMASTRINGS
2677{
2678protected:
2679#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2680 __FCBaseData* CreateElement() override { return new FCBookmark(); }
2681#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2682public:
2683
2691
2692 const char* ClassName() const override { return "FCBookmarks"; }
2693
2699};
2700#endif // PDK_FRAMEWORK_ENIGMASTRINGS
2701
2710{
2711public:
2717
2718 const char* ClassName() const override { return "FCCustomKeyModeSymbolLists"; }
2719
2725
2731 {
2732 ClearAll();
2734 if (pObject->LoadFirst())
2735 {
2736 Add(pObject->CreateClone());
2737 while (pObject->LoadNext()) Add(pObject->CreateClone());
2738 }
2739 delete pObject;
2740 return GetCount();
2741 }
2742};
2743
2752{
2753protected:
2754#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2755 __FCBaseData* CreateElement() override { return new FCCustomKeyModeDef(); }
2756#endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2757public:
2758
2764
2765 const char* ClassName() const override { return "FCCustomKeyModeDefs"; }
2766
2774 {
2775 LoadAll();
2776 for (int i = GetCount() - 1; i >= 0; i--)
2777 {
2778 if (! GetItemAt(i)->IsLinear()) ClearItemAt(i);
2779 }
2780 return GetCount();
2781 }
2782
2790 {
2791 LoadAll();
2792 for (int i = GetCount() - 1; i >= 0; i--)
2793 {
2794 if (! GetItemAt(i)->IsNonLinear()) ClearItemAt(i);
2795 }
2796 return GetCount();
2797 }
2798
2807 {
2808 for (int i = 0; i < GetCount(); i++)
2809 if (GetItemAt(i)->GetItemNo() == keysig.GetKeyMode())
2810 return i;
2811 return -1;
2812 }
2813
2822 {
2823 for (int i = 0; i < GetCount(); i++)
2824 {
2825 FCCustomKeyModeDef* pNext = GetItemAt(i);
2826 if (pNext->GetItemNo() == keysig.GetKeyMode())
2827 return pNext;
2828 }
2829 return nullptr;
2830 }
2831
2837};
2838
2839
2840#endif /* FF_OTHERCOLLECTION_H */
2841
2842
Base class for all data-related classes (that handles Finale data).
Definition ff_base.h:676
Base class for the Finale Framework classes.
Definition ff_base.h:71
PDKFRAMEWORK_CLASSID
Constants for the GetClassID method.
Definition ff_base.h:84
int GetCount()
Method to get the number of elements without loading all data into a collection.
Definition finaleframework.cpp:15337
virtual int LoadAll()
Loads all available data into the collection.
Definition finaleframework.cpp:13964
void SetCustomTag(EXTAG tag)
Sets a custom Enigma tag for the elements of the collection.
Definition ff_basecollection.h:664
virtual bool SaveAll()
Saves all data in the collection.
Definition ff_basecollection.h:646
Base class for all collection classes. A collection is a storage that can store multiple objects of s...
Definition ff_basecollection.h:26
int GetIndexOf(__FCBase *pObject) const
Returns the 0-based order index for the object within the collection.
Definition finaleframework.cpp:13775
void Add(__FCBase *pNewItem)
Adds an element to the end of the collection.
Definition finaleframework.cpp:13726
bool ClearItemAt(int index)
Deletes the object at the index position and disposes the object. Index is 0-based.
Definition finaleframework.cpp:13791
void ClearAll()
Destroys all the objects in the collection and empties the collection.
Definition ff_basecollection.h:151
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
void InsertItemAt(__FCBase *pNewItem, int index)
Inserts an item into the collection.
Definition finaleframework.cpp:13733
Base class for "other" data with incis of the __FCInciOther class (where it's common to collect all i...
Definition ff_basecollection.h:754
virtual int LoadAllForItem(CMPER cmper)
Loads all subrecords (incis) for a specific item (cmper) and adds them as items to the collection.
Definition finaleframework.cpp:14141
virtual bool SaveAllForItem(CMPER cmper)
Saves the whole collection to a specific item (cmper).
Definition finaleframework.cpp:14157
Base class for "other" data without incis (inci always 0.)
Definition ff_basecollection.h:843
virtual CMPER GetItemNo() const
Returns the item number. This typically points to items such as a page number, a measure number,...
Definition ff_other.h:323
Class for allotment data (in the Document Options).
Definition ff_other.h:20147
Collection class for FCAllotment class objects.
Definition ff_othercollection.h:1266
FCAllotment * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:1278
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1272
The class for an articulation definition. On Finale 2012 and above, this class supports the Unicode c...
Definition ff_other.h:12287
Collection class for FCArticulationDef class objects.
Definition ff_othercollection.h:504
FCArticulationDefs()
The constructor.
Definition ff_othercollection.h:517
FCArticulationDef * GetItemAt(int index) const
Override method for __FCCollection::GetItemAt.
Definition ff_othercollection.h:526
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:510
The class for one single beat chart element.
Definition ff_other.h:23615
Evpu16 GetMinimumPosition() const
Returns the minimum position for the element.
Definition ff_other.h:23734
void SetNextHorizontalPosition(Evpu16 value)
Sets the next position in the measure.
Definition ff_other.h:23877
void SetMinimumPosition(Evpu16 value)
Sets the minimum position for the element.
Definition ff_other.h:23893
void SetHorizontalPosition(Evpu16 position)
Sets the position of the beat chart element.
Definition ff_other.h:23863
bool GetInitElement() const
Returns true if it's the first (init) element in the chart. The init element defines the full beat ch...
Definition ff_other.h:23812
void SetFullSpan(Evpu16 span)
Sets the full span for the beat chart.
Definition ff_other.h:23917
Evpu16 GetHorizontalPosition() const
Returns the position in the measure for the element (in EVPUs).
Definition ff_other.h:23706
Evpu16 GetMinimumWidth() const
Returns the minimum width for the beat chart.
Definition ff_other.h:23783
void SetMinimumWidth(Evpu16 width)
Sets the minimum width for the beat chart.
Definition ff_other.h:23932
TimeEdu32 GetMeasurePos() const override
Return the duration reference position for the element.
Definition ff_other.h:23697
Evpu16 CalcWidth()
Calculates and returns the width of the beat chart element.
Definition ff_other.h:23826
void SetWidth(Evpu16 width)
Sets the width of the beat chart element.
Definition ff_other.h:23851
Collection class for FCBeatChartElement class objects (which is a beat chart for a measure).
Definition ff_othercollection.h:1543
bool SaveAll() override
Overridden version of SaveAll, that verifies the collection integrity before saving.
Definition ff_othercollection.h:1696
bool IsValid()
Vertifies that the beat chart collection is syntactically correct.
Definition finaleframework.cpp:14974
bool CalcIsManual()
Calculates if the beat chart is manual. See TransitionToManual for more information.
Definition ff_othercollection.h:1599
FCBeatChartElement * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:1706
FCBeatChartElement * FindMeasurePos(TimeEdu32 durationpos)
Finds the first beat chart element with the given duration position.
Definition ff_othercollection.h:1569
Evpu16 CalcElementWidth(int index)
Calculates the effective element width of the specified index, irrespective of whether the beat chart...
Definition ff_othercollection.h:1587
bool RebuildAfter(int index, bool updateinitrecord=false)
Rebuilds the beat chart elements, based on correct "Next Measure Position" info.
Definition ff_othercollection.h:1646
void TransitionToManual()
Transitions a beat chart from automatic to manual. You should always call this before editing a beat ...
Definition ff_othercollection.h:1618
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1557
FCBeatChartElements()
The constructor.
Definition ff_othercollection.h:1554
void RebuildNextHorizontalPositions()
Rebuilds all the "next horizontal measure positions" in the beat chart chain.
Definition ff_othercollection.h:1681
The class for a Finale bookmark.
Definition ff_other.h:26526
Collection class for FCBookmark class objects.
Definition ff_othercollection.h:2677
FCBookmark * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_othercollection.h:2698
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2692
FCBookmarks()
The constructor.
Definition ff_othercollection.h:2688
Browser class for FCMeasure class objects.
Definition ff_browser.h:314
Class for a category definition.
Definition ff_other.h:13416
void GetName(FCString *pString) const
Gets the name of the category and copies it to an existing string object.
Definition ff_other.h:13878
twobyte GetID() const
Returns the internal category ID. This is a read-only value.
Definition ff_other.h:13815
Collection class for FCCategoryDef class objects.
Definition ff_othercollection.h:765
FCCategoryDefs()
The constructor.
Definition ff_othercollection.h:774
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:778
FCCategoryDef * FindID(twobyte catID)
Finds the category object with a specific category ID.
Definition ff_othercollection.h:810
FCCategoryDef * GetItemAt(int index) const
Override method for __FCCollection::GetItemAt.
Definition ff_othercollection.h:784
FCCategoryDef * FindName(const FCString &value)
Finds the first category object with a specific category name.
Definition ff_othercollection.h:792
Contains a clef change inside a cell. This is an item member in a FCCellClefChanges collection (creat...
Definition ff_other.h:25850
Collection class for FCCellClefChange class objects, containing all mid-clef changes in a cell.
Definition ff_othercollection.h:2247
void InsertCellClefChange(FCCellClefChange *pClefInfo)
Inserts a FCCellClefChange instance into the collection.
Definition finaleframework.cpp:15064
FCCellClefChanges()
The constructor.
Definition ff_othercollection.h:2259
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2253
FCCellClefChange * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:2283
The class that reference a cell (one measure on one staff) in the musical "grid".
Definition ff_cell.h:18
Class that stores one record of a chord suffix definition.
Definition ff_other.h:21677
Collection class for FCChordSuffixElement class objects, usually created with FCChord:CreateChordSuff...
Definition ff_othercollection.h:1465
FCChordSuffixElement * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1477
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1471
Data class for the global clef definitions.
Definition ff_globals.h:51
Class that allows access to custom key modes. (Finale calls them "Nonstandard Key Signatures",...
Definition ff_other.h:27298
Collection class for FCCustomKeyModeDef class objects.
Definition ff_othercollection.h:2752
int FindIndexForKeySignature(const FCKeySignature &keysig) const
Finds the index of the FCCustomKeyModeDef that corresponds to the input FCKeySignature.
Definition ff_othercollection.h:2806
int LoadAllLinear()
Loads all linear instances of FCCustomKeyModeDef.
Definition ff_othercollection.h:2773
FCCustomKeyModeDef * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_othercollection.h:2836
FCCustomKeyModeDef * FindKeySignature(const FCKeySignature &keysig) const
Finds the FCCustomKeyModeDef that corresponds to the input FCKeySignature.
Definition ff_othercollection.h:2821
int LoadAllNonLinear()
Loads all non-linear instances of FCCustomKeyModeDef.
Definition ff_othercollection.h:2789
FCCustomKeyModeDefs()
The constructor.
Definition ff_othercollection.h:2763
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2765
Class that encapsulates the list of accidental symbols for instances of FCCustomKeyModeDef....
Definition ff_other.h:27131
bool LoadFirst()
Loads the first item.
Definition finaleframework.cpp:13413
bool LoadNext()
Loads the next item.
Definition finaleframework.cpp:13422
Collection class for FCCustomKeyModeSymbolList class objects.
Definition ff_othercollection.h:2710
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2718
int LoadAll()
Loads all items in the document.
Definition ff_othercollection.h:2730
FCCustomKeyModeSymbolLists()
The constructor.
Definition ff_othercollection.h:2716
FCCustomKeyModeSymbolList * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_othercollection.h:2724
The class for an executable shape definition.
Definition ff_other.h:21590
Collection class for FCExecutableShapeDef class objects.
Definition ff_othercollection.h:1414
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1420
Class for expression assignments to a measure/staff.
Definition ff_other.h:17641
Collection class for FCExpression class objects.
Definition ff_othercollection.h:890
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:908
FCExpression * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:906
int LoadAllInCellLayout(FCCell *pCell, FCStaffSystems *pStaffSystems)
Loads all expressions that belongs to a specific cell in a layout. This method will also handle top/b...
Definition finaleframework.cpp:14908
FCExpressions()
The constructor.
Definition ff_othercollection.h:900
int LoadAllForRegion(FCMusicRegion *pRegion)
Loads all expressions in the region. Partial measures are taken into account.
Definition finaleframework.cpp:14947
int LoadAllInCell(FCCell *pCell)
Loads all expressions that belongs to a specific cell.
Definition finaleframework.cpp:14889
Class for freezing a system at a specific measure.
Definition ff_other.h:14410
Collection class for FCFreezeSystem class objects. LoadAll doesn't work for this class.
Definition ff_othercollection.h:1193
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1199
Class for tablature instruments definitions.
Definition ff_other.h:25427
Collection class for FCFretInstrumentDef class objects.
Definition ff_othercollection.h:1353
FCFretInstrumentDef * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1372
FCFretInstrumentDefs()
The constructor.
Definition ff_othercollection.h:1364
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1366
Class that stores one record of a fretboard chord definition.
Definition ff_other.h:22540
Collection class for FCFretboardGroupDef class objects.
Definition ff_othercollection.h:1514
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1522
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_othercollection.h:1523
FCFretboardGroupDef * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1529
The class for a fretboard style definition, which reflects the content the "Fretboard Style" dialog b...
Definition ff_other.h:21995
Collection class for FCFretboardStyleDef class objects.
Definition ff_othercollection.h:1490
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_othercollection.h:1497
FCFretboardStyleDef * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1503
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1496
The class for a guide in the document.
Definition ff_other.h:26035
Efix32 GetPosition() const
Returns the position for a guide, if EFIXes.
Definition ff_other.h:26056
Class that contains the guides for a document. This class is handled through the FCGridsGuidesPrefs c...
Definition ff_othercollection.h:2303
FCGuide * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:2344
bool SaveAll()
Saves the guides in Finale 26.2 and higher.
Definition finaleframework.cpp:15183
FCGuide * FindClosest(Efix32 testposition, Efix32 gravityzonesize)
Finds the nearest guide that also matches the gravity zone size.
Definition ff_othercollection.h:2358
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2329
FCGuide * AddGuide(Efix32 position)
Adds a new guide to the collection.
Definition ff_othercollection.h:2393
The class for an instrument definition item (in the instrument list/Score Manager).
Definition ff_other.h:24413
Collection class for FCInstrumentDef class objects.
Definition ff_othercollection.h:1888
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1904
FCInstrumentDefs()
The constructor.
Definition ff_othercollection.h:1899
FCInstrumentDef * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_othercollection.h:1910
Class for key signatures. Instances of this class are auto-created by FCMeasure:GetKeySignature and F...
Definition ff_keysig.h:25
twobyte GetKeyMode() const
Returns the key mode that can be used to load the associated FCCustomKeyModeDef.
Definition ff_keysig.h:68
The class for a measure (the full vertical measure stack) in the document. It maps the Measure Attrib...
Definition ff_other.h:4221
The class for a measure number region.
Definition ff_other.h:5494
Collection class for FCMeasureNumberRegion class objects.
Definition ff_othercollection.h:370
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:397
FCMeasureNumberRegions()
The constructor.
Definition ff_othercollection.h:392
FCMeasureNumberRegion * GetItemAt(int index) const
Overridden version of GetItemAt().
Definition ff_othercollection.h:491
FCMeasureNumberRegion * FindMeasure(int measure)
Returns the first region in the collection that contains the measure number.
Definition finaleframework.cpp:14668
int CountRegionsForMeasure(int measure)
Returns the number of regions that the 1-based measure number is part of.
Definition finaleframework.cpp:14874
bool IsMeasureIncluded(int measure)
Returns true if the measure is included in any of the measure number regions.
Definition finaleframework.cpp:14814
int CalcStringFromNumber(int measure, FCString *pString)
Formats the printed measure number for a specific measure in the document.
Definition finaleframework.cpp:14703
int CalcNumberFromString(const FCString &value)
Returns the 1-based number based on the supplied printed string.
Definition finaleframework.cpp:14749
bool IsStringUnique(const FCString &value)
Returns true if the "printed" measure number string has no ambiguity among the measure number regions...
Definition finaleframework.cpp:14823
FCMeasureNumberRegion * FindByID(int theID)
Returns the region that matches a specific ID.
Definition finaleframework.cpp:14678
Collection class for FCMeasure class objects.
Definition ff_othercollection.h:228
static bool Insert(int measureno, int count, bool updatelayout)
Insert measures in the document.
Definition ff_othercollection.h:303
void LoadRegion(FCMusicRegion *pRegion)
Loads the measures that belongs a specific region.
Definition finaleframework.cpp:14626
FCMeasures()
The constructor.
Definition ff_othercollection.h:238
FCMeasure * GetItemAt(int index) const
Definition ff_othercollection.h:247
static bool Append(int count, bool updatelayout)
Appends measures to the end of the document.
Definition ff_othercollection.h:283
static bool Delete(int measureno, int count)
Deletes the measure(s) and updates the layout.
Definition ff_othercollection.h:266
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:241
Class for a metatool key assignment.
Definition ff_other.h:26108
METATOOL_MODES
Definition ff_other.h:26115
@ MTOOLMODE_REPEAT
Definition ff_other.h:26126
@ MTOOLMODE_ARTICULATION
Definition ff_other.h:26123
@ MTOOLMODE_CLEF
Definition ff_other.h:26129
@ MTOOLMODE_EXPRESSION
Definition ff_other.h:26120
twobyte GetKeystroke() const
Returns the keystroke to where the metatool is saved.
Definition finaleframework.cpp:13252
bool IsShapeExpressionDef() const
Returns if an expression metatool is connected to a shape expression definition, or not....
Definition ff_other.h:26331
CMPER GetDefID() const
Returns the 1-based (or 0-based) definition ID for supported object types.
Definition ff_other.h:26300
Collection class for FCMetatoolAssignment class objects.
Definition ff_othercollection.h:2415
FCMetatoolAssignment * GetItemAt(int index) const
Definition ff_othercollection.h:2438
FCMetatoolAssignment * FindTextExpressionDef(FCTextExpressionDef *pDef)
Find a metatool assignment record in the collection by matching the text expression definition....
Definition ff_othercollection.h:2574
FCMetatoolAssignments()
The constructor.
Definition ff_othercollection.h:2429
FCMetatoolAssignment * FindShapeExpressionDef(FCShapeExpressionDef *pDef)
Find a metatool assignment record in the collection by matching the shape expression definition....
Definition ff_othercollection.h:2552
FCMetatoolAssignment * FindTuplet(FCTuplet *pTuplet)
Find a metatool assignment record in the collection by matching a tuplet. This method will only work ...
Definition finaleframework.cpp:15209
FCMetatoolAssignment * FindArticulationDef(FCArticulationDef *pDef)
Find a metatool assignment record in the collection by matching the articulation definition....
Definition ff_othercollection.h:2596
int LoadAll() override
Overloaded LoadAll() that scans through the metatool key ranges.
Definition finaleframework.cpp:15234
int LoadAllForMode(FCMetatoolAssignment::METATOOL_MODES mode)
Definition ff_othercollection.h:2491
FCMetatoolAssignment * FindKeystroke(twobyte keystrokeslot)
Find a metatool assignment record in the collection by searching for the keystroke.
Definition ff_othercollection.h:2513
void SetMode(FCMetatoolAssignment::METATOOL_MODES mode)
Sets the mode for all the objects that should be loaded.
Definition ff_othercollection.h:2449
FCMetatoolAssignment::METATOOL_MODES GetMode() const
Returns the loading mode of the object.
Definition ff_othercollection.h:2472
FCMetatoolAssignment * FindClefDef(FCClefDef *pDef)
Find a metatool assignment record in the collection by matching the clef definition....
Definition finaleframework.cpp:15196
FCMetatoolAssignment * FindRepeatDef(FCTextRepeatDef *pDef)
Find a metatool assignment record in the collection by matching the text repeat definition....
Definition ff_othercollection.h:2617
FCMetatoolAssignment * FindDefID(CMPER defID)
Find a metatool assignment record in the collection by searching for the definition ID.
Definition ff_othercollection.h:2532
FCMetatoolAssignment * FindStaffStyleDef(FCStaffStyleDef *pDef)
Find a metatool assignment record in the collection by matching the staff style definition....
Definition finaleframework.cpp:15222
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2432
Class for a multi-measure rest instance.
Definition ff_other.h:19613
Collection class for FCMultiMeasureRest class objects.
Definition ff_othercollection.h:1164
FCMultiMeasureRests()
The constructor.
Definition ff_othercollection.h:1175
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1177
FCMultiMeasureRest * GetItemAt(int index) const
Overloaded version of GetItemAt().
Definition ff_othercollection.h:1183
Class for a multi-staff instrument defined in the Score Manager.
Definition ff_other.h:19933
bool ContainsStaff(CMPER staffno)
Returns true if the staff is available in the multi-instrument group.
Definition ff_other.h:19996
Collection class for FCMultiStaffInstrument class objects.
Definition ff_othercollection.h:1211
const PDKFRAMEWORK_CLASSID GetClassID() const override
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition ff_othercollection.h:1226
FCMultiStaffInstrument * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:1253
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1225
FCMultiStaffInstrument * FindStaff(CMPER staffno)
Returns the FCMultiStaffInstrument element in which staff number was found.
Definition ff_othercollection.h:1238
FCMultiStaffInstruments()
The constructor.
Definition ff_othercollection.h:1221
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition ff_region.h:25
bool SetFullDocument()
Sets the region to span the full document.
Definition finaleframework.cpp:15590
bool SetCurrentSelection()
Sets the region object to span the current selection in the document.
Definition finaleframework.cpp:15602
bool IsStaffIncluded(twobyte staffnumber) const
Returns true if the staff number is with the region.
Definition finaleframework.cpp:15658
void SetInstrumentList(twobyte list)
Sets the instrument list for the selection. If this method is called,' the start/end staff must be mo...
Definition ff_region.h:371
void SetStartStaff(twobyte staff)
Sets the start staff for the region. The staff must be available in the region's current instrument l...
Definition ff_region.h:380
twobyte GetInstrumentList() const
Returns the instrument list number for the selection.
Definition ff_region.h:432
void SetEndStaff(twobyte staff)
Sets the end staff for the region. The staff must be available in the region's current instrument lis...
Definition ff_region.h:396
Simple class to put numbers into collections.
Definition ff_base.h:4821
Simple collection class for FCNumber class objects.
Definition ff_basecollection.h:357
FCNumber * FindInt(int intvalue)
Returns the first object that contains the integer value.
Definition ff_basecollection.h:407
Utility class to provide a mechanism for loading blob data blocks consisting of more than 1 inci....
Definition ff_other.h:167
Collection specialized on handling all incis (the traditional 12-byte type) from a cmper....
Definition ff_othercollection.h:21
void ExpandToFitRecords(int noofrecords, int recordsize, CMPER cmper)
Expands the number of incise to fit the required amount of records.
Definition finaleframework.cpp:14495
void MakeMemoryBlockCollection(twobyte *pBuffer, int size, CMPER cmper)
Creates items out of a memory block.
Definition finaleframework.cpp:14481
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:26
FCOtherIncis(EXTAG customTag=0)
the constructor
Definition ff_othercollection.h:29
twobyte * CreateMemoryBlock()
Creates a memory block, containing all the incis.
Definition finaleframework.cpp:14466
int GetMemoryBlockSize()
Returns the total number of bytes that all the loaded incis requires.
Definition finaleframework.cpp:14461
FCOtherInci * GetItemAt(int index) const
Overridden version of GetItemAt().
Definition ff_othercollection.h:50
Class for page-assigned graphics. Currently, this class can only be used to edit existing page graphi...
Definition ff_other.h:20251
Collection class for FCPageGraphic class objects.
Definition ff_othercollection.h:1290
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1304
FCPageGraphics()
The constructor.
Definition ff_othercollection.h:1300
FCPageGraphic * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:1310
The class representing a physical page in Finale.
Definition ff_other.h:3398
Class for a page-connected text block.
Definition ff_other.h:16687
Collection class for FCPageText class objects.
Definition ff_othercollection.h:955
FCPageTexts()
The constructor.
Definition ff_othercollection.h:965
FCPageText * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:973
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:967
Collection class for FCPage class objects.
Definition ff_othercollection.h:66
FCPage * GetItemAt(int index) const
Definition ff_othercollection.h:86
FCPages()
The constructor.
Definition ff_othercollection.h:76
FCPage * FindMeasureNumber(eMeas measurenumber)
Tries to finds the page that contains the measure.
Definition finaleframework.cpp:14575
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:80
static bool AppendBlank(bool updatelayout)
Adds one blank page to the end of the layout.
Definition finaleframework.cpp:14518
static bool InsertBlank(int beforepageno, bool updatelayout)
Inserts one blank page in the layout. All pages appearing after the insertion point are pushed away.
Definition finaleframework.cpp:14536
FCPage * FindSystemNumber(eSsys systemnumber)
Tries to finds the page that contains the system number.
Definition finaleframework.cpp:14557
Class that represents one linked part in a document. The class also provides methods to switch betwee...
Definition ff_parts.h:119
@ PARTID_CURRENT
Definition ff_parts.h:164
EPARTID GetID() const
Returns the internal part ID.
Definition ff_parts.h:214
The class for a note definition in a percussion layout.
Definition ff_other.h:24811
twobyte CalcMidiRawNote(FCPercussionMapNotes *pNotes)
Calculates the MIDI note based on the percussion map. The order ID must match.
Definition finaleframework.cpp:12920
PERC_NOTE_TYPE GetNoteType() const
Returns the percussion note type.
Definition finaleframework.cpp:12729
twobyte CalcMidiNote(FCPercussionMapNotes *pNotes)
Calculates the MIDI note based on the percussion map. No mapping to the order ID is made.
Definition finaleframework.cpp:12934
PERC_NOTE_TYPE GetRawNoteType() const
Returns the "raw" percussion note type. This includes the order ID, for notes that share the same typ...
Definition finaleframework.cpp:12717
Collection class for FCPercussionLayoutNote class objects (=a percussion layout).
Definition ff_othercollection.h:1758
FCString * CreateNameString()
Loads and creates a string with the name of the full percussion layout.
Definition ff_othercollection.h:1794
FCPercussionLayoutNote * FindRawNoteType(PERC_NOTE_TYPE notetype)
Returns the object in the collection that matches a certain percussion note type. This makes a match ...
Definition ff_othercollection.h:1817
FCPercussionLayoutNotes()
The constructor.
Definition ff_othercollection.h:1770
FCPercussionLayoutNote * FindMidiNote(twobyte midinote, FCPercussionMapNotes *pMapNotes)
Returns the object in the collection that has a certain MIDI note, based on the percussion map.
Definition ff_othercollection.h:1854
FCPercussionLayoutNote * GetItemAt(int index) const
Overridden version of GetItemAt.
Definition ff_othercollection.h:1875
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1775
CMPER GetPercussionLibraryID()
Returns the percussion layout ID.
Definition ff_othercollection.h:1778
int LoadAllForItem(CMPER cmper) override
Overridden version of LoadAllForItem.
Definition ff_othercollection.h:1781
FCPercussionLayoutNote * FindNoteType(PERC_NOTE_TYPE notetype)
Returns the object in the collection that matches a certain percussion note type.
Definition ff_othercollection.h:1834
Text used for the name of a percussion layout. Please refer to the FCPercussionLayoutNotes class.
Definition ff_text.h:354
Collection class for FCPercussionMapNote class objects, used by the FCInstrumentDef class.
Definition ff_other.h:24260
bool Load(twobyte number)
Loads the text with the indicated text number.
Definition finaleframework.cpp:4386
FCString * CreateString() const
Creates a string object with the loaded text. If the string doesn't exist (or if it's empty),...
Definition finaleframework.cpp:4470
Class that handles separate placement for repeats.
Definition ff_other.h:17270
twobyte GetMeasure() const override
Sets the measure that the separate placement should be matched to.
Definition ff_other.h:17425
SEPARATEPLACEMENT_MODES
Modes for which placement type to load.
Definition ff_other.h:17302
@ SEPARMODE_BACKWARDREPEAT
Definition ff_other.h:17304
@ SEPARMODE_ENDINGREPEATTEXT
Definition ff_other.h:17313
@ SEPARMODE_TEXTREPEAT
Definition ff_other.h:17307
@ SEPARMODE_ENDINGREPEAT
Definition ff_other.h:17310
Collection class for FCSeparatePlacement records, that handles separate placements in repeats.
Definition ff_othercollection.h:1020
FCSeparatePlacements()
the constructor.
Definition ff_othercollection.h:1035
void SetMode(FCSeparatePlacement::SEPARATEPLACEMENT_MODES mode)
Sets the list of data that should be used when reading/saving the records.
Definition ff_othercollection.h:1058
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1049
FCSeparatePlacement * GetItemAt(int index) const
Overridden version of GetItemAt.
Definition ff_othercollection.h:1087
FCSeparatePlacement * AssureStaffPlacement(eStaff staff)
Returns the FCSeparatePlacement record that references the staff location. If the location doesn't ex...
Definition finaleframework.cpp:15035
void KeepOnlyMeasure(eMeas meas)
Filters out all measure that don't belong to a specific measure.
Definition ff_othercollection.h:1101
Class for a shape definition (as in Finale's Shape selection dialog).
Definition ff_other.h:2233
Collection class for FCShapeDef class objects, which defines the shape definitions in the document.
Definition ff_othercollection.h:1434
FCShapeDefs()
The constructor.
Definition ff_othercollection.h:1444
FCShapeDef * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1452
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1446
Class for a shape expression definition.
Definition ff_other.h:15488
Collection class for FCShapeExpressionDef class objects.
Definition ff_othercollection.h:859
FCShapeExpressionDefs()
The constructor.
Definition ff_othercollection.h:869
FCShapeExpressionDef * GetItemAt(int index) const
Overridden method version of GetItemAt().
Definition ff_othercollection.h:877
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:871
The class for a staff in the score. It is also a base class for staff styles.
Definition ff_other.h:11503
An object that contains one staff list section (out of 4). Before data is loaded/saved,...
Definition ff_other.h:25043
bool IncludesStaff(twobyte staffnumber)
Returns true if the staff number is included in the staff list.
Definition ff_other.h:25301
void SetMode(STAFFLIST_MODES mode)
Sets the list of data that should be used when reading/saving the record.
Definition ff_other.h:25126
bool Load(CMPER itemno) override
Overridden Load() method, since the staff list is of dynamic size.
Definition finaleframework.cpp:12953
STAFFLIST_MODES
Modes for loading/saving the staff list.
Definition ff_other.h:25067
A specialized collection class that has the purpose to handle the different score lists that a docume...
Definition ff_othercollection.h:2028
bool IsLoaded()
Returns if the data for all score lists is loaded or not.
Definition ff_othercollection.h:2111
bool LoadAssignmentList(twobyte number)
Loads all 4 required score lists for an "assignment" score lists.
Definition ff_othercollection.h:2095
FCStaffListLookup()
The constructor.
Definition ff_othercollection.h:2036
bool IsStaffElementDisplayed(eStaff staffno, bool score, FCSystemStaves *pSystemStaves)
Checks if the staff is marked to display items. Forced state is not checked.
Definition ff_othercollection.h:2127
bool LoadStandardList(twobyte number)
Loads all 4 required score lists for a "standard" score lists (used by repeats etc).
Definition ff_othercollection.h:2051
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2040
bool LoadCategoryList(twobyte number)
Loads all 4 required score lists for a "Category" score lists (as defined in the Category Designer).
Definition ff_othercollection.h:2075
Collection class for FCStaffList class objects. The SetMode() method should be used before any loadin...
Definition ff_othercollection.h:1928
FCStaffLists()
The constructor.
Definition ff_othercollection.h:1938
void SetMode(FCStaffList::STAFFLIST_MODES mode)
Sets the list of data that should be used when reading/saving the records.
Definition ff_othercollection.h:1960
FCStaffList * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:2019
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2013
Class for staff style assignments to a staff.
Definition ff_other.h:19437
Collection class for FCStaffStyleAssign class objects.
Definition ff_othercollection.h:1143
FCStaffStyleAssign * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_othercollection.h:1152
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1149
Class for a staff style definition.
Definition ff_other.h:18244
Collection class for FCStaffStyleDef class objects.
Definition ff_othercollection.h:1122
FCStaffStyleDef * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_othercollection.h:1131
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1128
The class for a staff system on a page.
Definition ff_other.h:3715
Collection class for FCStaffSystem class objects. A collection typically contains all staff systems f...
Definition ff_othercollection.h:164
static void UpdateFullLayout()
Updates the layout for the whole document (in the current part).
Definition finaleframework.cpp:14588
bool NeedUpdateLayout()
Returns true if the loaded systems indicate that the layout needs to be updated.
Definition finaleframework.cpp:14593
FCStaffSystems()
The constructor.
Definition ff_othercollection.h:175
FCStaffSystem * FindMeasureNumber(eMeas measurenumber)
Tries to finds the system that contains the measure.
Definition finaleframework.cpp:14603
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:179
FCStaffSystem * GetItemAt(int index) const
Overridden method for __FCCollection::GetItemAt.
Definition ff_othercollection.h:185
A lookup class designed for collecting full staff layouts for different parts in the same document in...
Definition ff_othercollection.h:2178
FCStaffSystemsLookup()
The constructor.
Definition ff_othercollection.h:2187
FCStaffSystems * GetCurrentPartStaffSystems()
Returns the full FCStaffSystem collection for the part that's currently in editing focus.
Definition ff_othercollection.h:2195
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:2188
Collection class for FCStaff class objects.
Definition ff_othercollection.h:319
static CMPER Append()
Creates a new staff to the document. The created staff is automatically inserted in the layout.
Definition finaleframework.cpp:14646
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:332
FCStaves()
The construcor.
Definition ff_othercollection.h:330
FCStaff * GetItemAt(int index) const
Override method for __FCCollection::GetItemAt.
Definition ff_othercollection.h:338
static bool Delete(CMPER staffid)
Static method to delete a specific staff from the document.
Definition finaleframework.cpp:14657
Class that provides storage for text. This is to achieve platform-transparent text handling,...
Definition ff_base.h:1877
bool IsEqualString(const FCString &value) const
Returns true if the string is identical with the parameter. (FCString string version....
Definition ff_base.h:3142
Class that stores one "inci" of a staff list (for a system or for the global list of staves).
Definition ff_other.h:6952
eStaff GetStaff() const override
Returns the 1-based staff number for this slot.
Definition ff_other.h:7046
Collection class for FCSystemStaff class objects, which contains the list of staves available within ...
Definition ff_othercollection.h:544
int LoadTemporaryInstrumentList()
A shortcut method to load the current temporary instrument list.
Definition ff_othercollection.h:652
FCSystemStaff * FindTempoTapStaff()
Finds the Tempo Tap Staff in the collection and returns the pointer to it.
Definition ff_othercollection.h:590
FCSystemStaff * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:560
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:562
FCSystemStaves()
The constructor.
Definition ff_othercollection.h:554
twobyte GetEndStaff()
Returns the staff of the end staff in the collection, if any.
Definition ff_othercollection.h:611
int LoadStudioView()
A shortcut method to load the Studio View staves.
Definition ff_othercollection.h:637
int LoadScrollView()
A shortcut method to load the scroll view staves.
Definition ff_othercollection.h:624
FCSystemStaff * FindStaff(twobyte staffno)
Finds a specific staff in the collection and returns the pointer to it.
Definition ff_othercollection.h:571
int LoadStaffSet(int staffsetnumber)
A shortcut method to loads a specific (1-based) staff set (if it exists).
Definition ff_othercollection.h:668
twobyte GetStartStaff()
Returns the staff of the first staff in the collection, if any.
Definition ff_othercollection.h:599
bool IsSharingStaffWith(FCSystemStaves *pOtherSystemStaves)
Returns true if at least one of the staves in the collection appears in the collection to compare aga...
Definition ff_othercollection.h:712
FCMusicRegion * CreateMusicRegion(bool forwholedocument=false)
Creates a music region from this list of FCSystemStaff instances.
Definition ff_othercollection.h:735
int LoadAllForRegion(const FCMusicRegion *pRegion)
Loads all staves in the selection.
Definition ff_othercollection.h:679
bool SaveToTemporaryInstrumentList()
Saves the whole collection as the temporary instrument list, replacing whatever was there before.
Definition ff_othercollection.h:700
The class for a single tempo change in the Tempo Tool. The tempo elements should be stored in measure...
Definition ff_other.h:23987
Collection class for FCTempoElements class objects for one measure. The tempo elements should be stor...
Definition ff_othercollection.h:1718
FCTempoElement * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1739
void AssureSorted()
Makes sure that that elements are sorted in measure position order. If they are not in order,...
Definition finaleframework.cpp:15025
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1733
FCTempoElements()
The constructor.
Definition ff_othercollection.h:1729
Class for a text block.
Definition ff_other.h:16048
Collection class for FCTextBlock class objects.
Definition ff_othercollection.h:985
FCTextBlocks()
The constructor.
Definition ff_othercollection.h:995
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:997
FCTextBlock * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_othercollection.h:1003
Class for a text expression definition.
Definition ff_other.h:14515
Collection class for FCTextExpressionDef class objects.
Definition ff_othercollection.h:830
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:842
FCTextExpressionDefs()
The constructor.
Definition ff_othercollection.h:840
FCTextExpressionDef * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:848
The class for a text repeat definition.
Definition ff_other.h:20797
Collection class for FCTextRepeatDef class objects.
Definition ff_othercollection.h:1322
FCTextRepeatDef * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1341
FCTextRepeatDefs()
The constructor.
Definition ff_othercollection.h:1333
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1335
Class for text repeat assignments to a measure. The assignment is connected with a FCTextRepeatDef de...
Definition ff_other.h:21128
Collection class for FCTextRepeat class objects.
Definition ff_othercollection.h:1387
FCTextRepeats()
The constructor.
Definition ff_othercollection.h:1397
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_othercollection.h:1399
FCTextRepeat * GetItemAt(int index) const
Overridden version of GetItemAt()
Definition ff_othercollection.h:1405
Class for attaching an tuplet to an entry.
Definition ff_entrydetails.h:2153