8 #ifndef FF_SMARTSHAPES_H
9 #define FF_SMARTSHAPES_H
11 #include "ff_noteframe.h"
15 #ifdef PDK_FRAMEWORK_SMARTSHAPES
18 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
21 #include "pragma_align_begin.h"
22 class __EDTSmartShapeMeasMark
33 __EDTSmartShapeMeasMark() : shapeNum(0), centerShapeNum(0),
34 CCCC(0), DDDD(0), EEEE(0), FFFF(0) {}
36 #include "pragma_align_end.h"
38 #define __ot_SmartShapeMeasMark MAKEEXTAG(edOther,'M','x')
40 #include "pragma_align_begin.h"
41 struct __EDTSmartShapeEntryMark
49 #include "pragma_align_end.h"
51 #define __dt_SmartShapeEntryMark MAKEEXTAG(edEntryDetail,'E','x')
53 #include "pragma_align_begin.h"
64 __SSENDPT() : inst(0), meas(0)
66 attachment.entryNum = 0;
68 ENTNUM GetEntryNum()
const {
return attachment.entryNum; }
69 TimeEdu32 GetEdu()
const {
return attachment.edu; }
70 void SetEntryNum(ENTNUM entryNum) { attachment.entryNum=entryNum; }
71 void SetEdu(TimeEdu32 edu) { attachment.edu=edu; }
72 #if OPERATING_SYSTEM == MAC_OS
75 attachment.entryNum=attachment.entryNum/0x10000+(attachment.entryNum%0x10000)*0x10000;
79 #include "pragma_align_end.h"
81 #include "pragma_align_begin.h"
87 __SSENDPTADJ() : flag(0), offset(0,0) {}
89 #include "pragma_align_end.h"
91 #include "pragma_align_begin.h"
95 ETOFFSET controlPoint1;
96 ETOFFSET controlPoint2;
98 __SSCTLPTADJ() : flag(0),controlPoint1(),controlPoint2() { }
100 #include "pragma_align_end.h"
102 #include "pragma_align_begin.h"
107 __SSENDPTADJ endPtAdj;
108 __SSCTLPTADJ ctlPtAdj;
109 __SSENDPTADJ breakAdj;
110 __SSTERMSEG() : endPt(), endPtAdj(), ctlPtAdj(), breakAdj() {}
112 #include "pragma_align_end.h"
114 #include "pragma_align_begin.h"
115 class __EDTSmartShape
120 __SSTERMSEG termSeg1;
121 __SSTERMSEG termSeg2;
122 __SSCTLPTADJ fullCtlPtAdj;
125 utwobyte ssLineStyleID;
130 __EDTSmartShape() : shapeType(0), flag(0), fullCtlPtAdj(),
131 ssLineStyleID(0), flag2(0), termSeg1(), termSeg2()
141 #include "pragma_align_end.h"
143 #define __edOther8Inci MAKETAG(edMultiInciOther,8)
145 const EXTAG __ot_SmartShape = MAKEEXTAG(__edOther8Inci,
'S',
'x');
147 #include "pragma_align_begin.h"
148 class __EDTCenterShape
151 __SSENDPTADJ breakAdj1;
152 __SSENDPTADJ breakAdj2;
153 __SSCTLPTADJ ctlPtAdj;
154 __EDTCenterShape() : ctlPtAdj(),breakAdj1(),breakAdj2() {}
156 #include "pragma_align_end.h"
158 #define __dt_CenterShape MAKEEXTAG(edDetail3Inci,'C','x')
160 const FLAG_32 __SS_FLAG_RESERVED = 0x80000000L;
161 const FLAG_32 __SS_ENTRYBASED = 0x40000000L;
162 const FLAG_32 __SS_ROTATE = 0x20000000L;
163 const FLAG_32 __SS_LYRICBASED = 0x10000000L;
164 const FLAG_32 __SS_PRESETSHAPE = 0x00008000L;
168 const FLAG_32 __SS_MAKEHORZ = 0x00000400L;
171 const FLAG_32 __SS_PUSHENDSTART = 0x00000200L;
172 const FLAG_32 __SS_MAKEVERT = 0x00000100L;
173 const FLAG_32 __SS_ENGRAVER_SLUR_BITS = 0x00000030L;
193 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
194 __EDTSmartShapeMeasMark _smartshapemeasmark;
197 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
199 virtual EXTAG
Tag() {
return __ot_SmartShapeMeasMark; }
200 virtual int DataSizeLoad() {
return sizeof(__EDTSmartShapeMeasMark); }
201 virtual void*
Allocate() {
return (
void*) &_smartshapemeasmark; }
209 memcpy(&_smartshapemeasmark, ((
FCSmartShapeMeasureMark*)pSource)->_GetSmartShapeMeasureMark(),
sizeof(_smartshapemeasmark));
219 virtual const char*
ClassName() {
return "FCSmartShapeMeasureMark"; }
222 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
229 void* _GetSmartShapeMeasureMark() {
return Allocate(); }
281 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
283 FCSmartShape* CreateSmartShape_GC(
bool load_center_shapes =
true);
286 #ifdef PDK_FRAMEWORK_DEBUG
308 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
309 __EDTSmartShapeEntryMark _smartshapeentrymark;
312 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
314 virtual EXTAG
Tag() {
return __dt_SmartShapeEntryMark; }
315 virtual int DataSizeLoad() {
return sizeof(__EDTSmartShapeEntryMark); }
316 virtual void*
Allocate() {
return (
void*) &_smartshapeentrymark; }
324 memcpy(&_smartshapeentrymark, ((
FCSmartShapeEntryMark*)pSource)->_GetSmartShapeEntryMark(),
sizeof(_smartshapeentrymark));
334 virtual const char*
ClassName() {
return "FCSmartShapeEntryMark"; }
337 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
344 void* _GetSmartShapeEntryMark() {
return Allocate(); }
354 memset(&_smartshapeentrymark, 0,
sizeof(_smartshapeentrymark));
367 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
369 FCSmartShape* CreateSmartShape_GC(
bool load_center_shapes);
396 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
401 virtual void _SetEntryFlag(
FCNoteEntry* pNoteEntry,
bool state)
407 #ifdef PDK_FRAMEWORK_DEBUG
421 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
422 __EDTCenterShape _centershape;
425 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
427 virtual EXTAG
Tag() {
return __dt_CenterShape; }
428 virtual int DataSizeLoad() {
return sizeof(__EDTCenterShape); }
429 virtual void*
Allocate() {
return (
void*) &_centershape; }
437 memcpy(&_centershape, ((
FCCenterSmartShape*)pSource)->_GetCenterSmartShape(),
sizeof(_centershape));
447 virtual const char*
ClassName() {
return "FCCenterSmartShape"; }
450 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
457 void* _GetCenterSmartShape() {
return Allocate(); }
469 #ifdef PDK_FRAMEWORK_DEBUG
491 __SSTERMSEG* _pSegment;
493 bool _isleftsidesegment;
495 virtual const char*
ClassName() {
return "FCSmartShapeSegment"; }
501 _pRealObject = pReference;
502 _isleftsidesegment = leftsidesegment;
510 twobyte
GetStaff()
const {
return _pSegment->endPt.inst; }
592 void SetStaff(twobyte staff) { _pSegment->endPt.inst = staff; }
600 _pSegment->endPt.meas = measureno;
610 void SetMeasurePos(TimeEdu32 edupos) { _pSegment->endPt.attachment.edu = edupos; }
631 _pSegment->endPtAdj.offset.y = value;
676 void SetEntryNumber(ENTNUM value) { _pSegment->endPt.attachment.entryNum = value; }
678 #ifdef PDK_FRAMEWORK_ENTRIES
694 _pSegment->endPt.SetEntryNum(0);
711 _pSegment->endPtAdj.flag = rightside ? 0x400c : 0x400d;
714 #ifdef PDK_FRAMEWORK_DEBUG
731 __SSCTLPTADJ* _pCtrlPointAdjust;
734 virtual const char*
ClassName() {
return "FCSmartShapeCtrlPointAdjust"; }
739 _pCtrlPointAdjust = pCtrlPointAdj;
740 _pRealObject = pReference;
788 _pCtrlPointAdjust->controlPoint1.x = value;
797 _pCtrlPointAdjust->controlPoint1.y = value;
808 _pCtrlPointAdjust->controlPoint2.x = value;
817 _pCtrlPointAdjust->controlPoint2.y = value;
891 memset(_pCtrlPointAdjust, 0,
sizeof(__SSCTLPTADJ));
894 #ifdef PDK_FRAMEWORK_DEBUG
902 DebugOutHex(
"Flag (hex): ", _pCtrlPointAdjust->flag);
928 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
929 __EDTSmartShape _smartshape;
937 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
939 virtual EXTAG
Tag() {
return __ot_SmartShape; }
940 virtual int DataSizeLoad() {
return sizeof(__EDTSmartShape); }
941 virtual void*
Allocate() {
return (
void*) &_smartshape; }
949 memcpy(&_smartshape, ((
FCSmartShape*)pSource)->_GetSmartShape(),
sizeof(_smartshape));
967 SMARTSHAPE_SLURUP = 1,
1108 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1115 void* _GetSmartShape() {
return Allocate(); }
1124 _pTerminateSegmentLeft = NULL;
1125 _pTerminateSegmentRight = NULL;
1126 _pCtrlPointAdjust = NULL;
1129 _smartshape.shapeType = 0;
1130 _smartshape.flag = __SS_PUSHENDSTART;
1131 _smartshape.ssLineStyleID = 0;
1132 _smartshape.flag2 = 0;
1140 delete _pTerminateSegmentLeft;
1141 delete _pTerminateSegmentRight;
1142 delete _pCtrlPointAdjust;
1210 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1229 return GetBitFlag(_smartshape.flag, __SS_PRESETSHAPE);
1241 if (!_pTerminateSegmentLeft)
1243 return _pTerminateSegmentLeft;
1255 if (!_pTerminateSegmentRight)
1257 return _pTerminateSegmentRight;
1266 if (!_pCtrlPointAdjust)
1268 return _pCtrlPointAdjust;
1296 twobyte
GetLineID()
const {
return _smartshape.ssLineStyleID; }
1304 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1316 return SS_AUTOSTATE;
1325 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1337 return SS_AUTOSTATE;
1345 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1350 shapevalue) { _smartshape.shapeType = shapevalue; }
1358 Set32BitFlag(&_smartshape.flag, __SS_PRESETSHAPE, value);
1365 void SetLineID(twobyte identifier) { _smartshape.ssLineStyleID = identifier; }
1406 Set32BitFlag(&_smartshape.flag, __SS_PRESETSHAPE,
true);
1407 Set32BitFlag(&_smartshape.flag, __SS_PUSHENDSTART,
true);
1410 Set32BitFlag(&_smartshape.flag, __SS_LYRICBASED,
false);
1437 Set32BitFlag(&_smartshape.flag, __SS_PRESETSHAPE, presetshape);
1438 Set32BitFlag(&_smartshape.flag, __SS_PUSHENDSTART,
true);
1441 Set32BitFlag(&_smartshape.flag, __SS_LYRICBASED,
false);
1488 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1520 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1577 case SMARTSHAPE_SLURUP:
1631 case SMARTSHAPE_SLURUP:
1656 case SMARTSHAPE_SLURUP:
1693 #if FXT_VERSION >= FINALEVERSION_25
1782 #ifdef PDK_FRAMEWORK_DEBUG
1789 DebugOut(
"= Terminate segment 1 =");
1793 DebugOut(
"= Terminate segment 2 =");
1802 DebugOut(
"= Center Smart Shapes =");
1811 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1813 #include "pragma_align_begin.h"
1814 struct __EDTCustomLineType_Solid2012
1818 #include "pragma_align_end.h"
1820 #include "pragma_align_begin.h"
1822 struct __EDTCustomLineType_Dashed2012
1828 #include "pragma_align_end.h"
1831 #include "pragma_align_begin.h"
1833 struct __EDTCustomLineType_Character2012
1839 fourbyte baselineShiftEMs;
1841 #include "pragma_align_end.h"
1843 #include "pragma_align_begin.h"
1844 struct __EDTCustomLineDefinition2012
1851 __EDTCustomLineType_Solid2012 solid;
1852 __EDTCustomLineType_Dashed2012 dashed;
1853 __EDTCustomLineType_Character2012 character;
1856 twobyte endpointstylestart;
1860 twobyte endpointstyleend;
1861 fourbyte startPointData;
1865 fourbyte endPointData;
1871 twobyte leftStartTextID;
1873 twobyte leftContTextID;
1875 twobyte rightEndTextID;
1876 twobyte centerFullTextID;
1877 twobyte centerAbbrTextID;
1879 Evpu16 leftStartTextHoriz;
1880 Evpu16 leftStartTextVert;
1881 Evpu16 leftContTextHoriz;
1882 Evpu16 leftContTextVert;
1883 Evpu16 rightEndTextHoriz;
1884 Evpu16 rightEndTextVert;
1885 Evpu16 centerFullTextHoriz;
1886 Evpu16 centerFullTextVert;
1887 Evpu16 centerAbbrTextHoriz;
1888 Evpu16 centerAbbrTextVert;
1889 Evpu16 lineadjustStartHoriz;
1890 Evpu16 lineadjustStartVert;
1892 Evpu16 lineadjustEndHoriz;
1893 Evpu16 lineadjustEndVert;
1895 Evpu16 lineadjustContinueHoriz;
1898 #include "pragma_align_end.h"
1920 TEXTREF_LEFTSTART = 0,
1921 TEXTREF_LEFTCONTINUATION,
1924 TEXTREF_CENTERABBREVIATED
1927 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
1929 EDTCustomLineDefinition _customsmartlinedef;
1930 __EDTCustomLineDefinition2012 _customsmartlinedef2012;
1931 bool _use2012version;
1937 if (_use2012version)
1938 return MAKEEXTAG(edSpecialOther,
'l',
's');
1940 return MAKEEXTAG(MAKETAG(edMultiInciOther, 6),
'l',
's');
1943 return _use2012version ?
sizeof(_customsmartlinedef2012) :
sizeof(_customsmartlinedef);
1945 virtual void*
Allocate() {
return _use2012version ? (
void*) &_customsmartlinedef2012 : (
void*) &_customsmartlinedef; }
1946 virtual EVERSION
EnigmaVersion() {
return _use2012version ? FINALEVERSION_2012 : FINALEVERSION_2010; }
1954 if (_use2012version)
1956 memcpy(&_customsmartlinedef2012, ((
FCCustomSmartLineDef*)pSource)->_GetCustomSmartLineDef(),
sizeof(_customsmartlinedef2012));
1962 memcpy(&_customsmartlinedef, ((
FCCustomSmartLineDef*)pSource)->_GetCustomSmartLineDef(),
sizeof(_customsmartlinedef));
1972 void _SetRawStringNumber
1974 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
1979 reference, twobyte value)
1981 twobyte* pRawtextnumber = NULL;
1984 case TEXTREF_LEFTSTART:
1985 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.leftStartTextID : &_customsmartlinedef.leftStartTextID;
1987 case TEXTREF_LEFTCONTINUATION:
1988 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.leftContTextID : &_customsmartlinedef.leftContTextID;
1990 case TEXTREF_RIGHTEND:
1991 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.rightEndTextID : &_customsmartlinedef.rightEndTextID;
1993 case TEXTREF_CENTERFULL:
1994 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.centerFullTextID : &_customsmartlinedef.centerFullTextID;
1996 case TEXTREF_CENTERABBREVIATED:
1997 pRawtextnumber = _use2012version ? &_customsmartlinedef2012.centerAbbrTextID : &_customsmartlinedef.centerAbbrTextID;
2000 if (pRawtextnumber) *pRawtextnumber = value;
2007 virtual const char*
ClassName() {
return "FCCustomSmartLineDef"; }
2010 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2017 void* _GetCustomSmartLineDef() {
return _use2012version ? (
void*) &_customsmartlinedef2012 : (
void*) &_customsmartlinedef; }
2044 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2051 twobyte rawtextnumber = 0;
2054 case TEXTREF_LEFTSTART:
2055 rawtextnumber = _use2012version ? _customsmartlinedef2012.leftStartTextID : _customsmartlinedef.leftStartTextID;
2057 case TEXTREF_LEFTCONTINUATION:
2058 rawtextnumber = _use2012version ? _customsmartlinedef2012.leftContTextID : _customsmartlinedef.leftContTextID;
2060 case TEXTREF_RIGHTEND:
2061 rawtextnumber = _use2012version ? _customsmartlinedef2012.rightEndTextID : _customsmartlinedef.rightEndTextID;
2063 case TEXTREF_CENTERFULL:
2064 rawtextnumber = _use2012version ? _customsmartlinedef2012.centerFullTextID : _customsmartlinedef.centerFullTextID;
2066 case TEXTREF_CENTERABBREVIATED:
2067 rawtextnumber = _use2012version ? _customsmartlinedef2012.centerAbbrTextID : _customsmartlinedef.centerAbbrTextID;
2070 return rawtextnumber;
2083 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2090 twobyte position = 0;
2093 case TEXTREF_LEFTSTART:
2094 position = _use2012version ? _customsmartlinedef2012.leftStartTextHoriz : _customsmartlinedef.leftStartTextHoriz;
2096 case TEXTREF_LEFTCONTINUATION:
2097 position = _use2012version ? _customsmartlinedef2012.leftContTextHoriz : _customsmartlinedef.leftContTextHoriz;
2099 case TEXTREF_RIGHTEND:
2100 position = _use2012version ? _customsmartlinedef2012.rightEndTextHoriz : _customsmartlinedef.rightEndTextHoriz;
2102 case TEXTREF_CENTERFULL:
2103 position = _use2012version ? _customsmartlinedef2012.centerFullTextHoriz : _customsmartlinedef.centerFullTextHoriz;
2105 case TEXTREF_CENTERABBREVIATED:
2106 position = _use2012version ? _customsmartlinedef2012.centerAbbrTextHoriz : _customsmartlinedef.centerAbbrTextHoriz;
2123 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2130 twobyte position = 0;
2133 case TEXTREF_LEFTSTART:
2134 position = _use2012version ? _customsmartlinedef2012.leftStartTextVert : _customsmartlinedef.leftStartTextVert;
2136 case TEXTREF_LEFTCONTINUATION:
2137 position = _use2012version ? _customsmartlinedef2012.leftContTextVert : _customsmartlinedef.leftContTextVert;
2139 case TEXTREF_RIGHTEND:
2140 position = _use2012version ? _customsmartlinedef2012.rightEndTextVert : _customsmartlinedef.rightEndTextVert;
2142 case TEXTREF_CENTERFULL:
2143 position = _use2012version ? _customsmartlinedef2012.centerFullTextVert : _customsmartlinedef.centerFullTextVert;
2145 case TEXTREF_CENTERABBREVIATED:
2146 position = _use2012version ? _customsmartlinedef2012.centerAbbrTextVert : _customsmartlinedef.centerAbbrTextVert;
2163 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2171 Evpu16* pPosition = NULL;
2174 case TEXTREF_LEFTSTART:
2175 pPosition = _use2012version ? &_customsmartlinedef2012.leftStartTextHoriz : &_customsmartlinedef.leftStartTextHoriz;
2177 case TEXTREF_LEFTCONTINUATION:
2178 pPosition = _use2012version ? &_customsmartlinedef2012.leftContTextHoriz : &_customsmartlinedef.leftContTextHoriz;
2180 case TEXTREF_RIGHTEND:
2181 pPosition = _use2012version ? &_customsmartlinedef2012.rightEndTextHoriz : &_customsmartlinedef.rightEndTextHoriz;
2183 case TEXTREF_CENTERFULL:
2184 pPosition = _use2012version ? &_customsmartlinedef2012.centerFullTextHoriz : &_customsmartlinedef.centerFullTextHoriz;
2186 case TEXTREF_CENTERABBREVIATED:
2187 pPosition = _use2012version ? &_customsmartlinedef2012.centerAbbrTextHoriz : &_customsmartlinedef.centerAbbrTextHoriz;
2190 if (pPosition) *pPosition = position;
2204 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2212 Evpu16* pPosition = NULL;
2215 case TEXTREF_LEFTSTART:
2216 pPosition = _use2012version ? &_customsmartlinedef2012.leftStartTextVert : &_customsmartlinedef.leftStartTextVert;
2218 case TEXTREF_LEFTCONTINUATION:
2219 pPosition = _use2012version ? &_customsmartlinedef2012.leftContTextVert : &_customsmartlinedef.leftContTextVert;
2221 case TEXTREF_RIGHTEND:
2222 pPosition = _use2012version ? &_customsmartlinedef2012.rightEndTextVert : &_customsmartlinedef.rightEndTextVert;
2224 case TEXTREF_CENTERFULL:
2225 pPosition = _use2012version ? &_customsmartlinedef2012.centerFullTextVert : &_customsmartlinedef.centerFullTextVert;
2227 case TEXTREF_CENTERABBREVIATED:
2228 pPosition = _use2012version ? &_customsmartlinedef2012.centerAbbrTextVert : &_customsmartlinedef.centerAbbrTextVert;
2231 if (pPosition) *pPosition = position;
2244 return _use2012version ? _customsmartlinedef2012.linetype : _customsmartlinedef.linetype;
2256 case CUSTOMLINE_SOLID:
2257 return _use2012version ? _customsmartlinedef2012.linedata.solid.lineWidth : _customsmartlinedef.linetypeinfo;
2258 case CUSTOMLINE_DASHED:
2259 return _use2012version ? _customsmartlinedef2012.linedata.dashed.lineWidth : _customsmartlinedef.linetypeinfo;
2273 return _use2012version ? _customsmartlinedef2012.endpointstylestart : _customsmartlinedef.endpointstylestart;
2285 return _use2012version ? _customsmartlinedef2012.endpointstyleend : _customsmartlinedef.endpointstyleend;
2298 return _use2012version ? _customsmartlinedef2012.startPointData : _customsmartlinedef.startarrowdataLo;
2311 return _use2012version ? _customsmartlinedef2012.endPointData : _customsmartlinedef.endarrowdataLo;
2323 return _use2012version ? _customsmartlinedef2012.linedata.character.lineChar : _customsmartlinedef.linetypeinfo;
2336 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2344 if (!rawtextnumber)
return NULL;
2347 if (!rawtext.
Load(rawtextnumber))
return NULL;
2351 #ifdef PDK_FRAMEWORK_LUAFRIENDLY
2353 FCString* CreateTextString_GC(
int reference);
2368 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2376 if (!rawtextnumber)
return false;
2380 return rawtext.
SaveAs(rawtextnumber);
2394 #ifndef PDK_FRAMEWORK_LUAFRIENDLY
2401 if (!pString)
return false;
2407 _SetRawStringNumber(reference, rawtext.
GetItemNo());
2421 if (_use2012version)
2423 return _customsmartlinedef2012.linedata.character.baselineShiftEMs;
2438 if (_use2012version)
2440 _customsmartlinedef2012.linedata.character.baselineShiftEMs = baseline;
2454 if (!pFontInfo)
return;
2456 if (_use2012version)
2458 pFontInfo->
SetNameByID(_customsmartlinedef2012.linedata.character.font);
2459 pFontInfo->
SetSize(_customsmartlinedef2012.linedata.character.size);
2460 pFontInfo->
SetEnigmaStyles(_customsmartlinedef2012.linedata.character.efx);
2464 pFontInfo->
SetNameByID(_customsmartlinedef.fontID_length);
2465 pFontInfo->
SetSize(_customsmartlinedef.fontsize_space);
2476 if (!pFontInfo)
return;
2478 if (_use2012version)
2480 _customsmartlinedef2012.linedata.character.font = pFontInfo->
GetNameByID();
2481 _customsmartlinedef2012.linedata.character.size = pFontInfo->
GetSize();
2482 _customsmartlinedef2012.linedata.character.efx = pFontInfo->
GetEnigmaStyles();
2486 _customsmartlinedef.fontID_length = pFontInfo->
GetNameByID();
2487 _customsmartlinedef.fontsize_space = pFontInfo->
GetSize();
2498 if (_use2012version)
2500 return GetBitFlag(_customsmartlinedef2012.flag, 0x0001);
2516 if (_use2012version)
2518 Set16BitFlag(&_customsmartlinedef2012.flag, 0x0001, state);
2529 if (_use2012version)
2531 Set16BitFlag(&_customsmartlinedef2012.flag, 0x0002, state);
2542 if (_use2012version)
2544 _customsmartlinedef2012.lineadjustStartHoriz = value;
2555 if (_use2012version)
2557 Set16BitFlag(&_customsmartlinedef2012.flag, 0x0004, state);
2568 if (_use2012version)
2570 Set16BitFlag(&_customsmartlinedef2012.flag, 0x0008, state);
2581 if (_use2012version)
2583 _customsmartlinedef2012.lineadjustContinueHoriz = value;
2594 if (_use2012version)
2597 _customsmartlinedef2012.lineadjustStartVert = value;
2598 _customsmartlinedef2012.lineadjustEndVert = value;
2616 case CUSTOMLINE_SOLID:
2617 case CUSTOMLINE_DASHED:
2618 case CUSTOMLINE_CHARACTER:
2623 if (_use2012version)
2624 _customsmartlinedef2012.linetype = value;
2626 _customsmartlinedef.linetype = value;
2638 case CUSTOMLINE_SOLID:
2639 if (_use2012version)
2640 _customsmartlinedef2012.linedata.solid.lineWidth = value;
2642 _customsmartlinedef.linetypeinfo = value;
2644 case CUSTOMLINE_DASHED:
2645 if (_use2012version)
2646 _customsmartlinedef2012.linedata.dashed.lineWidth = value;
2648 _customsmartlinedef.linetypeinfo = value;
2662 if (_use2012version)
2663 return _customsmartlinedef2012.linedata.dashed.dashOn;
2681 if (_use2012version)
2682 _customsmartlinedef2012.linedata.dashed.dashOn = value;
2698 if (_use2012version)
2699 return _customsmartlinedef2012.linedata.dashed.dashOff;
2716 if (_use2012version)
2717 _customsmartlinedef2012.linedata.dashed.dashOff = value;
2734 case CLENDPOINT_NONE:
2735 case CLENDPOINT_PRESET:
2736 case CLENDPOINT_CUSTOM:
2737 case CLENDPOINT_HOOK:
2743 if (_use2012version)
2744 _customsmartlinedef2012.endpointstylestart = value;
2746 _customsmartlinedef.endpointstylestart = value;
2758 if (_use2012version)
2759 _customsmartlinedef2012.startPointData = shapeID;
2761 _customsmartlinedef.startarrowdataLo = shapeID;
2775 case CLENDPOINT_NONE:
2776 case CLENDPOINT_PRESET:
2777 case CLENDPOINT_CUSTOM:
2778 case CLENDPOINT_HOOK:
2783 if (_use2012version)
2784 _customsmartlinedef2012.endpointstyleend = value;
2786 _customsmartlinedef.endpointstyleend = value;
2798 if (_use2012version)
2799 return _customsmartlinedef2012.startPointData;
2816 if (_use2012version)
2817 _customsmartlinedef2012.startPointData = value;
2833 if (_use2012version)
2834 return _customsmartlinedef2012.endPointData;
2850 if (_use2012version)
2851 _customsmartlinedef2012.endPointData = value;
2867 if (_use2012version)
2868 _customsmartlinedef2012.endPointData = shapeID;
2870 _customsmartlinedef.endarrowdataLo = shapeID;
2884 if (_use2012version)
2885 _customsmartlinedef2012.linedata.character.lineChar = character;
2887 _customsmartlinedef.linetypeinfo = character;
2890 #ifdef PDK_FRAMEWORK_DEBUG
2909 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
2919 virtual const char*
ClassName() {
return "FCSmartShapeMeasureMarks"; }
2948 for (
int i = 0; i <
GetCount() - 1; i++)
3084 for (
int i = 0; i <
GetCount() - 1; i++)
3087 if (pShapeMark->
GetShapeNumber() == cmperSmartShape)
return pShapeMark;
3108 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
3112 virtual const char*
ClassName() {
return "FCSmartShapeEntryMarks"; }
3140 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
3150 virtual const char*
ClassName() {
return "FCCustomSmartLineDefs"; }
3170 #ifndef DOXYGEN_SHOULD_IGNORE_THIS
3183 for (
int i = 0; i <
GetCount(); i++)
virtual bool SaveNew()
Overridden version of the creation of smart shapes, since the smart shape data has special requiremen...
Definition: finaleframework.cpp:30336
Collection class for FCSmartShapeEntryMark class objects.
Definition: ff_smartshapes.h:3105
Collection class for FCCustomSmartLineDef class objects.
Definition: ff_smartshapes.h:3137
__FCBase * GetItemAt(int index)
Returns the object at the index position. Index is 0-based.
Definition: finaleframework.cpp:12797
void SetControlPoint2OffsetX(twobyte value)
Sets the horizontal offset for the second control point (for slurs).
Definition: ff_smartshapes.h:650
twobyte GetBreakOffsetX() const
Returns the horizontal break offset.
Definition: ff_smartshapes.h:580
FCCustomSmartLineDef()
The constructor. It sets the _use2012version flag.
Definition: finaleframework.cpp:30401
Definition: ff_smartshapes.h:988
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_base.h:918
Class for document-independent font information.
Definition: ff_base.h:1024
int LoadAllForRegion(FCMusicRegion *pRegion, bool removeduplicates=true)
Load all smart shape measure marks that are within the region (both start and end points)...
Definition: finaleframework.cpp:30112
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_smartshapes.h:408
twobyte GetEndArrowheadShapeID() const
Returns the (custom) shape ID for the end arrowhead, if a shape is used.
Definition: ff_smartshapes.h:2308
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_entrydetails.h:171
Definition: ff_smartshapes.h:1000
void SetVerticalTextPos(TEXT_REFERENCE reference, Evpu16 position)
Sets the vertical position for one of the attached text blocks.
Definition: ff_smartshapes.h:2203
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_smartshapes.h:220
FCSmartShape * CreateSmartShape(bool load_center_shapes)
Creates the full FCSmartShape object based of the smart shape measure mark.
Definition: finaleframework.cpp:29999
Simple class for the representation of x, y coordinates.
Definition: ff_base.h:3906
void SetEntryAttachedFlags(bool presetshape)
Configures the smart shape as an entry-attached shape.
Definition: ff_smartshapes.h:1433
void _LoadCenterShapes()
For internal use. Called by FCSmartShapeMeasureMark::CreateSmartShape.
Definition: finaleframework.cpp:30240
void ClearAll()
Destroys all the objects in the collection and empties the collection.
Definition: ff_basecollection.h:130
void SetEndpointOffsetY(twobyte value)
Sets the vertical offset, compared to the measure attachment position.
Definition: ff_smartshapes.h:629
Definition: ff_smartshapes.h:1009
Abstract data class that contains a detail record without using the inci.
Definition: ff_details.h:23
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_smartshapes.h:448
ENTNUM GetEntryNumber() const
Returns the internal entry number (ID) for the note entry.
Definition: ff_noteframe.h:1059
static void DebugOut(const char *pszLine)
Static method to output a line of text for debugging purposes.
Definition: finaleframework.cpp:465
void * _datablock
Pointer to the object's data block, the meaning is implementation-specific for each derived subclass...
Definition: ff_base.h:640
bool IsCustomLine()
Returns true if the shape is a smartshape created with the Custom Line Tool.
Definition: ff_smartshapes.h:1731
void SetShapeNumber(CMPER value)
Sets the shape number.
Definition: ff_smartshapes.h:247
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_smartshapes.h:470
FCCustomSmartLineDef * GetItemAt(int index)
Overridden GetItemAt() method.
Definition: ff_smartshapes.h:3156
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_basecollection.h:309
void SetStaff(twobyte staff)
Sets the staff of the end point segment.
Definition: ff_smartshapes.h:592
Definition: ff_smartshapes.h:1015
void SetLineID(twobyte identifier)
Returns the line style ID for custom smart shape lines.
Definition: ff_smartshapes.h:1365
twobyte _GetRightSideNoteID() const
Definition: ff_smartshapes.h:1155
Definition: ff_smartshapes.h:1018
Definition: ff_smartshapes.h:991
void SetControlPoint1OffsetX(twobyte value)
Sets the first horizontal control point.
Definition: ff_smartshapes.h:786
Definition: ff_smartshapes.h:1057
bool IsOverSlur()
Returns true if the smart shape is an "over" slur (solid or dashed).
Definition: ff_smartshapes.h:1573
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_smartshapes.h:287
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_smartshapes.h:1783
FCString * CreateTextString(TEXT_REFERENCE reference)
Creates a text string object of the indicated position text.
Definition: ff_smartshapes.h:2335
SMARTSHAPE_TYPES
The smart shape types.
Definition: ff_smartshapes.h:961
void SetEntry(FCNoteEntry *pEntry)
Connects the entry number to the smart shape end point and sets the smart shape flag for the entry...
Definition: ff_smartshapes.h:690
void SetLineCharacter(eUniChar32 character)
Sets the character used for character lines.
Definition: ff_smartshapes.h:2881
Class that contains data that appears in the middle of a long smart shape. This class is normally lin...
Definition: ff_smartshapes.h:418
bool ClearItemAt(int index)
Deletes the object at the index position and disposes the object. Index is 0-based.
Definition: finaleframework.cpp:12821
TEXT_REFERENCE
Constant used to reference the different text positions in this class' methods.
Definition: ff_smartshapes.h:1919
Definition: ff_smartshapes.h:1003
Definition: ff_smartshapes.h:994
bool IsUnderSlur()
Returns true if the smart shape is an "under" slur (solid or dashed).
Definition: ff_smartshapes.h:1590
bool IsTwoHooks()
Returns true if the smart shape is an predefined line with hooks on both left and right sides (solid ...
Definition: ff_smartshapes.h:1608
Definition: ff_smartshapes.h:997
void SetControlPoint2OffsetY(twobyte value)
Sets the vertical offset for the second control point (for slurs).
Definition: ff_smartshapes.h:656
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: finaleframework.cpp:29969
void DeleteEverything()
Deletes the internal smartshape data, the center shapes and the smartshape marks. ...
Definition: finaleframework.cpp:30273
Definition: ff_smartshapes.h:964
twobyte GetEndpointOffsetX() const
Returns the horizontal offset compared to the measure attachment position.
Definition: ff_smartshapes.h:543
Base class for "other" data with incis of the __FCInciOther class (where it's common to collect all i...
Definition: ff_basecollection.h:606
void _SetCenterShapeNumber(CMPER value)
This method is normally not used directly.
Definition: ff_smartshapes.h:250
bool GetPresetShape() const
Returns if the shape is preset or custom.
Definition: ff_smartshapes.h:1227
Efix16 GetLineDashLength() const
Returns the line dash length for solid and dashed lines, in EFIXes.
Definition: ff_smartshapes.h:2659
void SetSlurShapeUndetermined()
Helper method to mark that the slur shape direction is undetermined.
Definition: ff_smartshapes.h:863
Definition: ff_smartshapes.h:973
void Set16BitFlag(FLAG_16 *flag, FLAG_16 flagbits, bool state)
Sets a 16 bit flag in the data block.
Definition: finaleframework.cpp:573
void SetLineStyle(twobyte value)
Sets the line style to any of these constants: CUSTOMLINE_SOLID, CUSTOMLINE_DASHED, CUSTOMLINE_CHARACTER.
Definition: ff_smartshapes.h:2612
Definition: ff_smartshapes.h:1081
bool IsDashedSlur()
Returns true if the smart shape is a dashed slur (introduced in Finale 25).
Definition: ff_smartshapes.h:1691
twobyte GetControlPoint2OffsetX() const
Gets the second horizontal control point.
Definition: ff_smartshapes.h:764
void SetDefaultHairpinSize()
Helper method to set the hairpin size to it's unmodified gap size.
Definition: ff_smartshapes.h:876
Definition: ff_smartshapes.h:1069
Definition: ff_smartshapes.h:982
void KeepHairpinsOnly()
Keeps only the hairpins in the collection.
Definition: ff_smartshapes.h:2996
bool Load(twobyte number)
Loads the text with the indicated text number.
Definition: finaleframework.cpp:3865
void SetHorizontal(bool state)
Sets if the shape should only be allowed to be horizontal or not.
Definition: ff_smartshapes.h:2514
bool CalcRightMark()
Returns true if the mark is the end (right-most) of the smart shape.
Definition: finaleframework.cpp:30034
PDKFRAMEWORK_CLASSID
Constants for the GetClassID method.
Definition: ff_base.h:60
void SetLineCharacterFontInfo(FCFontInfo *pFontInfo)
Sets the font information for a character line.
Definition: ff_smartshapes.h:2474
Helper class for FCSmartShape. This class is only constructed indirectly by the FCSmartShape.GetCtrlPointAdjust method.
Definition: ff_smartshapes.h:729
Evpu16 GetHorizontalTextPos(TEXT_REFERENCE reference)
Returns the horizontal position for one of the attached text blocks.
Definition: ff_smartshapes.h:2082
Definition: ff_smartshapes.h:1087
virtual void CloneMemoryFrom(__FCBaseData *pSource)
Definition: finaleframework.cpp:753
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_smartshapes.h:335
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
FCSmartShape * FindLeftEntryNumber(ENTNUM entnum)
Tries to find a smart shape that is attached to the indicated entry number.
Definition: ff_smartshapes.h:3181
FCCustomSmartLineDefs()
The constructor.
Definition: ff_smartshapes.h:3148
void _ClearCenterShapes()
For internal use.
Definition: ff_smartshapes.h:1173
FCSmartShapeMeasureMark * FindSmartShapeMarkByID(CMPER cmperSmartShape)
Returns the smart shape mark that references the smart shape ID.
Definition: ff_smartshapes.h:3082
void SetLineWidth(Efix16 value)
Sets the line width for solid and dashed lines.
Definition: ff_smartshapes.h:2634
Definition: ff_smartshapes.h:1036
void SetUseAfterContinuedTextOffset(bool state)
Sets if the shape line should use the horizontal "after contined" text adjustment setting...
Definition: ff_smartshapes.h:2566
Base class for the "Other" (ot_*) Enigma structures that don't use the inci parameter.
Definition: ff_other.h:212
The class for raw text objects. All other text classes are based on this class, but it can also be us...
Definition: ff_text.h:16
TimeEdu32 GetMeasurePos() const
Returns the measure position, for measure-attached data.
Definition: ff_smartshapes.h:528
bool IsTabSlide()
Returns true if the shape is a tab slide.
Definition: ff_smartshapes.h:1712
FCSmartShapeEntryMark * GetItemAt(int index)
Overloaded GetItemAt() method.
Definition: ff_smartshapes.h:3127
twobyte GetLineStyle() const
Returns any of these constants: CUSTOMLINE_SOLID, CUSTOMLINE_DASHED, CUSTOMLINE_CHARACTER.
Definition: ff_smartshapes.h:2242
SMARTSHAPE_3STATE GetAvoidAccidentals() const
Gets the 'avoid accidentals' setting to any of the auto/on/off states.
Definition: ff_smartshapes.h:1330
FCSmartShapeSegment(__SSTERMSEG *pSeg, FCSmartShape *pReference, bool leftsidesegment)
The constructor. Called by the FCSmartShape class.
Definition: ff_smartshapes.h:498
bool SaveAs(twobyte number)
Saves the text by a new text number.
Definition: finaleframework.cpp:3902
void SetEntryNumber(ENTNUM value)
Sets the note entry reference number for the end connection point.
Definition: ff_smartshapes.h:676
void SetShapeNumber(CMPER value)
Sets the connected smart shape number/ID.
Definition: ff_smartshapes.h:388
twobyte GetControlPoint2OffsetY() const
Gets the second vertical control point.
Definition: ff_smartshapes.h:770
void SetPresetShape(bool value)
Returns if the shape is preset or custom.
Definition: ff_smartshapes.h:1356
void SetLineDashLength(Efix16 value)
Sets the line dash length for dashed lines, in EFIXes.
Definition: ff_smartshapes.h:2678
void SetLineVerticalOffset(twobyte value)
Sets the vertical position adjustment for lines.
Definition: ff_smartshapes.h:2592
twobyte GetStartArrowheadShapeID() const
Returns the (custom) shape ID for the start arrowhead, if a shape is used.
Definition: ff_smartshapes.h:2295
void SetVisible(bool visible)
Sets the visibility state of the smart shape.
Definition: ff_smartshapes.h:1386
void SetMeasurePos(TimeEdu32 edupos)
Sets the measure position, for measure-attached data.
Definition: ff_smartshapes.h:610
Class for smartshape assignments/connections to an entry.
Definition: ff_smartshapes.h:305
void SetSize(twobyte fontsize)
Sets the font size as an integer value.
Definition: ff_base.h:1306
twobyte GetStartArrowheadStyle() const
Returns the style of the start arrowhead.
Definition: ff_smartshapes.h:2271
void Set32BitFlag(FLAG_32 *flag, FLAG_32 flagbits, bool state)
Sets a 32 bit flag in the data block.
Definition: finaleframework.cpp:581
Definition: ff_smartshapes.h:1066
twobyte GetControlPoint1OffsetY() const
Sets the first vertical control point.
Definition: ff_smartshapes.h:756
void SetHairpinFlags()
Configures the basic smart shape flags required for a hairpin.
Definition: ff_smartshapes.h:1422
ENTNUM GetEntryNumber() const
Returns the note entry number, for entry-attached data.
Definition: ff_smartshapes.h:534
Base class for "other" data without incis (inci always 0.)
Definition: ff_basecollection.h:681
Definition: ff_smartshapes.h:1030
SMARTSHAPE_3STATE GetEngraverSlur() const
Returns the engraver slur state for the slur.
Definition: ff_smartshapes.h:1309
void SetCustomTag(EXTAG tag)
Sets the custom Enigma tag, for classes that support multiple Enigma tags.
Definition: ff_base.h:827
Definition: ff_smartshapes.h:1078
SMARTSHAPE_TYPES GetShapeType() const
Returns the smart shape style (any of the SMARTSHAPE_TYPES constants).
Definition: ff_smartshapes.h:1215
bool IsEntryBased()
Returns true if the smart shape is entry-based.
Definition: ff_smartshapes.h:1740
Base class specially designed for collections of entry detail classes.
Definition: ff_basecollection.h:537
void SetAfterStartTextOffset(Evpu16 value)
Sets the horizontal "after start" text adjustment setting.
Definition: ff_smartshapes.h:2540
void _SetLeftSideNoteID(twobyte noteID)
Definition: ff_smartshapes.h:1161
int GetCount() const
Returns the number of elements of the collection.
Definition: ff_basecollection.h:86
virtual bool DeepDeleteData()
Overridden version of DeepDeleteData(). It deletes the text strings as well as the data...
Definition: finaleframework.cpp:30417
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
bool CalcLeftEntryMetricPos(FCNoteEntry *pEntry, FCPoint *pPoint)
Calculates the left-side metrics position for a note-attached smart shape.
Definition: finaleframework.cpp:30214
twobyte GetNameByID()
Gets the internal Enigma font ID. This value is document-specific.
Definition: finaleframework.cpp:3297
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:734
bool IsGlissando()
Returns true if the shape is a glissando.
Definition: ff_smartshapes.h:1721
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:219
FCString * CreateString()
Creates a string object with the loaded text. If the string doesn't exist (or if it's empty)...
Definition: finaleframework.cpp:3949
virtual void * Allocate()=0
twobyte GetRawStringNumber(TEXT_REFERENCE reference)
Returns the raw string number for one of the attached text blocks.
Definition: ff_smartshapes.h:2043
void SetMakeHorizontal(bool state)
Sets the state of the "make horizontal" flag.
Definition: ff_smartshapes.h:1371
bool GetBeatAttached() const
On Finale 2014 and above, returns if the end points are beat-attached or not.
Definition: finaleframework.cpp:30179
Definition: ff_smartshapes.h:1051
void SetAvoidAccidentals(SMARTSHAPE_3STATE state)
Sets the 'avoid accidentals' setting to any of the auto/on/off states.
Definition: ff_smartshapes.h:1519
FCSmartShapeEntryMark()
The constructor.
Definition: ff_smartshapes.h:351
virtual twobyte GetItemNo() const
Gets the item number for the text.
Definition: ff_text.h:97
void SetDefaultSlurShape()
Helper method to set the slur arc to it's default shape.
Definition: ff_smartshapes.h:889
bool SaveNewTextString(TEXT_REFERENCE reference, FCString *pString)
Saves a text string to a new text position block.
Definition: ff_smartshapes.h:2393
void SetAfterContinuedTextOffset(Evpu16 value)
Sets the horizontal "after continued" text adjustment setting.
Definition: ff_smartshapes.h:2579
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:3174
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_details.h:43
void SetUseAfterStartTextOffset(bool state)
Sets if the shape line should use the horizontal "after start" text adjustment setting.
Definition: ff_smartshapes.h:2527
bool CalcLeftCellMetricPos(FCPoint *pPoint)
Calculates the left-side metrics position for measure-attached smart shape.
Definition: finaleframework.cpp:30188
twobyte GetControlPoint1OffsetX() const
Returns the horizontal offset for the first control point (for slurs).
Definition: ff_smartshapes.h:556
FCSmartShapeMeasureMark()
The constructor.
Definition: ff_smartshapes.h:236
void SetStartArrowheadStyle(twobyte value)
Sets the style of the start arrowhead.
Definition: ff_smartshapes.h:2730
void SetCustomOffset(bool rightside)
Sets the required flags for a custom positioned end segment position.
Definition: ff_smartshapes.h:709
FCSmartShapeMeasureMark * GetItemAt(int index)
Overloaded GetItemAt() method.
Definition: ff_smartshapes.h:3096
CMPER GetShapeNumber() const
Gets the smart shape number/ID.
Definition: ff_smartshapes.h:394
void SetStartHookLength(Efix16 value)
Sets the start hook length if the end arrowhead styles has been set to hook. The value is in EFIXes...
Definition: ff_smartshapes.h:2813
bool GetHorizontal() const
Returns if the shape should only be allowed to be horizontal or not.
Definition: ff_smartshapes.h:2496
Definition: ff_smartshapes.h:1012
Evpu16 GetVerticalTextPos(TEXT_REFERENCE reference)
Returns the vertical position for one of the attached text blocks.
Definition: ff_smartshapes.h:2122
FCSmartShape()
The constructor.
Definition: ff_smartshapes.h:1122
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_other.h:331
void SetBreakOffsetY(twobyte value)
Sets the vertical break offset.
Definition: ff_smartshapes.h:668
void SetBreakOffsetX(twobyte value)
Sets the horizontal break offset.
Definition: ff_smartshapes.h:662
twobyte GetLineID() const
Returns the line style ID for custom smart shapes.
Definition: ff_smartshapes.h:1296
Efix16 GetLineDashSpace() const
Returns the line dash length for dashed lines, in EFIXes.
Definition: ff_smartshapes.h:2695
void SetCustomShaped(bool flag)
Sets that the shape is custom adjusted, such as if the hairpin should use a custom opening size...
Definition: ff_smartshapes.h:825
Efix16 GetLineWidth() const
Returns the line width for solid and dashed lines.
Definition: ff_smartshapes.h:2252
Base class for the Finale Framework classes.
Definition: ff_base.h:47
CMPER GetShapeNumber() const
Gets the smart shape number.
Definition: ff_smartshapes.h:256
bool GetCustomShaped() const
Returns true if the shape is custom adjusted, for example if a hairpin use a custom opening size...
Definition: ff_smartshapes.h:777
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_smartshapes.h:1106
void KeepStaffOnly(twobyte staffno)
Keeps only the smartshapes that are referenced within one specific staff.
Definition: ff_smartshapes.h:3060
Definition: ff_smartshapes.h:1063
twobyte GetMeasure() const
Returns the attached measure.
Definition: ff_smartshapes.h:266
void GetLineCharacterFontInfo(FCFontInfo *pFontInfo)
Gets the font information for a character line.
Definition: ff_smartshapes.h:2452
void SetEndArrowheadShapeID(twobyte shapeID)
Sets the (custom) shape ID for the end arrowhead.
Definition: ff_smartshapes.h:2865
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:2007
twobyte GetNoteID() const
Returns the note ID for the smart shape segment.
Definition: finaleframework.cpp:29949
FCCenterSmartShape()
The constructor.
Definition: ff_smartshapes.h:461
Definition: ff_smartshapes.h:1048
Collection class for FCSystemStaff class objects, which contains the list of staves available within ...
Definition: ff_othercollection.h:511
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
FCSmartShapeCtrlPointAdjust * GetCtrlPointAdjust()
Returns the object that controls the shape of the smart shape.
Definition: ff_smartshapes.h:1264
FCSmartShapeSegment * GetTerminateSegmentRight()
Returns the object pointer for the terminating right-side end segment.
Definition: ff_smartshapes.h:1253
twobyte GetControlPoint1OffsetX() const
Gets the first horizontal control point.
Definition: ff_smartshapes.h:750
Definition: ff_smartshapes.h:1075
void SetNoteID(twobyte noteID)
Sets the note ID for the segment.
Definition: finaleframework.cpp:29958
void SetStartArrowheadShapeID(twobyte shapeID)
Sets the (custom) shape ID for the start arrowhead.
Definition: ff_smartshapes.h:2756
Base class for all data-related classes (that handles Finale data).
Definition: ff_base.h:628
twobyte GetSize() const
Returns the font size as an integer number.
Definition: ff_base.h:1115
twobyte GetBreakOffsetY() const
Returns the vertical break offset.
Definition: ff_smartshapes.h:586
twobyte GetControlPoint1OffsetY() const
Returns the vertical offset for the first control point (for slurs).
Definition: ff_smartshapes.h:562
bool IsSolidSlur()
Returns true if the smart shape is a solid (non-dashed) slur.
Definition: ff_smartshapes.h:1651
bool IsAutoSlur()
Returns true if the smart shape is an "auto" slur (solid or dashed).
Definition: ff_smartshapes.h:1556
void SetHorizontalTextPos(TEXT_REFERENCE reference, Evpu16 position)
Sets the horizontal position for one of the attached text blocks.
Definition: ff_smartshapes.h:2162
void SetControlPoint2OffsetX(twobyte value)
Sets the second horizontal control point.
Definition: ff_smartshapes.h:806
bool GetMaintainAngle() const
Returns the flag that determines how the how the y value is interpreted on SmartShape system breaks...
Definition: ff_smartshapes.h:1284
Definition: ff_smartshapes.h:1027
Definition: ff_smartshapes.h:979
void SetNameByID(twobyte id)
Sets the font name by using the document's internal Enigma font ID.
Definition: finaleframework.cpp:3330
void SetBeatAttached(bool state)
On Finale 2014 and above, it will define if the end points should be beat-attached. If the end point is beat-attached, the horizontal offset will be relative to the anchor point.
Definition: finaleframework.cpp:30170
twobyte GetEndpointOffsetY() const
Returns the vertical offset compared to the measure attachment position.
Definition: ff_smartshapes.h:550
Definition: ff_smartshapes.h:1060
eUniChar32 GetLineCharacter() const
Returns the character used for character lines.
Definition: ff_smartshapes.h:2320
void SetMeasure(twobyte measureno)
Sets the measure number for the smart shape end point.
Definition: ff_smartshapes.h:598
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
virtual __FCBaseData * CreateObject()=0
Creates a new instance of the object.
Definition: ff_smartshapes.h:985
Definition: ff_smartshapes.h:1072
Base class for "other" (ot_*) data with incis.
Definition: ff_other.h:59
bool CalcRightCellMetricPos(FCPoint *pPoint)
Calculates the right-side metrics position for measure-attached smart shape.
Definition: finaleframework.cpp:30201
void SetMeasureAttachedFlags(bool presetshape, bool makehorizontal)
Configures the smart shape flags as a measure-attached shape.
Definition: finaleframework.cpp:30154
bool SaveTextString(TEXT_REFERENCE reference, FCString *pString)
Resaves a text string to an already existing text position block.
Definition: ff_smartshapes.h:2367
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_smartshapes.h:2891
void SetShapeType(SMARTSHAPE_TYPES shapevalue)
Sets the smart shape style.
Definition: ff_smartshapes.h:1344
void SetMaintainAngle(bool state)
Sets the flag that determines how the how the y value is interpreted on SmartShape system breaks...
Definition: ff_smartshapes.h:1380
EDataID _dataid
The EdataID for the last loaded/saved object.
Definition: ff_base.h:657
void SetControlPoint1OffsetY(twobyte value)
Sets the vertical offset for the first control point (for slurs).
Definition: ff_smartshapes.h:644
Class that provides storage for text. This is to achieve platform-transparent text handling...
Definition: ff_base.h:1473
virtual twobyte CalcLastInci()
For internal use only!
Definition: ff_base.h:700
void SetControlPoint2OffsetY(twobyte value)
Sets the second vertical control point.
Definition: ff_smartshapes.h:815
Encapsulates a note entry from an owner class (for example FCNoteEntryCell, FCNoteEntryLayer) class...
Definition: ff_noteframe.h:808
void SetEndArrowheadStyle(twobyte value)
Returns the style of the end arrowhead.
Definition: ff_smartshapes.h:2771
Definition: ff_smartshapes.h:1033
Definition: ff_smartshapes.h:1042
Definition: ff_smartshapes.h:970
void SetEntryBased(bool value)
Sets if the smart shape is a note entry-connected shape or not.
Definition: ff_smartshapes.h:1392
Base class that provides the basic functionality for entry detail data (such as Special Tools modific...
Definition: ff_entrydetails.h:25
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:495
A record that represents a smart shape in the score. It's connected to a score through FCSmartShapeMe...
Definition: ff_smartshapes.h:925
twobyte GetMeasure() const
Returns the measure of the end point segment.
Definition: ff_smartshapes.h:516
bool GetEntryBased() const
Returns true if the smart shape is a note entry-connected shape.
Definition: ff_smartshapes.h:1221
void SetControlPoint1OffsetX(twobyte value)
Sets the horizontal offset for the first control point (for slurs).
Definition: ff_smartshapes.h:638
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:1105
bool IsHairpin()
Returns true if the smart shape is a hairpin.
Definition: ff_smartshapes.h:1549
The class for a custom smart shape lines.
Definition: ff_smartshapes.h:1911
void SetUseBeforeEndTextOffset(bool state)
Sets if the shape line should use the horizontal "before end" text adjustment setting.
Definition: ff_smartshapes.h:2553
bool IsWithinRegion(FCMusicRegion *pRegion)
Returns true if the full smart shape is within the region (both vertically and horizontally.)
Definition: finaleframework.cpp:30262
Class that encapsulates EREGION and provides additional functionality to region handling.
Definition: ff_region.h:24
twobyte GetControlPoint2OffsetX() const
Returns the horizontal offset for the second control point (for slurs).
Definition: ff_smartshapes.h:568
void SetControlPoint1OffsetY(twobyte value)
Sets the first vertical control point.
Definition: ff_smartshapes.h:795
Collection class for FCSmartShapeMeasureMark class objects.
Definition: ff_smartshapes.h:2906
virtual EXTAG Tag()=0
The Enigma tag for the derived class.
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:3150
Definition: ff_smartshapes.h:1054
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: ff_smartshapes.h:895
void SetSmartShapeFlag(bool state)
Sets the flag that marks that a smart shape is attached to the entry.
Definition: ff_noteframe.h:1312
Definition: ff_smartshapes.h:976
virtual const PDKFRAMEWORK_CLASSID GetClassID()
Returns the internal class ID for the PDK Framework class. This is implemented mostly because Lua has...
Definition: ff_smartshapes.h:2008
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:447
FCSmartShapeMeasureMarks()
The constructor.
Definition: ff_smartshapes.h:2917
CMPER _GetCenterShapeNumber()
Returns the CMPER for the middle measures of a smart shape. This method is normally not used directly...
Definition: ff_smartshapes.h:260
void SetEndpointOffsetX(twobyte value)
Sets the horizontal offset, compared to the measure attachment position.
Definition: ff_smartshapes.h:621
bool GetVisible() const
Returns the visibility state of the smart shape.
Definition: ff_smartshapes.h:1290
Class for smartshape assignments to a measure.
Definition: ff_smartshapes.h:190
void RemoveDuplicateReferences()
Removes any duplicate measure marks that reference the same smartshape.
Definition: ff_smartshapes.h:2946
Definition: ff_smartshapes.h:1045
FLAG_16 GetEnigmaStyles() const
Gets the font style as standard Enigma bit storage.
Definition: ff_base.h:1164
void KeepCustomLinesOnly()
Keeps only the custom lines in the collection.
Definition: ff_smartshapes.h:3017
bool IsDashedCurve()
Returns true if the smart shape is a dashed curve. (This does not include the new dashed slur type in...
Definition: ff_smartshapes.h:1671
bool CalcRightEntryMetricPos(FCNoteEntry *pEntry, FCPoint *pPoint)
Calculates the right-side metrics position for a note-attached smart shape.
Definition: finaleframework.cpp:30227
Efix16 GetStartHookLength() const
Returns the start hook length if the end arrowhead styles has been set to hook. The value is in EFIXe...
Definition: ff_smartshapes.h:2795
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:334
void _SetRightSideNoteID(twobyte noteID)
Definition: ff_smartshapes.h:1167
Collection class for FCSmartShape class objects.
Definition: ff_smartshapes.h:3167
FCSmartShape * CreateSmartShape(bool load_center_shapes=true)
Creates a full smart shape object, including the middle sections.
Definition: finaleframework.cpp:30069
bool SaveNewEverything(FCNoteEntry *pFirstEntry=NULL, FCNoteEntry *pLastEntry=NULL)
Saves all structures required for smart shapes.
Definition: finaleframework.cpp:30344
twobyte GetStaff() const
Returns the staff of the end point segment.
Definition: ff_smartshapes.h:510
void SetLineDashSpace(Efix16 value)
Sets the line dash length for dashed lines, in EFIXes.
Definition: ff_smartshapes.h:2713
bool SaveNew()
Saves the text at the first empty spot.
Definition: finaleframework.cpp:3909
Definition: ff_smartshapes.h:1024
void SetEngraverSlur(SMARTSHAPE_3STATE state)
Sets the engraver slur setting to any of the auto/on/off states.
Definition: ff_smartshapes.h:1487
FCSmartShapeEntryMarks(FCNoteEntry *pConnectEntry=NULL)
The constructor.
Definition: ff_smartshapes.h:3120
void SetSlurShapeUnder()
Helper method to mark that the slur shape goes down.
Definition: ff_smartshapes.h:850
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:2919
virtual int LoadAll()
Overloaded method that loads the smart shapes measure marks for the whole document.
Definition: finaleframework.cpp:30098
void SetText(FCString *pString)
Sets the text for the object. (The object needs to be saved to Finale to take effect.)
Definition: finaleframework.cpp:3916
virtual const char * ClassName()
Returns the name of the class, for diagnostic purposes. This method MUST be overwritten in each child...
Definition: ff_smartshapes.h:3112
virtual int DataSizeLoad()=0
Returns the data size for the data structure that should be loaded.
bool IsSlur()
Returns true if the smart shape is a slur (solid or dashed).
Definition: ff_smartshapes.h:1626
void SetEndHookLength(Efix16 value)
Sets the end hook length if the end arrowhead styles has been set to hook. The value is in EFIXes...
Definition: ff_smartshapes.h:2847
void SetSlurFlags(bool entrybased)
Configures the basic smart shape flags required for a slur.
Definition: ff_smartshapes.h:1402
twobyte GetLineCharacterBaselineShift() const
Returns the vertical adjustment value for characters on a character line. In EMs. ...
Definition: ff_smartshapes.h:2418
void AssignToStaff(int newstaff)
Assigns the end points of a smart shape to a staff.
Definition: finaleframework.cpp:30330
twobyte _GetLeftSideNoteID() const
Definition: ff_smartshapes.h:1149
Definition: ff_smartshapes.h:1090
void KeepSystemStavesOnly(FCSystemStaves *pSystemStaves)
Keeps only the smartshapes within the supplied system staves.
Definition: ff_smartshapes.h:3037
Definition: ff_smartshapes.h:1021
bool CalcLeftMark()
Returns true if the mark is the start (left-most) of the smart shape.
Definition: finaleframework.cpp:30026
FCSmartShapeCtrlPointAdjust(__SSCTLPTADJ *pCtrlPointAdj, FCSmartShape *pReference)
The constructor. Set up by FCSmartShape.
Definition: ff_smartshapes.h:737
twobyte GetEndArrowheadStyle() const
Returns the style of the end arrowhead.
Definition: ff_smartshapes.h:2283
twobyte GetControlPoint2OffsetY() const
Returns the vertical offset for the second control point (for slurs).
Definition: ff_smartshapes.h:574
void SetLineCharacterBaselineShift(twobyte baseline)
Sets the vertical adjustment value for characters on a character line. In EMs.
Definition: ff_smartshapes.h:2435
Helper class for FCSmartShape, controlling the end points of a smart shape. This class is only constr...
Definition: ff_smartshapes.h:489
SMARTSHAPE_3STATE
An enum used for the methods that need a 3-state auto/on/off.
Definition: ff_smartshapes.h:1098
Definition: ff_smartshapes.h:1006
virtual EVERSION EnigmaVersion()
The Enigma version for save/load/create/delete operations.
Definition: ff_base.h:757
void KeepSlursOnly()
Keeps only the slurs in the collection.
Definition: ff_smartshapes.h:2972
FCSmartShapeSegment * GetTerminateSegmentLeft()
Returns the object pointer for the terminating left-side end segment.
Definition: ff_smartshapes.h:1239
Base class for all collection classes. A collection is a storage that can store multiple objects of s...
Definition: ff_basecollection.h:24
Definition: ff_smartshapes.h:1084
FCSystemStaff * FindStaff(twobyte staffno)
Finds a specific staff in the collection and returns the pointer to it.
Definition: ff_othercollection.h:539
Efix16 GetEndHookLength() const
Sets the end hook length if the end arrowhead styles has been set to hook. The value is in EFIXes...
Definition: ff_smartshapes.h:2830
virtual void DebugDump()
Outputs the class data/information for debugging purposes.
Definition: finaleframework.cpp:547
bool GetMakeHorizontal() const
Returns the state of the "make horizontal" flag.
Definition: ff_smartshapes.h:1275
void SetEnigmaStyles(FLAG_16 fontstyles)
Sets the font style as standard Enigma bit storage.
Definition: ff_base.h:1261
void SetSlurShapeOver()
Helper method to mark that the slur shape goes up.
Definition: ff_smartshapes.h:837