summaryrefslogtreecommitdiffstats
path: root/src/libs/engine/events/RequestPortValueEvent.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-09-29 21:39:53 +0000
committerDavid Robillard <d@drobilla.net>2007-09-29 21:39:53 +0000
commitc0af61632938f161dd2e15dec3c5260a3d5427ca (patch)
tree950bcfc1bc1fb232f8244c42504b8da3d5b511f5 /src/libs/engine/events/RequestPortValueEvent.cpp
parent85923e8b4f9f1601f008a9120d376d944f2478a2 (diff)
downloadingen-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.cpp21
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
}