/*
- Copyright (C) 2008 Paul Davis
+ Copyright (C) 2008 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifndef __ardour_transient_detector_h__
#define __ardour_transient_detector_h__
-#include <ardour/audioanalyser.h>
+#include "ardour/audioanalyser.h"
namespace ARDOUR {
class AudioSource;
+class Readable;
class Session;
-class TransientDetector : public AudioAnalyser
+class LIBARDOUR_API TransientDetector : public AudioAnalyser
{
+public:
+ TransientDetector (float sample_rate);
+ ~TransientDetector();
- public:
- TransientDetector (float sample_rate);
- ~TransientDetector();
+ static std::string operational_identifier();
- static std::string operational_identifier();
+ void set_threshold (float);
+ void set_sensitivity (uint32_t, float);
- void set_threshold (float);
- void set_sensitivity (float);
+ int run (const std::string& path, Readable*, uint32_t channel, AnalysisFeatureList& results);
+ void update_positions (Readable* src, uint32_t channel, AnalysisFeatureList& results);
- float get_threshold () const;
- float get_sensitivity () const;
-
- int run (const std::string& path, Readable*, uint32_t channel, AnalysisFeatureList& results);
+ static void cleanup_transients (AnalysisFeatureList&, float sr, float gap_msecs);
- static void cleanup_transients (AnalysisFeatureList&, float sr, float gap_msecs);
-
- protected:
- AnalysisFeatureList* current_results;
- int use_features (Vamp::Plugin::FeatureSet&, std::ostream*);
+protected:
+ AnalysisFeatureList* current_results;
+ int use_features (Vamp::Plugin::FeatureSet&, std::ostream*);
- static std::string _op_id;
+ static std::string _op_id;
+ float threshold;
};
} /* namespace */