Rules for Tools/struct Environment
struct Environment
Environment structure, for loading and saving entire songs.
struct Environment {
char lock; /* Do not touch this structure! */
char measureres; /* Cuts resolve to measures. */
char recording; /* Set when recording. */
char running; /* Set when running. */
char punchenabled; /* Auto punch in and out enabled. */
char loopenabled; /* Loop mode turned on. */
char clicking; /* Click track on? */
char seeclick; /* Visual metronome. */
char multiin; /* Multiple inputs? */
char clickchannel; /* MIDI CLick channel. */
char midiclock; /* Sync to MIDI clocks. */
char smpteclock; /* Sync to SMPTE. */
char sendmidiclock; /* Send out MIDI clocks. */
char smptetype; /* Which SMPTE format. */
char countdown; /* Do count down. */
char midiclick; /* Use MIDI for click. */
char chop;
unsigned long countlen; /* Length of lead in. */
unsigned long timenow; /* Current time. */
unsigned long markone; /* Auto locate register. */
unsigned long marktwo; /* Auto locate register. */
unsigned long punchin; /* Punch in point. */
unsigned long punchout; /* Punch out point. */
unsigned long loopin; /* Loop in point. */
unsigned long loopout; /* Loop out point. */
unsigned long cutin; /* Cut in point. */
unsigned long cutout; /* Cut out point. */
unsigned long starttime; /* Where to play from. */
unsigned long stoptime; /* Marker to stop at. */
unsigned long padcutin; /* For non real time edits. */
unsigned long padcutout; /* For non real time edits. */
unsigned long songlength;
long startoffset; /* Starting hi res clock offset. */
unsigned short tempos[4];
unsigned short tempo; /* Current tempo. */
unsigned short inittempo; /* Initial tempo. */
char songname[100];
char author[100];
short palette[8]; /* Colors. */
char remotecontrol[128]; /* Table of remote controls. */
long id; /* Each has a unique id. */
long more[19]; /* Expansion space. */
struct Track *tracklist; /* Top track in list. */
struct Clip masterclip; /* Master key, chord, signature. */
struct Clip masterundo;
struct Clip mastercut;
struct Edit *masteredit;
struct Tool *edittools[16];/* 16 Tools to edit with. */
unsigned short toolid; /* Global tool id. */
short groupid; /* Currently selected group. */
struct Chord *scalelist; /* All scales. */
struct Chord *chordlist; /* All chords. */
struct Rhythm *rhythmlist; /* All rhythms. */
long padd;
struct Event *lista; /* Leave this alone. */
};