8#ifndef FF_CELLDETAILS_H
9#define FF_CELLDETAILS_H
13#include "ff_noteframe.h"
15#ifdef PDK_FRAMEWORK_ENTRIES
29#ifndef DOXYGEN_SHOULD_IGNORE_THIS
37 virtual void _SaveMeasureFlag() = 0;
40 bool _RawRelink()
override
47 const char*
ClassName()
const override {
return "__FCCellDetail"; }
51 _pConnectedCell = NULL;
135#ifdef PDK_FRAMEWORK_DEBUG
160 bool LoadNext()
override {
return false; }
161 bool SaveNew()
override {
return false; }
163 const char*
ClassName()
const override {
return "__FCNoInciCellDetail"; }
173 bool Load() {
return LoadFirst(); }
186 const char*
ClassName()
const override {
return "__FCCollectionCellDetail"; }
235 const char*
ClassName()
const override {
return "__FCCollectionNoInciCellDetail"; }
266#ifndef DOXYGEN_SHOULD_SKIP_THIS
267 EDTMidiExpression _midiexpression;
271 void _SaveMeasureFlag()
override {}
273 EXTAG
Tag()
const override {
return dt_MidiExpression; }
274 int DataSizeLoad()
const override {
return sizeof(EDTMidiExpression); }
275 int DataSizeSave()
const override {
return sizeof(EDTMidiExpression); }
276 void*
Allocate()
override {
return (
void*) &_midiexpression; }
284 memcpy(&_midiexpression, ((
FCMidiExpression*)pSource)->_GetMidiExpr(),
sizeof(_midiexpression));
297 PEDAL_CONTROLLER = 64
300 const char*
ClassName()
const override {
return "FCMidiExpression"; }
303#ifndef DOXYGEN_SHOULD_SKIP_THIS
304 EDTMidiExpression* _GetMidiExpr() {
return &_midiexpression; }
310 memset(&_midiexpression, 0,
sizeof(_midiexpression));
329 bool IsController()
const {
return (LOBYTE(_midiexpression.status) == MIDIEXP_CONTROLLER); }
354 _midiexpression.status &= 0xff00;
355 _midiexpression.status |= MIDIEXP_CONTROLLER;
367 _midiexpression.data1 = number;
379 _midiexpression.data2 = number;
389 bool IsPressure()
const {
return (LOBYTE(_midiexpression.status) == MIDIEXP_PRESSURE); }
401 if (value < 0) value = 0;
402 if (value > 127) value = 127;
403 _midiexpression.data1 = value;
413 return _midiexpression.data1;
423 _midiexpression.status &= 0xff00;
424 _midiexpression.status |= MIDIEXP_PRESSURE;
434 bool IsPitchWheel()
const {
return (LOBYTE(_midiexpression.status) == MIDIEXP_PITCHWHEEL); }
446 if (value > 8192) value = 8192;
447 if (value < -8192) value = -8192;
450 bool isnegative = (value < 0);
451 _midiexpression.data1 = value & 0x7f;
455 _midiexpression.data2 = value;
456 if (!isnegative) _midiexpression.data2 |= 0x40;
468 bool isnegative = (_midiexpression.data2 & 0x20) != 0;
469 twobyte result = (_midiexpression.data1 & 0x7f);
470 result = result | ((_midiexpression.data2 & 0x3f) * 0x80);
473 result = 0x2000 - result;
486 _midiexpression.status &= 0xff00;
487 _midiexpression.status |= MIDIEXP_PITCHWHEEL;
496 bool IsPatchChange()
const {
return (LOBYTE(_midiexpression.status) == MIDIEXP_PATCH_CHANGE); }
505 _midiexpression.status &= 0xff00;
506 _midiexpression.status |= MIDIEXP_PATCH_CHANGE;
520 if (mode < 0)
return;
521 if (mode > 4)
return;
522 twobyte patchnumber = LOBYTE(_midiexpression.data1);
523 _midiexpression.data1 = MAKEWORD(patchnumber, mode);
536 return HIBYTE(_midiexpression.data1);
547 if (number < 0)
return;
548 if (number > 255)
return;
549 twobyte patchmode = HIBYTE(_midiexpression.data1);
550 _midiexpression.data1 = MAKEWORD(number, patchmode);
560 return LOBYTE(_midiexpression.data1);
574 if (mode < 0)
return;
575 if (mode > 255)
return;
576 twobyte patchnumber = LOBYTE(_midiexpression.data2);
577 _midiexpression.data2 = MAKEWORD(patchnumber, mode);
589 return HIBYTE(_midiexpression.data2);
603 if (number < 0)
return;
604 if (number > 255)
return;
605 twobyte patchmode = HIBYTE(_midiexpression.data2);
606 _midiexpression.data2 = MAKEWORD(number, patchmode);
619 return LOBYTE(_midiexpression.data2);
631#ifdef PDK_FRAMEWORK_DEBUG
664#ifndef DOXYGEN_SHOULD_SKIP_THIS
667 EDTMeasNumberSeparate _separatemeasurenumberold;
669 FIN25_4_CODE( EDTMeasNumberSeparate25_4 _separatemeasurenumber25_4; )
672 const bool _Use25_4_Version()
const;
675 const FLAG_16* _GetFlagPtr()
const
677 FIN25_4_CODE(
if (_Use25_4_Version())
return &_separatemeasurenumber25_4.flag; )
678 return &_separatemeasurenumberold.flag;
682 const twobyte* _GetRegionPtr()
const
684 FIN25_4_CODE(
if (_Use25_4_Version())
return &_separatemeasurenumber25_4.region; )
685 return &_separatemeasurenumberold.region;
689 const twobyte* _GetX1addPtr()
const
691 FIN25_4_CODE(
if (_Use25_4_Version())
return &_separatemeasurenumber25_4.x1add; )
692 return &_separatemeasurenumberold.x1add;
696 const twobyte* _GetY1addPtr()
const
698 FIN25_4_CODE(
if (_Use25_4_Version())
return &_separatemeasurenumber25_4.y1add; )
699 return &_separatemeasurenumberold.y1add;
704 const void* _GetEnclPtr()
const
706 FIN25_4_CODE(
if (_Use25_4_Version())
return &_separatemeasurenumber25_4.encl; )
707 return &_separatemeasurenumberold.encl;
711 void _SaveMeasureFlag()
override {}
713 EXTAG
Tag()
const override;
734 const char*
ClassName()
const override {
return "FCSeparateMeasureNumber"; }
737#ifndef DOXYGEN_SHOULD_SKIP_THIS
738 void* _GetSeparateMeasNum() {
return Allocate(); }
748 if (_Use25_4_Version())
750#if FXT_VERSION >= FINALEVERSION_25_4
751 memset(&_separatemeasurenumber25_4, 0,
sizeof(_separatemeasurenumber25_4));
758 memset(&_separatemeasurenumberold, 0,
sizeof(_separatemeasurenumberold));
825 if (!pRegion)
return false;
826 if (pRegion->
GetID() < 1)
return false;
857 if (regionid < 1)
return;
858 *(twobyte*)_GetRegionPtr() = regionid;
900#ifdef PDK_FRAMEWORK_DEBUG
921#ifndef DOXYGEN_SHOULD_IGNORE_THIS
932 const char*
ClassName()
const override {
return "FCSeparateMeasureNumbers"; }
957#ifndef DOXYGEN_SHOULD_SKIP_THIS
958 EDTGfhold2004 _tgfhold;
962 void _SaveMeasureFlag()
override {}
965 EXTAG
Tag()
const override {
return dt_Gfhold; }
966 int DataSizeLoad()
const override {
return sizeof(EDTGfhold2004); }
967 int DataSizeSave()
const override {
return sizeof(EDTGfhold2004); }
968 void*
Allocate()
override {
return (
void*) &_tgfhold; }
987 const char*
ClassName()
const override {
return "FCCellFrameHold"; }
990#ifndef DOXYGEN_SHOULD_SKIP_THIS
991 EDTGfhold2004& _GetTGFHold() {
return _tgfhold; }
1002 SHOWCLEF_NORMAL = 0,
1033#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1041 return SHOWCLEF_HIDE;
1043 return SHOWCLEF_ALWAYS;
1045 return SHOWCLEF_NORMAL;
1054 return GetBitFlag(_tgfhold.flag, GF_CLEFISLIST);
1072 _tgfhold.clef = newclef;
1085 _tgfhold.clefPercent = resize;
1097#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1112 case SHOWCLEF_ALWAYS:
1116 case SHOWCLEF_NORMAL:
1152 for (
int i = 0; i < FX_GetMaxLayers(); i++)
1153 if (_tgfhold.frame[i])
1166 if (layernum > 0 && layernum <= FX_GetMaxLayers())
1167 return MAKEBOOL(_tgfhold.frame[layernum-1]);
1178 for (
int i = 0; i < FX_GetMaxLayers(); i++)
1179 if (_tgfhold.frame[i])
1181 return layercount > 1;
1206#ifdef PDK_FRAMEWORK_PREFS
1223#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1225 luabridge::RefCountedPtr<FCCellClefChange> CreateFirstCellClefChange_GC()
1241#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1243 luabridge::RefCountedPtr<FCCellClefChanges> CreateCellClefChanges_GC()
1247#ifdef PDK_FRAMEWORK_PREFS
1266#ifdef PDK_FRAMEWORK_DEBUG
1291#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1292 EDTChord2010 _chord;
1295#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1297#ifdef PDK_FRAMEWORK_ENTRIES
1298 std::unique_ptr<FCTransposer> _pTransposer;
1301 void _SaveMeasureFlag()
override;
1303 int DataSizeLoad()
const override {
return sizeof(EDTChord2010); }
1304 void*
Allocate()
override {
return (
void*) &_chord; }
1306 EVERSION
EnigmaVersion()
const override {
return FINALEVERSION_2010; }
1314 memcpy(&_chord, ((
FCChord*)pSource)->_GetChord(),
sizeof(_chord));
1321 int _GetFretboardGroupInci()
const {
return _chord.fbData & CHORD_FRET_INCI; }
1322 void _SetFretboardGroupInci(
int value)
1324 _chord.fbData &= ~CHORD_FRET_INCI;
1325 _chord.fbData |= (value & CHORD_FRET_INCI);
1331 EXTAG
Tag()
const override {
return dt_Chord2010; }
1333 const char*
ClassName()
const override {
return "FCChord"; }
1336#ifndef DOXYGEN_SHOULD_IGNORE_THIS
1343 void* _GetChord() {
return Allocate(); }
1352 ALTBASSPLACE_AFTERROOT = 0,
1353 ALTBASSPLACE_UNDERROOT,
1354 ALTBASSPLACE_SUBTEXT
1363 memset(&_chord, 0,
sizeof(_chord));
1371 if (!pTestChord)
return false;
1393#ifdef PDK_FRAMEWORK_ENTRIES
1415#if FXT_VERSION >= FINALEVERSION_2014_5
1416 if (!FX_AnalyzeChord(&eregion, (EDTChord2010*) &_chord, &suffixfound))
return false;
1418 if (!FX_AnalyzeChord(&eregion, (EDTChord*) &_chord, &suffixfound))
return false;
1437#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1439 luabridge::RefCountedPtr<FCChordSuffixElements> CreateChordSuffixElements_GC()
const
1473#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
1475 luabridge::RefCountedPtr<FCFretboardGroupDef> CreateFretboardGroupDef_GC()
const
1479#ifdef PDK_FRAMEWORK_ENTRIES
1533 return GetBitFlag(_chord.showPlay, CHORD_SHOWROOT);
1542 return GetBitFlag(_chord.showPlay, CHORD_PLAYROOT);
1551 return GetBitFlag(_chord.showPlay, CHORD_LOWERCASE);
1560 return GetBitFlag(_chord.showPlay, CHORD_SHOW_SUFFIX);
1569 return GetBitFlag(_chord.showPlay, CHORD_PLAYCHORD);
1578 return GetBitFlag(_chord.capoData, CHORD_USE_LOCAL_CAPO);
1588 return (_chord.capoData & CHORD_CAPO_VALUE);
1597 return _chord.showPlay & CHORD_SCALENUM;
1606 twobyte alteration = _chord.showPlay & CHORD_RLBITS;
1608 if (alteration & 0x08)
1611 alteration |= 0xfff0;
1622 return GetBitFlag(_chord.altbass, CHORD_SHOWALTBASS);
1631 return GetBitFlag(_chord.altbass, CHORD_PLAYALTBASS);
1640 return GetBitFlag(_chord.altbass, CHORD_LOWERCASE);
1649 return _chord.altbass & CHORD_SCALENUM;
1660 twobyte alteration = _chord.altbass & CHORD_RLBITS;
1662 if (alteration & 0x08)
1665 alteration |= 0xfff0;
1676#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1683 if (
GetBitFlag(_chord.altbass, CHORD_DOWNSIDEBIT) ==
false)
1685 if (
GetBitFlag(_chord.altbass, CHORD_SUBTEXTBIT))
1686 return ALTBASSPLACE_SUBTEXT;
1688 return ALTBASSPLACE_AFTERROOT;
1690 else return ALTBASSPLACE_UNDERROOT;
1734 return GetBitFlag(_chord.showPlay, CHORD_PLAYFRETBOARD);
1743 return GetBitFlag(_chord.fbData, CHORD_USE_FRET_FONT);
1798 Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_SHOWROOT, state);
1807 Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_PLAYROOT, playback);
1816 Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_LOWERCASE, state);
1825 Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_SHOW_SUFFIX, state);
1834 Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_PLAYCHORD, playback);
1843 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SHOWALTBASS, state);
1852 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_PLAYALTBASS, playback);
1861 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_LOWERCASE, lowercase);
1871#ifndef PDK_FRAMEWORK_LUAFRIENDLY
1881 case ALTBASSPLACE_AFTERROOT:
1882 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_DOWNSIDEBIT,
false);
1883 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SUBTEXTBIT,
false);
1885 case ALTBASSPLACE_UNDERROOT:
1886 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_DOWNSIDEBIT,
true);
1887 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SUBTEXTBIT,
false);
1889 case ALTBASSPLACE_SUBTEXT:
1890 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_DOWNSIDEBIT,
false);
1891 Set16BitFlag((FLAG_16*)&_chord.altbass, CHORD_SUBTEXTBIT,
true);
1902 Set16BitFlag((FLAG_16*)&_chord.capoData, CHORD_USE_LOCAL_CAPO, state);
1912 _chord.capoData &= ~CHORD_CAPO_VALUE;
1913 _chord.capoData |= (value & CHORD_CAPO_VALUE);
1922 _chord.showPlay &= ~CHORD_SCALENUM;
1923 _chord.showPlay |= (scalenumber & CHORD_SCALENUM);
1933 alteration &= CHORD_RLBITS;
1934 _chord.showPlay &= ~CHORD_RLBITS;
1935 _chord.showPlay |= alteration;
1944 _chord.altbass &= ~CHORD_SCALENUM;
1945 _chord.altbass |= (scalenumber & CHORD_SCALENUM);
1957 alteration &= CHORD_RLBITS;
1958 _chord.altbass &= ~CHORD_RLBITS;
1959 _chord.altbass |= alteration;
2004 Set16BitFlag((FLAG_16*)&_chord.showPlay, CHORD_PLAYFRETBOARD, playback);
2013 Set16BitFlag(&_chord.fbData, CHORD_USE_FRET_FONT, state);
2024#ifdef PDK_FRAMEWORK_DEBUG
2046#ifndef DOXYGEN_SHOULD_SKIP_THIS
2047 EDTTGraphic _graphic;
2050 void _SaveMeasureFlag()
override {}
2057 bool _RawRelink()
override;
2060 EXTAG
Tag()
const override {
return dt_MeasGraphic; }
2061 int DataSizeLoad()
const override {
return sizeof(EDTTGraphic); }
2062 int DataSizeSave()
const override {
return sizeof(EDTTGraphic); }
2063 void*
Allocate()
override {
return (
void*) &_graphic; }
2071 memcpy(&_graphic, ((
FCCellGraphic*)pSource)->_GetGraphic(),
sizeof(_graphic));
2080 const char*
ClassName()
const override {
return "FCCellGraphic"; }
2083#ifndef DOXYGEN_SHOULD_SKIP_THIS
2084 EDTTGraphic* _GetGraphic() {
return &_graphic; }
2090 memset(&_graphic, 0,
sizeof(_graphic));
2101 return MAKEBOOL(_graphic.graphicCmper);
2110 return _graphic.left;
2119 return _graphic.bottom;
2128 return _graphic.width;
2137 return _graphic.height;
2146 return _graphic.origWidth;
2155 return _graphic.origHeight;
2174 _graphic.left = pos;
2175 _graphic.rightPgLeft = pos;
2187 _graphic.bottom = pos;
2188 _graphic.rightPgBottom = pos;
2197 _graphic.width = width;
2206 _graphic.height = height;
2215 Set16BitFlag(&_graphic.displayFlags, GRAPHIC_DISPLAY_HIDDEN, !state);
2218#ifdef PDK_FRAMEWORK_DEBUG
2237#ifndef DOXYGEN_SHOULD_SKIP_THIS
2238 EDTMeasureText _measuretext;
2241 void _SaveMeasureFlag()
override;
2244 EXTAG
Tag()
const override {
return dt_MeasureTextBlock; }
2245 int DataSizeLoad()
const override {
return sizeof(EDTMeasureText); }
2246 int DataSizeSave()
const override {
return sizeof(EDTMeasureText); }
2247 void*
Allocate()
override {
return (
void*) &_measuretext; }
2255 memcpy(&_measuretext, ((
FCCellText*)pSource)->_GetCellText(),
sizeof(_measuretext));
2264 const char*
ClassName()
const override {
return "FCCellText"; }
2267#ifndef DOXYGEN_SHOULD_SKIP_THIS
2268 EDTMeasureText* _GetCellText() {
return &_measuretext; }
2277 memset(&_measuretext, 0,
sizeof(_measuretext));
2298#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
2300 luabridge::RefCountedPtr<FCString> CreateTextString_GC()
2314#ifdef PDK_FRAMEWORK_LUAFRIENDLY_CPP
2316 luabridge::RefCountedPtr<FCTextBlock> CreateTextBlock_GC()
2343 return _measuretext.block;
2363 return _measuretext.xdisp;
2372 return _measuretext.ydisp;
2382 return !
GetBitFlag(_measuretext.flag, (MEASURETEXT_ANNOTATION));
2393 _measuretext.xdisp = (Evpu16) value;
2402 _measuretext.ydisp = value;
2412 Set16BitFlag(&_measuretext.flag, MEASURETEXT_ANNOTATION, !visible);
2415#ifdef PDK_FRAMEWORK_DEBUG
2440#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2444 const char*
ClassName()
const override {
return "FCCellGraphics"; }
2465#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2475 const char*
ClassName()
const override {
return "FCCellTexts"; }
2494#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2498 const char*
ClassName()
const override {
return "FCCellFrameHolds"; }
2514#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2518 const char*
ClassName()
const override {
return "FCMidiExpressions"; }
2538#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2542 const char*
ClassName()
const override {
return "FCChords"; }
2550 for (
int i = 0; i <
GetCount(); i++ )
2569#ifndef DOXYGEN_SHOULD_SKIP_THIS
2570#if FXT_VERSION < FINALEVERSION_2014
2571 EDTMeasureFloat _measurefloat2014;
2572 EDTMeasureFloat _measurefloat2001;
2574 EDTMeasureFloat2014 _measurefloat2014;
2575 EDTMeasureFloat2001 _measurefloat2001;
2579 EVERSION _VersionToUse()
const;
2582 void _SaveMeasureFlag()
override {}
2584 EXTAG
Tag()
const override;
2588 EVERSION
EnigmaVersion()
const override {
return _VersionToUse(); }
2605 const char*
ClassName()
const override {
return "FCIndependentCellDetail"; }
2608#ifndef DOXYGEN_SHOULD_SKIP_THIS
2609 void* _GetDataPtr();
2616 memset(_GetDataPtr(), 0, size);
2728#ifdef PDK_FRAMEWORK_DEBUG
2736#ifdef PDK_FRAMEWORK_ENTRIES
2767 constexpr static int kMaxAbsFinaleAleration = 7;
2768 using _transposeInputs = std::tuple<eHarmLev, eHarmAlt, const FCKeySignature*>;
2770 template<
typename... Args>
2771 using _transposeFunPtr = bool(
FCTransposer::*)(_transposeInputs& inputs, Args... args);
2774 std::variant<_transposeInputs, FCNote*, FCChord*> _target;
2776 template<
typename... Args>
2777 bool _executeForInputs(_transposeInputs& inputs, _transposeFunPtr<Args...> funPtr, Args... args)
2778 {
return (this->*funPtr)(inputs, args...); }
2780 template<
typename... Args>
2781 bool _executeForNote(
FCNote* pNote, _transposeFunPtr<Args...> funPtr, Args... args)
2785 const bool success = _executeForInputs(inputs, funPtr, args...);
2794 template<
typename... Args>
2795 bool _executeForChord(
FCChord* pChord, _transposeFunPtr<Args...> funPtr, Args... args)
2801 const bool success = _executeForInputs(inputs1, funPtr, args...) && _executeForInputs(inputs2, funPtr, args...);
2812 template<
typename... Args>
2813 bool _execute(_transposeFunPtr<Args...> funPtr, Args... args)
2815 if (std::holds_alternative<_transposeInputs>(_target))
2816 return _executeForInputs(std::get<0>(_target), funPtr, args...);
2817 else if (std::holds_alternative<FCNote*>(_target))
2818 return _executeForNote(std::get<1>(_target), funPtr, args...);
2819 else if (std::holds_alternative<FCChord*>(_target))
2820 return _executeForChord(std::get<2>(_target), funPtr, args...);
2826 bool _DiatonicTranspose(_transposeInputs& inputs, eHarmLev interval)
2828 std::get<0>(inputs) += interval;
2832 bool _OctaveTranspose(_transposeInputs& inputs, twobyte numberofoctaves)
2833 {
return _DiatonicTranspose(inputs, 7*numberofoctaves); }
2835 bool _EDOStepTranspose(_transposeInputs& inputs, twobyte numberofsteps)
2837 std::get<1>(inputs) += numberofsteps;
2838 return _SimplifySpelling(inputs, 0);
2841 bool _SimplifySpelling(_transposeInputs& inputs, twobyte minAbsAlteration);
2842 bool _EnharmonicTranspose(_transposeInputs& inputs, twobyte direction,
bool ignoreerrors);
2843 bool _DefaultEnharmonicTranspose(_transposeInputs& inputs);
2844 bool _ChromaticTranspose(_transposeInputs& inputs, eHarmLev interval, eHarmAlt alteration,
bool simplify);
2847#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2848 const char*
ClassName()
const override {
return "FCTransposer"; }
2860 : _target(std::make_tuple(displacement, raiselower, key))
2863#ifndef DOXYGEN_SHOULD_IGNORE_THIS
2880 if (std::holds_alternative<_transposeInputs>(_target))
2881 return std::get<0>(std::get<_transposeInputs>(_target));
2882#ifdef PDK_FRAMEWORK_LUAFRIENDLY
2883 throw std::runtime_error(
"invalid target for FCTransposer::GetDisplacement");
2898 if (std::holds_alternative<_transposeInputs>(_target))
2899 return std::get<1>(std::get<_transposeInputs>(_target));
2900#ifdef PDK_FRAMEWORK_LUAFRIENDLY
2901 throw std::runtime_error(
"invalid target for FCTransposer::GetRaiseLower");
2913 { _execute(&FCTransposer::_DiatonicTranspose, interval); }
2922 { _execute(&FCTransposer::_OctaveTranspose, numberofoctaves); }
2935 {
return _execute(&FCTransposer::_EnharmonicTranspose, direction,
false); }
2948 {
return _execute(&FCTransposer::_DefaultEnharmonicTranspose); }
2961 {
return _execute(&FCTransposer::_SimplifySpelling, (twobyte)0); }
2977 {
return _execute(&FCTransposer::_ChromaticTranspose, interval, alteration, simplify); }
2992 {
return _execute(&FCTransposer::_EDOStepTranspose, numberofsteps); }
Base class for all data-related classes (that handles Finale data).
Definition ff_base.h:676
virtual __FCBaseData * CreateObject()=0
Creates a new instance of the object.
EDataID _dataid
The EdataID for the last loaded/saved object.
Definition ff_base.h:712
void * _datablock
Pointer to the object's data block, the meaning is implementation-specific for each derived subclass.
Definition ff_base.h:695
virtual EVERSION EnigmaVersion() const
The Enigma version for save/load/create/delete operations.
Definition ff_base.h:812
virtual int DataSizeLoad() const =0
Returns the data size for the data structure that should be loaded.
virtual int DataSizeSave() const
Returns the data size for the data structure that should be saved or created.
Definition finaleframework.cpp:916
virtual EXTAG Tag() const =0
The Enigma tag for the derived class.
virtual bool DeleteData()
Deletes the associated data from Finale's database. Be careful when deleting multiple objects.
Definition finaleframework.cpp:911
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_base.h:1006
virtual void CloneMemoryFrom(__FCBaseData *pSource)
Definition finaleframework.cpp:838
virtual void * Allocate()=0
int _loadedsize
Loaded size of the data block for a loaded object, in bytes. Since the datablock is implementation-sp...
Definition ff_base.h:708
Base class for the Finale Framework classes.
Definition ff_base.h:71
static void DebugOutHex(const char *pszPrefixText, int i)
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in h...
Definition finaleframework.cpp:404
void Set16BitFlag(FLAG_16 *flag, FLAG_16 flagbits, bool state)
Sets a 16 bit flag.
Definition finaleframework.cpp:635
PDKFRAMEWORK_CLASSID
Constants for the GetClassID method.
Definition ff_base.h:84
static void DebugOutInt(const char *pszPrefixText, int i)
Static method that outputs a line for debugging purposes. The text appears with the extra digit (in d...
Definition finaleframework.cpp:335
bool GetBitFlag(FLAG_32 flag, FLAG_32 flagbits) const
Gets a state from flag bits. Returns true if any bit in the mask is set.
Definition ff_base.h:485
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition finaleframework.cpp:609
static void DebugOutBool(const char *pszPrefixText, bool state)
Static method that outputs a line for debugging purposes. The boolean state appears afterwards as eit...
Definition finaleframework.cpp:451
virtual const char * ClassName() const =0
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
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:458
Base class for data that attach to cells. A call to the ConnectCell method is required prior to loadi...
Definition ff_celldetails.h:27
virtual eMeas GetMeasure() const
Returns the connected measure (based on the connected cell or actual storage).
Definition ff_celldetails.h:115
bool LoadPrevious() override
Definition finaleframework.cpp:21990
bool LoadLast() override
Overloads the LoadLast method with a one that loads the cell data into cmper1 (staff),...
Definition finaleframework.cpp:21958
void ConnectCell(FCCell *pCell)
Connects the object to a cell. This must be done prior to any load/save operations.
Definition ff_celldetails.h:62
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:136
virtual bool SaveNew()
Creates new data. Make sure to call __FCCellDetail::ConnectCell() first.
Definition finaleframework.cpp:22000
FCCell * GetConnectedCell() const
Returns the connected cell.
Definition ff_celldetails.h:66
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:47
bool LoadFirst() override
Overloads the LoadFirst method with a one that loads the cell data into cmper1 (staff),...
Definition finaleframework.cpp:21943
virtual TimeEdu32 GetMeasurePos() const
Virtual method for cell-attached data that has a position in the measure.
Definition ff_celldetails.h:100
virtual twobyte GetStaff() const
Returns the connected staff (based on the connected cell).
Definition ff_celldetails.h:127
bool LoadNext() override
Overloaded method of LoadNext that will only load incis within the same cmper1/cmper2.
Definition finaleframework.cpp:21980
Base class specially designed for collections of detail classes connected to cell data.
Definition ff_celldetails.h:184
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:186
virtual int LoadAllInCell(FCCell *pCell)
Loads all incis for a specific cell.
Definition finaleframework.cpp:22032
__FCCollectionCellDetail()
The constructor.
Definition ff_celldetails.h:190
int LoadAll() override
Loads the object for all the cells in the document.
Definition finaleframework.cpp:22078
int LoadAllForRegion(FCMusicRegion *pMusicRegion)
Loads the objects for all the cells in the region.
Definition finaleframework.cpp:22056
Base class specially designed for collections of detail classes.
Definition ff_basecollection.h:880
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
Base class specially designed for collections of detail classes (where inci always is 0) connected to...
Definition ff_celldetails.h:233
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:235
int LoadAllInRegion(FCMusicRegion *pMusicRegion)
Loads the objects for all the cells in the region.
Definition finaleframework.cpp:22267
__FCCollectionNoInciCellDetail()
The constructor.
Definition ff_celldetails.h:239
Base class for details data where inci always is 0.
Definition ff_celldetails.h:158
bool Load()
Loads the data for the connected cell. Make sure to call ConnectCell first.
Definition ff_celldetails.h:173
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:163
virtual bool Load(CMPER itemno)
Loads the indicated item.
Definition finaleframework.cpp:4719
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
Class that holds the TGF frames and the clef changes of a TGF frame.
Definition ff_celldetails.h:956
bool MakeCellSingleClef(const FCCellClefChange *pClefInfo=nullptr)
Converts the current FCCellFrameHold instance to single-clef, using the input FCCellClefChange....
Definition finaleframework.cpp:22451
CLEF_SHOW GetClefShow() const
Returns the show state for the first clef in the frame.
Definition ff_celldetails.h:1038
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:987
bool GetClefAfterBarline() const
Returns true if the clef should be placed after the barline.
Definition ff_celldetails.h:1061
FCCellClefChanges * CreateCellClefChanges()
Creates a FCCellClefChanges collection for the cell, containing all clef changes.
Definition finaleframework.cpp:22489
bool SetCellClefChanges(FCCellClefChanges *pClefChanges)
Sets the clefs in the cell to match those in the input FCCellClefChanges.
Definition finaleframework.cpp:22500
CLEF_SHOW
The clef display states. Used for FCCellFrameHold::GetClefShow and FCCellFrameHold::SetClefShow....
Definition ff_celldetails.h:1001
bool GetIsClefList() const
Returns if the frame contains a clef list or not.
Definition ff_celldetails.h:1052
bool CalcHasFrameAtLayer(int layernum) const
Calculates if this cell has a frame for the specified layer.
Definition ff_celldetails.h:1164
bool CalcClefChange()
Calculates if there really is a clef change at the beginning of the cell.
Definition finaleframework.cpp:22339
twobyte GetClefIndex() const
Gets the 0-based clef number for the first clef in the frame.
Definition ff_celldetails.h:1018
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:1025
void SetClefPercent(twobyte resize)
Sets the clef resize percent. Only used if GetClefShow returns SHOWCLEF_ALWAYS.
Definition ff_celldetails.h:1082
bool CalcMultiLayeredCell()
Calculates if this cell has multiple layers.
Definition ff_celldetails.h:1175
bool CalcHasFrame() const
Calculates if this cell has a frame.
Definition ff_celldetails.h:1150
void SetClefShow(CLEF_SHOW value)
Sets the show state for the first clef in the frame.
Definition ff_celldetails.h:1096
void SetClefIndex(twobyte newclef)
Sets the 0-based clef number for the first clef in the frame.
Definition ff_celldetails.h:1069
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_celldetails.h:988
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:1267
bool SaveNew() override
Overwritten method for SaveNew.
Definition finaleframework.cpp:22397
FCCellClefChange * CreateFirstCellClefChange() const
Creates a FCCellClefChange record from the either the FCCellFrameHold or the first mid-measure clef a...
Definition finaleframework.cpp:22428
void SetClefAfterBarline(bool state)
Sets if the clef should be placed after the barline.
Definition ff_celldetails.h:1130
FCCellFrameHold()
The constructor.
Definition finaleframework.cpp:22322
Collection class for FCCellFrameHold class objects.
Definition ff_celldetails.h:2492
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2498
Class for measure/cell-attached graphic objects. Currently, this class can only be used to edit exist...
Definition ff_celldetails.h:2045
void SetVerticalPos(Evpu16 pos)
Sets the graphic rectangle's bottom position, in EVPUs.
Definition ff_celldetails.h:2185
void SetVisible(bool state)
Sets the visibility state of the graphic.
Definition ff_celldetails.h:2213
Evpu16 GetOriginalWidth() const
Returns the original graphic rectangle's width (before stretching), in EVPUs.
Definition ff_celldetails.h:2144
void SetWidth(Evpu16 width)
Sets the graphic rectangle's width, in EVPUs.
Definition ff_celldetails.h:2195
bool IsEmbedded()
Returns true if the graphic is embedded in the document.
Definition ff_celldetails.h:2099
Evpu16 GetHorizontalPos() const
Returns the graphic rectangle's left-side position, in EVPUs.
Definition ff_celldetails.h:2108
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_celldetails.h:2081
void SetHorizontalPos(Evpu16 pos)
Sets the graphic rectangle's left-side position, in EVPUs.
Definition ff_celldetails.h:2172
Evpu16 GetHeight() const
Returns the graphic rectangle's height, in EVPUs.
Definition ff_celldetails.h:2135
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2080
bool GetVisible() const
Returns the visibility status of the page graphic.
Definition ff_celldetails.h:2164
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:2219
Evpu16 GetOriginalHeight() const
Returns the original graphic rectangle's height (before stretching), in EVPUs.
Definition ff_celldetails.h:2153
FCCellGraphic()
The constructor.
Definition ff_celldetails.h:2088
Evpu16 GetWidth() const
Returns the graphic rectangle's width, in EVPUs.
Definition ff_celldetails.h:2126
Evpu16 GetVerticalPos() const
Returns the graphic rectangle's bottom position, in EVPUs.
Definition ff_celldetails.h:2117
void SetHeight(Evpu16 height)
Sets the graphic rectangle's height, in EVPUs.
Definition ff_celldetails.h:2204
Collection class for FCCellGraphic class objects.
Definition ff_celldetails.h:2438
FCCellGraphic * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_celldetails.h:2450
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2444
The class that reference a cell (one measure on one staff) in the musical "grid".
Definition ff_cell.h:18
FCKeySignature * GetKeySignature()
Returns a pointer to the key signature object.
Definition finaleframework.cpp:20178
int GetMeasure() const
Returns the measure for the cell.
Definition ff_cell.h:120
int GetStaff() const
Returns the staff for the cell.
Definition ff_cell.h:128
Class for measure-attached (cell-attached) text blocks. The ConnectCell method must be called prior t...
Definition ff_celldetails.h:2236
FCString * CreateTextString()
Gets a pointer to the text string, as a string object.
Definition ff_celldetails.h:2291
bool GetVisible() const
Returns true if the text block is visible (in the score/part that's currently in focus).
Definition ff_celldetails.h:2380
twobyte GetVerticalPos() const
Returns the vertical position from the baseline in EVPUs.
Definition ff_celldetails.h:2370
void SetMeasurePos(TimeEdu32 value)
Sets the measure position in EDUs.
Definition ff_celldetails.h:2391
FCTextBlock * CreateTextBlock()
Creates and loads a FCTextBlock object that belongs to the measure text. (It might return NULL....
Definition finaleframework.cpp:22213
bool SaveTextString(FCString *pString)
Resaves a raw text string. This method requires that the text block already exists.
Definition finaleframework.cpp:22240
twobyte GetTextBlockID() const
Returns the text block ID, for use with the FCTextBlock class.
Definition ff_celldetails.h:2341
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:22254
TimeEdu32 GetMeasurePos() const override
Returns the measure position in EDUs.
Definition ff_celldetails.h:2361
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:22225
void SetVerticalPos(twobyte value)
Sets the vertical position from the baseline in EVPUs.
Definition ff_celldetails.h:2400
void SetVisible(bool visible)
Sets if the text block should be visible or not (in the score/part that's currently in focus - works ...
Definition ff_celldetails.h:2410
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:2416
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_celldetails.h:2265
FCCellText()
The constructor.
Definition ff_celldetails.h:2275
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2264
Collection class for FCCellText class objects.
Definition ff_celldetails.h:2463
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2475
FCCellTexts()
The constructor.
Definition ff_celldetails.h:2473
FCCellText * GetItemAt(int index) const
Overridden GetItemAt() method.
Definition ff_celldetails.h:2481
Class for chord assignments to a measure/staff.
Definition ff_celldetails.h:1289
void SetAlteration(twobyte alteration)
Sets the chord alteration, compared to the scale degree.
Definition ff_celldetails.h:1930
twobyte GetAlternateBassAlteration() const
Returns the alternate bass alteration, compared to the scale degree.
Definition ff_celldetails.h:1658
void SetAlternateBassAlteration(twobyte alteration)
Sets the alternate bass alteration, compared to the scale degree.
Definition ff_celldetails.h:1954
void SetChordAlternateBassVisible(bool state)
Sets the display state of the alternate bass for the chord symbol.
Definition ff_celldetails.h:1841
bool GetChordAlternateBassLowercase() const
If set, draw alternate bass using lowercase.
Definition ff_celldetails.h:1638
twobyte GetFretboardVerticalPos() const
Returns the vertical fretboard pos (relative to the chord)
Definition ff_celldetails.h:1713
bool GetFretboardUseFont() const
Returns the fretboard to use a fretboard font.
Definition ff_celldetails.h:1741
void SetFretboardHorizontalPos(twobyte value)
Sets the horizontal fretboard pos (relative to the chord).
Definition ff_celldetails.h:1977
void SetChordVerticalPos(twobyte value)
Sets the vertical position of the chord (from the baseline).
Definition ff_celldetails.h:1778
EXTAG Tag() const override
The Enigma tag for the derived class.
Definition ff_celldetails.h:1331
void SetFretboardStyleID(twobyte value)
Sets the fretboard style ID.
Definition ff_celldetails.h:1971
void SetChordRootVisible(bool state)
Sets the display state of the chord root.
Definition ff_celldetails.h:1796
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_celldetails.h:1334
bool GetFretboardVisible() const
Returns the display state of the fretboard.
Definition ff_celldetails.h:1720
twobyte GetCapo() const
Returns the capo value. For this value to be actively used, SetUseCapo must be called.
Definition ff_celldetails.h:1586
void SetFretboardVisible(bool state)
Sets the display state of the fretboard.
Definition ff_celldetails.h:1990
void SetChordRootLowercase(bool state)
If set, draw root using lowercase.
Definition ff_celldetails.h:1814
void SetChordSuffixVisible(bool state)
Sets the display state of the chord suffix.
Definition ff_celldetails.h:1823
twobyte GetFretboardHorizontalPos() const
Returns the horizontal fretboard pos (relative to the chord)
Definition ff_celldetails.h:1707
bool GetChordRootVisible() const
Returns the display state of the chord root.
Definition ff_celldetails.h:1531
bool GetChordVisible() const
Returns the display state of the chord.
Definition ff_celldetails.h:1519
FCTransposer * GetTransposer()
Returns a transposer that can be used to transpose this chord.
Definition finaleframework.cpp:22153
void SetFretboardUseFont(bool state)
Sets the fretboard to use a fretboard font.
Definition ff_celldetails.h:2011
void SetUseCapo(bool state)
Sets the chord to use the local capo setting.
Definition ff_celldetails.h:1900
twobyte GetChordResize() const
Returns the resize value of the chord, in percent.
Definition ff_celldetails.h:1525
bool GetChordSuffixPlayback() const
Returns the playback state of the chord suffix.
Definition ff_celldetails.h:1567
void SetCapo(twobyte value)
Sets the capo value. For this value to be actively used, SetUseCapo must be called.
Definition ff_celldetails.h:1910
ALTERNATEBASS_PLACEMENT
For use with FCChord::SetChordAlternateBassPlacement()
Definition ff_celldetails.h:1351
void SetChordAlternateBassPlayback(bool playback)
Sets the playback state of the alternate bass for the chord symbol.
Definition ff_celldetails.h:1850
FCChord()
The constructor.
Definition ff_celldetails.h:1361
bool GetChordSuffixVisible() const
Returns the display state of the chord suffix.
Definition ff_celldetails.h:1558
int GetFretboardID() const
Returns the 1-based "Fretboard ID" from the Chord Definition dialog.
Definition ff_celldetails.h:1755
FCFretboardGroupDef * CreateFretboardGroupDef() const
Creates an object with the associated FCFretboardGroupDef.
Definition finaleframework.cpp:22137
void SetFretboardPlayback(bool playback)
Sets the fretboard to playback/mute.
Definition ff_celldetails.h:2002
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:1766
bool GetUseCapo() const
Returns the setting if the chord should use the local capo setting.
Definition ff_celldetails.h:1576
void SetAlternateBassScaleNumber(twobyte scalenumber)
Sets the scale degree number for the alternate bass.
Definition ff_celldetails.h:1942
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:1333
bool GetChordRootPlayback() const
Returns the playback state of the chord root.
Definition ff_celldetails.h:1540
twobyte GetChordVerticalPos() const
Returns the vertical position (from the baseline) of the chord.
Definition ff_celldetails.h:1513
ALTERNATEBASS_PLACEMENT GetChordAlternateBassPlacement() const
Returns the placement for alternate bass.
Definition ff_celldetails.h:1681
twobyte GetFretboardResize() const
Returns the resize value of the fretboard, in percent.
Definition ff_celldetails.h:1726
FCChordSuffixElements * CreateChordSuffixElements() const
Creates an object with the chord suffix elements.
Definition finaleframework.cpp:22128
bool GetFretboardPlayback() const
Returns the fretboard to playback/mute.
Definition ff_celldetails.h:1732
bool GetChordAlternateBassVisible() const
Returns true if the alternate bass is displayed.
Definition ff_celldetails.h:1620
void SetChordAlternateBassPlacement(ALTERNATEBASS_PLACEMENT placement)
Sets the placement type for the chord's alternate bass.
Definition ff_celldetails.h:1870
void SetScaleNumber(twobyte scalenumber)
Sets the scale degree number for the root.
Definition ff_celldetails.h:1920
twobyte GetAlteration() const
Returns the chord alteration, compared to the scale degree.
Definition ff_celldetails.h:1604
void SetChordHorizontalPos(twobyte value)
Sets the horizontal position offset (from the measure pos) of the chord in EVPUs.
Definition ff_celldetails.h:1772
TimeEdu32 GetMeasurePos() const override
Gets the horizontal position within the measure.
Definition ff_celldetails.h:1383
void SetMeasurePos(TimeEdu32 position)
Sets the horizontal position within the measure.
Definition ff_celldetails.h:1391
void SetFretboardID(int value)
Sets the 1-based "Fretboard ID" from the Chord Definition dialog.
Definition ff_celldetails.h:2022
twobyte GetAlternateBassScaleNumber() const
Returns the scale degree of the alternate bass.
Definition ff_celldetails.h:1647
void SetChordResize(twobyte value)
Sets the resize value of the chord, in percent.
Definition ff_celldetails.h:1790
void SetFretboardVerticalPos(twobyte value)
Sets the vertical fretboard pos (relative to the chord)
Definition ff_celldetails.h:1983
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:2025
bool GetChordAlternateBassPlayback() const
Returns the playback state of the alternate bass for the chord symbol.
Definition ff_celldetails.h:1629
void SetFretboardResize(twobyte value)
Sets the resize value of the fretboard, in percent.
Definition ff_celldetails.h:1996
bool AnalyzeEntryChord(FCNoteEntry *pEntry)
Analyzes the chord notes in the entry and map it to the chord object.
Definition ff_celldetails.h:1402
void SetChordRootPlayback(bool playback)
Sets the playback state of the chord root.
Definition ff_celldetails.h:1805
void SetChordAlternateBassLowercase(bool lowercase)
If set, draw alternate bass using lowercase.
Definition ff_celldetails.h:1859
CMPER CalcFretboardGroupID() const
Calculates the ID for the associated FCFretboardGroupDef as follows:
Definition ff_celldetails.h:1454
void SetChordVisible(bool state)
Sets the display state of the chord.
Definition ff_celldetails.h:1784
twobyte GetScaleNumber() const
Returns the scale degree of the root.
Definition ff_celldetails.h:1595
bool GetChordRootLowercase() const
Returns if the root should be drawn using lowercase.
Definition ff_celldetails.h:1549
twobyte GetChordSuffixID() const
Returns the chord suffix ID. Each chord can contain many different records for the same suffix,...
Definition ff_celldetails.h:1501
twobyte GetFretboardStyleID() const
Gets the fretboard style ID.
Definition ff_celldetails.h:1701
bool IsEarlierThan(FCChord *pTestChord)
Returns true if the position is earlier than the tested chord.
Definition ff_celldetails.h:1369
twobyte GetChordHorizontalPos() const
Returns the horizontal position (from the measure position) of the chord in EVPUs.
Definition ff_celldetails.h:1507
void SetChordSuffixPlayback(bool playback)
Sets the playback state of the chord suffix.
Definition ff_celldetails.h:1832
Collection class for FCChordSuffixElement class objects, usually created with FCChord:CreateChordSuff...
Definition ff_othercollection.h:1465
Collection class for FCChord class objects.
Definition ff_celldetails.h:2536
FCChord * FindMeasurePos(TimeEdu32 durationpos)
Finds a chord in the measure at a specific measure position.
Definition ff_celldetails.h:2548
FCChord * GetItemAt(int index) const
Overridden GetItemAt method.
Definition ff_celldetails.h:2559
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2542
Class to encapsulate enclosures (available for example in expressions and measure numbers....
Definition ff_other.h:2872
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:3070
Class that stores one record of a fretboard chord definition.
Definition ff_other.h:22540
Class that contains independent key/time signatures for a cell.
Definition ff_celldetails.h:2568
FCIndependentCellDetail()
The constructor.
Definition ff_celldetails.h:2613
void SetTimeSignatureBeatDuration(twobyte beatduration)
Sets the beat duration for the time signature.
Definition finaleframework.cpp:22771
void GetFullTimeSignature(FCTimeSignature *pTimeSig)
Gets the full independent time signature.
Definition finaleframework.cpp:22855
void SetKeySignatureID(eKey value)
Sets the key signature ID.
Definition finaleframework.cpp:22735
void SetTimeSignatureBeatsForDisplay(twobyte beats)
Sets the beats for the time signature (or the composite top ID).
Definition finaleframework.cpp:22759
void SetFullTimeSignature(FCTimeSignature *pTimeSig)
Sets the full independent time signature.
Definition finaleframework.cpp:22865
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_celldetails.h:2606
void SetTimeSignatureCompositeTop(bool state)
Sets if the time signature uses a composite time signature Top or not.
Definition finaleframework.cpp:22795
bool GetFullTimeSignatureForDisplay(FCTimeSignature *pTimeSig)
Gets the full independent time signature for display. Returns false if none.
Definition finaleframework.cpp:22874
void SetHasTimeSignature(bool state)
Sets if the object contains time signature information. Use with care!
Definition finaleframework.cpp:22711
twobyte GetTimeSignatureBeatsForDisplay()
Returns the beats for the time signature.
Definition finaleframework.cpp:22635
twobyte GetTimeSignatureBeatDurationForDisplay()
Returns the beat duration for the time signature.
Definition finaleframework.cpp:22651
void SetTimeSignatureBeats(twobyte beats)
Sets the beats for the time signature (or the composite top ID).
Definition finaleframework.cpp:22747
twobyte GetTimeSignatureBeatDuration()
Returns the beat duration for the time signature.
Definition finaleframework.cpp:22643
void SetFullTimeSignatureForDisplay(FCTimeSignature *pTimeSig)
Sets the full independent time signature for display and sets the bit for it.
Definition finaleframework.cpp:22885
void SetTimeSignatureCompositeBottom(bool state)
Sets if the time signature uses a composite time signature bottom or not.
Definition finaleframework.cpp:22819
void SetTimeSignatureBeatDurationForDisplay(twobyte beatduration)
Sets the beat duration for the time signature.
Definition finaleframework.cpp:22783
eKey GetKeySignatureID()
Returns the key signature ID.
Definition finaleframework.cpp:22619
void SetHasTimeSignatureForDisplay(bool state)
Sets if the object contains time signature information for display. Use with care!
Definition finaleframework.cpp:22723
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2605
void SetTimeSignatureCompositeBottomForDisplay(bool state)
Sets if the time signature uses a composite time signature bottom or not.
Definition finaleframework.cpp:22831
twobyte GetTimeSignatureBeats()
Returns the beats for the time signature.
Definition finaleframework.cpp:22627
bool GetTimeSignatureCompositeBottom()
Returns true if the time signature uses a composite time signature bottom.
Definition finaleframework.cpp:22675
void SetTimeSignatureCompositeTopForDisplay(bool state)
Sets if the time signature uses a composite time signature Top or not.
Definition finaleframework.cpp:22807
bool GetHasKeySignature()
Returns true if the object contains key signature information.
Definition finaleframework.cpp:22595
bool GetTimeSignatureCompositeTop()
Returns true if the time signature uses a composite time signature Top.
Definition finaleframework.cpp:22659
void SetTimeSignatureAbbreviateForDisplay(bool state)
Sets if the time signature abbreviates for display.
Definition finaleframework.cpp:22843
bool GetTimeSignatureCompositeBottomForDisplay()
Returns true if the time signature uses a composite time signature for display bottom.
Definition finaleframework.cpp:22683
void SetFullKeySignature(FCKeySignature *pKeySig)
Sets the full independent key signature.
Definition finaleframework.cpp:22896
bool GetTimeSignatureAbbreviateForDisplay()
Returns true if the time signature abbreviates.
Definition finaleframework.cpp:22691
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:2729
void SetHasKeySignature(bool state)
Sets if the object contains key signature information. Use with care!
Definition finaleframework.cpp:22699
bool GetTimeSignatureCompositeTopForDisplay()
Returns true if the time signature uses a composite time signature for display Top.
Definition finaleframework.cpp:22667
bool GetHasTimeSignature()
Returns true if the object contains time signature information.
Definition finaleframework.cpp:22603
bool GetHasTimeSignatureForDisplay()
Returns true if the object contains time signature information.
Definition finaleframework.cpp:22611
Class for key signatures. Instances of this class are auto-created by FCMeasure:GetKeySignature and F...
Definition ff_keysig.h:25
eHarmLev CalcScaleNumber(eHarmLev displacement) const
Calculate the scale number of the input displacement value.
Definition finaleframework.cpp:16146
The class for a measure number region.
Definition ff_other.h:5494
twobyte GetID()
Returns the unique measure number region ID.
Definition finaleframework.cpp:7072
Encapsulates the continous MIDI data in a cell.
Definition ff_celldetails.h:265
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:300
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:600
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_celldetails.h:301
void SetControllerValue(twobyte number)
Sets the controller value for MIDI controller events. SetUseController must be called BEFORE setting ...
Definition ff_celldetails.h:376
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:517
twobyte GetControllerValue() const
Returns the controller value for MIDI controller events.
Definition ff_celldetails.h:345
twobyte GetPitchWheelValue() const
Returns the value for pitch wheel events.
Definition ff_celldetails.h:463
void SetPatchChangeNumber(twobyte number)
Sets the patch change number for a patch change event. SetUsePatchChange must be called before using ...
Definition ff_celldetails.h:544
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:632
twobyte GetPressureValue() const
Returns the value for MIDI channel pressure events.
Definition ff_celldetails.h:410
bool IsController() const
Returns true if it's a MIDI controller event. Call SetUseController to set to a controller event.
Definition ff_celldetails.h:329
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:533
FCMidiExpression()
The constructor.
Definition ff_celldetails.h:308
twobyte GetPatchChangeBankData1() const
Returns the patch change value 1 for a patch change event.
Definition ff_celldetails.h:586
void SetUsePitchWheel()
Sets the event to a Pitch Wheel event. This should be made before calling SetPitchWheelValue.
Definition ff_celldetails.h:484
void SetPressureValue(twobyte value)
Sets the value for MIDI channel pressure events. SetUsePressure must be called BEFORE setting the val...
Definition ff_celldetails.h:398
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:434
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:571
void SetUsePatchChange()
Sets the event to a Patch Change event. This should be made before calling any setters.
Definition ff_celldetails.h:503
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:389
twobyte GetControllerNumber() const
Returns the controller number for MIDI controller events.
Definition ff_celldetails.h:337
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:496
TimeEdu32 GetMeasurePos() const override
Gets the horizontal position within the measure.
Definition ff_celldetails.h:321
twobyte GetPatchChangeNumber() const
Returns the patch change number for a patch change event.
Definition ff_celldetails.h:557
void SetControllerNumber(twobyte number)
Sets the controller number for MIDI controller events. SetUseController must be called BEFORE setting...
Definition ff_celldetails.h:364
MIDI_CONTROLLER_NUMBERS
The standard MIDI controller numbers. Used by FCMidiExpression::GetControllerNumber() and FCMidiExpre...
Definition ff_celldetails.h:296
void SetUseController()
Sets the event to a MIDI controller event. This should be made before calling SetControllerNumber and...
Definition ff_celldetails.h:352
void SetPitchWheelValue(twobyte value)
Sets the value for pitch wheel events. The SetUsePitchWheel method must be called BEFORE setting the ...
Definition ff_celldetails.h:443
void SetMeasurePos(TimeEdu32 value)
Sets the horizontal position within the measure.
Definition ff_celldetails.h:629
twobyte GetPatchChangeBankData2() const
Returns the patch change number for a patch change event.
Definition ff_celldetails.h:616
void SetUsePressure()
Sets the event to a MIDI channel pressure/aftertouch. This should be made before calling SetPressureV...
Definition ff_celldetails.h:421
Collection class for FCMidiExpression class objects.
Definition ff_celldetails.h:2512
FCMidiExpression * GetItemAt(int index) const
Overridden version of GetItemAt.
Definition ff_celldetails.h:2524
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:2518
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition ff_region.h:25
void SetEndMeasurePosRight()
Sets the the end measure pos to the right-most edge of the region's end measure.
Definition ff_region.h:348
void SetEndMeasure(twobyte measure)
Sets the end measure for the region.
Definition ff_region.h:332
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
void GetEnigmaRegion(EREGION *pRegion)
Assigns the document region to an Enigma region structure.
Definition finaleframework.cpp:15631
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
void SetStartMeasurePos(TimeEdu32 pos)
Sets the start measure pos in the start measure.
Definition ff_region.h:317
void SetStartMeasure(twobyte measure)
Sets the start measure.
Definition ff_region.h:309
Encapsulates a note entry from an owner class (for example FCNoteEntryCell, FCNoteEntryLayer) class.
Definition ff_noteframe.h:940
twobyte GetMeasure() const
Returns the entry's measure.
Definition ff_noteframe.h:2323
TimeEdu32 GetMeasurePos() const
Returns the elapsed duration position in the measure for the entry.
Definition ff_noteframe.h:2238
twobyte GetStaff() const
Returns the entry's staff.
Definition ff_noteframe.h:2331
Encapsulates one note in a note entry (from the FCNoteEntry class).
Definition ff_noteframe.h:29
twobyte GetRaiseLower() const
Returns the raised/lowered state of the note.
Definition ff_noteframe.h:149
void SetRaiseLower(twobyte amount)
Raises or lowers the pitch of the note.
Definition ff_noteframe.h:428
twobyte GetDisplacement() const
Returns the vertical note position on the staff.
Definition ff_noteframe.h:119
FCNoteEntry * GetEntry() const
Returns the note entry object for the note.
Definition ff_noteframe.h:85
void SetDisplacement(twobyte disp)
Sets the note's vertical position on the staff. The displacement is relative to the key.
Definition ff_noteframe.h:419
Class for a manually added or edited measure number in a cell.
Definition ff_celldetails.h:663
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_celldetails.h:735
void SetHideOverride(bool state)
Sets if the measure number should be forced to hide.
Definition ff_celldetails.h:871
FCSeparateMeasureNumber()
The constructor.
Definition ff_celldetails.h:745
twobyte GetVerticalPosition() const
Returns the vertical position offset.
Definition ff_celldetails.h:812
twobyte GetRegionNumberID() const
Returns the 1-based measure region number ID that the measure number data belongs to.
Definition ff_celldetails.h:771
twobyte GetHorizontalPosition() const
Returns the horizontal position offset.
Definition ff_celldetails.h:806
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:734
bool GetShowOverride() const
Returns true if the measure number should be forced to show.
Definition ff_celldetails.h:777
void DebugDump() override
Outputs the class data/information for debugging purposes.
Definition ff_celldetails.h:901
void SetIsAlternateNumber(bool state)
Sets if this is the instance of FCSeparateMeasureNumber for the alternate measure number.
Definition ff_celldetails.h:885
bool GetIsAlternateNumber() const
Return true if this is the instance of FCSeparateMeasureNumber for the alternate measure number.
Definition ff_celldetails.h:800
void SetVerticalPosition(twobyte value)
Sets the vertical position offset.
Definition ff_celldetails.h:897
bool GetUseEnclosure() const
Return true if the separate enclosure data should be used.
Definition ff_celldetails.h:789
bool AssignMeasureNumberRegion(FCMeasureNumberRegion *pRegion)
Links a specific FCMeasureNumberRegion type to the separate number adjustment.
Definition ff_celldetails.h:823
void SetRegionNumberID(twobyte regionid)
Sets the 1-based measure region ID that the measure number data belongs to.
Definition ff_celldetails.h:855
FCEnclosure * GetEnclosure()
Returns the pointer to the enclosure object. The return value might be NULL.
Definition ff_celldetails.h:841
void SetUseEnclosure(bool state)
Sets if the separate enclosure data should be used.
Definition ff_celldetails.h:877
bool GetHideOverride() const
Returns true if the measure number should be forced to hide.
Definition ff_celldetails.h:783
void SetHorizontalPosition(twobyte value)
Sets the horizontal position offset.
Definition ff_celldetails.h:891
void SetShowOverride(bool state)
Sets if the measure number should be forced to show.
Definition ff_celldetails.h:865
Collection class for FCSeparateMeasureNumber class objects, that contains the separate added or adjus...
Definition ff_celldetails.h:919
FCSeparateMeasureNumber * GetItemAt(int index) const
Definition ff_celldetails.h:938
FCSeparateMeasureNumbers()
The constructor.
Definition ff_celldetails.h:930
const char * ClassName() const override
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition ff_celldetails.h:932
Class that provides storage for text. This is to achieve platform-transparent text handling,...
Definition ff_base.h:1877
Class for a text block.
Definition ff_other.h:16048
FCString * CreateRawTextString()
Creates a string object for the connected raw text.
Definition finaleframework.cpp:9353
Class for time signatures. Instances of this class are auto-created when needed by FCMeasure:GetTimeS...
Definition ff_timesig.h:27
This is a utility class to facilitate transposition. It supports:
Definition ff_celldetails.h:2766
bool EDOStepTranspose(twobyte numberofsteps)
Transposes the target by the input number of EDO steps and simplifies the spelling.
Definition ff_celldetails.h:2991
void OctaveTranspose(twobyte numberofoctaves)
Transpose the target by the given number of octaves.
Definition ff_celldetails.h:2921
bool SimplifySpelling()
Simplifies the note spelling the most it can using enharmonic transposition.
Definition ff_celldetails.h:2960
bool DefaultEnharmonicTranspose()
Transpose the target enharmonically in Finale's default direction.
Definition ff_celldetails.h:2947
bool ChromaticTranspose(eHarmLev interval, eHarmAlt alteration, bool simplify=false)
Transposes the target chromatically by the input chromatic interval.
Definition ff_celldetails.h:2976
void DiatonicTranspose(eHarmLev interval)
Transpose the target diatonically by the given interval displacement.
Definition ff_celldetails.h:2912
bool EnharmonicTranspose(twobyte direction)
Transpose the target enharmonically in the given direction.
Definition ff_celldetails.h:2934
FCTransposer(eHarmLev displacement, eHarmAlt raiselower, const FCKeySignature *key)
The constructor.
Definition ff_celldetails.h:2859
eHarmLev GetRaiseLower() const
Gets the current chromatic alteration value. Before transposition, it is the value passed in on the c...
Definition ff_celldetails.h:2896
eHarmLev GetDisplacement() const
Gets the current displacement value. Before transposition, it is the value passed in on the construct...
Definition ff_celldetails.h:2878