X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Ftransient_detector.h;h=0e07c5851aa3ab9de7286f524fa7b13c1ccf201c;hb=0622a0cc3068a06d328119e90b7d9c5f5a84df32;hp=259b79176fe68eb236a6df09835e15628d39130a;hpb=80c3677c837cc9eb432df3d65a34aba543fa7258;p=ardour.git diff --git a/libs/ardour/ardour/transient_detector.h b/libs/ardour/ardour/transient_detector.h index 259b79176f..0e07c5851a 100644 --- a/libs/ardour/ardour/transient_detector.h +++ b/libs/ardour/ardour/transient_detector.h @@ -1,5 +1,5 @@ /* - 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 @@ -20,37 +20,39 @@ #ifndef __ardour_transient_detector_h__ #define __ardour_transient_detector_h__ -#include +#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 (float); - void set_threshold (float); - void set_sensitivity (float); + float get_threshold () const; + float get_sensitivity () const; - float get_threshold () const; - float get_sensitivity () const; - - int run (const std::string& path, Readable*, uint32_t channel, AnalysisFeatureList& results); + int run (const std::string& path, Readable*, uint32_t channel, AnalysisFeatureList& results); + void update_positions (Readable* src, uint32_t channel, AnalysisFeatureList& results); - static void cleanup_transients (AnalysisFeatureList&, float sr, float gap_msecs); - - protected: - AnalysisFeatureList* current_results; - int use_features (Vamp::Plugin::FeatureSet&, std::ostream*); + static void cleanup_transients (AnalysisFeatureList&, float sr, float gap_msecs); - static std::string _op_id; +protected: + AnalysisFeatureList* current_results; + int use_features (Vamp::Plugin::FeatureSet&, std::ostream*); + + static std::string _op_id; + float threshold; }; } /* namespace */