/* StaffCalibration.h */

#ifndef Included_StaffCalibration_h
#define Included_StaffCalibration_h

/* StaffCalibration module depends on */
/* MiscInfo.h */
/* Audit */
/* Debug */
/* Definitions */
/* Screen */
/* Frequency */
/* NoteObject */
/* Memory */

#include "Screen.h"

/* get the maximum number of vertical pixels needed to represent score range */
OrdType						MaxVerticalSize(void);

/* get the pixel offset of the center note */
OrdType						GetCenterNotePixel(void);

/* convert pitch to vertical pixel offset. */
OrdType						ConvertPitchToPixel(short HalfStep, unsigned short SharpFlatFlags);

/* convert pixel offset to halfstep value */
short							ConvertPixelToPitch(OrdType Pixel);

/* get statically allocated list of major staff lines */
short*						GetMajorStaffList(void);

/* get length of staff list */
long							GetMajorStaffListLength(void);

/* get dynamically allocated list of minor staff lines */
short*						GetMinorStaffList(void);

/* set up note.  Flags is the attributes flags field from the note (make sure */
/* that neither the flat nor sharp flag is set in it).  Pitch will contain the */
/* pitch value.  Sharp and Flat contain flags indicating whether the user wants */
/* the note to be sharp or flat, and Pixel contains the screen location. */
void							SetUpNoteInfo(short* Pitch, unsigned long* SharpFlatThing,
										MyBoolean Sharp, MyBoolean Flat, OrdType Pixel);

#endif
