Finale PDK Framework  0.54
ff_celldetails.h
1 /*
2  * File: ff_celldetails.h
3  * Author: Jari Williamsson
4  *
5  * Created on den 3 december 2010, 23:10
6  */
7 
8 #ifndef FF_CELLDETAILS_H
9 #define FF_CELLDETAILS_H
10 
11 #include "ff_cell.h"
12 #include "ff_region.h"
13 #include "ff_noteframe.h"
14 
15 
22 {
23  protected:
24 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
25  FCCell* _pConnectedCell;
26 
32  virtual void _SaveMeasureFlag() = 0;
33 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
34  public:
35  virtual const char* ClassName() { return "__FCCellDetail"; }
36 
38  {
39  _pConnectedCell = NULL;
40  }
41 
42 
50  void ConnectCell(FCCell* pCell) { _pConnectedCell = pCell; }
51 
52 
54  FCCell* GetConnectedCell() const { return _pConnectedCell; }
55 
61  virtual bool LoadFirst();
62 
72  virtual bool LoadLast();
73 
76  virtual bool LoadNext();
77 
80  virtual bool LoadPrevious();
81 
86  virtual TimeEdu32 GetMeasurePos() const { return 0; }
87 
95  virtual bool SaveNew();
96 
101  virtual eMeas GetMeasure() const
102  {
103  if (GetConnectedCell())
104  return GetConnectedCell()->GetMeasure();
105  else
106  return _dataid.detail.cmper2;
107  }
108 
113  virtual twobyte GetStaff() const
114  {
115  if (GetConnectedCell())
116  return GetConnectedCell()->GetStaff();
117  else
118  return _dataid.detail.cmper1;
119  }
120 
121 #ifdef PDK_FRAMEWORK_DEBUG
122  virtual void DebugDump()
123  {
125  DebugOutDigit("_dataid.detail.cmper1", _dataid.detail.cmper1);
126  DebugOutDigit("_dataid.detail.cmper2", _dataid.detail.cmper2);
127  DebugOutDigit("_dataid.detail.inci", _dataid.detail.inci);
128  if (_pConnectedCell)
129  {
130  DebugOutDigit("Cell measure: ", _pConnectedCell->GetMeasure());
131  DebugOutDigit("Cell staff: ", _pConnectedCell->GetStaff());
132  }
133  }
134 
135 #endif
136 };
137 
143 {
144  virtual bool LoadFirst() { return __FCCellDetail::LoadFirst(); }
145  virtual bool LoadNext() { return false; }
146  virtual bool SaveNew() { return false; }
147 public:
148  virtual const char* ClassName() { return "__FCNoInciCellDetail"; }
149 
151  {
152  }
153 
158  bool Load() { return LoadFirst(); }
159 };
160 
161 
168 {
169 public:
170  virtual const char* ClassName() { return "__FCCollectionCellDetail"; }
171 
175  {
176  }
177 
186  virtual int LoadAllInCell(FCCell* pCell);
187 
196  int LoadAllForRegion(FCMusicRegion* pMusicRegion);
197 
208  virtual int LoadAll();
209 };
210 
217 {
218 public:
219  virtual const char* ClassName() { return "__FCCollectionNoInciCellDetail"; }
220 
224  {
225  }
226 
233  int LoadAllInRegion(FCMusicRegion* pMusicRegion);
234 };
235 
236 
249 {
250 #ifndef DOXYGEN_SHOULD_SKIP_THIS
251  EDTMidiExpression _midiexpression;
252 
253 protected:
254  /* No measure flag to set? */
255  virtual void _SaveMeasureFlag() {}
256 
257  virtual EXTAG Tag() { return dt_MidiExpression; }
258  virtual int DataSizeLoad() { return sizeof(EDTMidiExpression); }
259  virtual int DataSizeSave() { return sizeof(EDTMidiExpression); }
260  virtual void* Allocate() { return (void*) &_midiexpression; }
261 
266  virtual void CloneMemoryFrom(__FCBaseData* pSource)
267  {
268  memcpy(&_midiexpression, ((FCMidiExpression*)pSource)->_GetMidiExpr(), sizeof(_midiexpression));
269  _datablock = &_midiexpression;
270  _loadedsize = sizeof(_midiexpression);
271  }
272 
273  virtual __FCBaseData* CreateObject() { return new FCMidiExpression(); }
274 #endif
275 public:
280  {
281  PEDAL_CONTROLLER = 64
282  };
283 
284  virtual const char* ClassName() { return "FCMidiExpression"; }
285  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_MIDIEXPRESSION; }
286 
287 #ifndef DOXYGEN_SHOULD_SKIP_THIS
288  EDTMidiExpression* _GetMidiExpr() { return &_midiexpression; }
289 #endif
290 
293  {
294  memset(&_midiexpression, 0, sizeof(_midiexpression));
295  _loadedsize = sizeof(_midiexpression);
296  _datablock = &_midiexpression;
297  }
298 
305  TimeEdu32 GetMeasurePos() const { return _midiexpression.eldur; }
306 
313  bool IsController() const { return (LOBYTE(_midiexpression.status) == MIDIEXP_CONTROLLER); }
314 
321  twobyte GetControllerNumber() const { return IsController() ? _midiexpression.data1 : 0; }
322 
329  twobyte GetControllerValue() const { return IsController() ? _midiexpression.data2 : 0; }
330 
337  {
338  _midiexpression.status &= 0xff00;
339  _midiexpression.status |= MIDIEXP_CONTROLLER;
340  }
341 
348  void SetControllerNumber(twobyte number)
349  {
350  if (!IsController()) return;
351  _midiexpression.data1 = number;
352  }
353 
360  void SetControllerValue(twobyte number)
361  {
362  if (!IsController()) return;
363  _midiexpression.data2 = number;
364  }
365 
366 
373  bool IsPressure() const { return (LOBYTE(_midiexpression.status) == MIDIEXP_PRESSURE); }
374 
382  void SetPressureValue(twobyte value)
383  {
384  if (!IsPressure()) return;
385  if (value < 0) value = 0;
386  if (value > 127) value = 127;
387  _midiexpression.data1 = value;
388  }
389 
394  twobyte GetPressureValue() const
395  {
396  if (!IsPressure()) return 0;
397  return _midiexpression.data1;
398  }
399 
406  {
407  _midiexpression.status &= 0xff00;
408  _midiexpression.status |= MIDIEXP_PRESSURE;
409  }
410 
411 
418  bool IsPitchWheel() const { return (LOBYTE(_midiexpression.status) == MIDIEXP_PITCHWHEEL); }
419 
427  void SetPitchWheelValue(twobyte value)
428  {
429  if (!IsPitchWheel()) return;
430  if (value > 8192) value = 8192;
431  if (value < -8192) value = -8192;
432  /* For some unknown reason, data2 & 64 is always true for 0
433  * and positive values. */
434  bool isnegative = (value < 0);
435  _midiexpression.data1 = value & 0x7f;
436  value &= ~0x7f;
437  value /= 0x80;
438  value &= 0x3f;
439  _midiexpression.data2 = value;
440  if (!isnegative) _midiexpression.data2 |= 0x40;
441  }
442 
447  twobyte GetPitchWheelValue() const
448  {
449  if (!IsPitchWheel()) return 0;
450  /* For some unknown reason, data2 & 64 is always true for 0
451  * and positive values. */
452  bool isnegative = (_midiexpression.data2 & 0x20) != 0;
453  twobyte result = (_midiexpression.data1 & 0x7f);
454  result = result | ((_midiexpression.data2 & 0x3f) * 0x80);
455  if (isnegative)
456  {
457  result = 0x2000 - result;
458  result = -result;
459  }
460  return result;
461  }
462 
469  {
470  _midiexpression.status &= 0xff00;
471  _midiexpression.status |= MIDIEXP_PITCHWHEEL;
472  }
473 
480  bool IsPatchChange() const { return (LOBYTE(_midiexpression.status) == MIDIEXP_PATCH_CHANGE); }
481 
488  {
489  _midiexpression.status &= 0xff00;
490  _midiexpression.status |= MIDIEXP_PATCH_CHANGE;
491  }
492 
499  void SetPatchChangeMode(twobyte mode)
500  {
501  if (!IsPatchChange()) return;
502  if (mode < 0) return;
503  if (mode > 4) return;
504  twobyte patchnumber = LOBYTE(_midiexpression.data1);
505  _midiexpression.data1 = MAKEWORD(patchnumber, mode);
506  }
507 
513  twobyte GetPatchChangeMode() const
514  {
515  if (!IsPatchChange()) return 0;
516  return HIBYTE(_midiexpression.data1);
517  }
518 
522  void SetPatchChangeNumber(twobyte number)
523  {
524  if (!IsPatchChange()) return;
525  if (number < 0) return;
526  if (number > 255) return;
527  twobyte patchmode = HIBYTE(_midiexpression.data1);
528  _midiexpression.data1 = MAKEWORD(number, patchmode);
529  }
530 
533  twobyte GetPatchChangeNumber() const
534  {
535  if (!IsPatchChange()) return 0;
536  return LOBYTE(_midiexpression.data1);
537  }
538 
539 
545  void SetPatchChangeBankData1(twobyte mode)
546  {
547  if (!IsPatchChange()) return;
548  if (mode < 0) return;
549  if (mode > 255) return;
550  twobyte patchnumber = LOBYTE(_midiexpression.data2);
551  _midiexpression.data2 = MAKEWORD(patchnumber, mode);
552  }
553 
558  twobyte GetPatchChangeBankData1() const
559  {
560  if (!IsPatchChange()) return 0;
561  return HIBYTE(_midiexpression.data2);
562  }
563 
570  void SetPatchChangeBankData2(twobyte number)
571  {
572  if (!IsPatchChange()) return;
573  if (number < 0) return;
574  if (number > 255) return;
575  twobyte patchmode = HIBYTE(_midiexpression.data2);
576  _midiexpression.data2 = MAKEWORD(number, patchmode);
577  }
578 
584  twobyte GetPatchChangeBankData2() const
585  {
586  if (!IsPatchChange()) return 0;
587  return LOBYTE(_midiexpression.data2);
588  }
589 
590 
597  void SetMeasurePos(TimeEdu32 value) { _midiexpression.eldur = value; }
598 
599 #ifdef PDK_FRAMEWORK_DEBUG
600  virtual void DebugDump()
601  {
603  DebugOutDigit("Position: ", GetMeasurePos());
604  if (IsController())
605  {
606  DebugOutBool("Is Controller: ", IsController());
607  DebugOutDigit("Controller number: ", GetControllerNumber());
608  DebugOutDigit("Controller value: ", GetControllerValue());
609  }
610  if (IsPitchWheel())
611  {
612  DebugOutBool("Is Pitch Wheel: ", IsPitchWheel());
613  DebugOutDigit("data1: ", _midiexpression.data1);
614  DebugOutDigit("data2: ", _midiexpression.data2);
615  }
616  }
617 #endif
618 };
619 
620 
621 
631 {
632 #ifndef DOXYGEN_SHOULD_SKIP_THIS
633  FCEnclosure _enclosure;
634 
635  EDTMeasNumberSeparate _separatemeasurenumberold;
636 
637  FIN25_4_CODE( EDTMeasNumberSeparate25_4 _separatemeasurenumber25_4; )
638 
639  /* Decides which version of the struct that should be used */
640  const bool _Use25_4_Version() const;
641 
642  /* Returns the pointer to the 'flag' struct member */
643  const FLAG_16* _GetFlagPtr() const
644  {
645  FIN25_4_CODE( if (_Use25_4_Version()) return &_separatemeasurenumber25_4.flag; )
646  return &_separatemeasurenumberold.flag;
647  }
648 
649  /* Returns the pointer to the 'region' struct member */
650  const twobyte* _GetRegionPtr() const
651  {
652  FIN25_4_CODE( if (_Use25_4_Version()) return &_separatemeasurenumber25_4.region; )
653  return &_separatemeasurenumberold.region;
654  }
655 
656  /* Returns the pointer to the 'x1add' struct member */
657  const twobyte* _GetX1addPtr() const
658  {
659  FIN25_4_CODE( if (_Use25_4_Version()) return &_separatemeasurenumber25_4.x1add; )
660  return &_separatemeasurenumberold.x1add;
661  }
662 
663  /* Returns the pointer to the 'y1add' struct member */
664  const twobyte* _GetY1addPtr() const
665  {
666  FIN25_4_CODE( if (_Use25_4_Version()) return &_separatemeasurenumber25_4.y1add; )
667  return &_separatemeasurenumberold.y1add;
668  }
669 
670  /* Returns the pointer to the 'encl' struct member (different data type,
671  depending on version) */
672  const void* _GetEnclPtr() const
673  {
674  FIN25_4_CODE( if (_Use25_4_Version()) return &_separatemeasurenumber25_4.encl; )
675  return &_separatemeasurenumberold.encl;
676  }
677 
678  /* No measure flag? */
679  virtual void _SaveMeasureFlag() {}
680 protected:
681  virtual EXTAG Tag();
682  virtual int DataSizeLoad();
683  virtual int DataSizeSave();
684  virtual void* Allocate();
685 
690  virtual void CloneMemoryFrom(__FCBaseData* pSource)
691  {
692  int size = DataSizeLoad();
693  memcpy(_GetSeparateMeasNum(), ((FCSeparateMeasureNumber*)pSource)->_GetSeparateMeasNum(), size);
694  _datablock = _GetSeparateMeasNum();
695  _loadedsize = size;
696  }
697 
698  virtual __FCBaseData* CreateObject() { return new FCSeparateMeasureNumber(); }
699 #endif
700 public:
701 
702  virtual const char* ClassName() { return "FCSeparateMeasureNumber"; }
703  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_SEPARATEMEASURENUMBER; }
704 
705 #ifndef DOXYGEN_SHOULD_SKIP_THIS
706  void* _GetSeparateMeasNum() { return Allocate(); }
707 #endif
708 
714  {
715  /* Don't use virtual methods in the constructor */
716  if (_Use25_4_Version())
717  {
718 #if FXT_VERSION >= FINALEVERSION_25_4
719  memset(&_separatemeasurenumber25_4, 0, sizeof(_separatemeasurenumber25_4));
720  _loadedsize = sizeof(_separatemeasurenumber25_4);
721  _datablock = &_separatemeasurenumber25_4;
722 #endif
723  }
724  else
725  {
726  memset(&_separatemeasurenumberold, 0, sizeof(_separatemeasurenumberold));
727  _loadedsize = sizeof(_separatemeasurenumberold);
728  _datablock = &_separatemeasurenumberold;
729  }
730  }
731 
739  twobyte GetRegionNumberID() const { return *_GetRegionPtr(); }
740 
745  bool GetShowOverride() const { return GetBitFlag(*_GetFlagPtr(), MEASNUM_FORCE_MNUM); }
746 
751  bool GetHideOverride() const { return GetBitFlag(*_GetFlagPtr(), MEASNUM_HIDE_MNUM); }
752 
757  bool GetUseEnclosure() const { return GetBitFlag(*_GetFlagPtr(), MEASNUM_USE_ENCL); }
758 
763  twobyte GetHorizontalPosition() const { return *_GetX1addPtr(); }
764 
769  twobyte GetVerticalPosition() const { return *_GetY1addPtr(); }
770 
781  {
782  if (!pRegion) return false;
783  if (pRegion->GetID() < 1) return false;
784  SetRegionNumberID(pRegion->GetID());
785  return true;
786  }
787 
799  {
800  if (!GetUseEnclosure()) return NULL;
801  _enclosure._AssignEDTEnclosure((void*) _GetEnclPtr());
802  return &_enclosure;
803  }
804 
812  void SetRegionNumberID(twobyte regionid)
813  {
814  if (regionid < 1) return;
815  *(twobyte*)_GetRegionPtr() = regionid;
816  }
817 
822  void SetShowOverride(bool state) { Set16BitFlag((FLAG_16*)_GetFlagPtr(), MEASNUM_FORCE_MNUM, state); }
823 
828  void SetHideOverride(bool state) { Set16BitFlag((FLAG_16*)_GetFlagPtr(), MEASNUM_HIDE_MNUM, state); }
829 
834  void SetUseEnclosure(bool state) { Set16BitFlag((FLAG_16*) _GetFlagPtr(), MEASNUM_USE_ENCL, state); }
835 
840  void SetHorizontalPosition(twobyte value) { *(twobyte*)_GetX1addPtr() = value; }
841 
846  void SetVerticalPosition(twobyte value) { *(twobyte*)_GetY1addPtr() = value; }
847 
848 
849 #ifdef PDK_FRAMEWORK_DEBUG
850  virtual void DebugDump()
851  {
853  }
854 #endif
855 };
856 
866 {
867 protected:
868 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
869  virtual __FCBaseData* CreateElement() { return new FCSeparateMeasureNumber(); }
870 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
871 public:
872 
878 
879  virtual const char* ClassName() { return "FCSeparateMeasureNumbers"; }
880 
886 };
887 
888 
901 {
902 #ifndef DOXYGEN_SHOULD_SKIP_THIS
903  EDTGfhold2004 _tgfhold;
904 
905 protected:
906  /* No measure flag storage */
907  virtual void _SaveMeasureFlag() {}
908 
909 
910  virtual EXTAG Tag() { return dt_Gfhold; }
911  virtual int DataSizeLoad() { return sizeof(EDTGfhold2004); }
912  virtual int DataSizeSave() { return sizeof(EDTGfhold2004); }
913  virtual void* Allocate() { return (void*) &_tgfhold; }
914 
919  virtual void CloneMemoryFrom(__FCBaseData* pSource)
920  {
921  // Don't use memcpy, since EDTGfhold2004 contains dynamic memory.
922  _tgfhold = ((FCCellFrameHold*) pSource)->_GetTGFHold();
923  _datablock = &_tgfhold;
924  _loadedsize = sizeof(_tgfhold);
925  }
926 
927  virtual __FCBaseData* CreateObject() { return new FCCellFrameHold(); }
928 
929 #endif
930 public:
931 
932  virtual const char* ClassName() { return "FCCellFrameHold"; }
933  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_CELLFRAMEHOLD; }
934 
935 #ifndef DOXYGEN_SHOULD_SKIP_THIS
936  EDTGfhold2004& _GetTGFHold() { return _tgfhold; }
937 #endif
938 
946  {
947  SHOWCLEF_NORMAL = 0,
948  SHOWCLEF_HIDE,
949  SHOWCLEF_ALWAYS
950  };
951 
952 
958  {
959  /* Don't reset using memset, since there's a constructor for dynamic
960  * memory in _tgfhold. */
961  _tgfhold.clef = 0;
962  _tgfhold.flag = 0;
963  _tgfhold.clefPercent = 100;
964  _datablock = &_tgfhold;
965  _loadedsize = sizeof(_tgfhold);
966  }
967 
972  twobyte GetClefIndex() const { return _tgfhold.clef; }
973 
979  twobyte GetClefPercent() const { return _tgfhold.clefPercent; }
980 
987 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
988  CLEF_SHOW
989 #else
990  int
991 #endif
992  GetClefShow() const
993  {
994  if (GetBitFlag(_tgfhold.flag, GF_HIDECLEF))
995  return SHOWCLEF_HIDE;
996  if (GetBitFlag(_tgfhold.flag, 0x0020))
997  return SHOWCLEF_ALWAYS;
998  else
999  return SHOWCLEF_NORMAL;
1000  }
1001 
1006  bool GetIsClefList() const
1007  {
1008  return GetBitFlag(_tgfhold.flag, GF_CLEFISLIST);
1009  }
1010 
1015  bool GetClefAfterBarline() const { return GetBitFlag(_tgfhold.flag, 0x0001); }
1016 
1023  void SetClefIndex(twobyte newclef)
1024  {
1025  if (GetIsClefList()) return;
1026  _tgfhold.clef = newclef;
1027  }
1028 
1036  void SetClefPercent(twobyte resize)
1037  {
1038  if (GetIsClefList()) return;
1039  _tgfhold.clefPercent = resize;
1040  }
1041 
1051 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1052  CLEF_SHOW
1053 #else
1054  twobyte
1055 #endif
1056  clef
1057  )
1058  {
1059  if (GetIsClefList()) return;
1060  switch (clef)
1061  {
1062  case SHOWCLEF_HIDE:
1063  Set16BitFlag(&_tgfhold.flag, GF_HIDECLEF, true);
1064  Set16BitFlag(&_tgfhold.flag, 0x0020, false);
1065  break;
1066  case SHOWCLEF_ALWAYS:
1067  Set16BitFlag(&_tgfhold.flag, GF_HIDECLEF, false);
1068  Set16BitFlag(&_tgfhold.flag, 0x0020, true);
1069  break;
1070  case SHOWCLEF_NORMAL:
1071  Set16BitFlag(&_tgfhold.flag, GF_HIDECLEF, false);
1072  Set16BitFlag(&_tgfhold.flag, 0x0020, false);
1073  break;
1074  }
1075  }
1076 
1077 
1084  void SetClefAfterBarline(bool state)
1085  {
1086  if (GetIsClefList()) return;
1087  Set16BitFlag(&_tgfhold.flag, 0x0001, state);
1088  }
1089 
1098  bool CalcClefChange();
1099 
1101  virtual bool SaveNew();
1102 
1103 
1115 
1116 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
1117 
1118  FCCellClefChanges* CreateCellClefChanges_GC();
1119 #endif
1120 
1121 
1122 #ifdef PDK_FRAMEWORK_DEBUG
1123  virtual void DebugDump()
1124  {
1126  DebugOutDigit("Clef: ", GetClefIndex());
1127  DebugOutDigit("Clef Resize: ", GetClefPercent());
1128  DebugOutDigit("Clef show: ", GetClefShow());
1129  DebugOutHex("Flag Bits: ", _tgfhold.flag);
1130  }
1131 #endif
1132 };
1133 
1134 
1135 
1144 class FCChord : public __FCCellDetail
1145 {
1146 private:
1147 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1148  EDTChord2010 _chord;
1149 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1150 protected:
1151 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1152 
1153  virtual void _SaveMeasureFlag();
1154 
1155  virtual int DataSizeLoad() { return sizeof(EDTChord2010); }
1156  virtual void* Allocate() { return (void*) &_chord; }
1157 
1158  virtual EVERSION EnigmaVersion() { return FINALEVERSION_2010; }
1159 
1164  virtual void CloneMemoryFrom(__FCBaseData* pSource)
1165  {
1166  memcpy(&_chord, ((FCChord*)pSource)->_GetChord(), sizeof(_chord));
1167  _datablock = &_chord;
1168  _loadedsize = sizeof(_chord);
1169  }
1170 
1171  virtual __FCBaseData* CreateObject() { return new FCChord(); }
1172 
1173 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1174 public:
1175  virtual EXTAG Tag() { return dt_Chord2010; } /* Some plug-ins need this - needs to be public. */
1176 
1177  virtual const char* ClassName() { return "FCChord"; }
1178  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_CHORD; }
1179 
1180 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1181 
1187  void* _GetChord() { return Allocate(); }
1188 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
1189 
1193  {
1194  ALTBASSPLACE_AFTERROOT = 0,
1195  ALTBASSPLACE_UNDERROOT,
1196  ALTBASSPLACE_SUBTEXT
1197  };
1198 
1204  {
1205  memset(&_chord, 0, sizeof(_chord));
1206  _datablock = &_chord;
1207  _loadedsize = sizeof(_chord);
1208  }
1209 
1211  bool IsEarlierThan(FCChord* pTestChord)
1212  {
1213  if (!pTestChord) return false;
1214  if (pTestChord->GetMeasure() > GetMeasure()) return true;
1215  if (pTestChord->GetMeasure() < GetMeasure()) return false;
1216  return (pTestChord->GetMeasurePos() > GetMeasurePos());
1217  }
1218 
1225  virtual TimeEdu32 GetMeasurePos() const { return _chord.horzEDU; }
1226 
1233  void SetMeasurePos(TimeEdu32 position) { _chord.horzEDU = position; }
1234 
1235 #ifdef PDK_FRAMEWORK_ENTRIES
1236 
1245  {
1246  tbool suffixfound;
1247  FCMusicRegion musicregion;
1248  musicregion.SetInstrumentList(0);
1249  musicregion.SetStartStaff(pEntry->GetStaff());
1250  musicregion.SetEndStaff(pEntry->GetStaff());
1251  musicregion.SetStartMeasure(pEntry->GetMeasure());
1252  musicregion.SetEndMeasure(pEntry->GetMeasure());
1253  musicregion.SetStartMeasurePos(pEntry->GetMeasurePos());
1254  musicregion.SetEndMeasurePosRight();
1255  EREGION eregion;
1256  musicregion.GetEnigmaRegion(&eregion);
1257 #if FXT_VERSION >= FINALEVERSION_2014_5
1258  if (!FX_AnalyzeChord(&eregion, (EDTChord2010*) &_chord, &suffixfound)) return false;
1259 #else
1260  if (!FX_AnalyzeChord(&eregion, (EDTChord*) &_chord, &suffixfound)) return false;
1261 #endif
1262  SetMeasurePos(pEntry->GetMeasurePos());
1264  return true;
1265  }
1266 #endif
1267 
1278 
1279 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
1280 
1281  FCChordSuffixElements* CreateChordSuffixElements_GC();
1282 #endif
1283 
1284  /******** CHORD GETTERS ***********/
1285 
1295  twobyte GetChordSuffixID() const { return _chord.suffix; }
1296 
1301  twobyte GetChordHorizontalPos() const { return _chord.posadd; }
1302 
1307  twobyte GetChordVerticalPos() const { return _chord.lineadd; }
1308 
1313  bool GetChordVisible() const { return !GetBitFlag(_chord.capoData, 0x0080); }
1314 
1319  twobyte GetChordResize() const { return _chord.chPercent; }
1320 
1325  bool GetChordRootVisible() const
1326  {
1327  return GetBitFlag(_chord.showPlay, CHORD_SHOWROOT);
1328  }
1329 
1335  {
1336  return GetBitFlag(_chord.showPlay, CHORD_PLAYROOT);
1337  }
1338 
1344  {
1345  return GetBitFlag(_chord.showPlay, CHORD_LOWERCASE);
1346  }
1347 
1353  {
1354  return GetBitFlag(_chord.showPlay, CHORD_SHOW_SUFFIX);
1355  }
1356 
1362  {
1363  return GetBitFlag(_chord.showPlay, CHORD_PLAYCHORD);
1364  }
1365 
1370  bool GetUseCapo() const
1371  {
1372  return GetBitFlag(_chord.capoData, CHORD_USE_LOCAL_CAPO);
1373  }
1374 
1380  twobyte GetCapo() const
1381  {
1382  return (_chord.capoData & CHORD_CAPO_VALUE);
1383  }
1384 
1389  twobyte GetScaleNumber() const
1390  {
1391  return _chord.showPlay & CHORD_SCALENUM;
1392  }
1393 
1398  twobyte GetAlteration() const
1399  {
1400  twobyte alteration = _chord.showPlay & CHORD_RLBITS;
1401  alteration >>= 8;
1402  if (alteration & 0x08)
1403  {
1404  /* Signed */
1405  alteration |= 0xfff0;
1406  }
1407  return alteration;
1408  }
1409 
1415  {
1416  return GetBitFlag(_chord.altbass, CHORD_SHOWALTBASS);
1417  }
1418 
1424  {
1425  return GetBitFlag(_chord.altbass, CHORD_PLAYALTBASS);
1426  }
1427 
1433  {
1434  return GetBitFlag(_chord.altbass, CHORD_LOWERCASE);
1435  }
1436 
1442  {
1443  return _chord.altbass & CHORD_SCALENUM;
1444  }
1445 
1451  {
1452  twobyte alteration = _chord.altbass & CHORD_RLBITS;
1453  alteration >>= 8;
1454  if (alteration & 0x08)
1455  {
1456  /* Signed */
1457  alteration |= 0xfff0;
1458  }
1459  return alteration;
1460  }
1461 
1468 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1470 #else
1471  int
1472 #endif
1474  {
1475  if (GetBitFlag(_chord.altbass, CHORD_DOWNSIDEBIT) == false)
1476  {
1477  if (GetBitFlag(_chord.altbass, CHORD_SUBTEXTBIT))
1478  return ALTBASSPLACE_SUBTEXT;
1479  else
1480  return ALTBASSPLACE_AFTERROOT;
1481  }
1482  else return ALTBASSPLACE_UNDERROOT;
1483  }
1484 
1485  /******** FRETBOARD GETTERS ***********/
1486 
1493  twobyte GetFretboardStyleID() const { return _chord.fbStyleID; }
1494 
1499  twobyte GetFretboardHorizontalPos() const { return _chord.fbposadd; }
1500 
1505  twobyte GetFretboardVerticalPos() const { return _chord.fblineadd; }
1506 
1511  /* Use absolute bit mask, since the CHORD_HIDE_FRETBOARD is reversed */
1512  bool GetFretboardVisible() const { return GetBitFlag(_chord.showPlay, 0x4000); }
1513 
1518  twobyte GetFretboardResize() const { return _chord.fbPercent; }
1519 
1525  {
1526  return GetBitFlag(_chord.showPlay, CHORD_PLAYFRETBOARD);
1527  }
1528 
1533  bool GetFretboardUseFont() const
1534  {
1535  return GetBitFlag(_chord.fbData, CHORD_USE_FRET_FONT);
1536  }
1537 
1538  /******** CHORD SETTERS ***********/
1539 
1545  void SetChordSuffixID(twobyte value) { _chord.suffix = value; }
1546 
1551  void SetChordHorizontalPos(twobyte value) { _chord.posadd = value; }
1552 
1557  void SetChordVerticalPos(twobyte value) { _chord.lineadd = value; }
1558 
1563  void SetChordVisible(bool state) { Set16BitFlag(&_chord.capoData, 0x0080, !state); }
1564 
1569  void SetChordResize(twobyte value) { _chord.chPercent = value; }
1570 
1575  void SetChordRootVisible(bool state)
1576  {
1577  Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_SHOWROOT, state);
1578  }
1579 
1584  void SetChordRootPlayback(bool playback)
1585  {
1586  Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_PLAYROOT, playback);
1587  }
1588 
1593  void SetChordRootLowercase(bool state)
1594  {
1595  Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_LOWERCASE, state);
1596  }
1597 
1602  void SetChordSuffixVisible(bool state)
1603  {
1604  Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_SHOW_SUFFIX, state);
1605  }
1606 
1611  void SetChordSuffixPlayback(bool playback)
1612  {
1613  Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_PLAYCHORD, playback);
1614  }
1615 
1621  {
1622  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SHOWALTBASS, state);
1623  }
1624 
1629  void SetChordAlternateBassPlayback(bool playback)
1630  {
1631  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_PLAYALTBASS, playback);
1632  }
1633 
1638  void SetChordAlternateBassLowercase(bool lowercase)
1639  {
1640  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_LOWERCASE, lowercase);
1641  }
1642 
1650 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1652 #else
1653  int
1654 #endif
1655  placement
1656  )
1657  {
1658  switch (placement)
1659  {
1660  case ALTBASSPLACE_AFTERROOT:
1661  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_DOWNSIDEBIT, false);
1662  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SUBTEXTBIT, false);
1663  break;
1664  case ALTBASSPLACE_UNDERROOT:
1665  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_DOWNSIDEBIT, true);
1666  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SUBTEXTBIT, false);
1667  break;
1668  case ALTBASSPLACE_SUBTEXT:
1669  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_DOWNSIDEBIT, false);
1670  Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SUBTEXTBIT, true);
1671  break;
1672  }
1673  }
1674 
1679  void SetUseCapo(bool state)
1680  {
1681  Set16BitFlag((FLAG_16*)&_chord.capoData, CHORD_USE_LOCAL_CAPO, state);
1682  }
1683 
1689  void SetCapo(twobyte value)
1690  {
1691  _chord.capoData &= ~CHORD_CAPO_VALUE;
1692  _chord.capoData |= (value & CHORD_CAPO_VALUE);
1693  }
1694 
1699  void SetScaleNumber(twobyte scalenumber)
1700  {
1701  _chord.showPlay &= ~CHORD_SCALENUM;
1702  _chord.showPlay |= (scalenumber & CHORD_SCALENUM);
1703  }
1704 
1709  void SetAlteration(twobyte alteration)
1710  {
1711  alteration <<= 8;
1712  alteration &= CHORD_RLBITS;
1713  _chord.showPlay &= ~CHORD_RLBITS;
1714  _chord.showPlay |= alteration;
1715  }
1716 
1721  void SetAlternateBassScaleNumber(twobyte scalenumber)
1722  {
1723  _chord.altbass &= ~CHORD_SCALENUM;
1724  _chord.altbass |= (scalenumber & CHORD_SCALENUM);
1725  }
1726 
1731  void SetAlternateBassAlteration(twobyte alteration)
1732  {
1733  alteration <<= 8;
1734  alteration &= CHORD_RLBITS;
1735  _chord.altbass &= ~CHORD_RLBITS;
1736  _chord.altbass |= alteration;
1737  }
1738 
1739 
1740  /******** FRETBOARD SETTERS ***********/
1741 
1748  void SetFretboardStyleID(twobyte value) { _chord.fbStyleID = value; }
1749 
1754  void SetFretboardHorizontalPos(twobyte value) { _chord.fbposadd = value; }
1755 
1760  void SetFretboardVerticalPos(twobyte value) { _chord.fblineadd = value; }
1761 
1766  /* Use absolute bit mask, since the CHORD_HIDE_FRETBOARD is reversed */
1767  void SetFretboardVisible(bool state) { Set16BitFlag((FLAG_16*)&_chord.showPlay, 0x4000, state); }
1768 
1773  void SetFretboardResize(twobyte value) { _chord.fbPercent = value; }
1774 
1779  void SetFretboardPlayback(bool playback)
1780  {
1781  Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_PLAYFRETBOARD, playback);
1782  }
1783 
1788  void SetFretboardUseFont(bool state)
1789  {
1790  Set16BitFlag(&_chord.fbData, CHORD_USE_FRET_FONT, state);
1791  }
1792 
1793 #ifdef PDK_FRAMEWORK_DEBUG
1794  virtual void DebugDump()
1795  {
1797  DebugOutBlock(&_chord, 0, sizeof(_chord));
1798  DebugOutBool("Chord Visible: ", GetChordVisible());
1799  DebugOutBool("Fretboard Visible: ", GetFretboardVisible());
1800  }
1801 #endif
1802 };
1803 
1804 
1805 
1806 
1810 {
1811 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1812  EDTTGraphic _graphic;
1813 
1814  /* No measure flag? */
1815  virtual void _SaveMeasureFlag() {}
1816 
1817 protected:
1818  virtual EXTAG Tag() { return dt_MeasGraphic; }
1819  virtual int DataSizeLoad() { return sizeof(EDTTGraphic); }
1820  virtual int DataSizeSave() { return sizeof(EDTTGraphic); }
1821  virtual void* Allocate() { return (void*) &_graphic; }
1822 
1827  virtual void CloneMemoryFrom(__FCBaseData* pSource)
1828  {
1829  memcpy(&_graphic, ((FCCellGraphic*)pSource)->_GetGraphic(), sizeof(_graphic));
1830  _datablock = &_graphic;
1831  _loadedsize = sizeof(_graphic);
1832  }
1833 
1834  virtual __FCBaseData* CreateObject() { return new FCCellGraphic(); }
1835 #endif
1836 public:
1837 
1838  virtual const char* ClassName() { return "FCCellGraphic"; }
1839  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_CELLGRAPHIC; }
1840 
1841 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1842  EDTTGraphic* _GetGraphic() { return &_graphic; }
1843 #endif
1844 
1847  {
1848  memset(&_graphic, 0, sizeof(_graphic));
1849  _loadedsize = sizeof(_graphic);
1850  _datablock = &_graphic;
1851  }
1852 
1854  bool IsEmbedded()
1855  {
1856  return (_graphic.graphicCmper == 0);
1857  }
1858 
1859 #ifdef PDK_FRAMEWORK_DEBUG
1860  virtual void DebugDump()
1861  {
1863  }
1864 #endif
1865 };
1866 
1867 
1868 
1869 
1877 {
1878 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1879  EDTMeasureText _measuretext;
1880 
1882  virtual void _SaveMeasureFlag();
1883 
1884 protected:
1885  virtual EXTAG Tag() { return dt_MeasureTextBlock; }
1886  virtual int DataSizeLoad() { return sizeof(EDTMeasureText); }
1887  virtual int DataSizeSave() { return sizeof(EDTMeasureText); }
1888  virtual void* Allocate() { return (void*) &_measuretext; }
1889 
1894  virtual void CloneMemoryFrom(__FCBaseData* pSource)
1895  {
1896  memcpy(&_measuretext, ((FCCellText*)pSource)->_GetCellText(), sizeof(_measuretext));
1897  _datablock = &_measuretext;
1898  _loadedsize = sizeof(_measuretext);
1899  }
1900 
1901  virtual __FCBaseData* CreateObject() { return new FCCellText(); }
1902 #endif
1903 public:
1904 
1905  virtual const char* ClassName() { return "FCCellText"; }
1906  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_CELLTEXT; }
1907 
1908 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1909  EDTMeasureText* _GetCellText() { return &_measuretext; }
1910 #endif
1911 
1917  {
1918  memset(&_measuretext, 0, sizeof(_measuretext));
1919  _loadedsize = sizeof(_measuretext);
1920  _datablock = &_measuretext;
1921  }
1922 
1932  {
1933  FCTextBlock textblock;
1934  textblock.Load(GetTextBlockID());
1935  return textblock.CreateRawTextString();
1936  }
1937 
1938 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
1939 
1940  FCString* CreateTextString_GC();
1941 #endif
1942 
1952 
1953 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
1954 
1955  FCTextBlock* CreateTextBlock_GC();
1956 #endif
1957 
1965  bool SaveNewTextBlock(FCString* pString);
1966 
1973  bool SaveTextString(FCString* pString);
1974 
1979  twobyte GetTextBlockID() const
1980  {
1981  return _measuretext.block;
1982  }
1983 
1991  CMPER GetStringID() const;
1992 
1999  virtual TimeEdu32 GetMeasurePos() const
2000  {
2001  return _measuretext.xdisp;
2002  }
2003 
2008  twobyte GetVerticalPos() const
2009  {
2010  return _measuretext.ydisp;
2011  }
2012 
2019  void SetMeasurePos(TimeEdu32 value)
2020  {
2021  _measuretext.xdisp = (Evpu16) value;
2022  }
2023 
2028  void SetVerticalPos(twobyte value)
2029  {
2030  _measuretext.ydisp = value;
2031  }
2032 
2033 #ifdef PDK_FRAMEWORK_DEBUG
2034  virtual void DebugDump()
2035  {
2037  }
2038 #endif
2039 };
2040 
2041 
2042 
2043 
2044 
2045 
2051 {
2052 protected:
2053 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2054  virtual __FCBaseData* CreateElement() { return new FCCellGraphic(); }
2055 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2056 public:
2057  virtual const char* ClassName() { return "FCCellGraphics"; }
2058 
2061 };
2062 
2063 
2064 
2071 {
2072 protected:
2073 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2074  virtual __FCBaseData* CreateElement() { return new FCCellText(); }
2075 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2076 public:
2082 
2083  virtual const char* ClassName() { return "FCCellTexts"; }
2084 
2090 };
2091 
2092 
2093 
2094 
2101 {
2102  protected:
2103 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2104  virtual __FCBaseData* CreateElement() { return new FCCellFrameHold(); }
2105 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2106 public:
2107  virtual const char* ClassName() { return "FCCellFrameHolds"; }
2108 
2109 };
2110 
2111 
2112 
2119 {
2120 protected:
2121 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2122  virtual __FCBaseData* CreateElement() { return new FCMidiExpression(); }
2123 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2124 public:
2125  virtual const char* ClassName() { return "FCMidiExpressions"; }
2126 
2132 };
2133 
2134 
2141 {
2142 protected:
2143 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2144  virtual __FCBaseData* CreateElement() { return new FCChord(); }
2145 #endif /* DOXYGEN_SHOULD_IGNORE_THIS */
2146 public:
2147  virtual const char* ClassName() { return "FCChords"; }
2148 
2153  FCChord* FindMeasurePos(TimeEdu32 durationpos)
2154  {
2155  for (int i = 0; i < GetCount(); i++ )
2156  {
2157  FCChord* pChord = (FCChord*) GetItemAt(i);
2158  if (pChord->GetMeasurePos() == durationpos) return pChord;
2159  }
2160  return NULL;
2161  }
2162 
2165 };
2166 
2167 
2168 
2173 {
2174 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2175 #if FXT_VERSION < FINALEVERSION_2014
2176  EDTMeasureFloat _measurefloat2014; /* Dummy struct */
2177  EDTMeasureFloat _measurefloat2001;
2178 #else
2179  EDTMeasureFloat2014 _measurefloat2014;
2180  EDTMeasureFloat2001 _measurefloat2001;
2181 #endif
2182 
2184  EVERSION _VersionToUse() const;
2185 protected:
2186  /* Set measure flag? */
2187  virtual void _SaveMeasureFlag() {}
2188 
2189  virtual EXTAG Tag();
2190  virtual int DataSizeLoad();
2191  virtual int DataSizeSave();
2192  virtual void* Allocate();
2193  virtual EVERSION EnigmaVersion() { return _VersionToUse(); }
2194 
2199  virtual void CloneMemoryFrom(__FCBaseData* pSource)
2200  {
2201  memcpy(_GetDataPtr(), ((FCIndependentCellDetail*) pSource)->_GetDataPtr(), DataSizeLoad());
2202  _datablock = _GetDataPtr();
2204  }
2205 
2206  virtual __FCBaseData* CreateObject() { return new FCIndependentCellDetail(); }
2207 #endif
2208 public:
2209 
2210  virtual const char* ClassName() { return "FCIndependentCellDetail"; }
2211  virtual const PDKFRAMEWORK_CLASSID GetClassID() { return FCID_INDEPENDENTCELLDETAIL; }
2212 
2213 #ifndef DOXYGEN_SHOULD_SKIP_THIS
2214  void* _GetDataPtr();
2215 #endif
2216 
2219  {
2220  int size = FCIndependentCellDetail::DataSizeLoad(); /* Assure non-virtual call in constructor */
2221  memset(_GetDataPtr(), 0, size);
2222  _datablock = _GetDataPtr();
2223  _loadedsize = size;
2224  }
2225 
2228  bool GetHasKeySignature();
2229 
2232  bool GetHasTimeSignature();
2233 
2235  eKey GetKeySignatureID();
2236 
2238  twobyte GetTimeSignatureBeats();
2239 
2241  twobyte GetTimeSignatureBeatDuration();
2242 
2246 
2250 
2251 
2254  void SetHasKeySignature(bool state);
2255 
2258  void SetHasTimeSignature(bool state);
2259 
2261  void SetKeySignatureID(eKey value);
2262 
2264  void SetTimeSignatureBeats(twobyte beats);
2265 
2267  void SetTimeSignatureBeatDuration(twobyte beatduration);
2268 
2271  void SetTimeSignatureCompositeTop(bool state);
2272 
2275  void SetTimeSignatureCompositeBottom(bool state);
2276 
2278  void SetFullTimeSignature(FCTimeSignature* pTimeSig);
2279 
2281  void SetFullKeySignature(FCKeySignature* pKeySig);
2282 
2283 #ifdef PDK_FRAMEWORK_DEBUG
2284  virtual void DebugDump()
2285  {
2287  }
2288 #endif
2289 };
2290 
2291 
2292 
2293 
2294 
2295 #endif /* FF_CELLDETAILS_H */
2296 
bool GetChordSuffixVisible() const
Returns the display state of the chord suffix.
Definition: ff_celldetails.h:1352
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:1860
__FCBase * GetItemAt(int index)
Returns the object at the index position. Index is 0-based.
Definition: finaleframework.cpp:12797
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_base.h:918
twobyte GetPressureValue() const
Returns the value for MIDI channel pressure events.
Definition: ff_celldetails.h:394
The class for a measure number region.
Definition: ff_other.h:5254
void SetFretboardVerticalPos(twobyte value)
Sets the vertical fretboard pos (relative to the chord)
Definition: ff_celldetails.h:1760
void SetHorizontalPosition(twobyte value)
Sets the horizontal position offset.
Definition: ff_celldetails.h:840
twobyte GetAlternateBassAlteration() const
Returns the alternate bass alteration, compared to the scale degree.
Definition: ff_celldetails.h:1450
int LoadAllForRegion(FCMusicRegion *pMusicRegion)
Loads the objects for all the cells in the region.
Definition: finaleframework.cpp:20335
twobyte GetChordVerticalPos() const
Returns the vertical position (from the baseline) of the chord.
Definition: ff_celldetails.h:1307
virtual TimeEdu32 GetMeasurePos() const
Virtual method for cell-attached data that has a position in the measure.
Definition: ff_celldetails.h:86
bool GetHasTimeSignature()
Returns true if the object contains time signature information.
Definition: finaleframework.cpp:20728
FCSeparateMeasureNumbers()
The constructor.
Definition: ff_celldetails.h:877
Class for chord assignments to a measure/staff.
Definition: ff_celldetails.h:1144
void SetFullKeySignature(FCKeySignature *pKeySig)
Sets the full independent key signature.
Definition: finaleframework.cpp:20870
twobyte GetAlternateBassScaleNumber() const
Returns the scale degree of the alternate bass.
Definition: ff_celldetails.h:1441
virtual int DataSizeSave()
Returns the data size for the data structure that should be saved or created.
Definition: finaleframework.cpp:813
twobyte GetPitchWheelValue() const
Returns the value for pitch wheel events.
Definition: ff_celldetails.h:447
virtual bool LoadNext()
Overloaded method of LoadNext that will only load incis within the same cmper1/cmper2.
Definition: finaleframework.cpp:20265
Collection class for FCMidiExpression class objects.
Definition: ff_celldetails.h:2118
Class to encapsulate enclosures (available for example in expressions and measure numbers...
Definition: ff_other.h:2743
Base class for details data where inci always is 0.
Definition: ff_celldetails.h:142
CLEF_SHOW GetClefShow() const
Returns the show state for the first clef in the frame.
Definition: ff_celldetails.h:992
bool Load()
Loads the data for the connected cell. Make sure to call ConnectCell first.
Definition: ff_celldetails.h:158
FCMidiExpression()
The constructor.
Definition: ff_celldetails.h:292
bool GetClefAfterBarline() const
Returns true if the clef should be placed after the barline.
Definition: ff_celldetails.h:1015
FCCellGraphic()
The constructor.
Definition: ff_celldetails.h:1846
void * _datablock
Pointer to the object's data block, the meaning is implementation-specific for each derived subclass...
Definition: ff_base.h:640
bool IsPitchWheel() const
Returns true if it's a Pitch Wheel event. Call SetUsePitchWheel to set to a pitch wheel event...
Definition: ff_celldetails.h:418
TimeEdu32 GetMeasurePos() const
Gets the horizontal position within the measure.
Definition: ff_celldetails.h:305
FCMidiExpression * GetItemAt(int index)
Overridden version of GetItemAt.
Definition: ff_celldetails.h:2131
Class for measure/cell-attached graphic objects.
Definition: ff_celldetails.h:1809
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:219
void SetChordAlternateBassLowercase(bool lowercase)
If set, draw alternate bass using lowercase.
Definition: ff_celldetails.h:1638
int GetMeasure() const
Returns the measure for the cell.
Definition: ff_cell.h:100
virtual TimeEdu32 GetMeasurePos() const
Gets the horizontal position within the measure.
Definition: ff_celldetails.h:1225
bool IsEmbedded()
Returns true if the graphic is embedded in the document.
Definition: ff_celldetails.h:1854
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:600
void SetAlternateBassScaleNumber(twobyte scalenumber)
Sets the scale degree number for the alternate bass.
Definition: ff_celldetails.h:1721
void SetClefIndex(twobyte newclef)
Sets the 0-based clef number for the first clef in the frame.
Definition: ff_celldetails.h:1023
void SetChordAlternateBassVisible(bool state)
Sets the display state of the alternate bass for the chord symbol.
Definition: ff_celldetails.h:1620
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:1906
twobyte GetVerticalPosition() const
Returns the vertical position offset.
Definition: ff_celldetails.h:769
Class for measure-attached (cell-attached) text blocks. The ConnectCell method must be called prior t...
Definition: ff_celldetails.h:1876
twobyte GetClefPercent() const
Gets the clef resize percent for the first clef in the frame. Only used if GetClefShow returns SHOWCL...
Definition: ff_celldetails.h:979
void SetTimeSignatureBeatDuration(twobyte beatduration)
Sets the beat duration for the time signature.
Definition: finaleframework.cpp:20825
__FCCollectionNoInciCellDetail()
The constructor.
Definition: ff_celldetails.h:223
twobyte GetControllerNumber() const
Returns the controller number for MIDI controller events.
Definition: ff_celldetails.h:321
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:360
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:2057
Class for a text block.
Definition: ff_other.h:15039
FCCellFrameHold()
The constructor.
Definition: ff_celldetails.h:957
void SetEndMeasurePosRight()
Sets the the end measure pos to the right-most edge of the region's end measure.
Definition: ff_region.h:337
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:385
virtual int LoadAll()
Loads the object for all the cells in the document.
Definition: finaleframework.cpp:20357
ALTERNATEBASS_PLACEMENT GetChordAlternateBassPlacement() const
Returns the placement for alternate bass.
Definition: ff_celldetails.h:1473
void SetStartMeasure(twobyte measure)
Sets the start measure.
Definition: ff_region.h:298
twobyte GetPatchChangeMode() const
Returns the patch change mode for a patch change event, wich defines how the patch change is sent...
Definition: ff_celldetails.h:513
FCCellGraphic * GetItemAt(int index)
Definition: ff_celldetails.h:2060
void SetChordSuffixID(twobyte value)
Sets the chord suffix ID. Each chord can contain many different versions of the same suffix within th...
Definition: ff_celldetails.h:1545
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:122
void Set16BitFlag(FLAG_16 *flag, FLAG_16 flagbits, bool state)
Sets a 16 bit flag in the data block.
Definition: finaleframework.cpp:573
void SetControllerNumber(twobyte number)
Sets the controller number for MIDI controller events. SetUseController must be called BEFORE setting...
Definition: ff_celldetails.h:348
twobyte GetVerticalPos() const
Returns the vertical position from the baseline in EVPUs.
Definition: ff_celldetails.h:2008
Encapsulates the continous MIDI data in a cell.
Definition: ff_celldetails.h:248
void SetAlternateBassAlteration(twobyte alteration)
Sets the alternate bass alteration, compared to the scale degree.
Definition: ff_celldetails.h:1731
void SetHasTimeSignature(bool state)
Sets if the object contains time signature information. Use with care!
Definition: finaleframework.cpp:20789
PDKFRAMEWORK_CLASSID
Constants for the GetClassID method.
Definition: ff_base.h:60
void SetChordSuffixVisible(bool state)
Sets the display state of the chord suffix.
Definition: ff_celldetails.h:1602
twobyte GetAlteration() const
Returns the chord alteration, compared to the scale degree.
Definition: ff_celldetails.h:1398
FCEnclosure * GetEnclosure()
Returns the pointer to the enclosure object. The return value might be NULL.
Definition: ff_celldetails.h:798
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:2107
FCCellText * GetItemAt(int index)
Overridden GetItemAt() method.
Definition: ff_celldetails.h:2089
virtual void CloneMemoryFrom(__FCBaseData *pSource)
Definition: finaleframework.cpp:753
bool AnalyzeEntryChord(FCNoteEntry *pEntry)
Analyzes the chord notes in the entry and map it to the chord object.
Definition: ff_celldetails.h:1244
twobyte GetMeasure() const
Returns the entry's measure.
Definition: ff_noteframe.h:1858
void SetStartMeasurePos(TimeEdu32 pos)
Sets the start measure pos in the start measure.
Definition: ff_region.h:306
FCChordSuffixElements * CreateChordSuffixElements()
Creates an object with the chord suffix elements.
Definition: finaleframework.cpp:20407
static void DebugOutDigit(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:274
void SetShowOverride(bool state)
Sets if the measure number should be forced to show.
Definition: ff_celldetails.h:822
FCCellClefChanges * CreateCellClefChanges()
Creates a FCCellClefChanges collection for the cell, containing all clef changes. ...
Definition: finaleframework.cpp:20655
Collection class for FCChordSuffixElement class objects, usually created with FCChord:CreateChordSuff...
Definition: ff_othercollection.h:1332
bool SaveTextString(FCString *pString)
Resaves a raw text string. This method requires that the text block already exists.
Definition: finaleframework.cpp:20489
FCString * CreateTextString()
Gets a pointer to the text string, as a string object.
Definition: ff_celldetails.h:1931
twobyte GetFretboardResize() const
Returns the resize value of the fretboard, in percent.
Definition: ff_celldetails.h:1518
Collection class for FCChord class objects.
Definition: ff_celldetails.h:2140
bool GetHideOverride() const
Returns true if the measure number should be forced to hide.
Definition: ff_celldetails.h:751
Base class specially designed for collections of detail classes (where inci always is 0) connected to...
Definition: ff_celldetails.h:216
void SetClefPercent(twobyte resize)
Sets the clef resize percent. Only used if GetClefShow returns SHOWCLEF_ALWAYS.
Definition: ff_celldetails.h:1036
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:879
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:148
bool SaveNewTextBlock(FCString *pString)
Saves a new raw text block (both a raw text and the connected text block) and assigns it to the measu...
Definition: finaleframework.cpp:20474
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:933
void SetFullTimeSignature(FCTimeSignature *pTimeSig)
Sets the full independent time signature.
Definition: finaleframework.cpp:20861
void SetMeasurePos(TimeEdu32 value)
Sets the measure position in EDUs.
Definition: ff_celldetails.h:2019
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:2034
twobyte GetFretboardStyleID() const
Gets the fretboard style ID.
Definition: ff_celldetails.h:1493
Collection class for FCCellGraphic class objects.
Definition: ff_celldetails.h:2050
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:284
twobyte GetTimeSignatureBeats()
Returns the beats for the time signature.
Definition: finaleframework.cpp:20744
twobyte GetPatchChangeBankData2() const
Returns the patch change number for a patch change event.
Definition: ff_celldetails.h:584
Collection class for FCCellText class objects.
Definition: ff_celldetails.h:2070
bool GetHasKeySignature()
Returns true if the object contains key signature information.
Definition: finaleframework.cpp:20720
bool IsEarlierThan(FCChord *pTestChord)
Returns true if the position is earlier than the tested chord.
Definition: ff_celldetails.h:1211
twobyte GetClefIndex() const
Gets the 0-based clef number for the first clef in the frame.
Definition: ff_celldetails.h:972
void SetFretboardUseFont(bool state)
Sets the fretboard to use a fretboard font.
Definition: ff_celldetails.h:1788
void SetChordSuffixPlayback(bool playback)
Sets the playback state of the chord suffix.
Definition: ff_celldetails.h:1611
Base class specially designed for collections of detail classes connected to cell data...
Definition: ff_celldetails.h:167
int GetCount() const
Returns the number of elements of the collection.
Definition: ff_basecollection.h:86
twobyte GetStaff() const
Returns the entry's staff.
Definition: ff_noteframe.h:1866
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:449
void SetChordAlternateBassPlayback(bool playback)
Sets the playback state of the alternate bass for the chord symbol.
Definition: ff_celldetails.h:1629
void SetMeasurePos(TimeEdu32 position)
Sets the horizontal position within the measure.
Definition: ff_celldetails.h:1233
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:1905
void SetPatchChangeBankData1(twobyte mode)
Sets the patch change value 1 for a patch change event. SetUsePatchChange must be called before using...
Definition: ff_celldetails.h:545
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:2210
virtual void * Allocate()=0
void SetUsePressure()
Sets the event to a MIDI channel pressure/aftertouch. This should be made before calling SetPressureV...
Definition: ff_celldetails.h:405
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:369
bool GetFretboardUseFont() const
Sets the fretboard to use a fretboard font.
Definition: ff_celldetails.h:1533
__FCCollectionCellDetail()
The constructor.
Definition: ff_celldetails.h:174
void SetPitchWheelValue(twobyte value)
Sets the value for pitch wheel events. The SetUsePitchWheel method must be called BEFORE setting the ...
Definition: ff_celldetails.h:427
Class that contains independent key/time signatures for a cell.
Definition: ff_celldetails.h:2172
void SetChordResize(twobyte value)
Sets the resize value of the chord, in percent.
Definition: ff_celldetails.h:1569
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:1178
bool GetShowOverride() const
Returns true if the measure number should be forced to show.
Definition: ff_celldetails.h:745
void SetVerticalPosition(twobyte value)
Sets the vertical position offset.
Definition: ff_celldetails.h:846
FCIndependentCellDetail()
The constructor.
Definition: ff_celldetails.h:2218
twobyte GetControllerValue() const
Returns the controller value for MIDI controller events.
Definition: ff_celldetails.h:329
void SetUseEnclosure(bool state)
Sets if the separate enclosure data should be used.
Definition: ff_celldetails.h:834
int LoadAllInRegion(FCMusicRegion *pMusicRegion)
Loads the objects for all the cells in the region.
Definition: finaleframework.cpp:20516
Class for time signatures.
Definition: ff_timesig.h:25
void SetPressureValue(twobyte value)
Sets the value for MIDI channel pressure events. SetUsePressure must be called BEFORE setting the val...
Definition: ff_celldetails.h:382
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:2083
void SetPatchChangeMode(twobyte mode)
Sets the patch change mode for a patch change event, wich defines how the patch change is sent...
Definition: ff_celldetails.h:499
void SetAlteration(twobyte alteration)
Sets the chord alteration, compared to the scale degree.
Definition: ff_celldetails.h:1709
Class for a manually added or edited measure number in a cell.
Definition: ff_celldetails.h:630
twobyte GetChordHorizontalPos() const
Returns the horizontal position (from the measure position) of the chord in EVPUs.
Definition: ff_celldetails.h:1301
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:2284
FCString * CreateRawTextString()
Creates a string object for the connected raw text.
Definition: finaleframework.cpp:8792
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:1794
bool GetChordAlternateBassVisible() const
Returns true if the alternate bass is displayed.
Definition: ff_celldetails.h:1414
bool GetChordRootPlayback() const
Returns the playback state of the chord root.
Definition: ff_celldetails.h:1334
FCCellText()
The constructor.
Definition: ff_celldetails.h:1916
void SetTimeSignatureBeats(twobyte beats)
Sets the beats for the time signature (or the composite top ID).
Definition: finaleframework.cpp:20813
Class that holds the TGF frames and the clef changes of a TGF frame.
Definition: ff_celldetails.h:900
The class that reference a cell (one measure on one staff) in the musical "grid". ...
Definition: ff_cell.h:17
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:2147
void SetHideOverride(bool state)
Sets if the measure number should be forced to hide.
Definition: ff_celldetails.h:828
int GetStaff() const
Returns the staff for the cell.
Definition: ff_cell.h:108
twobyte GetTextBlockID() const
Returns the text block ID, for use with the FCTextBlock class.
Definition: ff_celldetails.h:1979
bool GetUseEnclosure() const
Return true if the separate enclosure data should be used.
Definition: ff_celldetails.h:757
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:702
CLEF_SHOW
The clef display states. Used for FCCellFrameHold::GetClefShow and FCCellFrameHold::SetClefShow. Also used for FCCellClefChange::GetClefShow and FCCellClefChange::SetClefShow.
Definition: ff_celldetails.h:945
bool CalcClefChange()
Calculates if there really is a clef change at the beginning of the cell.
Definition: finaleframework.cpp:20571
twobyte GetChordSuffixID() const
Returns the chord suffix ID. Each chord can contain many different records for the same suffix...
Definition: ff_celldetails.h:1295
void SetUsePatchChange()
Sets the event to a Patch Change event. This should be made before calling any setters.
Definition: ff_celldetails.h:487
void SetEndMeasure(twobyte measure)
Sets the end measure for the region.
Definition: ff_region.h:321
bool IsController() const
Returns true if it's a MIDI controller event. Call SetUseController to set to a controller event...
Definition: ff_celldetails.h:313
Base class specially designed for collections of detail classes.
Definition: ff_basecollection.h:716
Collection class for FCCellFrameHold class objects.
Definition: ff_celldetails.h:2100
TimeEdu32 GetMeasurePos() const
Returns the elapsed duration position in the measure for the entry.
Definition: ff_noteframe.h:1781
virtual twobyte GetStaff() const
Returns the connected staff (based on the connected cell).
Definition: ff_celldetails.h:113
twobyte GetRegionNumberID() const
Returns the 1-based measure region number ID that the measure number data belongs to...
Definition: ff_celldetails.h:739
void SetScaleNumber(twobyte scalenumber)
Sets the scale degree number for the root.
Definition: ff_celldetails.h:1699
void SetUsePitchWheel()
Sets the event to a Pitch Wheel event. This should be made before calling SetPitchWheelValue.
Definition: ff_celldetails.h:468
int _loadedsize
Loaded size of the data block for a loaded object, in bytes. Since the datablock is implementation-sp...
Definition: ff_base.h:653
virtual bool LoadFirst()
Overloads the LoadFirst method with a one that loads the cell data into cmper1 (staff), cmper2 (measure), inci (0)
Definition: finaleframework.cpp:20228
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:285
void SetVerticalPos(twobyte value)
Sets the vertical position from the baseline in EVPUs.
Definition: ff_celldetails.h:2028
void SetClefShow(CLEF_SHOW clef)
Sets the show state for the first clef in the frame.
Definition: ff_celldetails.h:1050
void SetFretboardPlayback(bool playback)
Sets the fretboard to playback/mute.
Definition: ff_celldetails.h:1779
Base class for all data-related classes (that handles Finale data).
Definition: ff_base.h:628
twobyte GetTimeSignatureBeatDuration()
Returns the beat duration for the time signature.
Definition: finaleframework.cpp:20752
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:850
FCTextBlock * CreateTextBlock()
Creates and loads a FCTextBlock object that belongs to the measure text. (It might return NULL...
Definition: finaleframework.cpp:20443
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:390
static void DebugOutBlock(const void *pBuffer, int startoffset, int size)
Static method that outputs a memory block for debugging purposes. Eight bytes per line will appear (a...
Definition: finaleframework.cpp:397
void ConnectCell(FCCell *pCell)
Connects the object to a cell. This must be done prior to any load/save operations.
Definition: ff_celldetails.h:50
void SetChordRootLowercase(bool state)
If set, draw root using lowercase.
Definition: ff_celldetails.h:1593
bool GetFretboardVisible() const
Returns the display state of the fretboard.
Definition: ff_celldetails.h:1512
void SetChordAlternateBassPlacement(ALTERNATEBASS_PLACEMENT placement)
Sets the placement type for the chord's alternate bass.
Definition: ff_celldetails.h:1649
void SetTimeSignatureCompositeTop(bool state)
Sets if the time signature uses a composite time signature Top or not.
Definition: finaleframework.cpp:20837
void SetPatchChangeBankData2(twobyte number)
Sets the patch change value 2 for a patch change event. SetUsePatchChange must be called before using...
Definition: ff_celldetails.h:570
twobyte GetID()
Returns the unique measure number region ID.
Definition: finaleframework.cpp:6496
virtual TimeEdu32 GetMeasurePos() const
Returns the measure position in EDUs.
Definition: ff_celldetails.h:1999
ALTERNATEBASS_PLACEMENT
For use with FCChord::SetChordAlternateBassPlacement()
Definition: ff_celldetails.h:1192
bool GetTimeSignatureCompositeBottom()
Returns true if the time signature use a composite time signature bottom.
Definition: finaleframework.cpp:20768
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:343
FCChord()
The constructor.
Definition: ff_celldetails.h:1203
virtual __FCBaseData * CreateObject()=0
Creates a new instance of the object.
void SetChordRootPlayback(bool playback)
Sets the playback state of the chord root.
Definition: ff_celldetails.h:1584
void SetControllerValue(twobyte number)
Sets the controller value for MIDI controller events. SetUseController must be called BEFORE setting ...
Definition: ff_celldetails.h:360
virtual eMeas GetMeasure() const
Returns the connected measure (based on the connected cell or actual storage).
Definition: ff_celldetails.h:101
FCSeparateMeasureNumber * GetItemAt(int index)
Definition: ff_celldetails.h:885
virtual bool LoadLast()
Overloads the LoadLast method with a one that loads the cell data into cmper1 (staff), cmper2 (measure) and the last found inci.
Definition: finaleframework.cpp:20243
EDataID _dataid
The EdataID for the last loaded/saved object.
Definition: ff_base.h:657
void SetPatchChangeNumber(twobyte number)
Sets the patch change number for a patch change event. SetUsePatchChange must be called before using ...
Definition: ff_celldetails.h:522
Class that provides storage for text. This is to achieve platform-transparent text handling...
Definition: ff_base.h:1473
twobyte GetChordResize() const
Returns the resize value of the chord, in percent.
Definition: ff_celldetails.h:1319
Encapsulates a note entry from an owner class (for example FCNoteEntryCell, FCNoteEntryLayer) class...
Definition: ff_noteframe.h:808
bool GetChordRootVisible() const
Returns the display state of the chord root.
Definition: ff_celldetails.h:1325
void SetChordHorizontalPos(twobyte value)
Sets the horizontal position offset (from the measure pos) of the chord in EVPUs. ...
Definition: ff_celldetails.h:1551
void SetHasKeySignature(bool state)
Sets if the object contains key signature information. Use with care!
Definition: finaleframework.cpp:20777
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:1839
eKey GetKeySignatureID()
Returns the key signature ID.
Definition: finaleframework.cpp:20736
Base class for data that attach to cells. A call to the ConnectCell method is required prior to loadi...
Definition: ff_celldetails.h:21
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:35
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:1177
Collection class for FCSeparateMeasureNumber class objects, that contains the separate added or adjus...
Definition: ff_celldetails.h:865
bool IsPressure() const
Returns true if it's a MIDI channel pressure/aftertouch event. Call SetUsePressure to set to a channe...
Definition: ff_celldetails.h:373
void SetFretboardResize(twobyte value)
Sets the resize value of the fretboard, in percent.
Definition: ff_celldetails.h:1773
void SetRegionNumberID(twobyte regionid)
Sets the 1-based measure region ID that the measure number data belongs to.
Definition: ff_celldetails.h:812
bool GetChordAlternateBassPlayback() const
Returns the playback state of the alternate bass for the chord symbol.
Definition: ff_celldetails.h:1423
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:170
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition: ff_region.h:24
void SetMeasurePos(TimeEdu32 value)
Sets the horizontal position within the measure.
Definition: ff_celldetails.h:597
void SetUseController()
Sets the event to a MIDI controller event. This should be made before calling SetControllerNumber and...
Definition: ff_celldetails.h:336
bool GetChordRootLowercase() const
Returns if the root should be drawn using lowercase.
Definition: ff_celldetails.h:1343
virtual EXTAG Tag()=0
The Enigma tag for the derived class.
virtual EXTAG Tag()
The Enigma tag for the derived class.
Definition: ff_celldetails.h:1175
twobyte GetCapo() const
Returns the capo value. For this value to be actively used, SetUseCapo must be called.
Definition: ff_celldetails.h:1380
void SetFretboardStyleID(twobyte value)
Sets the fretboard style ID.
Definition: ff_celldetails.h:1748
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:932
virtual int LoadAllInCell(FCCell *pCell)
Loads all incis for a specific cell.
Definition: finaleframework.cpp:20315
void _AssignEDTEnclosure(void *pPointer)
For internal use ONLY! Assigns enclosure data to the class (for structures that doesn't load their ow...
Definition: ff_other.h:2924
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:1838
void SetUseCapo(bool state)
Sets the chord to use the local capo setting.
Definition: ff_celldetails.h:1679
void SetChordVerticalPos(twobyte value)
Sets the vertical position of the chord (from the baseline).
Definition: ff_celldetails.h:1557
void GetEnigmaRegion(EREGION *pRegion)
Assigns the document region to an Enigma region structure.
Definition: finaleframework.cpp:14580
void SetFretboardHorizontalPos(twobyte value)
Sets the horizontal fretboard pos (relative to the chord).
Definition: ff_celldetails.h:1754
void SetFretboardVisible(bool state)
Sets the display state of the fretboard.
Definition: ff_celldetails.h:1767
Class for key signatures. Instances of this class is auto-created by FCMeasure:GetKeySignature and FC...
Definition: ff_keysig.h:22
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_celldetails.h:1123
bool GetChordAlternateBassLowercase() const
If set, draw alternate bass using lowercase.
Definition: ff_celldetails.h:1432
bool AssignMeasureNumberRegion(FCMeasureNumberRegion *pRegion)
Links a specific FCMeasureNumberRegion type to the separate number adjustment.
Definition: ff_celldetails.h:780
virtual bool LoadPrevious()
Definition: finaleframework.cpp:20275
void SetCapo(twobyte value)
Sets the capo value. For this value to be actively used, SetUseCapo must be called.
Definition: ff_celldetails.h:1689
virtual bool Load(CMPER itemno)
Loads the indicated item.
Definition: finaleframework.cpp:4109
FCCellTexts()
The constructor.
Definition: ff_celldetails.h:2081
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:703
virtual bool SaveNew()
Creates new data. Make sure to call __FCCellDetail::ConnectCell() first.
Definition: finaleframework.cpp:20285
FCChord * FindMeasurePos(TimeEdu32 durationpos)
Finds a chord in the measure at a specific measure position.
Definition: ff_celldetails.h:2153
void SetChordVisible(bool state)
Sets the display state of the chord.
Definition: ff_celldetails.h:1563
twobyte GetPatchChangeBankData1() const
Returns the patch change value 1 for a patch change event.
Definition: ff_celldetails.h:558
void SetTimeSignatureCompositeBottom(bool state)
Sets if the time signature uses a composite time signature bottom or not.
Definition: finaleframework.cpp:20849
bool GetTimeSignatureCompositeTop()
Returns true if the time signature use a composite time signature Top.
Definition: finaleframework.cpp:20760
bool GetUseCapo() const
Returns the setting if the chord should use the local capo setting.
Definition: ff_celldetails.h:1370
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_celldetails.h:2125
twobyte GetFretboardHorizontalPos() const
Returns the horizontal fretboard pos (relative to the chord)
Definition: ff_celldetails.h:1499
twobyte GetPatchChangeNumber() const
Returns the patch change number for a patch change event.
Definition: ff_celldetails.h:533
virtual bool SaveNew()
Overwritten method for SaveNew.
Definition: finaleframework.cpp:20629
virtual int DataSizeLoad()=0
Returns the data size for the data structure that should be loaded.
bool IsPatchChange() const
Returns true if it's a Patch Change event. Call SetUsePatchChange to set to a patch change event...
Definition: ff_celldetails.h:480
twobyte GetHorizontalPosition() const
Returns the horizontal position offset.
Definition: ff_celldetails.h:763
void SetKeySignatureID(eKey value)
Sets the key signature ID.
Definition: finaleframework.cpp:20801
CMPER GetStringID() const
Returns the raw text ID for the measure text (as an Engima string). This ID is "owned" by the connect...
Definition: finaleframework.cpp:20503
void SetClefAfterBarline(bool state)
Sets if the clef should be placed after the barline.
Definition: ff_celldetails.h:1084
twobyte GetScaleNumber() const
Returns the scale degree of the root.
Definition: ff_celldetails.h:1389
void SetChordRootVisible(bool state)
Sets the display state of the chord root.
Definition: ff_celldetails.h:1575
virtual EVERSION EnigmaVersion()
The Enigma version for save/load/create/delete operations.
Definition: ff_base.h:757
MIDI_CONTROLLER_NUMBERS
The standard MIDI controller numbers. Used by FCMidiExpression::GetControllerNumber() and FCMidiExpre...
Definition: ff_celldetails.h:279
FCChord * GetItemAt(int index)
Overridden GetItemAt method.
Definition: ff_celldetails.h:2164
FCSeparateMeasureNumber()
The constructor.
Definition: ff_celldetails.h:713
bool GetFretboardPlayback() const
Sets the fretboard to playback/mute.
Definition: ff_celldetails.h:1524
bool GetChordVisible() const
Returns the display state of the chord.
Definition: ff_celldetails.h:1313
twobyte GetFretboardVerticalPos() const
Returns the vertical fretboard pos (relative to the chord)
Definition: ff_celldetails.h:1505
bool GetIsClefList() const
Returns if the frame contains a clef list or not.
Definition: ff_celldetails.h:1006
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_celldetails.h:2211
FCCell * GetConnectedCell() const
Returns the connected cell.
Definition: ff_celldetails.h:54
bool GetChordSuffixPlayback() const
Returns the playback state of the chord suffix.
Definition: ff_celldetails.h:1361
Collection class for FCCellClefChange class objects, containing all mid-clef changes in a cell...
Definition: ff_othercollection.h:2026