diff options
author | David Robillard <d@drobilla.net> | 2007-09-29 21:39:53 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-09-29 21:39:53 +0000 |
commit | c0af61632938f161dd2e15dec3c5260a3d5427ca (patch) | |
tree | 950bcfc1bc1fb232f8244c42504b8da3d5b511f5 /src/libs/engine/events/RequestPortValueEvent.cpp | |
parent | 85923e8b4f9f1601f008a9120d376d944f2478a2 (diff) | |
download | ingen-c0af61632938f161dd2e15dec3c5260a3d5427ca.tar.gz ingen-c0af61632938f161dd2e15dec3c5260a3d5427ca.tar.bz2 ingen-c0af61632938f161dd2e15dec3c5260a3d5427ca.zip |
Work towards port monitoring and better (higher utilization) parallel execution.
git-svn-id: http://svn.drobilla.net/lad/ingen@784 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine/events/RequestPortValueEvent.cpp')
-rw-r--r-- | src/libs/engine/events/RequestPortValueEvent.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/libs/engine/events/RequestPortValueEvent.cpp b/src/libs/engine/events/RequestPortValueEvent.cpp index 992c1615..34545670 100644 --- a/src/libs/engine/events/RequestPortValueEvent.cpp +++ b/src/libs/engine/events/RequestPortValueEvent.cpp @@ -15,9 +15,9 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "RequestPortValueEvent.hpp" #include <string> #include "interface/ClientInterface.hpp" +#include "events/EnablePortNotificationEvent.hpp" #include "Responder.hpp" #include "Engine.hpp" #include "Port.hpp" @@ -30,17 +30,19 @@ using std::string; namespace Ingen { -RequestPortValueEvent::RequestPortValueEvent(Engine& engine, SharedPtr<Responder> responder, SampleCount timestamp, const string& port_path) +EnablePortNotificationEvent::EnablePortNotificationEvent(Engine& engine, + SharedPtr<Responder> responder, + SampleCount timestamp, + const std::string& port_path) : QueuedEvent(engine, responder, timestamp), _port_path(port_path), - _port(NULL), - _value(0.0) + _port(NULL) { } void -RequestPortValueEvent::pre_process() +EnablePortNotificationEvent::pre_process() { _port = _engine.object_store()->find_port(_port_path); @@ -49,21 +51,25 @@ RequestPortValueEvent::pre_process() void -RequestPortValueEvent::execute(SampleCount nframes, FrameTime start, FrameTime end) +EnablePortNotificationEvent::execute(SampleCount nframes, FrameTime start, FrameTime end) { QueuedEvent::execute(nframes, start, end); + +#if 0 assert(_time >= start && _time <= end); if (_port != NULL && _port->type() == DataType::FLOAT) _value = ((AudioBuffer*)_port->buffer(0))->value_at(0/*_time - start*/); else _port = NULL; // triggers error response +#endif } void -RequestPortValueEvent::post_process() +EnablePortNotificationEvent::post_process() { +#if 0 string msg; if (!_port) { _responder->respond_error("Unable to find port for get_value responder."); @@ -73,6 +79,7 @@ RequestPortValueEvent::post_process() } else { _responder->respond_error("Unable to find client to send port value"); } +#endif } |