Commit | Line | Data |
---|---|---|
69695f33 MW |
1 | /* Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, |
2 | * 2005, 2006 by Arkkra Enterprises */ | |
3 | /* All rights reserved */ | |
4 | /* | |
5 | * globals.h | |
6 | * | |
7 | * This file has externs for the global variables defined in global.c. | |
8 | * It also has externs for all nonstatic functions. | |
9 | */ | |
10 | ||
11 | #ifndef _GLOBALS | |
12 | #define _GLOBALS | |
13 | ||
14 | #ifdef __WATCOMC__ | |
15 | #include <sys\types.h> | |
16 | #endif | |
17 | #include <string.h> | |
18 | #include <ctype.h> | |
19 | #include "structs.h" | |
20 | #ifdef VMS | |
21 | #include <unixio.h> | |
22 | #endif | |
23 | ||
24 | /* | |
25 | * Some non-ANSI compilers may not have these defined in stdio.h, so if they | |
26 | * aren't defined, define them now. | |
27 | */ | |
28 | #ifndef SEEK_SET | |
29 | #define SEEK_SET 0 | |
30 | #endif | |
31 | #ifndef SEEK_CUR | |
32 | #define SEEK_CUR 1 | |
33 | #endif | |
34 | #ifndef SEEK_END | |
35 | #define SEEK_END 2 | |
36 | #endif | |
37 | ||
38 | /* ====== externs for variables--see globals.c for comments about them ===== */ | |
39 | ||
40 | extern struct SSV Score; | |
41 | extern struct SSV Staff[MAXSTAFFS]; | |
42 | extern struct SSV Voice[MAXSTAFFS][MAXVOICES]; | |
43 | ||
44 | extern short Staff_vis[MAXSTAFFS + 1]; | |
45 | extern short Voice_vis[MAXSTAFFS + 1][MAXVOICES + 1]; | |
46 | ||
47 | extern struct MAINLL *Mainllhc_p; | |
48 | extern struct MAINLL *Mainlltc_p; | |
49 | ||
50 | extern int Optch; | |
51 | extern int Mupmate; | |
52 | extern int Errorcount; | |
53 | extern int Maxverses; | |
54 | extern short Meas_num; | |
55 | extern int Preproc; | |
56 | extern int Ppcomments; | |
57 | ||
58 | extern int Context; | |
59 | extern int Curr_family; | |
60 | extern int Curr_font; | |
61 | extern int Curr_size; | |
62 | extern int Got_some_data; | |
63 | extern int Doing_tab_staff; | |
64 | extern int Doing_MIDI; | |
65 | extern char *Curr_filename; | |
66 | extern char *Outfilename; | |
67 | extern int Vflag; | |
68 | extern int Vcombused; | |
69 | extern int CSBused; | |
70 | extern int CSSused; | |
71 | extern int CSSpass; | |
72 | ||
73 | extern int yylineno; | |
74 | /* This 8192 must agree with YYLMAX in lex.c. We shouldn't have to specify | |
75 | * the size here, but at least one compiler generates bad code if we don't. */ | |
76 | extern char yytext[8192]; | |
77 | ||
78 | extern int Last_was_newline; | |
79 | extern unsigned char Hctab[]; | |
80 | extern unsigned char Xhctab[]; | |
81 | extern unsigned char Dhctab[]; | |
82 | extern unsigned char Resttab[]; | |
83 | extern int Letshift[]; | |
84 | extern char Circle[]; | |
85 | extern char Acclets[]; | |
86 | extern char *Acctostr[]; | |
87 | extern char Ped_start[]; | |
88 | extern char Ped_stop[]; | |
89 | ||
90 | extern struct STRINGINFO Guitar[DEFTABLINES]; | |
91 | extern int Octave_adjust[MAXSTAFFS+1]; | |
92 | extern int Octave_bars[MAXSTAFFS+1]; | |
93 | extern float Octave_count[MAXSTAFFS+1]; | |
94 | ||
95 | extern float _Page [NUMCTYPE]; | |
96 | extern float _Win [NUMCTYPE]; | |
97 | extern float _Cur [NUMCTYPE]; | |
98 | ||
99 | extern struct BLOCKHEAD Header; | |
100 | extern struct BLOCKHEAD Footer; | |
101 | extern struct BLOCKHEAD Header2; | |
102 | extern struct BLOCKHEAD Footer2; | |
103 | ||
104 | extern float *Score_location_p; | |
105 | extern float Staffs_y[MAXSTAFFS + 1]; | |
106 | ||
107 | extern struct RANGELIST *Staffrange_p; | |
108 | extern struct RANGELIST *Vnorange_p; | |
109 | ||
110 | extern short Place; | |
111 | ||
112 | extern short Ped_snapshot[MAXSTAFFS + 1]; | |
113 | ||
114 | extern struct MAINLL *Staffmap_p[MAXSTAFFS + 1]; | |
115 | extern struct MAINLL *List_of_staffs_p; | |
116 | ||
117 | extern struct SVRANGELIST *Svrangelist_p; | |
118 | extern struct GRPSYL *Curr_gs_list_p; | |
119 | extern short Got_multirest; | |
120 | extern short Got_group; | |
121 | ||
122 | extern short Pagenum; | |
123 | extern int Last_pagenum; | |
124 | ||
125 | extern short Font_used[MAXFONTS]; | |
126 | ||
127 | extern struct ATEND_INFO Atend_info; | |
128 | ||
129 | extern float Staffscale; | |
130 | extern float Stdpad; | |
131 | extern float Stepsize; | |
132 | extern float Flagsep; | |
133 | extern float Smflagsep; | |
134 | extern float Tupheight; | |
135 | ||
136 | extern RATIONAL Zero; | |
137 | extern RATIONAL One_fourth; | |
138 | extern RATIONAL One_third; | |
139 | extern RATIONAL One_half; | |
140 | extern RATIONAL Two_thirds; | |
141 | extern RATIONAL Three_fourths; | |
142 | extern RATIONAL One; | |
143 | extern RATIONAL Two; | |
144 | extern RATIONAL Three; | |
145 | extern RATIONAL Four; | |
146 | ||
147 | extern RATIONAL Maxtime; | |
148 | ||
149 | extern int Debuglevel; | |
150 | extern int ifdebug; | |
151 | ||
152 | /* =========== defines that depend on the above variables ============= */ | |
153 | ||
154 | /* size of the actual paper, scaled so that the right amount of music fits */ | |
155 | #define PGHEIGHT (Score.pageheight / Score.scale_factor) | |
156 | #define PGWIDTH (Score.pagewidth / Score.scale_factor) | |
157 | ||
158 | /* must divide margin variables by scale to cancel out the scaling for them */ | |
159 | #define EFF_TOPMARGIN (Score.topmargin / Score.scale_factor) | |
160 | #define EFF_BOTMARGIN (Score.botmargin / Score.scale_factor) | |
161 | /* right & left margins use functions eff_rightmargin() & eff_leftmargin() */ | |
162 | ||
163 | /* =========== externs for global variables in generated code ============= */ | |
164 | ||
165 | extern int yydebug; /* yacc debug flag */ | |
166 | extern FILE *yyin; /* where lex will read from */ | |
167 | ||
168 | /* =========== externs for functions ============= */ | |
169 | ||
170 | #ifdef __STDC__ | |
171 | #include <stdlib.h> | |
172 | #include <unistd.h> | |
173 | #else | |
174 | /* UNIX utilities that don't appear in official header files in SV_R3 */ | |
175 | extern char *malloc(); | |
176 | extern char *calloc(); | |
177 | extern char *realloc(); | |
178 | extern void free(); | |
179 | ||
180 | extern void exit(); | |
181 | extern int abs(); | |
182 | extern int atoi(); | |
183 | extern double atof(); | |
184 | extern void qsort(); | |
185 | extern long strtol(); | |
186 | #endif | |
187 | ||
188 | /* abshorz.c */ | |
189 | extern void abshorz P((void)); | |
190 | ||
191 | /* absvert.c */ | |
192 | extern void absvert P((void)); | |
193 | ||
194 | /* assign.c */ | |
195 | extern void assign_int P((int var, int value, struct MAINLL *mainll_item_p)); | |
196 | extern void assign_float P((int var, double value, | |
197 | struct MAINLL *mainll_item_p)); | |
198 | extern void assign_vscheme P((int numvoices, int vtype, | |
199 | struct MAINLL *mainll_item_p)); | |
200 | extern void assign_key P((int num, int acc, int minor, | |
201 | struct MAINLL *mainll_item_p)); | |
202 | extern void assign_string P((int var, char *string, | |
203 | struct MAINLL *mainll_item_p)); | |
204 | extern void assign_unit P((int unittype, struct MAINLL *mainll_p)); | |
205 | extern char *copy_string P((char *string, int font, int size)); | |
206 | extern void assign_timesig P(( struct MAINLL *mainll_item_p, int invisible, | |
207 | char **next_alternation_p)); | |
208 | extern void assign_font P((int var, int value, struct MAINLL *mainll_item_p)); | |
209 | extern void new_staffset P((void)); | |
210 | extern void add_staffset P((int start, int end, char *label1, char *label2)); | |
211 | extern void set_staffset P((int var, struct MAINLL *mainll_item_p)); | |
212 | extern void new_barstlist P((void)); | |
213 | extern void add_barst P((int start, int end)); | |
214 | extern void set_barstlist P((struct MAINLL *mainll_item_p)); | |
215 | extern void new_beamlist P((void)); | |
216 | extern void add_beamlist P((RATIONAL value)); | |
217 | extern void set_beamlist P((struct MAINLL *mainll_item_p)); | |
218 | extern void asgn_stafflines P((int numlines, int printclef, | |
219 | struct MAINLL *mainll_item_p)); | |
220 | extern void set_font P((int var, int value, struct MAINLL *mll_p)); | |
221 | extern void add_tab_string_info P((int pitch, int accidental, int nticks, | |
222 | int octave, struct SSV *ssv_p)); | |
223 | extern void set_mnum P((struct BAR *bar_p, int mnum)); | |
224 | extern void assign_2floats P((int var, double value1, double value2, | |
225 | struct MAINLL *mainll_item_p)); | |
226 | extern void chkmargin P((double topmargin, double botmargin, double leftmargin, | |
227 | double rightmargin)); | |
228 | extern double adjust2inches P((double value)); | |
229 | extern void begin_subbeam P((void)); | |
230 | extern void end_subbeam P((void)); | |
231 | extern void assign_vcombine P((int qualifier, struct MAINLL * mainll_p)); | |
232 | ||
233 | /* beaming.c */ | |
234 | extern void setbeamloc P((struct GRPSYL *curr_grp_p, | |
235 | struct GRPSYL *last_grp_p)); | |
236 | extern int has_cust_beaming P((struct GRPSYL *grpsyl_p)); | |
237 | extern void do_beaming P((struct GRPSYL *grpsyl_p, int grpsize, int staffno, | |
238 | int vno)); | |
239 | extern void set_alt_beams P((struct GRPSYL *grpsyl_p)); | |
240 | extern int chk_crossbeam P((struct GRPSYL *gs_p, struct MAINLL *mll_p)); | |
241 | ||
242 | /* beamstem.c */ | |
243 | extern void beamstem P((void)); | |
244 | ||
245 | /* brac.c */ | |
246 | extern int brac_check P((struct STAFFSET *bracelist_p, int nbrace, | |
247 | struct STAFFSET *bracklist_p, int nbrack)); | |
248 | extern int pr_brac P((int is_restart, double x_offset, struct MAINLL *mll_p)); | |
249 | extern double width_left_of_score P((struct MAINLL *mll_p)); | |
250 | extern double pwidth_left_of_score P((struct MAINLL *mll_p, | |
251 | struct MAINLL *prev_feed_mll_p)); | |
252 | ||
253 | /* charinfo.c */ | |
254 | extern double height P((int font, int size, int ch)); | |
255 | extern double width P((int font, int size, int ch)); | |
256 | extern double ascent P((int font, int size, int ch)); | |
257 | extern double descent P((int font, int size, int ch)); | |
258 | extern char *fix_string P((char *string, int font, int size, char *fname, | |
259 | int lineno)); | |
260 | extern char *mc_num2name P((int code, int font)); | |
261 | extern unsigned char mc_name2num P((char *name, char *fname, int lineno, | |
262 | int *size_p, int *font_p)); | |
263 | extern int str2mfont P((int str)); | |
264 | extern int mfont2str P((int mfont)); | |
265 | #ifdef EXTCHAR | |
266 | extern char *ext_num2name P((int code)); | |
267 | #endif | |
268 | extern int is_music_symbol P((char *str)); | |
269 | extern double strascent P((char *str)); | |
270 | extern double strdescent P((char *str)); | |
271 | extern double strheight P((char *str)); | |
272 | extern double strwidth P((char *str)); | |
273 | extern char *tranchstr P((char *chordstring, int staffno)); | |
274 | extern int restchar P((int basictime)); | |
275 | extern char *dashstr P((char *str)); | |
276 | extern void end_fontsize P((char *str, int *font_p, int *size_p)); | |
277 | extern char *ascii_str P((char *str, int verbose, int pagenum, int textmod)); | |
278 | extern char *split_string P((char *string, double desired_width)); | |
279 | extern int adj_size P((int size, double factor, char *filename, int lineno)); | |
280 | extern char *resize_string P((char *string, double factor, char *filename, | |
281 | int lineno)); | |
282 | extern double left_width P((char *)); | |
283 | extern char *acc_trans P((char *string)); | |
284 | extern char *modify_chstr P((char *string, int modifier)); | |
285 | extern int is_ital_font P((int font)); | |
286 | extern double circled_dimensions P((char *str, float* height_p, float *width_p, | |
287 | float *ascent_adjust, float *x_offset_p)); | |
288 | extern char *get_reh_string P((char *string, int staffnum)); | |
289 | ||
290 | /* check.c */ | |
291 | extern int rangecheck P((int n, int min, int max, char *name)); | |
292 | extern int frangecheck P((double n, double min, double max, char *name)); | |
293 | extern int power_of2check P((int n, char *name)); | |
294 | extern int contextcheck P((int validcontext, char *action)); | |
295 | extern char *contextname P((int cont)); | |
296 | extern void check_at_least1visible P((void)); | |
297 | extern void chk_vis_feed P((void)); | |
298 | extern void chk_interval P((int inttype, int intnum)); | |
299 | extern void used_check P((struct MAINLL *mll_p, int var, char *name)); | |
300 | extern int l_rangecheck P((int num, int min, int max, char *name, char *fname, | |
301 | int lineno)); | |
302 | extern void combine_rests P((int c)); | |
303 | extern char *markname P((int mark)); | |
304 | extern void chk_order P((struct SSV *ssv_p, int place)); | |
305 | extern int erangecheck P((int n, int min, int max, int empty_value, | |
306 | char *name)); | |
307 | extern void chk_x_arg P((char *x_arg, int *start_p, int *end_p)); | |
308 | extern void extract P((int start, int end)); | |
309 | ||
310 | /* debug.c */ | |
311 | extern char *stype_name P((int stype)); | |
312 | extern void print_mainll P((void)); | |
313 | ||
314 | /* errors.c */ | |
315 | extern void ufatal P((char *format, ...)); | |
316 | extern void pfatal P((char *format, ...)); | |
317 | extern void l_ufatal P((char *filename, int lineno, char *format, ...)); | |
318 | extern void l_pfatal P((char *filename, int lineno, char *format, ...)); | |
319 | extern void l_no_mem P((char *filename, int lineno)); | |
320 | extern void cant_open P((char *filename)); | |
321 | extern void warning P((char *format, ...)); | |
322 | extern void l_yyerror P((char *fname, int lineno, char *format, ...)); | |
323 | extern void l_warning P((char *filename, int lineno, char *format, ...)); | |
324 | extern void debug P((int level, char *format, ...)); | |
325 | extern int debug_on P((int level)); | |
326 | extern void doraterr P((int code)); | |
327 | extern void error_exit P((void)); | |
328 | extern void print_offending_line P((char *filename, int lineno)); | |
329 | ||
330 | /* font.c */ | |
331 | extern double fontascent P((int font, int size)); | |
332 | extern double fontdescent P((int font, int size)); | |
333 | extern double fontheight P((int font, int size)); | |
334 | extern void parse_font_file P((char *filename)); | |
335 | extern int lookup_font P((char *fontname)); | |
336 | extern int font_index P((int font)); | |
337 | extern char *fontnum2name P((int font)); | |
338 | ||
339 | /* fontdata.c */ | |
340 | extern struct FONTINFO Fontinfo[MAXFONTS]; | |
341 | extern float Maxfontheight[MAXFONTS]; | |
342 | extern float Maxfontascent[MAXFONTS]; | |
343 | ||
344 | /* gram.y */ | |
345 | extern int yyparse P((void)); | |
346 | extern int yyerror P((char *msg)); | |
347 | ||
348 | /* grpsyl.c */ | |
349 | extern struct GRPSYL *newGRPSYL P((int grp_or_syl)); | |
350 | extern void copy_attributes P((struct GRPSYL *newgrp_p, | |
351 | struct GRPSYL *oldgrp_p)); | |
352 | extern struct TIMELIST *copy_timeunit P((struct GRPSYL *newgrp_p, | |
353 | struct GRPSYL *oldgrp_p, struct TIMELIST *timelist_p)); | |
354 | extern void copy_notes P((struct GRPSYL *newgrp_p, struct GRPSYL *oldgrp_p)); | |
355 | extern void link_notegroup P((struct GRPSYL *newgrp_p, | |
356 | struct GRPSYL *last_grp_p)); | |
357 | extern void add_note P((struct GRPSYL *grpsyl_p, int pitch, int accidental, | |
358 | int octave, int nticks, int has_paren, char *bend_string)); | |
359 | #ifdef __STDC__ | |
360 | extern int notecomp P((const void *item1_p, const void *item2_p)); | |
361 | #else | |
362 | extern int notecomp P((char *item1_p, char *item2_p)); | |
363 | #endif | |
364 | extern int reconstruct_basictime P((RATIONAL fulltime)); | |
365 | extern int recalc_dots P((RATIONAL fulltime, int basictime)); | |
366 | extern void clone_withlist P((struct GRPSYL *newgrp_p, | |
367 | struct GRPSYL *oldgrp_p)); | |
368 | extern char *stringname P((int stringno, int staffno)); | |
369 | extern char *format_string_name P((int letter, int accidental, | |
370 | int nticks)); | |
371 | extern void do_bar P((int bartype)); | |
372 | extern void begin_tuplet P((void)); | |
373 | extern void end_tuplet P((int tupcont, RATIONAL tuptime, int printtup, | |
374 | int tupside)); | |
375 | extern void check4barline_at_end P((void)); | |
376 | extern void add_multirest P((int nummeas)); | |
377 | extern struct GRPSYL *clone_gs_list P((struct GRPSYL *list_p, | |
378 | int copy_noteinfo)); | |
379 | extern void add_slurto P((struct GRPSYL *grpsyl_p, int pitch, int octave, | |
380 | int note_index, int slurstyle)); | |
381 | extern void free_grpsyls P((struct GRPSYL *gs_p)); | |
382 | extern void resize_notelist P((struct GRPSYL *gs_p)); | |
383 | extern void add_meas_space P((struct GRPSYL **gs_p_p, int staff, int voice)); | |
384 | extern int is_mrpt P((struct GRPSYL *gs_p)); | |
385 | extern void report_mix_error P((void)); | |
386 | extern void free_notelist P((struct GRPSYL *gs_p)); | |
387 | extern void begin_slur P((struct GRPSYL *grpsyl_p, int note_index)); | |
388 | extern void set_slurdir P((struct GRPSYL *grpsyl_p, int note_index, int dir)); | |
389 | extern int has_pickup P((void)); | |
390 | extern struct GRPSYL *expandgrp P((struct GRPSYL *grpsyl_p, | |
391 | struct TIMELIST *timelist_p)); | |
392 | extern RATIONAL calcfulltime P((RATIONAL basictime, int dots)); | |
393 | ||
394 | /* lex.l */ | |
395 | extern void chk_ifdefs P((void)); | |
396 | extern int save_macro P((FILE *file)); | |
397 | extern int yylex P((void)); | |
398 | extern void get_parameters P((char *macname)); | |
399 | extern int get_mac_arguments P((char *macname, int num_args)); | |
400 | extern void pushback P((int c)); | |
401 | extern void begin_raw P(()); | |
402 | extern void end_raw P(()); | |
403 | extern void new_lexbuff P((FILE *file)); | |
404 | extern void del_lexbuff P((void)); | |
405 | ||
406 | /* locvar.c */ | |
407 | extern void fix_locvars P((void)); | |
408 | ||
409 | /* lyrics.c */ | |
410 | extern void lyr_verse P((int begin, int end)); | |
411 | extern void proc_lyrics P((struct GRPSYL *grpsyl_p, char *lyrstring)); | |
412 | extern void attach_lyrics2staffs P((struct MAINLL *mll_staffs_p)); | |
413 | extern void sylwidth P((char *lyrstring, float *wid_b4_syl_p, | |
414 | float *wid_real_syl_p, float *wid_after_syl_p)); | |
415 | extern void set_maxverses P((void)); | |
416 | extern struct SSV *get_lyr_dflt_timeunit_ssv P((void)); | |
417 | extern void setlyrfont P((int staffno, int font)); | |
418 | extern void setlyrsize P((int staffno, int size)); | |
419 | extern void lyr_compensate P((struct GRPSYL *gs_p)); | |
420 | extern struct GRPSYL *derive_lyrtime P((void)); | |
421 | extern void lyr_new_bar P((void)); | |
422 | ||
423 | /* macros.c */ | |
424 | extern int not_in_mac P((int inc_dec)); | |
425 | extern void mac_error P((void)); | |
426 | extern void includefile P((char *fname)); | |
427 | extern int popfile P((void)); | |
428 | extern void cmdline_macro P((char *macdef)); | |
429 | extern void define_macro P((char *macname)); | |
430 | extern void undef_macro P((char *macname)); | |
431 | extern void call_macro P((char *macname)); | |
432 | extern int is_defined P((char *macname, int paramtoo)); | |
433 | #ifndef unix | |
434 | extern void mac_cleanup P((void)); | |
435 | #endif | |
436 | extern void add_parameter P((char *macname, char *param_name)); | |
437 | extern void set_parm_value P((char *macname, char *argbuff, int argnum)); | |
438 | extern char *add2argbuff P((char *argbuff, int c)); | |
439 | extern FILE *find_file P((char **filename_p)); | |
440 | extern void preproc P((void)); | |
441 | ||
442 | /* main.c */ | |
443 | extern int onpagelist P((int pagenum)); | |
444 | extern int yywrap P((void)); | |
445 | extern int last_page P((void)); | |
446 | ||
447 | /* mainlist.c */ | |
448 | extern struct MAINLL *newMAINLLstruct P((int structtype, int lineno)); | |
449 | extern void insertMAINLL P((struct MAINLL *info_p, struct MAINLL *where)); | |
450 | extern void unlinkMAINLL P((struct MAINLL *which_p)); | |
451 | ||
452 | /* map.c */ | |
453 | extern void begin_map P((void)); | |
454 | extern void end_map P((void)); | |
455 | extern void map_item P((void)); | |
456 | extern void save_map P((void)); | |
457 | extern struct SSV *get_dflt_timeunit_ssv P((void)); | |
458 | extern void reset_input_style P((void)); | |
459 | extern int input_style P((int staff, int voice)); | |
460 | extern void merge_dup_notes P((struct GRPSYL *gs_p, int n)); | |
461 | extern void link_groups P((void)); | |
462 | extern int is_tab_range P((void)); | |
463 | extern int timelists_equal P((struct TIMELIST *tlist1_p, | |
464 | struct TIMELIST *tlist2_p)); | |
465 | ||
466 | /* mkchords.c */ | |
467 | extern void makechords P((void)); | |
468 | ||
469 | /* midi.c */ | |
470 | extern void gen_midi P((char *midifilename)); | |
471 | extern UINT32B write_delta P((int mfile)); | |
472 | extern int voice_used P((int staffno, int vno)); | |
473 | ||
474 | /* midiutil.c */ | |
475 | extern void fix_track_size P((int mfile, long track_start, long track_size)); | |
476 | extern int parse_octave P((char *string, int place, char *fname, int lineno)); | |
477 | extern int clocks P((int num)); | |
478 | extern int getkeyword P((char *string, char **key_p, int *leng_p, | |
479 | char **arg_p_p)); | |
480 | extern int matches P((char *key, int leng, char *cmd)); | |
481 | extern int hexdig P((int ch)); | |
482 | extern UINT32B midi_wrstring P((int mfile, char *str, int internalform)); | |
483 | extern UINT32B wr_varlength P((int mfile, UINT32B num)); | |
484 | extern UINT32B midi_keysig P((int mfile, int sharps, int is_minor)); | |
485 | extern UINT32B midi_timesig P((int mfile)); | |
486 | extern void add_rest P((struct GRPSYL *gs_p, RATIONAL fulltime)); | |
487 | extern struct GRPSYL *grp_before P((struct GRPSYL *gs_p, struct MAINLL *mll_p, | |
488 | int staffno, int v)); | |
489 | extern void midi_squeeze P((void)); | |
490 | extern void guitar_transpose P((void)); | |
491 | extern void other_voice_accidentals P((struct STAFF *staff_p)); | |
492 | extern void mv_midi_items P((struct MAINLL *mll_p, | |
493 | struct MAINLL *topstaff_mll_p)); | |
494 | extern int get_param P((char *arg, char *inputfile, int inputlineno, | |
495 | int *parmnum_p, int *parmval_p)); | |
496 | ||
497 | /* nxtstrch.c */ | |
498 | extern double backsp_width P((int size)); | |
499 | extern int next_str_char P((char **str_p, int *font_p, int *size_p)); | |
500 | extern int nxt_str_char P((char **str_p, int *font_p, int *size_p, | |
501 | int *textfont_p, double *vertical_p, double *horizontal_p, | |
502 | int *in_pile_p, int slash)); | |
503 | extern double align_distance P((char *string, int font, int size)); | |
504 | extern double pile_width P((void)); | |
505 | extern int pile_size P((int size, int in_pile)); | |
506 | ||
507 | /* parstssv.c */ | |
508 | extern struct TIMEDSSV *tssv_create P((int context)); | |
509 | extern void tssv_update P((struct TIMEDSSV *timedssv_p, int param, int value)); | |
510 | extern void tssv_setgrpsyl P((struct GRPSYL *gs_p)); | |
511 | extern void tssv_line P((void)); | |
512 | extern struct TIMEDSSV *tssv_sort P((void)); | |
513 | ||
514 | /* parstuff.c */ | |
515 | extern void chk_stuff_header P((int size, int modifier, int place, | |
516 | int dist_usage)); | |
517 | extern void add_stuff_item P((double start_count, double start_steps, | |
518 | int gracebackup, char *string, int bars, double count, | |
519 | int dist, int dist_usage)); | |
520 | extern int string_is_sym P((char *string, int sym, int font)); | |
521 | extern void attach_stuff P((void)); | |
522 | extern void meas_stuff_chk P((void)); | |
523 | extern void chk4dangling_til_clauses P((char *boundary_desc)); | |
524 | extern struct STUFF *newSTUFF P((char *string, int dist, int dist_usage, | |
525 | double start_count, double start_steps, int gracebackup, | |
526 | int bars, double count, int stuff_type, int modifier, | |
527 | int place, char *inputfile, int inputlineno)); | |
528 | extern void reset_ped_state P((void)); | |
529 | extern void set_reh_string P((struct BAR *bar_p, int fontfamily, int font, | |
530 | int size, char *string)); | |
531 | extern void set_stuff_type P((int stuff_type)); | |
532 | extern int dflt_place P((void)); | |
533 | extern void ped_endings P((int endingloc)); | |
534 | extern void multi_stuff P((int nmeas)); | |
535 | extern int get_stuff_type P((void)); | |
536 | extern char *stuff_modifier P((int modifier)); | |
537 | extern char *pad_string P((char *string, int modifier)); | |
538 | extern void connect_stuff P((struct STAFF *staff_p, struct STUFF *stufflist_p)); | |
539 | extern void init_reh P((int rehnumber, char *rehletter, | |
540 | struct MAINLL *mainbar_p)); | |
541 | ||
542 | /* phrase.c */ | |
543 | extern void phrase_points P((struct MAINLL *mll_p, struct STUFF *stuff_p)); | |
544 | extern void tieslur_points P((struct MAINLL *mll_p, struct STUFF *stuff_p)); | |
545 | extern void bend_points P((struct MAINLL *mll_p, struct STUFF *stuff_p)); | |
546 | extern void tabslur_points P((struct MAINLL *mll_p, struct STUFF *stuff_p)); | |
547 | ||
548 | /* plutils.c */ | |
549 | extern struct GRPSYL *nextnongrace P((struct GRPSYL *gs_p)); | |
550 | extern struct GRPSYL *prevnongrace P((struct GRPSYL *gs_p)); | |
551 | extern struct GRPSYL *nextglobnongrace P((struct GRPSYL *gs_p, | |
552 | struct MAINLL **mll_p_p)); | |
553 | extern struct GRPSYL *prevglobnongrace P((struct GRPSYL *gs_p, | |
554 | struct MAINLL **mll_p_p)); | |
555 | extern int drmo P((int num)); | |
556 | extern double tieslurpad P((struct STAFF *staff_p, struct GRPSYL *gs_p)); | |
557 | extern int hasspace P((struct GRPSYL *gs_p, RATIONAL vtime, RATIONAL vtime2)); | |
558 | extern struct GRPSYL *closestgroup P((double count, struct GRPSYL *firstgs_p, | |
559 | int timeden)); | |
560 | extern int chkallspace P((struct MAINLL *msbeg_p, struct STUFF *stuff_p, | |
561 | int vno)); | |
562 | extern int allspace P((int vno, struct MAINLL *msbeg_p, RATIONAL begtime, | |
563 | struct MAINLL *msend_p, RATIONAL endtime)); | |
564 | extern struct MAINLL *getendstuff P((struct MAINLL *mainll_p, | |
565 | struct STUFF *stuff_p, int *timeden_p)); | |
566 | extern void accdimen P((struct NOTE *note_p, float *ascent_p, float *descent_p, | |
567 | float *width_p)); | |
568 | extern double staffvertspace P((int s)); | |
569 | extern double halfstaffhi P((int s)); | |
570 | extern RATIONAL ratbend P((struct NOTE *note_p)); | |
571 | extern double notehorz P((struct GRPSYL *gs_p, struct NOTE *note_p, int coord)); | |
572 | extern int allsmall P((struct GRPSYL *gs1_p, struct GRPSYL *gs2_p)); | |
573 | extern void finalstemadjust P((struct GRPSYL *gs_p)); | |
574 | extern double getstemshift P((struct GRPSYL *gs_p)); | |
575 | extern int vscheme_voices P((int vscheme)); | |
576 | extern struct MAINLL *chmgrp2staffm P((struct MAINLL *mll_p, | |
577 | struct GRPSYL *gs_p)); | |
578 | extern void shiftgs P((struct GRPSYL *gs_p, double shift)); | |
579 | extern double nearestline P((double offset)); | |
580 | extern void vfyoffset P((struct GRPSYL *g_p[])); | |
581 | extern double adjslope P((struct GRPSYL *g_p, double oldslope, int betweencsb)); | |
582 | extern double eos_bar_adjust P((struct BAR *bar_p)); | |
583 | extern double curve_y_at_x P((struct CRVLIST *first_p, double x)); | |
584 | extern double findcubic P((struct CRVLIST *left_p, struct CRVLIST *right_p, | |
585 | float *a_p, float *b_p, float *c_p)); | |
586 | extern double solvecubic P((double a, double b, double c, double d, | |
587 | double lo, double hi, double thresh)); | |
588 | extern int css_affects_stemtip P((struct GRPSYL *gs1_p)); | |
589 | extern struct CHORD *gs2ch P((struct MAINLL *mll_p, struct GRPSYL *gs_p)); | |
590 | extern int css_affects_tieslurbend P((struct STUFF *stuff_p, struct MAINLL *mll_p)); | |
591 | extern int css_affects_phrase P((struct STUFF *stuff_p, struct MAINLL *mll_p)); | |
592 | extern struct GRPSYL *nextsimilar P((struct GRPSYL *gs_p)); | |
593 | extern struct GRPSYL *prevsimilar P((struct GRPSYL *gs_p)); | |
594 | extern double stemroom P((struct GRPSYL *gs_p)); | |
595 | ||
596 | /* print.c */ | |
597 | extern void print_music P((void)); | |
598 | extern void do_linetype P((int ltype)); | |
599 | extern void draw_line P((double x1, double y1, double x2, double y2)); | |
600 | extern void pr_muschar P((double x, double y, int ch, int size, int font)); | |
601 | extern double pr_clefsig P((struct MAINLL *mll_p, struct CLEFSIG *clefsig_p, | |
602 | int really_print)); | |
603 | extern void pr_string P((double x, double y, char *string, int justify, | |
604 | char *fname, int lineno)); | |
605 | extern void end_curve P((int ncoord, double x, double y)); | |
606 | extern void outcoord P((double val)); | |
607 | extern void draw_wavy P((double x1, double y1, double x2, double y2)); | |
608 | extern void do_pr_brac P((double x, double y1, double y2, int which)); | |
609 | extern void pr_linenum P((char *inputfile, int inputlineno)); | |
610 | extern void do_moveto P((double x, double y)); | |
611 | extern void do_line P((double x, double y)); | |
612 | extern void do_fill P((void)); | |
613 | extern void do_stroke P((void)); | |
614 | extern void do_curveto P((double x1, double y1, double x2, double y2, | |
615 | double x3, double y3)); | |
616 | extern void do_newpath P((void)); | |
617 | extern void do_closepath P((void)); | |
618 | extern void trailer P((void)); | |
619 | extern void do_closepath P((void)); | |
620 | extern void do_whitebox P((double x1, double y1, double x2, double y2)); | |
621 | extern void draw_prop_line P((double x1, double y1, double x2, double y2, | |
622 | int size, int ltype)); | |
623 | extern void do_grid P((double x, double y, double space, struct GRID *grid_p, | |
624 | int staff)); | |
625 | extern void newpage P((struct MAINLL *mll_p)); | |
626 | extern void pr_feed P((struct MAINLL *main_feed_p)); | |
627 | extern double pr_clef P((int staffno, double x, int really_print, int size)); | |
628 | ||
629 | /* prntdata.c */ | |
630 | extern void pr_staff P((struct MAINLL *mll_p)); | |
631 | extern int tupdir P((struct GRPSYL *gs_p, struct STAFF *staff_p)); | |
632 | extern char *num2str P((int num)); | |
633 | extern char *mrnum P((struct STAFF *staff_p, double *x_p, double *y_offset_p, | |
634 | double *height_p, double *width_p)); | |
635 | extern int tupgetsbrack P((struct GRPSYL *gs_p)); | |
636 | extern char *tupnumsize P((struct GRPSYL *gs_p, float *west_p, | |
637 | float *east_p, float *height_p, struct STAFF *staff_p)); | |
638 | extern int pbeamside P((struct GRPSYL *gs_p, struct GRPSYL *first_p)); | |
639 | extern struct GRPSYL *nxtbmgrp P((struct GRPSYL *gs_p, struct GRPSYL *first_p, | |
640 | struct GRPSYL *endnext_p)); | |
641 | extern struct GRPSYL *prevbmgrp P((struct GRPSYL *gs_p, | |
642 | struct GRPSYL *first_p)); | |
643 | extern double end_bm_offset P((struct GRPSYL *top_first_p, struct GRPSYL *end_p, | |
644 | int basictime)); | |
645 | extern void pr_slashes P((struct GRPSYL *grpsyl_p, double x, double y, | |
646 | double sign, double offset, double y_tilt)); | |
647 | extern void pr_tab_groups P((struct GRPSYL *gs_p, struct MAINLL *mll_p)); | |
648 | extern void pr_withlist P((struct GRPSYL *gs_p)); | |
649 | extern void pr_mrpt P((struct GRPSYL *gs_p, struct STAFF *staff_p)); | |
650 | extern void pr_multirest P((struct GRPSYL *gs_p, struct STAFF *staff_p)); | |
651 | ||
652 | /* prntmisc.c */ | |
653 | extern void pr_endings P((struct MAINLL *main_feed_p)); | |
654 | extern int has_ending P((int staffno)); | |
655 | extern void pr_ped_char P((struct STUFF *stuff_p, int staffno)); | |
656 | extern void pr_ped_bar P((struct MAINLL *mll_p, struct BAR *bar_p)); | |
657 | extern void pr_phrase P((struct CRVLIST *crvlist_p, int linetype, int tapered, | |
658 | int staffno)); | |
659 | extern void pr_allcurve P((float x[], float y[], int num, double cwid, | |
660 | int tapered)); | |
661 | extern void saveped P((struct MAINLL *mll_p, struct BAR *bar_p)); | |
662 | extern double ped_offset P((void)); | |
663 | extern void pr_bend P((struct CRVLIST *crvlist_p)); | |
664 | extern void pr_tabslur P((struct CRVLIST *crvlist_p, int ts_style)); | |
665 | extern void pr_sm_bend P((double x, double y)); | |
666 | extern void pr_atend P((void)); | |
667 | ||
668 | /* prnttab.c */ | |
669 | extern char *fret_string P((struct NOTE *note_p, struct GRPSYL *gs_p)); | |
670 | extern char *bend_string P((struct NOTE *note_p)); | |
671 | extern void pr_tab_groups P((struct GRPSYL *gs_p, struct MAINLL *mll_p)); | |
672 | extern double pr_tabclef P((int staffno, double x, int really_print, int size)); | |
673 | ||
674 | /* prolog.c */ | |
675 | extern void ps_prolog P((void)); | |
676 | ||
677 | /* range.c */ | |
678 | extern void begin_range P((int place)); | |
679 | extern void save_staff_range P((int beginstaffno, int endstaffno)); | |
680 | extern void save_vno_range P((int begin, int end)); | |
681 | extern void free_rlists P((void)); | |
682 | extern void chk_range_type P((int has_ampersand)); | |
683 | extern void create_staffs P((void)); | |
684 | extern void all P((void)); | |
685 | extern void free_staffrange P((void)); | |
686 | extern void free_vnorange P((void)); | |
687 | extern int is_tab_staff P((int staffno)); | |
688 | extern int leadstaff P((void)); | |
689 | extern void add_to_sv_list P((void)); | |
690 | extern void free_sv_list P((struct SVRANGELIST *svlist_p)); | |
691 | extern void begin_sv_list P((void)); | |
692 | ||
693 | /* relvert.c */ | |
694 | extern void relvert P((void)); | |
695 | ||
696 | /* restsyl.c */ | |
697 | extern void restsyl P((void)); | |
698 | ||
699 | /* roll.c */ | |
700 | extern void newROLLINFO P((void)); | |
701 | extern void setrolldir P((int dir)); | |
702 | extern void rollparam P((int topstaff, int topvoice, int botstaff, | |
703 | int botvoice)); | |
704 | extern void rolloffset P((double offset)); | |
705 | extern void do_rolls P((struct MAINLL *mll_p)); | |
706 | extern void print_roll P((struct GRPSYL *gs_p)); | |
707 | extern int gets_roll P((struct GRPSYL *gs_p, struct STAFF *staff_p, int v)); | |
708 | ||
709 | /* setgrps.c */ | |
710 | extern void setgrps P((void)); | |
711 | ||
712 | /* setnotes.c */ | |
713 | extern void setnotes P((void)); | |
714 | ||
715 | /* ssv.c */ | |
716 | extern void initstructs P((void)); | |
717 | extern void zapssv P((struct SSV *s_p)); | |
718 | extern struct SSV *svpath P((int s, int field)); | |
719 | extern struct SSV *vvpath P((int s, int v, int field)); | |
720 | extern void asgnssv P((struct SSV *i_p)); | |
721 | extern void setssvstate P((struct MAINLL *mainll_p)); | |
722 | ||
723 | /* stuff.c */ | |
724 | extern void stuff P((void)); | |
725 | ||
726 | /* symtbl.c */ | |
727 | extern void init_symtbl P((void)); | |
728 | extern void addsym P((char *symname, float *coordlist_p, int coordtype)); | |
729 | extern float *symval P((char *symname, float **ref_p_p)); | |
730 | extern struct COORD_INFO *find_coord P((float *key)); | |
731 | extern void add_coord P((float *coordlist_p, int coordtype)); | |
732 | extern struct GRID *findgrid P((char *name)); | |
733 | extern void add_grid P((char *name, char *griddef)); | |
734 | extern struct GRID *nextgrid P((struct GRID *grid_p)); | |
735 | extern void set_win_coord P((float *coord_p)); | |
736 | extern void add_shape P((char *name, char *shapes)); | |
737 | extern int nheadchar P((int headshape, int basictime, int stemdir, | |
738 | int *font_p)); | |
739 | extern int get_shape_num P((char *shapename)); | |
740 | extern double stem_yoff P((int headch, int font, int stemdir)); | |
741 | extern void remember_tsig_params P((struct MAINLL *mll_p)); | |
742 | extern void upd_ref P((float *old_p, float *new_p)); | |
743 | extern void rep_inpcoord P((struct INPCOORD *old_inpcoord_p, | |
744 | struct INPCOORD *new_inpcoord_p)); | |
745 | ||
746 | /* tie.c */ | |
747 | extern void tie P((void)); | |
748 | extern void tie_carry P((void)); | |
749 | extern struct GRPSYL *find_1st_grp_in_nxt_measure P((struct MAINLL *mll_p, | |
750 | int vno)); | |
751 | extern struct GRPSYL *find_next_group P((struct MAINLL *mll_p, | |
752 | struct GRPSYL *gs_p, char *type)); | |
753 | extern struct NOTE *find_matching_note P((struct GRPSYL *gs_p, | |
754 | int letter, int octave, char *type_p)); | |
755 | ||
756 | /* trantab.c */ | |
757 | extern void tab2tabnote P((void)); | |
758 | ||
759 | /* trnspose.c */ | |
760 | extern void transgroups P((void)); | |
761 | extern char *tranchnote P((int letter, int acc, int staffno)); | |
762 | extern int eff_key P((int staff)); | |
763 | extern void totaltrans P((int s, int *type_p, int *num_p)); | |
764 | ||
765 | /* undrscre.c */ | |
766 | extern int spread_extender P((struct GRPSYL *gs_p, struct MAINLL *mll_p, | |
767 | int verse, int sylplace, int really_print)); | |
768 | extern int has_extender P((char *syl)); | |
769 | extern void cont_extender P((struct MAINLL *mll_p, int sylplace, | |
770 | int verseno)); | |
771 | extern int last_char P((char *str)); | |
772 | ||
773 | /* utils.c */ | |
774 | extern void set_cur P((double x, double y)); | |
775 | extern void set_win P((double n, double s, double e, double w)); | |
776 | extern double width_barline P((struct BAR *bar_p)); | |
777 | extern double width_clefsig P((struct CLEFSIG *clefsig_p)); | |
778 | extern int clefchar P((int clef)); | |
779 | extern void calc_headfoot_height P((void)); | |
780 | extern int numbeams P((int btime)); | |
781 | extern int acc2char P((int acc)); | |
782 | extern double inpc_x P((struct INPCOORD *inpcoord_p, char *fname, int lineno)); | |
783 | extern double inpc_y P((struct INPCOORD *inpcoord_p, char *fname, int lineno)); | |
784 | extern double find_y_stem P((struct GRPSYL *gs_p)); | |
785 | extern double find_x_stem P((struct GRPSYL *gs_p)); | |
786 | extern double width_keysig P((int sharps, int naturals)); | |
787 | extern struct GRPSYL *nextgrpsyl P((struct GRPSYL *gs_p, | |
788 | struct MAINLL **mll_p_p)); | |
789 | extern struct GRPSYL *prevgrpsyl P((struct GRPSYL *gs_p, | |
790 | struct MAINLL **mll_p_p)); | |
791 | extern void octave_transpose P((struct STAFF *staff_p, struct MAINLL *mll_p, | |
792 | int vno, int normdir)); | |
793 | extern int eff_acc P((struct GRPSYL *gs_p, struct NOTE *note_p, | |
794 | struct MAINLL *mll_p)); | |
795 | extern int acc_from_keysig P((int letter, int staffno, struct MAINLL *mll_p)); | |
796 | extern void set_staffscale P((int s)); | |
797 | extern void gridsize P((struct GRID *grid_p, int staff, float *north_ptr, | |
798 | float *south_ptr, float *east_ptr, float *west_ptr)); | |
799 | extern double gridspace P((int staff)); | |
800 | extern void gridinfo P((struct GRID *grid_p, int staff, int *frets_p, | |
801 | int *fretnum_p, int *numvert_p, int *topfret_p)); | |
802 | extern double clefspace P((int prevclef, double prevscale, int curclef, | |
803 | double curscale, int measnum)); | |
804 | extern double eff_rightmargin P((struct MAINLL *mainll_p)); | |
805 | extern double eff_leftmargin P((struct MAINLL *mainll_p)); | |
806 | extern short *findprimes P((int max)); | |
807 | extern short *factor P((int num)); | |
808 | extern double clefwidth P((int clef, int is_small)); | |
809 | extern int clefvert P((int clef, int is_small, float *north_p, float *south_p)); | |
810 | extern double widest_head P((struct GRPSYL *gs_p)); | |
811 | extern void calc_block_heights P((void)); | |
812 | ||
813 | #endif |