diff --git a/libs/ardour/ardour/buffer_set.h b/libs/ardour/ardour/buffer_set.h index a791ad2406..95b40958f5 100644 --- a/libs/ardour/ardour/buffer_set.h +++ b/libs/ardour/ardour/buffer_set.h @@ -41,7 +41,6 @@ struct _VstMidiEvent; typedef struct _VstMidiEvent VstMidiEvent; #endif -typedef struct LV2_Evbuf_Impl LV2_Evbuf; namespace ARDOUR { @@ -50,6 +49,8 @@ class AudioBuffer; class MidiBuffer; class PortSet; +struct LV2_Evbuf; + /** A set of buffers of various types. * * These are mainly accessed from Session and passed around as scratch buffers diff --git a/libs/ardour/lv2_evbuf.h b/libs/ardour/ardour/lv2_evbuf.h similarity index 94% rename from libs/ardour/lv2_evbuf.h rename to libs/ardour/ardour/lv2_evbuf.h index 61f6b88909..d86f1c274f 100644 --- a/libs/ardour/lv2_evbuf.h +++ b/libs/ardour/ardour/lv2_evbuf.h @@ -14,21 +14,16 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#ifndef LV2_EVBUF_H -#define LV2_EVBUF_H +#pragma once #include -#ifdef __cplusplus -extern "C" { -#else -#include -#endif +namespace ARDOUR { /** An abstract/opaque LV2 event buffer. */ -typedef struct LV2_Evbuf_Impl LV2_Evbuf; +struct LV2_Evbuf; /** An iterator over an LV2_Evbuf. @@ -140,8 +135,4 @@ lv2_evbuf_write(LV2_Evbuf_Iterator* iter, uint32_t size, const uint8_t* data); -#ifdef __cplusplus } -#endif - -#endif /* LV2_EVBUF_H */ diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h index c437ac79e8..0c006787dd 100644 --- a/libs/ardour/ardour/lv2_plugin.h +++ b/libs/ardour/ardour/lv2_plugin.h @@ -46,7 +46,6 @@ #define PATH_MAX 1024 #endif -typedef struct LV2_Evbuf_Impl LV2_Evbuf; namespace ARDOUR { @@ -59,6 +58,7 @@ const void* lv2plugin_get_port_value(const char* port_symbol, class AudioEngine; class Session; +struct LV2_Evbuf; class LIBARDOUR_API LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee { diff --git a/libs/ardour/buffer_set.cc b/libs/ardour/buffer_set.cc index 3aa3a7333c..9f5a5a12bf 100644 --- a/libs/ardour/buffer_set.cc +++ b/libs/ardour/buffer_set.cc @@ -38,7 +38,7 @@ #include "ardour/port.h" #include "ardour/port_set.h" #include "ardour/lv2_plugin.h" -#include "lv2_evbuf.h" +#include "ardour/lv2_evbuf.h" #include "ardour/uri_map.h" #if defined WINDOWS_VST_SUPPORT || defined LXVST_SUPPORT || defined MACVST_SUPPORT #include "ardour/vestige/vestige.h" diff --git a/libs/ardour/lv2_evbuf.c b/libs/ardour/lv2_evbuf.cc similarity index 75% rename from libs/ardour/lv2_evbuf.c rename to libs/ardour/lv2_evbuf.cc index 337a18e4a2..8681ec7e60 100644 --- a/libs/ardour/lv2_evbuf.c +++ b/libs/ardour/lv2_evbuf.cc @@ -26,9 +26,11 @@ #include #endif -#include "lv2_evbuf.h" +#include "ardour/lv2_evbuf.h" -struct LV2_Evbuf_Impl { +using namespace ARDOUR; + +struct ARDOUR::LV2_Evbuf { uint32_t capacity; uint32_t atom_Chunk; uint32_t atom_Sequence; @@ -42,9 +44,9 @@ lv2_evbuf_pad_size(uint32_t size) } LV2_Evbuf* -lv2_evbuf_new(uint32_t capacity, - uint32_t atom_Chunk, - uint32_t atom_Sequence) +ARDOUR::lv2_evbuf_new (uint32_t capacity, + uint32_t atom_Chunk, + uint32_t atom_Sequence) { // FIXME: memory must be 64-bit aligned LV2_Evbuf* evbuf = (LV2_Evbuf*)malloc( @@ -57,13 +59,13 @@ lv2_evbuf_new(uint32_t capacity, } void -lv2_evbuf_free(LV2_Evbuf* evbuf) +ARDOUR::lv2_evbuf_free (LV2_Evbuf* evbuf) { free(evbuf); } void -lv2_evbuf_reset(LV2_Evbuf* evbuf, bool input) +ARDOUR::lv2_evbuf_reset (LV2_Evbuf* evbuf, bool input) { if (input) { evbuf->atom.atom.size = sizeof(LV2_Atom_Sequence_Body); @@ -75,7 +77,7 @@ lv2_evbuf_reset(LV2_Evbuf* evbuf, bool input) } uint32_t -lv2_evbuf_get_size(LV2_Evbuf* evbuf) +ARDOUR::lv2_evbuf_get_size (LV2_Evbuf* evbuf) { assert(evbuf->atom.atom.type != evbuf->atom_Sequence || evbuf->atom.atom.size >= sizeof(LV2_Atom_Sequence_Body)); @@ -86,26 +88,26 @@ lv2_evbuf_get_size(LV2_Evbuf* evbuf) } uint32_t -lv2_evbuf_get_capacity(LV2_Evbuf* evbuf) +ARDOUR::lv2_evbuf_get_capacity (LV2_Evbuf* evbuf) { return evbuf->capacity; } void* -lv2_evbuf_get_buffer(LV2_Evbuf* evbuf) +ARDOUR::lv2_evbuf_get_buffer (LV2_Evbuf* evbuf) { return &evbuf->atom; } LV2_Evbuf_Iterator -lv2_evbuf_begin(LV2_Evbuf* evbuf) +ARDOUR::lv2_evbuf_begin (LV2_Evbuf* evbuf) { LV2_Evbuf_Iterator iter = { evbuf, 0 }; return iter; } LV2_Evbuf_Iterator -lv2_evbuf_end(LV2_Evbuf* evbuf) +ARDOUR::lv2_evbuf_end (LV2_Evbuf* evbuf) { const uint32_t size = lv2_evbuf_get_size(evbuf); const LV2_Evbuf_Iterator iter = { evbuf, lv2_evbuf_pad_size(size) }; @@ -113,13 +115,13 @@ lv2_evbuf_end(LV2_Evbuf* evbuf) } bool -lv2_evbuf_is_valid(LV2_Evbuf_Iterator iter) +ARDOUR::lv2_evbuf_is_valid(LV2_Evbuf_Iterator iter) { return iter.offset < lv2_evbuf_get_size(iter.evbuf); } LV2_Evbuf_Iterator -lv2_evbuf_next(LV2_Evbuf_Iterator iter) +ARDOUR::lv2_evbuf_next (LV2_Evbuf_Iterator iter) { if (!lv2_evbuf_is_valid(iter)) { return iter; @@ -140,12 +142,12 @@ lv2_evbuf_next(LV2_Evbuf_Iterator iter) } bool -lv2_evbuf_get(LV2_Evbuf_Iterator iter, - uint32_t* samples, - uint32_t* subframes, - uint32_t* type, - uint32_t* size, - uint8_t** data) +ARDOUR::lv2_evbuf_get (LV2_Evbuf_Iterator iter, + uint32_t* samples, + uint32_t* subframes, + uint32_t* type, + uint32_t* size, + uint8_t** data) { *samples = *subframes = *type = *size = 0; *data = NULL; @@ -168,12 +170,12 @@ lv2_evbuf_get(LV2_Evbuf_Iterator iter, } bool -lv2_evbuf_write(LV2_Evbuf_Iterator* iter, - uint32_t samples, - uint32_t subframes, - uint32_t type, - uint32_t size, - const uint8_t* data) +ARDOUR::lv2_evbuf_write (LV2_Evbuf_Iterator* iter, + uint32_t samples, + uint32_t subframes, + uint32_t type, + uint32_t size, + const uint8_t* data) { LV2_Atom_Sequence* aseq = (LV2_Atom_Sequence*)&iter->evbuf->atom; diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index 489604ed4d..f332c70c5b 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -64,6 +64,7 @@ #include "ardour/audioengine.h" #include "ardour/directory_names.h" #include "ardour/debug.h" +#include "ardour/lv2_evbuf.h" #include "ardour/lv2_plugin.h" #include "ardour/midi_patch_manager.h" #include "ardour/session.h" @@ -116,8 +117,6 @@ #include #endif -#include "lv2_evbuf.h" - #ifdef HAVE_SUIL #include #endif diff --git a/libs/ardour/wscript b/libs/ardour/wscript index bb52ce4379..1ca9653a6a 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -435,7 +435,7 @@ def build(bld): #obj.add_objects = 'default/libs/surfaces/control_protocol/smpte_1.o' if bld.is_defined('HAVE_LILV') : - obj.source += ['lv2_plugin.cc', 'lv2_evbuf.c', 'uri_map.cc'] + obj.source += ['lv2_plugin.cc', 'lv2_evbuf.cc', 'uri_map.cc'] obj.uselib += ['LILV'] if bld.is_defined('HAVE_SUIL'): if bld.is_defined('YTK'):