summaryrefslogtreecommitdiff
path: root/libs/ardour/audiosource.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-08-29 00:23:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-08-29 00:23:45 +0000
commit6535cd1b1dbab7cc59a356c81d92dbc2cf25333b (patch)
tree90002ec1819c61db4b0981405d27535af3a79f70 /libs/ardour/audiosource.cc
parentc871ca6d9833ebda3bf286462b96146550b49cef (diff)
used shared_ptr<Source>, somewhat successfully
git-svn-id: svn://localhost/ardour2/trunk@861 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audiosource.cc')
-rw-r--r--libs/ardour/audiosource.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc
index ab5ac437c3..19f6de5c64 100644
--- a/libs/ardour/audiosource.cc
+++ b/libs/ardour/audiosource.cc
@@ -28,6 +28,7 @@
#include <cmath>
#include <iomanip>
#include <algorithm>
+#include <vector>
#include <pbd/xml++.h>
#include <pbd/pthread_utils.h>
@@ -40,7 +41,6 @@ using namespace std;
using namespace ARDOUR;
using namespace PBD;
-sigc::signal<void,AudioSource *> AudioSource::AudioSourceCreated;
pthread_t AudioSource::peak_thread;
bool AudioSource::have_peak_thread = false;
vector<AudioSource*> AudioSource::pending_peak_sources;
@@ -66,6 +66,7 @@ AudioSource::AudioSource (string name)
AudioSource::AudioSource (const XMLNode& node)
: Source (node)
{
+ cerr << "audiosource from XML\n";
if (pending_peak_sources_lock == 0) {
pending_peak_sources_lock = new Glib::Mutex;
}
@@ -250,18 +251,18 @@ AudioSource::stop_peak_thread ()
}
void
-AudioSource::queue_for_peaks (AudioSource& source)
+AudioSource::queue_for_peaks (AudioSource* source)
{
if (have_peak_thread) {
-
+
Glib::Mutex::Lock lm (*pending_peak_sources_lock);
- source.next_peak_clear_should_notify = true;
+ source->next_peak_clear_should_notify = true;
if (find (pending_peak_sources.begin(),
pending_peak_sources.end(),
- &source) == pending_peak_sources.end()) {
- pending_peak_sources.push_back (&source);
+ source) == pending_peak_sources.end()) {
+ pending_peak_sources.push_back (source);
}
char c = (char) PeakRequest::Build;
@@ -830,7 +831,7 @@ AudioSource::build_peaks_from_scratch ()
next_peak_clear_should_notify = true;
pending_peak_builds.push_back (new PeakBuildRecord (0, _length));
- queue_for_peaks (*this);
+ queue_for_peaks (this);
}
bool