rendered paste body#ifndef MyProcessing_hxx#define MyProcessing_hxx#include <CLAM/InPort.hxx>#include <CLAM/OutPort.hxx>#include <CLAM/Processing.hxx>#include <CLAM/NullProcessingConfig.hxx>// Those two configuration types could be the ones you choose.// Your own ones or any type already in CLAM.#include "MonoAudioFileReader.hxx"#include "AudioSink.hxx"class MyProcessing : public CLAM::Processing{ CLAM::InPort<CLAM::MonoAudioFileReader> mIn; CLAM::OutPort<CLAM::AudioSink> mOut; typedef CLAM::NullProcessingConfig Config;public: const char* GetClassName() const { return "MyProcessing"; } MyProcessing(const Config & config=Config()) : mIn("CLAM::MonoAudioFileReader", this) , mOut("CLAM::AudioSink", this) { CLAM::Configure( config ); } ~MyProcessing() {} // Configuration to the minimal expression bool ConcreteConfigure(const CLAM::ProcessingConfig&) { return true; // I got proper configuration } const CLAM::ProcessingConfig& GetConfig() const { static Config config; return config; } bool Do() { bool result = Do(mIn.GetData(), mOut.GetData()); // Tell the ports this is done mIn.Consume(); mOut.Produce(); return result; } bool Do(const CLAM::MonoAudioFileReader& in, CLAM::AudioSink& out) { // Your implementation }};#endif // MyProcessing_hxx