00001 /* 00002 * @(#)listen/Song.h 3.00 26 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_SONG_H 00018 #define TSE3_LISTEN_SONG_H 00019 00020 #include "tse3/Midi.h" 00021 00022 #include <cstddef> 00023 00024 namespace TSE3 00025 { 00026 class Song; 00027 class Track; 00028 00036 class SongListener 00037 { 00038 public: 00039 typedef Song notifier_type; 00040 00041 virtual void Song_InfoAltered(Song *) {} 00042 virtual void Song_SoloTrackAltered(Song *, int /*soloTrack*/) {} 00043 virtual void Song_RepeatAltered(Song *, bool /*repeat*/) {} 00044 virtual void Song_FromAltered(Song *, Clock /*from*/) {} 00045 virtual void Song_ToAltered(Song *, Clock /*to*/) {} 00046 virtual void Song_TrackInserted(Song *, Track * /*track*/) {} 00047 virtual void Song_TrackRemoved(Song *, Track * /*track*/, 00048 size_t /*index*/) {} 00049 }; 00050 } 00051 00052 #endif