summaryrefslogtreecommitdiffstats
path: root/src/AtomReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/AtomReader.cpp')
-rw-r--r--src/AtomReader.cpp12
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;