diff options
author | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
commit | 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch) | |
tree | 96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/midi++2/midi++/mmc.h | |
parent | 2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (diff) |
remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/midi++2/midi++/mmc.h')
-rw-r--r-- | libs/midi++2/midi++/mmc.h | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/libs/midi++2/midi++/mmc.h b/libs/midi++2/midi++/mmc.h deleted file mode 100644 index 6abbed8207..0000000000 --- a/libs/midi++2/midi++/mmc.h +++ /dev/null @@ -1,265 +0,0 @@ -/* - Copyright (C) 2000 Paul Barton-Davis - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef __midipp_mmc_h_h__ -#define __midipp_mmc_h_h__ - -#include <sigc++/sigc++.h> -#include <midi++/types.h> - -namespace MIDI { - -class Port; -class Parser; - -class MachineControl : public sigc::trackable - -{ - public: - typedef byte CommandSignature[60]; - typedef byte ResponseSignature[60]; - - enum Command { - cmdStop = 0x1, - cmdPlay = 0x2, - cmdDeferredPlay = 0x3, - cmdFastForward = 0x4, - cmdRewind = 0x5, - cmdRecordStrobe = 0x6, - - cmdRecordExit = 0x7, - cmdRecordPause = 0x8, - cmdPause = 0x9, - cmdEject = 0xA, - cmdChase = 0xB, - cmdCommandErrorReset = 0xC, - cmdMmcReset = 0xD, - - cmdIllegalMackieJogStart = 0x20, - cmdIllegalMackieJogStop = 0x21, - - cmdWrite = 0x40, - cmdMaskedWrite = 0x41, - cmdRead = 0x42, - cmdUpdate = 0x43, - cmdLocate = 0x44, - cmdVariablePlay = 0x45, - cmdSearch = 0x46, - - cmdShuttle = 0x47, - cmdStep = 0x48, - cmdAssignSystemMaster = 0x49, - cmdGeneratorCommand = 0x4A, - cmdMtcCommand = 0x4B, - cmdMove = 0x4C, - cmdAdd = 0x4D, - - cmdSubtract = 0x4E, - cmdDropFrameAdjust = 0x4F, - cmdProcedure = 0x50, - cmdEvent = 0x51, - cmdGroup = 0x52, - cmdCommandSegment = 0x53, - cmdDeferredVariablePlay = 0x54, - - cmdRecordStrobeVariable = 0x55, - - cmdWait = 0x7C, - cmdResume = 0x7F - }; - - MachineControl (Port &port, - float MMCVersion, - CommandSignature &cs, - ResponseSignature &rs); - - Port &port() { return _port; } - - void set_receive_device_id (byte id); - void set_send_device_id (byte id); - byte receive_device_id () const { return _receive_device_id; } - byte send_device_id () const { return _send_device_id; } - - static bool is_mmc (byte *sysex_buf, size_t len); - - /* Signals to connect to if you want to run "callbacks" - when certain MMC commands are received. - */ - - sigc::signal<void,MachineControl &> Stop; - sigc::signal<void,MachineControl &> Play; - sigc::signal<void,MachineControl &> DeferredPlay; - sigc::signal<void,MachineControl &> FastForward; - sigc::signal<void,MachineControl &> Rewind; - sigc::signal<void,MachineControl &> RecordStrobe; - sigc::signal<void,MachineControl &> RecordExit; - sigc::signal<void,MachineControl &> RecordPause; - sigc::signal<void,MachineControl &> Pause; - sigc::signal<void,MachineControl &> Eject; - sigc::signal<void,MachineControl &> Chase; - sigc::signal<void,MachineControl &> CommandErrorReset; - sigc::signal<void,MachineControl &> MmcReset; - - sigc::signal<void,MachineControl &> JogStart; - sigc::signal<void,MachineControl &> JogStop; - - sigc::signal<void,MachineControl &> Write; - sigc::signal<void,MachineControl &> MaskedWrite; - sigc::signal<void,MachineControl &> Read; - sigc::signal<void,MachineControl &> Update; - sigc::signal<void,MachineControl &> VariablePlay; - sigc::signal<void,MachineControl &> Search; - sigc::signal<void,MachineControl &> AssignSystemMaster; - sigc::signal<void,MachineControl &> GeneratorCommand; - sigc::signal<void,MachineControl &> MidiTimeCodeCommand; - sigc::signal<void,MachineControl &> Move; - sigc::signal<void,MachineControl &> Add; - sigc::signal<void,MachineControl &> Subtract; - sigc::signal<void,MachineControl &> DropFrameAdjust; - sigc::signal<void,MachineControl &> Procedure; - sigc::signal<void,MachineControl &> Event; - sigc::signal<void,MachineControl &> Group; - sigc::signal<void,MachineControl &> CommandSegment; - sigc::signal<void,MachineControl &> DeferredVariablePlay; - sigc::signal<void,MachineControl &> RecordStrobeVariable; - sigc::signal<void,MachineControl &> Wait; - sigc::signal<void,MachineControl &> Resume; - - /* The second argument is the shuttle speed, the third is - true if the direction is "forwards", false for "reverse" - */ - - sigc::signal<void,MachineControl &,float,bool> Shuttle; - - /* The second argument specifies the desired track record enabled - status. - */ - - sigc::signal<void,MachineControl &,size_t,bool> - TrackRecordStatusChange; - - /* The second argument points to a byte array containing - the locate target value in MMC Standard Time Code - format (5 bytes, roughly: hrs/mins/secs/frames/subframes) - */ - - sigc::signal<void,MachineControl &, const byte *> Locate; - - /* The second argument is the number of steps to jump */ - - sigc::signal<void,MachineControl &, int> Step; - - protected: - -#define MMC_NTRACKS 48 - - /* MMC Information fields (think "registers") */ - - CommandSignature commandSignature; - ResponseSignature responseSignature; - - 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; - 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; - byte _send_device_id; - MIDI::Port &_port; - - void process_mmc_message (Parser &p, byte *, size_t len); - - int do_masked_write (byte *, size_t len); - int do_locate (byte *, size_t len); - int do_step (byte *, size_t len); - int do_shuttle (byte *, size_t len); - - void write_track_record_ready (byte *, size_t len); -}; - -} // namespace MIDI - -#endif /* __midipp_mmc_h_h__ */ |