1
//=========================================================
4
// $Id: midithreadp.h,v 1.2 2001/11/20 15:19:31 muse Exp $
6
// (C) Copyright 2001 Werner Schweer (ws@seh.de)
7
//=========================================================
9
enum State {IDLE, PLAY, START_PLAY, SYNC, PRECOUNT};
14
//---------------------------------------------------------
16
//---------------------------------------------------------
18
struct MidiThreadPrivate {
24
int playTickPos; // current midi tick position in song
27
EventList* playEvents;
28
EventList* stuckNotes;
30
int recTick; // ext sync tick position
31
int lastTickPos; // position of last sync tick
34
int curPitch, curVelo; // Note Input for step recording etc.
40
int midiTick; // free running midi tick position
41
int midiTickStart; // midi tick at last tempo change
43
int rtcTickStart; // rtc tick at last tempo change
44
int midiSync; // next midi sync pos in midi ticks
45
int realRtcTicks; // current rtc tick rate 1/sec
46
int tempoSN; // last tempo serial number to track
48
double mclock1, mclock2;
58
void playEvent(MidiEvent* event);
59
void processTimerTick();
61
void realtimeSystemInput(int, int);
62
void processMidiTick();