From e8103f203c62daf7fb269a35e4fc0c92b7b16fe2 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 30 May 2011 23:19:28 +0000 Subject: Add "Jalv", a stand-alone version of lv2jack that supports plugin UIs via Suil git-svn-id: http://svn.drobilla.net/lad/trunk/jalv@3344 a436a847-0d15-0410-975c-d299462d15a1 --- src/jalv_internal.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/jalv_internal.h (limited to 'src/jalv_internal.h') diff --git a/src/jalv_internal.h b/src/jalv_internal.h new file mode 100644 index 0000000..f4dc6d4 --- /dev/null +++ b/src/jalv_internal.h @@ -0,0 +1,64 @@ +/* + Copyright 2007-2011 David Robillard + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#ifndef JALV_INTERNAL_H +#define JALV_INTERNAL_H + +#include + +#include + +#include "lilv/lilv.h" + +#include "suil/suil.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + LilvWorld* world; /**< Lilv World */ + jack_client_t* jack_client; /**< Jack client */ + sem_t* done; /**< Exit semaphore */ + const LilvPlugin* plugin; /**< Plugin class (RDF data) */ + LilvInstance* instance; /**< Plugin instance (shared library) */ + uint32_t num_ports; /**< Size of the two following arrays: */ + struct Port* ports; /**< Port array of size num_ports */ + LilvNode* input_class; /**< Input port class (URI) */ + LilvNode* output_class; /**< Output port class (URI) */ + LilvNode* control_class; /**< Control port class (URI) */ + LilvNode* audio_class; /**< Audio port class (URI) */ + LilvNode* event_class; /**< Event port class (URI) */ + LilvNode* midi_class; /**< MIDI event class (URI) */ + LilvNode* optional; /**< lv2:connectionOptional port property */ +} Jalv; + +void +jalv_init(int* argc, char*** argv); + +LilvNode* +jalv_native_ui_type(Jalv* jalv); + +int +jalv_open_ui(Jalv* jalv, + SuilInstance* instance); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // JALV_INTERNAL_H -- cgit v1.2.1