Finale PDK Framework
0.77
Power Up Your Finale Music Software
Loading...
Searching...
No Matches
ff_pdkcompatibilty.h
1
/*
2
* File: ff_pdkcompatibilty.h
3
* Author: Jari Williamsson
4
*
5
* Created on den 21 november 2010, 14:39
6
*/
7
8
#ifndef FF_PDKCOMPATIBILTY_H
9
#define FF_PDKCOMPATIBILTY_H
10
11
/* Define the needed version tags independently of the PDK, so
12
the framework doesn't get dependent of a certain PDK version. */
13
14
#define FINALEVERSION_2009 MAKE_FINVER( 14, 0, 0, 0, 0 )
15
#define FINALEVERSION_2010 MAKE_FINVER( 15, 0, 0, 0, 0 )
16
#define FINALEVERSION_2011 MAKE_FINVER( 16, 0, 0, 0, 0 )
17
#define FINALEVERSION_2012 MAKE_FINVER( 17, 0, 0, 0, 0 )
18
#define FINALEVERSION_2014 MAKE_FINVER( 18, 0, 0, 0, 0 )
19
#define FINALEVERSION_2014B MAKE_FINVER( 18, 0, 2, 0, 0 )
20
#define FINALEVERSION_2014D MAKE_FINVER( 18, 0, 4, 0, 0 )
21
#define FINALEVERSION_2014_5 MAKE_FINVER( 18, 0, 5, 0, 0 )
22
#define FINALEVERSION_25 MAKE_FINVER( 25, 0, 0, 0, 0 )
23
#define FINALEVERSION_2025 MAKE_FINVER( 25, 0, 0, 0, 0 )
24
#define FINALEVERSION_25_1 MAKE_FINVER( 25, 1, 0, 0, 0 )
25
#define FINALEVERSION_25_2 MAKE_FINVER( 25, 2, 0, 0, 0 )
26
#define FINALEVERSION_25_3 MAKE_FINVER( 25, 3, 0, 0, 0 )
27
#define FINALEVERSION_25_4 MAKE_FINVER( 25, 4, 0, 0, 0 )
28
#define FINALEVERSION_26 MAKE_FINVER( 26, 0, 0, 0, 0 )
29
#define FINALEVERSION_26_1 MAKE_FINVER( 26, 1, 0, 0, 0 )
30
#define FINALEVERSION_26_2 MAKE_FINVER( 26, 2, 0, 0, 0 )
31
#define FINALEVERSION_26_2_2 MAKE_FINVER( 26, 2, 2, 0, 0 )
32
#define FINALEVERSION_26_3 MAKE_FINVER( 26, 3, 0, 0, 0 )
33
#define FINALEVERSION_27 MAKE_FINVER( 27, 0, 0, 0, 0 )
34
#define FINALEVERSION_27_1 MAKE_FINVER( 27, 1, 0, 0, 0 )
35
#define FINALEVERSION_27_2 MAKE_FINVER( 27, 2, 0, 0, 0 )
36
#define FINALEVERSION_27_3 MAKE_FINVER( 27, 3, 0, 0, 0 )
37
#define FINALEVERSION_27_4 MAKE_FINVER( 27, 4, 0, 0, 0 )
38
39
/* Macro to simplify lines of code intended only for Finale 2012 and above */
40
#if FXT_VERSION >= FINALEVERSION_2012
41
#define FIN2012_CODE(x) x
42
#else
43
#define FIN2012_CODE(x)
44
#endif
45
46
/* Macro to simplify lines of code intended only for Finale 2014 and above */
47
#if FXT_VERSION >= FINALEVERSION_2014
48
#define FIN2014_CODE(x) x
49
#else
50
#define FIN2014_CODE(x)
51
#endif
52
53
/* Macro to simplify lines of code intended only for Fin25 and above */
54
#if FXT_VERSION >= FINALEVERSION_25
55
#define FIN25_CODE(x) x
56
#else
57
#define FIN25_CODE(x)
58
#endif
59
60
/* Macro to simplify lines of code intended only for Fin25.1 and above */
61
#if FXT_VERSION >= FINALEVERSION_25_1
62
#define FIN25_1_CODE(x) x
63
#else
64
#define FIN25_1_CODE(x)
65
#endif
66
67
/* Macro to simplify lines of code intended only for Fin25.2 and above */
68
#if FXT_VERSION >= FINALEVERSION_25_2
69
#define FIN25_2_CODE(x) x
70
#else
71
#define FIN25_2_CODE(x)
72
#endif
73
74
/* Macro to simplify lines of code intended only for Fin25.3 and above */
75
#if FXT_VERSION >= FINALEVERSION_25_3
76
#define FIN25_3_CODE(x) x
77
#else
78
#define FIN25_3_CODE(x)
79
#endif
80
81
/* Macro to simplify lines of code intended only for Fin25.4 and above */
82
#if FXT_VERSION >= FINALEVERSION_25_4
83
#define FIN25_4_CODE(x) x
84
#else
85
#define FIN25_4_CODE(x)
86
#endif
87
88
/* Macro to simplify lines of code intended only for Fin26.2 and above */
89
#if FXT_VERSION >= FINALEVERSION_26_2
90
#define FIN26_2_CODE(x) x
91
#else
92
#define FIN26_2_CODE(x)
93
#endif
94
95
96
#ifndef HIBYTE
97
#define HIBYTE(w) ((w & 0xff00) / 0x100)
98
#endif
99
100
#ifndef LOBYTE
101
#define LOBYTE(w) (w & 0xff)
102
#endif
103
104
#ifndef LOWORD
105
#define LOWORD(l) (l & 0xffff)
106
#endif
107
108
#ifndef BYTE
109
#define BYTE unsigned char
110
#endif
111
112
#ifndef HIWORD
113
#define HIWORD(l) ((l & 0xffff0000) / 0x10000)
114
#endif
115
116
#ifndef MAKEWORD
117
#define MAKEWORD(a,b) ((EWORD)(((BYTE)((EDWORD)(a) & 0xff)) | ((EWORD)((BYTE)((EDWORD)(b) & 0xff))) << 8))
118
#endif
119
120
#ifndef MAKELONG
121
#define MAKELONG(a,b) ((ELONG)(((EWORD)((EDWORD)(a) & 0xffff)) | ((EWORD)((EWORD)((EDWORD)(b) & 0xffff))) << 16))
122
#endif
123
124
125
#if FXT_VERSION < FINALEVERSION_2012
126
/* Compatibility stuff for the changes between
127
* the 2010 and 2012 PDKs. */
128
129
typedef
eInst eStaff;
130
131
typedef
SEVPU Evpu16;
132
typedef
EVPU Evpu32;
133
typedef
TIME_EDU TimeEdu32;
134
typedef
twobyte TimeEdu16;
135
typedef
twobyte Efix16;
136
typedef
fourbyte Efix32;
137
138
#define ot_EDTPageSpec ot_PageSpec
139
#define ot_EDTStaffSystemSpec ot_StaffSystemSpec
140
#define ot_EDTStaffSpec ot_StaffSpec
141
#define ot_EDTCurrStaffSpec ot_CurrStaffSpec
142
#define ot_EDTStaffStyleAssign ot_StaffStyleAssign
143
144
#define EF_DOTTIEALTS EF_SPECIALALTS
145
#define EF_VALID EF_SETBIT
146
#define NF_VALID NF_SETBIT
147
#define NF_TIESTART NF_TSBIT
148
#define NF_TIEEND NF_TEBIT
149
150
#define eUniChar16 utwobyte
151
#define eUniChar32 ufourbyte
152
#define ePlaybackRoute twobyte
153
154
#endif
155
156
#if FXT_VERSION >= FINALEVERSION_2014
157
#define XEF_CHECKACCIS 0
/* Actually obsolete in Finale 2014, so not using any flag state */
158
#endif
159
160
#if FXT_VERSION >= FINALEVERSION_2014_5
161
#ifndef EWND
/* 2014.5 */
162
#define EWND FXWND
163
#endif
/* #ifndef EWND */
164
#endif
/* FXT_VERSION > FINALEVERSION_2014 */
165
166
#if FXT_VERSION < FINALEVERSION_26
167
typedef
ERECT JWERECT;
168
#else
169
typedef
AlignedERECT JWERECT;
170
#endif
171
172
#if FXT_VERSION < FINALEVERSION_26_2
173
typedef
ufourbyte UInt10000ths32;
174
typedef
fourbyte Int10000ths32;
175
#define EDT_SNAP_ARTICS 0x00000001
176
#define EDT_SNAP_BRACKETS 0x00000002
177
#define EDT_SNAP_CHORDS 0x00000004
// Chords (chord names)
178
#define EDT_SNAP_FRETBOARDS 0x00000008
179
#define EDT_SNAP_GRAPHICS_RESIZE 0x00000010
180
#define EDT_SNAP_GRAPHICS_MOVE 0x00000020
181
#define EDT_SNAP_LYRICS 0x00000040
182
#define EDT_SNAP_MEASNUMS 0x00000080
183
#define EDT_SNAP_REPEATS 0x00000100
184
#define EDT_SNAP_EXPRESSIONS 0x00000200
// Score expressions
185
#define EDT_SNAP_SPECTOOLS 0x00000400
// Special tool items
186
#define EDT_SNAP_STAFFEXPS_DEPRECATED 0x00000800
// rmd 4/14/08: Staff expressions are no longer used (do not remove -- must preserve numbering)
187
#define EDT_SNAP_STAFFNAMES 0x00001000
// Staff/group names
188
#define EDT_SNAP_STAFFS 0x00002000
189
#define EDT_SNAP_TEXTBLKS_RESIZE 0x00004000
190
#define EDT_SNAP_TEXTBLKS_MOVE 0x000080000
191
#define EDT_SNAP_TUPLETS 0x00010000
192
#define EDT_SNAP_ALL 0x0001FFFF
193
#endif
// FXT_VERSION < FINALEVERSION_26_2
194
195
#ifndef PART_PREFS_CMPER
196
#define PART_PREFS_CMPER ((CMPER) 65534)
197
#endif
198
199
#if FXT_VERSION > FINALEVERSION_26_1
200
#define SYSCOURTESY_KEYSIG 0x0001
201
#define SYSCOURTESY_CLEF 0x0004
202
#endif
203
204
#if FXT_VERSION < FINALEVERSION_27
205
typedef
PsPoint16 FontPoints16;
206
#endif
207
208
#ifndef ARTIC_AUTONOTESTEM
209
#define ARTIC_AUTONOTESTEM 4
210
#endif
211
212
#ifndef ARTIC_SLUR_MODE
213
#define ARTIC_SLUR_MODE` 0x0600
// "Slur interaction" dropdown - added in 25.6
214
#endif
215
216
#ifndef TIE_OPT_INSET_STYLE_FIXED
217
#define TIE_OPT_INSET_STYLE_FIXED 0
218
#endif
219
220
#ifndef TIE_OPT_INSET_STYLE_PERCENT
221
#define TIE_OPT_INSET_STYLE_PERCENT 1
222
#endif
223
224
#if FXT_VERSION < FINALEVERSION_27_2
225
#define MMREST_NO_HORZ_STRETCH 0x0002
226
#endif
227
228
// The PDK omits the definitions for these flags in EDTBeamExtensionMods
229
#define BMEXT_HAS_BMEXT 0x0800
// is set when any beam bits are set
230
#define BMEXT_BEAM_MASK 0x03ff
// 10 beam bits: 8th beam is 0x200 (==FCNoteEntry::EIGHTH_NOTE)
231
// 16th beam is 0x100 (==FCNoteEntry::SIXTEENTH_NOTE), etc.
232
233
#ifndef MEASNUM_IS_ALTNUM
234
#define MEASNUM_IS_ALTNUM 0x0008
235
#endif
236
237
#if FXT_VERSION < FINALEVERSION_27_3
238
#define ot_SeparateTextRepeatPlacement MAKEEXTAG(edOther,'R','I')
239
#endif
240
241
#ifndef SEPARATES_HIDDEN
242
#define SEPARATES_HIDDEN 0x0001
243
#endif
244
245
#ifndef NOTEHEAD_ENHARMONIC_FLIP
246
#define NOTEHEAD_ENHARMONIC_FLIP 0x0004
// If set, this note is enharmonically flipped
247
#endif
248
249
#ifndef TEXT_EXP_BREAKREST
250
#define TEXT_EXP_BREAKREST 0x0400
251
#endif
252
253
#ifndef TEXT_EXP_HIDEMEASURENUM
254
#define TEXT_EXP_HIDEMEASURENUM 0x8000
255
#endif
256
257
#ifndef smUninterpEnigma
258
#define smUninterpEnigma 0x0FFF
// from Mac section in scptutil.h
259
#endif
260
261
#endif
/* FF_PDKCOMPATIBILTY_H */
262
ff_pdkcompatibilty.h
Generated on Tue Nov 19 2024 11:35:21 for Finale PDK Framework by
1.12.0