diff options
author | David Robillard <d@drobilla.net> | 2012-05-22 03:30:42 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-05-22 03:30:42 +0000 |
commit | b1d4027b58465d9cc31d6cb1be05a7ff4f202711 (patch) | |
tree | b1b7e9d1379fc16c5f451fda7afff0d2bc071e18 /ingen | |
parent | e3b0886bfbd12f65450d4b302371f07f511458c3 (diff) | |
download | ingen-b1d4027b58465d9cc31d6cb1be05a7ff4f202711.tar.gz ingen-b1d4027b58465d9cc31d6cb1be05a7ff4f202711.tar.bz2 ingen-b1d4027b58465d9cc31d6cb1be05a7ff4f202711.zip |
More work on test suite.
Clean up, simplify, and shrink event code.
Support disconnect_all via Atom protocol.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4432 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'ingen')
-rw-r--r-- | ingen/EngineBase.hpp | 5 | ||||
-rw-r--r-- | ingen/Status.hpp | 8 | ||||
-rw-r--r-- | ingen/shared/AtomReader.hpp | 3 | ||||
-rw-r--r-- | ingen/shared/AtomSink.hpp | 6 | ||||
-rw-r--r-- | ingen/shared/URIs.hpp | 2 |
5 files changed, 21 insertions, 3 deletions
diff --git a/ingen/EngineBase.hpp b/ingen/EngineBase.hpp index 5288eafa..caa1cf00 100644 --- a/ingen/EngineBase.hpp +++ b/ingen/EngineBase.hpp @@ -54,6 +54,11 @@ public: virtual void deactivate() = 0; /** + Return true iff events are waiting to be processed. + */ + virtual bool pending_events() = 0; + + /** Process audio for @p sample_count frames. If the return value is non-zero, events have been processed and are diff --git a/ingen/Status.hpp b/ingen/Status.hpp index 79655e3d..c14bfc06 100644 --- a/ingen/Status.hpp +++ b/ingen/Status.hpp @@ -25,6 +25,7 @@ enum Status { BAD_INDEX, BAD_OBJECT_TYPE, + BAD_REQUEST, BAD_VALUE_TYPE, CLIENT_NOT_FOUND, CREATION_FAILED, @@ -33,8 +34,10 @@ enum Status { INTERNAL_ERROR, INVALID_PARENT_PATH, INVALID_POLY, + NOT_DELETABLE, NOT_FOUND, NOT_MOVABLE, + NOT_PREPARED, NO_SPACE, PARENT_DIFFERS, PARENT_NOT_FOUND, @@ -53,6 +56,7 @@ ingen_status_string(Status st) case BAD_INDEX: return "Invalid index"; case BAD_OBJECT_TYPE: return "Invalid object type"; + case BAD_REQUEST: return "Bad request"; case BAD_VALUE_TYPE: return "Invalid value type"; case CLIENT_NOT_FOUND: return "Client not found"; case CREATION_FAILED: return "Creation failed"; @@ -61,13 +65,15 @@ ingen_status_string(Status st) case INTERNAL_ERROR: return "Internal error"; case INVALID_PARENT_PATH: return "Invalid parent path"; case INVALID_POLY: return "Invalid polyphony"; + case NOT_DELETABLE: return "Object not deletable"; case NOT_FOUND: return "Object not found"; case NOT_MOVABLE: return "Object not movable"; + case NOT_PREPARED: return "Not prepared"; case NO_SPACE: return "Insufficient space"; case PARENT_DIFFERS: return "Parent differs"; case PARENT_NOT_FOUND: return "Parent not found"; - case PORT_NOT_FOUND: return "Port not found"; case PLUGIN_NOT_FOUND: return "Plugin not found"; + case PORT_NOT_FOUND: return "Port not found"; case TYPE_MISMATCH: return "Type mismatch"; case UNKNOWN_TYPE: return "Unknown type"; } diff --git a/ingen/shared/AtomReader.hpp b/ingen/shared/AtomReader.hpp index 2887aad1..1386d3ba 100644 --- a/ingen/shared/AtomReader.hpp +++ b/ingen/shared/AtomReader.hpp @@ -38,10 +38,11 @@ public: AtomReader(URIMap& map, URIs& uris, Forge& forge, Interface& iface); ~AtomReader() {} - void write(const LV2_Atom* msg); + bool write(const LV2_Atom* msg); private: void get_atom(const LV2_Atom* in, Raul::Atom& out); + const char* atom_to_uri(const LV2_Atom* atom); void get_props(const LV2_Atom_Object* obj, Ingen::Resource::Properties& props); diff --git a/ingen/shared/AtomSink.hpp b/ingen/shared/AtomSink.hpp index b4694926..f25e6548 100644 --- a/ingen/shared/AtomSink.hpp +++ b/ingen/shared/AtomSink.hpp @@ -28,7 +28,11 @@ namespace Shared { class AtomSink { public: virtual ~AtomSink() {} - virtual void write(const LV2_Atom* msg) = 0; + + /** Write an Atom to the sink. + * @return True on success. + */ + virtual bool write(const LV2_Atom* msg) = 0; }; } // namespace Shared diff --git a/ingen/shared/URIs.hpp b/ingen/shared/URIs.hpp index 7b89c2ba..c1eec103 100644 --- a/ingen/shared/URIs.hpp +++ b/ingen/shared/URIs.hpp @@ -59,6 +59,7 @@ public: const Quark atom_Bool; const Quark atom_Float; const Quark atom_Int; + const Quark atom_Resource; const Quark atom_Sequence; const Quark atom_Sound; const Quark atom_String; @@ -82,6 +83,7 @@ public: const Quark ingen_enabled; const Quark ingen_engine; const Quark ingen_head; + const Quark ingen_incidentTo; const Quark ingen_nil; const Quark ingen_node; const Quark ingen_polyphonic; |