diff options
author | David Robillard <d@drobilla.net> | 2017-03-26 22:32:53 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-03-26 22:49:48 +0200 |
commit | da33ac899a390ac13abbc6fba36d1b5c1d65d267 (patch) | |
tree | 887af451a7e9fe7d2d1aac076246b8d410747e9c /src/AtomReader.cpp | |
parent | 09a0252c938fbdc3a0329520e78586432528eda9 (diff) | |
download | ingen-nodeless.tar.gz ingen-nodeless.tar.bz2 ingen-nodeless.zip |
Add properties parameter to delete interfacenodeless
Diffstat (limited to 'src/AtomReader.cpp')
-rw-r--r-- | src/AtomReader.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/AtomReader.cpp b/src/AtomReader.cpp index 18b5877c..60662209 100644 --- a/src/AtomReader.cpp +++ b/src/AtomReader.cpp @@ -171,13 +171,13 @@ AtomReader::write(const LV2_Atom* msg, int32_t default_id) const LV2_Atom_Object* body = NULL; lv2_atom_object_get(obj, (LV2_URID)_uris.patch_body, &body, 0); + Ingen::Properties props; + if (body) { + get_props(body, props); + } + if (subject_uri && !body) { _iface.del(*subject_uri); - return true; - } else if (obj->body.otype == _uris.ingen_BundleStart) { - _iface.bundle_begin(); - } else if (obj->body.otype == _uris.ingen_BundleEnd) { - _iface.bundle_end(); } else if (body && body->body.otype == _uris.ingen_Arc) { const LV2_Atom* tail = NULL; const LV2_Atom* head = NULL; @@ -200,6 +200,8 @@ AtomReader::write(const LV2_Atom* msg, int32_t default_id) _log.warn("Delete of unknown object\n"); return false; } + } else if (!subject_uri && body) { + _iface.del(_uris.patch_wildcard, props); } } else if (obj->body.otype == _uris.patch_Put) { const LV2_Atom_Object* body = NULL; |