X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=blobdiff_plain;f=libs%2Fardour%2Flv2_evbuf.c;h=ae6d869b5fac0a87726d453086cbb66b5b56cced;hp=8942d19a9b2b038cb2ad9599939508b051250375;hb=c8c6bca6587450ff64303dbc994a4cd28d6ce7aa;hpb=2b80aee20a01f70afe9997fd39c4ca8d19c8caf8 diff --git a/libs/ardour/lv2_evbuf.c b/libs/ardour/lv2_evbuf.c index 8942d19a9b..ae6d869b5f 100644 --- a/libs/ardour/lv2_evbuf.c +++ b/libs/ardour/lv2_evbuf.c @@ -166,13 +166,13 @@ lv2_evbuf_next(LV2_Evbuf_Iterator iter) uint32_t size; switch (evbuf->type) { case LV2_EVBUF_EVENT: - size = ((LV2_Event*)(evbuf->buf.event.data + offset))->size; + size = ((LV2_Event*)((uintptr_t)(evbuf->buf.event.data + offset)))->size; offset += lv2_evbuf_pad_size(sizeof(LV2_Event) + size); break; case LV2_EVBUF_ATOM: - size = ((LV2_Atom_Event*) + size = ((LV2_Atom_Event*)((uintptr_t) ((char*)LV2_ATOM_CONTENTS(LV2_Atom_Sequence, &evbuf->buf.atom) - + offset))->body.size; + + offset)))->body.size; offset += lv2_evbuf_pad_size(sizeof(LV2_Atom_Event) + size); break; } @@ -203,7 +203,7 @@ lv2_evbuf_get(LV2_Evbuf_Iterator iter, switch (iter.evbuf->type) { case LV2_EVBUF_EVENT: ebuf = &iter.evbuf->buf.event; - ev = (LV2_Event*)ebuf->data + iter.offset; + ev = (LV2_Event*)((uintptr_t)((char*)ebuf->data + iter.offset)); *frames = ev->frames; *subframes = ev->subframes; *type = ev->type; @@ -212,14 +212,14 @@ lv2_evbuf_get(LV2_Evbuf_Iterator iter, break; case LV2_EVBUF_ATOM: aseq = (LV2_Atom_Sequence*)&iter.evbuf->buf.atom; - aev = (LV2_Atom_Event*)( + aev = (LV2_Atom_Event*)((uintptr_t)( (char*)LV2_ATOM_CONTENTS(LV2_Atom_Sequence, aseq) - + iter.offset); + + iter.offset)); *frames = aev->time.frames; *subframes = 0; *type = aev->body.type; *size = aev->body.size; - *data = LV2_ATOM_BODY(&aev->body); + *data = (uint8_t*)LV2_ATOM_BODY(&aev->body); break; } @@ -245,7 +245,7 @@ lv2_evbuf_write(LV2_Evbuf_Iterator* iter, return false; } - ev = (LV2_Event*)(ebuf->data + iter->offset); + ev = (LV2_Event*)((uintptr_t)(ebuf->data + iter->offset)); ev->frames = frames; ev->subframes = subframes; ev->type = type; @@ -264,9 +264,9 @@ lv2_evbuf_write(LV2_Evbuf_Iterator* iter, return false; } - aev = (LV2_Atom_Event*)( + aev = (LV2_Atom_Event*)((uintptr_t)( (char*)LV2_ATOM_CONTENTS(LV2_Atom_Sequence, aseq) - + iter->offset); + + iter->offset)); aev->time.frames = frames; aev->body.type = type; aev->body.size = size;