2006-09-11 02:49:56 +00:00
|
|
|
/*
|
|
|
|
* VLSoundOut.h
|
|
|
|
* Vocalese
|
|
|
|
*
|
|
|
|
* Created by Matthias Neeracher on 12/18/05.
|
|
|
|
* Copyright 2005 __MyCompanyName__. All rights reserved.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "VLModel.h"
|
2006-11-13 04:26:09 +00:00
|
|
|
#import <CoreFoundation/CoreFoundation.h>
|
2006-09-11 02:49:56 +00:00
|
|
|
|
2006-10-08 05:56:25 +00:00
|
|
|
class VLSoundEvent {
|
|
|
|
protected:
|
|
|
|
VLSoundEvent() {}
|
|
|
|
public:
|
|
|
|
virtual ~VLSoundEvent();
|
|
|
|
|
|
|
|
virtual void Perform() {}
|
|
|
|
};
|
|
|
|
|
|
|
|
class VLSoundScheduler {
|
|
|
|
public:
|
|
|
|
virtual void Schedule(VLSoundEvent * what, float when);
|
|
|
|
|
|
|
|
virtual ~VLSoundScheduler() {}
|
|
|
|
};
|
|
|
|
|
2006-09-11 02:49:56 +00:00
|
|
|
class VLSoundOut {
|
|
|
|
public:
|
|
|
|
static VLSoundOut * Instance();
|
2006-10-08 05:56:25 +00:00
|
|
|
static void SetScheduler(VLSoundScheduler * scheduler);
|
2006-09-11 02:49:56 +00:00
|
|
|
|
|
|
|
virtual void PlayNote(const VLNote & note) = 0;
|
|
|
|
virtual void PlayChord(const VLChord & chord) = 0;
|
2006-11-13 04:26:09 +00:00
|
|
|
virtual void PlayFile(CFDataRef file) = 0;
|
2006-09-11 02:49:56 +00:00
|
|
|
|
|
|
|
virtual ~VLSoundOut();
|
|
|
|
};
|
|
|
|
|
|
|
|
// Local Variables:
|
|
|
|
// mode:C++
|
|
|
|
// End:
|