suil.h   suil.h 
/* /*
Copyright 2011 David Robillard <http://drobilla.net> Copyright 2011-2012 David Robillard <http://drobilla.net>
Permission to use, copy, modify, and/or distribute this software for any Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies. copyright notice and this permission notice appear in all copies.
THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
skipping to change at line 24 skipping to change at line 24
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
@file suil.h API for Suil, an LV2 UI wrapper library. @file suil.h API for Suil, an LV2 UI wrapper library.
*/ */
#ifndef SUIL_SUIL_H #ifndef SUIL_SUIL_H
#define SUIL_SUIL_H #define SUIL_SUIL_H
#include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include "lv2/lv2plug.in/ns/lv2core/lv2.h" #include "lv2/lv2plug.in/ns/lv2core/lv2.h"
#ifdef _WIN32
# define SUIL_LIB_IMPORT __declspec(dllimport)
# define SUIL_LIB_EXPORT __declspec(dllexport)
#else
# define SUIL_LIB_IMPORT __attribute__((visibility("default")))
# define SUIL_LIB_EXPORT __attribute__((visibility("default")))
#endif
#ifdef SUIL_SHARED #ifdef SUIL_SHARED
# ifdef _WIN32
# define SUIL_LIB_IMPORT __declspec(dllimport)
# define SUIL_LIB_EXPORT __declspec(dllexport)
# else
# define SUIL_LIB_IMPORT __attribute__((visibility("default")))
# define SUIL_LIB_EXPORT __attribute__((visibility("default")))
# endif
# ifdef SUIL_INTERNAL # ifdef SUIL_INTERNAL
# define SUIL_API SUIL_LIB_EXPORT # define SUIL_API SUIL_LIB_EXPORT
# else # else
# define SUIL_API SUIL_LIB_IMPORT # define SUIL_API SUIL_LIB_IMPORT
# endif # endif
#else #else
# define SUIL_API # define SUIL_API
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#else
# include <stdbool.h>
#endif #endif
/** /**
@defgroup suil Suil @defgroup suil Suil
Suil is a library for loading and wrapping LV2 plugin UIs. With Suil, a Suil is a library for loading and wrapping LV2 plugin UIs. With Suil, a
host written in one supported toolkit can embed a plugin UI written in a host written in one supported toolkit can embed a plugin UI written in a
different supported toolkit. Suil insulates hosts from toolkit librarie s different supported toolkit. Suil insulates hosts from toolkit librarie s
used by plugin UIs. For example, a Gtk host can embed a Qt UI without used by plugin UIs. For example, a Gtk host can embed a Qt UI without
linking against Qt at compile time. linking against Qt at compile time.
skipping to change at line 175 skipping to change at line 177
const char* ui_type_uri); const char* ui_type_uri);
/** /**
Instantiate a UI for an LV2 plugin. Instantiate a UI for an LV2 plugin.
This funcion may load a suil module to adapt the UI to the desired toolk it. This funcion may load a suil module to adapt the UI to the desired toolk it.
Suil is configured at compile time to load modules from the appropriate Suil is configured at compile time to load modules from the appropriate
place, but this can be changed at run-time via the environment variable place, but this can be changed at run-time via the environment variable
SUIL_MODULE_DIR. This makes it possible to bundle suil with an applicat ion. SUIL_MODULE_DIR. This makes it possible to bundle suil with an applicat ion.
Note that some situations (Gtk in Qt, Windows in Gtk) require a parent
container to be passed as a feature with URI LV2_UI__parent
(http://lv2plug.in/ns/extensions/ui#ui) in order to work correctly. The
data must point to a single child container of the host widget set.
@param host Host descriptor. @param host Host descriptor.
@param controller Opaque host controller pointer. @param controller Opaque host controller pointer.
@param container_type_uri URI of the desired host container widget type. @param container_type_uri URI of the desired host container widget type.
@param plugin_uri URI of the plugin to instantiate this UI for. @param plugin_uri URI of the plugin to instantiate this UI for.
@param ui_uri URI of the specifically desired UI. @param ui_uri URI of the specifically desired UI.
@param ui_type_uri URI of the actual UI widget type. @param ui_type_uri URI of the actual UI widget type.
@param ui_bundle_path Path of the UI bundle. @param ui_bundle_path Path of the UI bundle.
@param ui_binary_path Path of the UI binary. @param ui_binary_path Path of the UI binary.
@param features NULL-terminated array of supported features, or NULL. @param features NULL-terminated array of supported features, or NULL.
@return A new UI instance, or NULL if instantiation failed. @return A new UI instance, or NULL if instantiation failed.
 End of changes. 6 change blocks. 
9 lines changed or deleted 16 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/