diff options
author | David Robillard <d@drobilla.net> | 2011-05-30 23:19:28 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-05-30 23:19:28 +0000 |
commit | e8103f203c62daf7fb269a35e4fc0c92b7b16fe2 (patch) | |
tree | b087d65fc3ee9ba6d8b656960f3a9d196f07ffdf /src/jalv_internal.h | |
download | jalv-e8103f203c62daf7fb269a35e4fc0c92b7b16fe2.tar.gz jalv-e8103f203c62daf7fb269a35e4fc0c92b7b16fe2.tar.bz2 jalv-e8103f203c62daf7fb269a35e4fc0c92b7b16fe2.zip |
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
Diffstat (limited to 'src/jalv_internal.h')
-rw-r--r-- | src/jalv_internal.h | 64 |
1 files changed, 64 insertions, 0 deletions
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 <http://drobilla.net> + + 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 <semaphore.h> + +#include <jack/jack.h> + +#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 |