| 
							- /*
 -   Copyright 2016 Robin Gareus <robin@gareus.org>
 -   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 LV2_MIDNAM_H
 - #define LV2_MIDNAM_H
 - 
 - #include "lv2.h"
 - 
 - /**
 -    @defgroup lv2midnam MIDI Naming
 -    @{
 - */
 - 
 - #define LV2_MIDNAM_URI "http://ardour.org/lv2/midnam"
 - #define LV2_MIDNAM_PREFIX LV2_MIDNAM_URI "#"
 - #define LV2_MIDNAM__interface LV2_MIDNAM_PREFIX "interface"
 - #define LV2_MIDNAM__update LV2_MIDNAM_PREFIX "update"
 - 
 - typedef void* LV2_Midnam_Handle;
 - 
 - /** a LV2 Feature provided by the Host to the plugin */
 - typedef struct {
 - 	/** Opaque host data */
 - 	LV2_Midnam_Handle handle;
 - 	/** Request from run() that the host should re-read the midnam */
 - 	void (*update)(LV2_Midnam_Handle handle);
 - } LV2_Midnam;
 - 
 - typedef struct {
 - 	/** Query midnam document. The plugin
 - 	 * is expected to return a null-terminated XML
 - 	 * text which is a valid midnam desciption
 - 	 * (or NULL in case of error).
 - 	 *
 - 	 * The midnam \<Model\> must be unique and
 - 	 * specific for the given plugin-instance.
 - 	 */
 - 	char* (*midnam)(LV2_Handle instance);
 - 
 - 	/** The unique model id used ith the midnam,
 - 	 * (or NULL).
 - 	 */
 - 	char* (*model)(LV2_Handle instance);
 - 
 - 	/** free allocated strings. The host
 - 	 * calls this for every value returned by
 - 	 * \ref midnam and \ref model.
 - 	 */
 - 	void (*free)(char*);
 - } LV2_Midnam_Interface;
 - 
 - #endif
 
 
  |