diff options
author | David Robillard <d@drobilla.net> | 2009-05-13 20:30:01 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-05-13 20:30:01 +0000 |
commit | 57381ee6b93ad6a991329c2a7aae0b2d84a3e7dd (patch) | |
tree | 37011b2dd9899f3c271cd7267c67164bd2a197d1 | |
parent | 76500fc464ffa1cdeec0d90c466783fe1b3ac07d (diff) | |
download | ingen-57381ee6b93ad6a991329c2a7aae0b2d84a3e7dd.tar.gz ingen-57381ee6b93ad6a991329c2a7aae0b2d84a3e7dd.tar.bz2 ingen-57381ee6b93ad6a991329c2a7aae0b2d84a3e7dd.zip |
Fix crash on patch load.
Fixes ticket #369.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2002 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r-- | src/common/interface/CommonInterface.hpp | 4 | ||||
-rw-r--r-- | src/engine/EventSink.hpp | 5 | ||||
-rw-r--r-- | src/engine/MessageContext.hpp | 1 | ||||
-rw-r--r-- | src/gui/NodeModule.cpp | 4 | ||||
-rw-r--r-- | src/serialisation/Parser.cpp | 2 |
5 files changed, 6 insertions, 10 deletions
diff --git a/src/common/interface/CommonInterface.hpp b/src/common/interface/CommonInterface.hpp index 28b6d581..b0676ac7 100644 --- a/src/common/interface/CommonInterface.hpp +++ b/src/common/interface/CommonInterface.hpp @@ -75,8 +75,8 @@ public: const Raul::URI& predicate, const Raul::Atom& value) = 0; - virtual void set_port_value(const Raul::Path& port_path, - const Raul::Atom& value) = 0; + virtual void set_port_value(const Raul::Path& port_path, + const Raul::Atom& value) = 0; virtual void set_voice_value(const Raul::Path& port_path, uint32_t voice, diff --git a/src/engine/EventSink.hpp b/src/engine/EventSink.hpp index e0868f21..ffaa6240 100644 --- a/src/engine/EventSink.hpp +++ b/src/engine/EventSink.hpp @@ -42,15 +42,12 @@ class EventSink public: EventSink(Engine& engine, size_t capacity) : _engine(engine), _events(capacity) {} - /* FIXME: Figure out variable sized event queues and make this a generic - * interface (ie don't add a method for every event type, crap..) */ - bool write(uint32_t size, const Event* ev); bool read(uint32_t event_buffer_size, uint8_t* event_buffer); private: - Engine& _engine; + Engine& _engine; Raul::RingBuffer<uint8_t> _events; }; diff --git a/src/engine/MessageContext.hpp b/src/engine/MessageContext.hpp index 1e6e1d1f..6275f1d3 100644 --- a/src/engine/MessageContext.hpp +++ b/src/engine/MessageContext.hpp @@ -18,7 +18,6 @@ #ifndef MESSAGECONTEXT_H #define MESSAGECONTEXT_H -#include "EventSink.hpp" #include "Context.hpp" namespace Ingen { diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp index 6ec1a5d6..97932814 100644 --- a/src/gui/NodeModule.cpp +++ b/src/gui/NodeModule.cpp @@ -198,7 +198,7 @@ NodeModule::embed_gui(bool embed) for (NodeModel::Ports::const_iterator p = _node->ports().begin(); p != _node->ports().end(); ++p) if ((*p)->type().is_control() && (*p)->is_output()) - App::instance().engine()->set_property((*p)->path(), "ingen:broadcast", true); + App::instance().engine()->set_variable((*p)->path(), "ingen:broadcast", true); } } else { // un-embed @@ -208,7 +208,7 @@ NodeModule::embed_gui(bool embed) for (NodeModel::Ports::const_iterator p = _node->ports().begin(); p != _node->ports().end(); ++p) if ((*p)->type().is_control() && (*p)->is_output()) - App::instance().engine()->set_property((*p)->path(), "ingen:broadcast", false); + App::instance().engine()->set_variable((*p)->path(), "ingen:broadcast", false); } if (embed && _embed_item) { diff --git a/src/serialisation/Parser.cpp b/src/serialisation/Parser.cpp index 30aabc7a..732307b5 100644 --- a/src/serialisation/Parser.cpp +++ b/src/serialisation/Parser.cpp @@ -349,7 +349,7 @@ Parser::parse( root_path = ret; } else if (is_plugin) { - if (path_str.length() > 0) + if (URI::is_valid(path_str)) target->set_property(path_str, "rdf:type", Atom(Atom::URI, rdf_class.to_c_string())); } |