From c2cc2607f8d5b9eea933a18abd91b2ce708fc90c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 23 Feb 2012 01:53:15 +0000 Subject: Separately define body types for atoms with non-trivial bodies so the type definitions are useful when only the body is available (e.g. state API). Use a single int64_t stamp for frame times since range is more important now and subframes was never really used anyway. Add atom:frameTime and atom:beatTime for serialising events. Consistently use name "body" for all types of atom bodies. Add lv2_atom_forge_atom() and lv2_atom_forge_raw() for constructing arbitrary atoms. Merge similar string-like forge methods. Update language URI requirements to match current (and hopefully permanent, geeze) http://lexvo.org reality. --- plugins/eg-sampler.lv2/sampler.c | 8 ++++---- plugins/eg-sampler.lv2/uris.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'plugins') diff --git a/plugins/eg-sampler.lv2/sampler.c b/plugins/eg-sampler.lv2/sampler.c index 6ac5a38..fd450c6 100644 --- a/plugins/eg-sampler.lv2/sampler.c +++ b/plugins/eg-sampler.lv2/sampler.c @@ -335,13 +335,13 @@ run(LV2_Handle instance, if (ev->body.type == uris->midi_Event) { uint8_t* const data = (uint8_t* const)(ev + 1); if ((data[0] & 0xF0) == 0x90) { - start_frame = ev->time.audio.frames; + start_frame = ev->time.frames; plugin->frame = 0; plugin->play = true; } } else if (is_object_type(uris, ev->body.type)) { const LV2_Atom_Object* obj = (LV2_Atom_Object*)&ev->body; - if (obj->otype == uris->msg_Set) { + if (obj->body.otype == uris->msg_Set) { /* Received a set message, send it to the worker thread. */ fprintf(stderr, "Queueing set message\n"); zix_ring_write(plugin->to_worker, @@ -350,7 +350,7 @@ run(LV2_Handle instance, lv2_atom_total_size(&obj->atom))); zix_sem_post(&plugin->signal); } else { - fprintf(stderr, "Unknown object type %d\n", obj->otype); + fprintf(stderr, "Unknown object type %d\n", obj->body.otype); } } else { fprintf(stderr, "Unknown event type %d\n", ev->body.type); @@ -410,7 +410,7 @@ run(LV2_Handle instance, plugin->sample = m.sample; /* Send a notification that we're using a new sample. */ - lv2_atom_forge_audio_time(&plugin->forge, 0, 0); + lv2_atom_forge_frame_time(&plugin->forge, 0); write_set_file(&plugin->forge, uris, plugin->sample->path, plugin->sample->path_len); diff --git a/plugins/eg-sampler.lv2/uris.h b/plugins/eg-sampler.lv2/uris.h index de1cbd3..8d0a983 100644 --- a/plugins/eg-sampler.lv2/uris.h +++ b/plugins/eg-sampler.lv2/uris.h @@ -107,8 +107,8 @@ static inline const LV2_Atom* read_set_file(const SamplerURIs* uris, const LV2_Atom_Object* obj) { - if (obj->otype != uris->msg_Set) { - fprintf(stderr, "Ignoring unknown message type %d\n", obj->otype); + if (obj->body.otype != uris->msg_Set) { + fprintf(stderr, "Ignoring unknown message type %d\n", obj->body.otype); return NULL; } -- cgit v1.2.1