summaryrefslogtreecommitdiff
path: root/muse2/muse/midiseq.h
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2012-07-01 16:42:16 +0000
committerFlorian Jung <flo@windfisch.org>2012-07-01 16:42:16 +0000
commit9c4664d162c537ba4dd4fd8220971c0fb727103a (patch)
tree37a28b7cd4e4d8984ad4934a4884cd7b4da0505c /muse2/muse/midiseq.h
parente87fedf1be804f7ec774071d844b1f163be30b96 (diff)
final merge
Diffstat (limited to 'muse2/muse/midiseq.h')
-rw-r--r--muse2/muse/midiseq.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/muse2/muse/midiseq.h b/muse2/muse/midiseq.h
index b5ed1099..08adcdce 100644
--- a/muse2/muse/midiseq.h
+++ b/muse2/muse/midiseq.h
@@ -28,6 +28,7 @@
#include "mpevent.h"
#include "driver/alsatimer.h"
#include "driver/rtctimer.h"
+#include "sync.h"
namespace MusECore {
@@ -55,9 +56,17 @@ class MidiSeq : public Thread {
double songtick1, songtick2;
int recTick1, recTick2;
int lastTempo;
- double timediff[24];
+ double timediff[16][48];
int storedtimediffs;
-
+ int _avgClkDiffCounter[16];
+ double _lastRealTempo;
+ bool _averagerFull[16];
+ int _clockAveragerPoles;
+ int* _clockAveragerStages;
+ bool _preDetect;
+ double _tempoQuantizeAmount;
+ MidiSyncInfo::SyncRecFilterPresetType _syncRecFilterPreset;
+
void alignAllTicks(int frameOverride = 0);
/* Testing */
@@ -87,13 +96,17 @@ class MidiSeq : public Thread {
bool externalPlayState() const { return playStateExt; }
void setExternalPlayState(bool v) { playStateExt = v; }
- void realtimeSystemInput(int, int);
+ void realtimeSystemInput(int port, int type, double time = 0.0);
void mtcInputQuarter(int, unsigned char);
void setSongPosition(int, int);
void mmcInput(int, const unsigned char*, int);
void mtcInputFull(int, const unsigned char*, int);
void nonRealtimeSystemSysex(int, const unsigned char*, int);
void checkAndReportTimingResolution();
+ MidiSyncInfo::SyncRecFilterPresetType syncRecFilterPreset() const { return _syncRecFilterPreset; }
+ void setSyncRecFilterPreset(MidiSyncInfo::SyncRecFilterPresetType type);
+ double recTempoValQuant() const { return _tempoQuantizeAmount; }
+ void setRecTempoValQuant(double q) { _tempoQuantizeAmount = q; }
void msgMsg(int id);
void msgSeek();