summaryrefslogtreecommitdiff
path: root/libs/midi++2
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-06-29 14:04:19 +0000
committerCarl Hetherington <carl@carlh.net>2010-06-29 14:04:19 +0000
commitce8d79d6217c3431dd31c16019eeee91e0415f32 (patch)
treeb08590fbbdbb6accd243e7703526a6100e6ea41a /libs/midi++2
parent9469d6b26acb0a6c79cd96058760081cc9bfa7fb (diff)
Restore MMC registers.
git-svn-id: svn://localhost/ardour2/branches/3.0@7325 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/midi++2')
-rw-r--r--libs/midi++2/midi++/mmc.h75
-rw-r--r--libs/midi++2/mmc.cc2
2 files changed, 77 insertions, 0 deletions
diff --git a/libs/midi++2/midi++/mmc.h b/libs/midi++2/midi++/mmc.h
index 5b3bc663e6..55317425ae 100644
--- a/libs/midi++2/midi++/mmc.h
+++ b/libs/midi++2/midi++/mmc.h
@@ -173,6 +173,81 @@ class MachineControl
/* The second argument is the number of steps to jump */
PBD::Signal2<void,MachineControl &, int> Step;
+
+#define MMC_NTRACKS 48
+
+ /* note: these are not currently in use */
+
+ byte updateRate;
+ byte responseError;
+ byte commandError;
+ byte commandErrorLevel;
+
+ byte motionControlTally;
+ byte velocityTally;
+ byte stopMode;
+ byte fastMode;
+ byte recordMode;
+ byte recordStatus;
+ bool trackRecordStatus[MMC_NTRACKS];
+ bool trackRecordReady[MMC_NTRACKS];
+ byte globalMonitor;
+ byte recordMonitor;
+ byte trackSyncMonitor;
+ byte trackInputMonitor;
+ byte stepLength;
+ byte playSpeedReference;
+ byte fixedSpeed;
+ byte lifterDefeat;
+ byte controlDisable;
+ byte trackMute[MMC_NTRACKS];
+ byte failure;
+ byte selectedTimeCode;
+ byte shortSelectedTimeCode;
+ byte timeStandard;
+ byte selectedTimeCodeSource;
+ byte selectedTimeCodeUserbits;
+ byte selectedMasterCode;
+ byte requestedOffset;
+ byte actualOffset;
+ byte lockDeviation;
+ byte shortSelectedMasterCode;
+ byte shortRequestedOffset;
+ byte shortActualOffset;
+ byte shortLockDeviation;
+ byte resolvedPlayMode;
+ byte chaseMode;
+ byte generatorTimeCode;
+ byte shortGeneratorTimeCode;
+ byte generatorCommandTally;
+ byte generatorSetUp;
+ byte generatorUserbits;
+ byte vitcInsertEnable;
+ byte midiTimeCodeInput;
+ byte shortMidiTimeCodeInput;
+ byte midiTimeCodeCommandTally;
+ byte midiTimeCodeSetUp;
+ byte gp0;
+ byte gp1;
+ byte gp2;
+ byte gp3;
+ byte gp4;
+ byte gp5;
+ byte gp6;
+ byte gp7;
+ byte shortGp0;
+ byte shortGp1;
+ byte shortGp2;
+ byte shortGp3;
+ byte shortGp4;
+ byte shortGp5;
+ byte shortGp6;
+ byte shortGp7;
+ byte procedureResponse;
+ byte eventResponse;
+ byte responseSegment;
+ byte wait;
+ byte resume;
private:
byte _receive_device_id;
diff --git a/libs/midi++2/mmc.cc b/libs/midi++2/mmc.cc
index b8aa253f80..8adfcafb85 100644
--- a/libs/midi++2/mmc.cc
+++ b/libs/midi++2/mmc.cc
@@ -558,10 +558,12 @@ MachineControl::write_track_status (byte *msg, size_t /*len*/, byte reg)
switch (reg) {
case 0x4f:
+ trackRecordStatus[base_track+n] = val;
TrackRecordStatusChange (*this, base_track+n, val);
break;
case 0x62:
+ trackMute[base_track+n] = val;
TrackMuteChange (*this, base_track+n, val);
break;
}