blob: 6b2d6cf38b0064a8a46148b01979afa4a682dd37 [file] [log] [blame]
/*
* Preset.hpp
*
* Created on: Aug 5, 2008
* Author: carm
*/
#ifndef __NATIVE_PRESET_HPP_
#define __NATIVE_PRESET_HPP_
#include <string>
#include "BeatDetect.hpp"
#include "Pipeline.hpp"
#include "PipelineContext.hpp"
#include "Preset.hpp"
/// A templated preset class to build different various hard coded presets and
/// compile them into object files to be loaded into a playlist
template <class PipelineT>
class NativePreset : public Preset {
public:
inline NativePreset(const std::string & name=std::string(),
const std::string & author = std::string()) : Preset(name, author) {}
virtual ~NativePreset() {}
inline PipelineT & pipeline() { return _pipeline; }
inline virtual void Render(const BeatDetect &music, const PipelineContext &context) {
_pipeline.Render(music, context);
}
private:
PipelineT _pipeline;
};
#endif