00001 /* 00002 * @(#)listen/Metronome.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_METRONOME_H 00018 #define TSE3_LISTEN_METRONOME_H 00019 00020 namespace TSE3 00021 { 00022 class Metronome; 00023 00031 class MetronomeListener 00032 { 00033 public: 00034 typedef Metronome notifier_type; 00035 00036 enum WhatChanged 00037 { 00038 ChannelChanged = 0x01, 00039 PortChanged = 0x02, 00040 DurationChanged = 0x04, 00041 BarNoteChanged = 0x08, 00042 BarVelocityChanged = 0x10, 00043 BeatNoteChanged = 0x20, 00044 BeatVelocityChanged = 0x40, 00045 StatusChanged = 0x80 00046 }; 00047 00048 virtual void Metronome_Altered(Metronome *, int /*what*/) {} 00049 }; 00050 } 00051 00052 #endif