|
Revision 2828, 3.1 kB
(checked in by patrickh, 8 years ago)
|
Updated the copyright to what ISU's lawyers decided they want now.
The vast majority of this was done using Kevin's auto-copyright.pl script
which definitely made this easier. All the copyright blocks now have
begin and end tags so that if and when we have to update the copyright
information again, it will be even simpler.
|
- Property svn:eol-style set to
native
- Property svn:keywords set to
Author Date Id Revision
|
| Line | |
|---|
| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 |
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
|
|---|
| 30 |
|
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 |
#ifndef _VJ_SOUND_ENGINE_CONSTRUCTOR_H_ |
|---|
| 34 |
#define _VJ_SOUND_ENGINE_CONSTRUCTOR_H_ |
|---|
| 35 |
|
|---|
| 36 |
#include <Sound/vjSoundEngine.h> |
|---|
| 37 |
#include <string> |
|---|
| 38 |
#include <Config/vjConfigChunk.h> |
|---|
| 39 |
#include <Kernel/vjDebug.h> |
|---|
| 40 |
#include <Sound/vjSoundFactory.h> |
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 |
|
|---|
| 44 |
class vjSoundFactory; |
|---|
| 45 |
|
|---|
| 46 |
|
|---|
| 47 |
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 |
class vjSoundEngineConstructorBase |
|---|
| 51 |
{ |
|---|
| 52 |
public: |
|---|
| 53 |
|
|---|
| 54 |
|
|---|
| 55 |
vjSoundEngineConstructorBase() {;} |
|---|
| 56 |
|
|---|
| 57 |
|
|---|
| 58 |
virtual vjSoundEngine* createEngine(vjConfigChunk* chunk) |
|---|
| 59 |
{ |
|---|
| 60 |
vjDEBUG(vjDBG_ALL,0) << "ERROR: vjSoundEngineConstructorBase::createEngine: Should never be called" << vjDEBUG_FLUSH; |
|---|
| 61 |
return NULL; |
|---|
| 62 |
} |
|---|
| 63 |
|
|---|
| 64 |
|
|---|
| 65 |
virtual std::string getChunkType() |
|---|
| 66 |
{ |
|---|
| 67 |
return std::string("BaseConstructor: Invalid type"); |
|---|
| 68 |
} |
|---|
| 69 |
}; |
|---|
| 70 |
|
|---|
| 71 |
|
|---|
| 72 |
template <class ENGINE> |
|---|
| 73 |
class vjSoundEngineConstructor : public vjSoundEngineConstructorBase |
|---|
| 74 |
{ |
|---|
| 75 |
public: |
|---|
| 76 |
vjSoundEngineConstructor(); |
|---|
| 77 |
|
|---|
| 78 |
virtual vjSoundEngine* createEngine(vjConfigChunk* chunk) |
|---|
| 79 |
{ |
|---|
| 80 |
ENGINE* new_engine = new ENGINE; |
|---|
| 81 |
bool success = new_engine->config(chunk); |
|---|
| 82 |
if(success) |
|---|
| 83 |
{ |
|---|
| 84 |
return new_engine; |
|---|
| 85 |
} else { |
|---|
| 86 |
delete new_engine; |
|---|
| 87 |
return NULL; |
|---|
| 88 |
} |
|---|
| 89 |
} |
|---|
| 90 |
|
|---|
| 91 |
virtual std::string getChunkType() |
|---|
| 92 |
{ return ENGINE::getChunkType(); } |
|---|
| 93 |
}; |
|---|
| 94 |
|
|---|
| 95 |
|
|---|
| 96 |
|
|---|
| 97 |
template <class ENGINE> |
|---|
| 98 |
vjSoundEngineConstructor<ENGINE>::vjSoundEngineConstructor() |
|---|
| 99 |
{ |
|---|
| 100 |
vjASSERT(vjSoundFactory::instance() != NULL); |
|---|
| 101 |
vjSoundFactory::instance()->registerConstructor( this ); |
|---|
| 102 |
} |
|---|
| 103 |
|
|---|
| 104 |
#endif |
|---|