Nonblocking sound

This commit is contained in:
Matthias Neeracher 2006-10-08 05:57:36 +00:00
parent cbc2b31da8
commit e28e10045b
2 changed files with 52 additions and 0 deletions

17
Sources/VLSoundSched.h Normal file
View File

@ -0,0 +1,17 @@
//
// VLSoundSched.h
// Vocalese
//
// Created by Matthias Neeracher on 10/7/06.
// Copyright 2006 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface VLSoundSched : NSObject {
}
+ (void) setup;
+ (void) performSoundEvent:(id)soundEvent;
@end

35
Sources/VLSoundSched.mm Normal file
View File

@ -0,0 +1,35 @@
//
// VLSoundSched.mm
// Vocalese
//
// Created by Matthias Neeracher on 10/7/06.
// Copyright 2006 __MyCompanyName__. All rights reserved.
//
#import "VLSoundSched.h"
#import "VLSoundOut.h"
class VLSS: public VLSoundScheduler {
virtual void Schedule(VLSoundEvent * what, float when);
};
void VLSS::Schedule(VLSoundEvent * what, float when)
{
[[VLSoundSched class] performSelector:@selector(performSoundEvent:)
withObject:[NSNumber numberWithUnsignedLong:(unsigned long)what]
afterDelay:when];
}
@implementation VLSoundSched
+ (void) setup
{
VLSoundOut::SetScheduler(new VLSS);
}
+ (void) performSoundEvent:(id)soundEvent
{
((VLSoundEvent *)[soundEvent unsignedLongValue])->Perform();
}
@end