AudioBufferAmplifier.cxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "AudioBufferAmplifier.hxx"
00023 #include "ProcessingFactory.hxx"
00024
00025 namespace CLAM
00026 {
00027
00028 namespace Hidden
00029 {
00030 static const char * metadata[] = {
00031 "key", "AudioBufferAmplifier",
00032 "category", "Arithmetic Operations",
00033 "description", "AudioBufferAmplifier",
00034 0
00035 };
00036 static FactoryRegistrator<ProcessingFactory, AudioBufferAmplifier> reg = metadata;
00037 }
00038
00039 void AudioBufferAmplifier::ResizePorts(unsigned newSize)
00040 {
00041 unsigned oldSize = _inputs.size();
00042 CLAM_ASSERT(_inputs.size()==_outputs.size(),
00043 "AudioBufferAmplifier had different number of inputs and outputs");
00044 for (unsigned i = newSize; i<oldSize; i++)
00045 {
00046 delete _inputs[i];
00047 delete _outputs[i];
00048 }
00049 _inputs.resize(newSize);
00050 _outputs.resize(newSize);
00051 for (unsigned i = oldSize; i<newSize; i++)
00052 {
00053 std::ostringstream number;
00054 if (i>0) number << " " << i;
00055 _inputs[i] = new InPort<Audio>("Input Audio" + number.str(), this );
00056 _outputs[i] = new OutPort<Audio> ( "Audio Output" + number.str(), this);
00057 }
00058 }
00059 }