summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-19 02:46:47 +0000
committerDavid Robillard <d@drobilla.net>2007-09-19 02:46:47 +0000
commit49d6f5b2cc495052d6c5ddbb0629e178c9a2cc14 (patch)
tree4b56e8fe9f01b42e269e5423347a7cc0664599ad /src/libs/engine/events
parentcbc7847a12e57176c5bafa9baa007de6865745c7 (diff)
downloadingen-49d6f5b2cc495052d6c5ddbb0629e178c9a2cc14.tar.gz
ingen-49d6f5b2cc495052d6c5ddbb0629e178c9a2cc14.tar.bz2
ingen-49d6f5b2cc495052d6c5ddbb0629e178c9a2cc14.zip
More work on dynamic polyphony.
git-svn-id: http://svn.drobilla.net/lad/ingen@721 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/events')
-rw-r--r--src/libs/engine/events/AddPortEvent.cpp6
-rw-r--r--src/libs/engine/events/ClearPatchEvent.cpp2
-rw-r--r--src/libs/engine/events/DestroyEvent.cpp6
-rw-r--r--src/libs/engine/events/LoadPluginsEvent.cpp2
-rw-r--r--src/libs/engine/events/Makefile.am4
5 files changed, 12 insertions, 8 deletions
diff --git a/src/libs/engine/events/AddPortEvent.cpp b/src/libs/engine/events/AddPortEvent.cpp
index 1d016c5d..28273815 100644
--- a/src/libs/engine/events/AddPortEvent.cpp
+++ b/src/libs/engine/events/AddPortEvent.cpp
@@ -154,15 +154,15 @@ AddPortEvent::execute(SampleCount nframes, FrameTime start, FrameTime end)
_engine.midi_driver()->add_port(_driver_port);
else if (_type == "ingen:osc")
cerr << "OSC DRIVER PORT" << endl;
+
+ if (_source)
+ _source->unblock();
}
void
AddPortEvent::post_process()
{
- if (_source)
- _source->unblock();
-
if (!_patch_port) {
const string msg = string("Could not create port - ").append(_path);
_responder->respond_error(msg);
diff --git a/src/libs/engine/events/ClearPatchEvent.cpp b/src/libs/engine/events/ClearPatchEvent.cpp
index 5a914901..aa72cd54 100644
--- a/src/libs/engine/events/ClearPatchEvent.cpp
+++ b/src/libs/engine/events/ClearPatchEvent.cpp
@@ -113,7 +113,7 @@ ClearPatchEvent::post_process()
_responder->respond_error(string("Patch ") + _patch_path + " not found");
}
- _source->unblock();
+ _source->unblock(); // FIXME: can be done earlier in execute?
}
diff --git a/src/libs/engine/events/DestroyEvent.cpp b/src/libs/engine/events/DestroyEvent.cpp
index ba4da6ec..38a8fe3e 100644
--- a/src/libs/engine/events/DestroyEvent.cpp
+++ b/src/libs/engine/events/DestroyEvent.cpp
@@ -192,15 +192,15 @@ DestroyEvent::execute(SampleCount nframes, FrameTime start, FrameTime end)
_driver_port = _engine.midi_driver()->remove_port(_port->path());
}
}
+
+ if (_source)
+ _source->unblock();
}
void
DestroyEvent::post_process()
{
- if (_source)
- _source->unblock();
-
if (_store_iterator != _engine.object_store()->objects().end()) {
_engine.broadcaster()->send_destroyed(_path);
} else {
diff --git a/src/libs/engine/events/LoadPluginsEvent.cpp b/src/libs/engine/events/LoadPluginsEvent.cpp
index 2eae055a..df5ff5d9 100644
--- a/src/libs/engine/events/LoadPluginsEvent.cpp
+++ b/src/libs/engine/events/LoadPluginsEvent.cpp
@@ -31,7 +31,7 @@ namespace Ingen {
LoadPluginsEvent::LoadPluginsEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, QueuedEventSource* source)
: QueuedEvent(engine, responder, timestamp, true, source)
{
- /* Not sure why this has to be blocking, but it fixes some nasty bugs.. */
+ /* FIXME: Not sure why this has to be blocking, but it fixes some nasty bugs.. */
}
void
diff --git a/src/libs/engine/events/Makefile.am b/src/libs/engine/events/Makefile.am
index bc698678..f3190756 100644
--- a/src/libs/engine/events/Makefile.am
+++ b/src/libs/engine/events/Makefile.am
@@ -60,6 +60,10 @@ EXTRA_DIST = \
RequestPortValueEvent.hpp \
SetMetadataEvent.cpp \
SetMetadataEvent.hpp \
+ SetPolyphonyEvent.hpp \
+ SetPolyphonyEvent.cpp \
+ SetPolyphonicEvent.hpp \
+ SetPolyphonicEvent.cpp \
SetPortValueEvent.cpp \
SetPortValueEvent.hpp \
SetPortValueQueuedEvent.cpp \