From 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f Mon Sep 17 00:00:00 2001 From: Doug McLain Date: Mon, 2 Jun 2008 05:02:28 +0000 Subject: remove empty sigc++2 directory git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/analyser.cc | 119 ------------------------------------------------ 1 file changed, 119 deletions(-) delete mode 100644 libs/ardour/analyser.cc (limited to 'libs/ardour/analyser.cc') diff --git a/libs/ardour/analyser.cc b/libs/ardour/analyser.cc deleted file mode 100644 index 2e14c74b86..0000000000 --- a/libs/ardour/analyser.cc +++ /dev/null @@ -1,119 +0,0 @@ -/* - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include -#include -#include - -#include -#include - -using namespace std; -using namespace sigc; -using namespace ARDOUR; -using namespace PBD; - -Analyser* Analyser::the_analyser = 0; -Glib::StaticMutex Analyser::analysis_queue_lock = GLIBMM_STATIC_MUTEX_INIT; -Glib::Cond* Analyser::SourcesToAnalyse = 0; -list > Analyser::analysis_queue; - -Analyser::Analyser () -{ - -} - -Analyser::~Analyser () -{ -} - -static void -analyser_work () -{ - Analyser::work (); -} - -void -Analyser::init () -{ - SourcesToAnalyse = new Glib::Cond(); - Glib::Thread::create (sigc::ptr_fun (analyser_work), false); -} - -void -Analyser::queue_source_for_analysis (boost::shared_ptr src, bool force) -{ - if (!src->can_be_analysed()) { - return; - } - - if (!force && src->has_been_analysed()) { - return; - } - - Glib::Mutex::Lock lm (analysis_queue_lock); - analysis_queue.push_back (boost::weak_ptr(src)); - SourcesToAnalyse->broadcast (); -} - -void -Analyser::work () -{ - PBD::ThreadCreated (pthread_self(), string ("analyser-") + to_string (pthread_self(), std::dec)); - - while (true) { - analysis_queue_lock.lock (); - - wait: - if (analysis_queue.empty()) { - SourcesToAnalyse->wait (analysis_queue_lock); - } - - if (analysis_queue.empty()) { - goto wait; - } - - boost::shared_ptr src (analysis_queue.front().lock()); - analysis_queue.pop_front(); - analysis_queue_lock.unlock (); - - boost::shared_ptr afs = boost::dynamic_pointer_cast (src); - - if (afs && afs->length()) { - analyse_audio_file_source (afs); - } - } -} - -void -Analyser::analyse_audio_file_source (boost::shared_ptr src) -{ - AnalysisFeatureList results; - - TransientDetector td (src->sample_rate()); - - if (td.run (src->get_transients_path(), src.get(), 0, results) == 0) { - src->set_been_analysed (true); - } else { - src->set_been_analysed (false); - } - -} - - -- cgit v1.2.3