Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

/home/pete/Work/TSE3.svn/tse3/src/tse3/listen/Transport.h

Go to the documentation of this file.
00001 /*
00002  * @(#)listen/Transport.h 3.00 25 May 1999
00003  *
00004  * Copyright (c) 2000 Pete Goodliffe (pete@cthree.org)
00005  *
00006  * This file is part of TSE3 - the Trax Sequencer Engine version 3.00.
00007  *
00008  * This library is modifiable/redistributable under the terms of the GNU
00009  * General Public License.
00010  *
00011  * You should have received a copy of the GNU General Public License along
00012  * with this program; see the file COPYING. If not, write to the Free Software
00013  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00014  *
00015  */
00016 
00017 #ifndef TSE3_LISTEN_TRANSPORT_H
00018 #define TSE3_LISTEN_TRANSPORT_H
00019 
00020 #include "tse3/Midi.h"
00021 
00022 namespace TSE3
00023 {
00024     class Transport;
00025 
00033     class TransportListener
00034     {
00035         public:
00036             typedef Transport notifier_type;
00037 
00038             enum WhatChanged
00039             {
00040                 SynchroChanged           = 0x01,
00041                 PunchInChanged           = 0x02,
00042                 AutoStopChanged          = 0x04,
00043                 PlayLeadInChanged        = 0x08,
00044                 RecordLeadInChanged      = 0x10,
00045                 LookAheadChanged         = 0x20,
00046                 AdaptiveLookAheadChanged = 0x40
00047             };
00048 
00049             virtual void Transport_Altered(Transport *, int /*what*/)  {}
00050             virtual void Transport_Status(Transport *, int /*status*/) {}
00051     };
00052 
00063     class TransportCallback
00064     {
00065         public:
00066 
00067             TransportCallback() {}
00068 
00069             virtual ~TransportCallback() = 0;
00070 
00075             virtual void Transport_MidiIn(MidiCommand c) = 0;
00076 
00081             virtual void Transport_MidiOut(MidiCommand c) = 0;
00082 
00083         private:
00084 
00085             TransportCallback &operator=(const TransportCallback &);
00086             TransportCallback(const TransportCallback &);
00087     };
00088 }
00089 
00090 #endif

Generated on Wed May 25 14:45:08 2005 for TSE3 by doxygen 1.3.2