| @@ -2107,23 +2107,30 @@ public: | |||||
| switch (rdf_descriptor->Ports[rindex].Designation) | switch (rdf_descriptor->Ports[rindex].Designation) | ||||
| { | { | ||||
| case LV2_PORT_DESIGNATION_TIME_BAR: | case LV2_PORT_DESIGNATION_TIME_BAR: | ||||
| setParameterValue(k, timeInfo->bbt.bar, false, false, false); | |||||
| if (timeInfo->valid & CarlaEngineTimeBBT) | |||||
| setParameterValue(k, timeInfo->bbt.bar, false, false, false); | |||||
| break; | break; | ||||
| case LV2_PORT_DESIGNATION_TIME_BAR_BEAT: | case LV2_PORT_DESIGNATION_TIME_BAR_BEAT: | ||||
| setParameterValue(k, timeInfo->bbt.tick, false, false, false); | |||||
| if (timeInfo->valid & CarlaEngineTimeBBT) | |||||
| setParameterValue(k, timeInfo->bbt.tick, false, false, false); | |||||
| break; | break; | ||||
| case LV2_PORT_DESIGNATION_TIME_BEAT: | case LV2_PORT_DESIGNATION_TIME_BEAT: | ||||
| setParameterValue(k, timeInfo->bbt.beat, false, false, false); | |||||
| if (timeInfo->valid & CarlaEngineTimeBBT) | |||||
| setParameterValue(k, timeInfo->bbt.beat, false, false, false); | |||||
| break; | break; | ||||
| case LV2_PORT_DESIGNATION_TIME_BEAT_UNIT: | case LV2_PORT_DESIGNATION_TIME_BEAT_UNIT: | ||||
| setParameterValue(k, timeInfo->bbt.beat_type, false, false, false); | |||||
| if (timeInfo->valid & CarlaEngineTimeBBT) | |||||
| setParameterValue(k, timeInfo->bbt.beat_type, false, false, false); | |||||
| break; | break; | ||||
| case LV2_PORT_DESIGNATION_TIME_BEATS_PER_BAR: | case LV2_PORT_DESIGNATION_TIME_BEATS_PER_BAR: | ||||
| setParameterValue(k, timeInfo->bbt.beats_per_bar, false, false, false); | |||||
| if (timeInfo->valid & CarlaEngineTimeBBT) | |||||
| setParameterValue(k, timeInfo->bbt.beats_per_bar, false, false, false); | |||||
| break; | break; | ||||
| case LV2_PORT_DESIGNATION_TIME_BEATS_PER_MINUTE: | case LV2_PORT_DESIGNATION_TIME_BEATS_PER_MINUTE: | ||||
| setParameterValue(k, timeInfo->bbt.beats_per_minute, false, false, false); | |||||
| if (timeInfo->valid & CarlaEngineTimeBBT) | |||||
| setParameterValue(k, timeInfo->bbt.beats_per_minute, false, false, false); | |||||
| break; | break; | ||||
| case LV2_PORT_DESIGNATION_TIME_FRAME: | case LV2_PORT_DESIGNATION_TIME_FRAME: | ||||
| setParameterValue(k, timeInfo->frame, false, false, false); | setParameterValue(k, timeInfo->frame, false, false, false); | ||||
| break; | break; | ||||
| @@ -24,6 +24,7 @@ | |||||
| #include "lv2/atom.h" | #include "lv2/atom.h" | ||||
| #include "lv2/atom-forge.h" | #include "lv2/atom-forge.h" | ||||
| #include "lv2/atom-util.h" | #include "lv2/atom-util.h" | ||||
| #include "lv2/buf-size.h" | |||||
| #include "lv2/data-access.h" | #include "lv2/data-access.h" | ||||
| // dynmanifest | // dynmanifest | ||||
| #include "lv2/event.h" | #include "lv2/event.h" | ||||
| @@ -31,6 +32,8 @@ | |||||
| #include "lv2/instance-access.h" | #include "lv2/instance-access.h" | ||||
| #include "lv2/log.h" | #include "lv2/log.h" | ||||
| #include "lv2/midi.h" | #include "lv2/midi.h" | ||||
| #include "lv2/options.h" | |||||
| #include "lv2/parameters.h" | |||||
| #include "lv2/patch.h" | #include "lv2/patch.h" | ||||
| #include "lv2/port-groups.h" | #include "lv2/port-groups.h" | ||||
| #include "lv2/port-props.h" | #include "lv2/port-props.h" | ||||
| @@ -66,9 +69,6 @@ | |||||
| #define NS_rdfs "http://www.w3.org/2000/01/rdf-schema#" | #define NS_rdfs "http://www.w3.org/2000/01/rdf-schema#" | ||||
| #define NS_llmm "http://ll-plugins.nongnu.org/lv2/ext/midimap#" | #define NS_llmm "http://ll-plugins.nongnu.org/lv2/ext/midimap#" | ||||
| #define LV2_PARAMETERS_URI "http://lv2plug.in/ns/ext/parameters" | |||||
| #define LV2_PARAMETERS_PREFIX LV2_PARAMETERS_URI "#" | |||||
| #define LV2_MIDI_Map__CC "http://ll-plugins.nongnu.org/lv2/namespace#CC" | #define LV2_MIDI_Map__CC "http://ll-plugins.nongnu.org/lv2/namespace#CC" | ||||
| #define LV2_MIDI_Map__NRPN "http://ll-plugins.nongnu.org/lv2/namespace#NRPN" | #define LV2_MIDI_Map__NRPN "http://ll-plugins.nongnu.org/lv2/namespace#NRPN" | ||||
| @@ -153,7 +153,7 @@ public: | |||||
| unit_symbol (new_uri(LV2_UNITS__symbol)), | unit_symbol (new_uri(LV2_UNITS__symbol)), | ||||
| ui_gtk2 (new_uri(LV2_UI__GtkUI)), | ui_gtk2 (new_uri(LV2_UI__GtkUI)), | ||||
| //ui_gtk3 (new_uri(LV2_UI__Gtk3UI)), // FIXME | |||||
| ui_gtk3 (new_uri(LV2_UI__Gtk3UI)), | |||||
| ui_qt4 (new_uri(LV2_UI__Qt4UI)), | ui_qt4 (new_uri(LV2_UI__Qt4UI)), | ||||
| ui_cocoa (new_uri(LV2_UI__CocoaUI)), | ui_cocoa (new_uri(LV2_UI__CocoaUI)), | ||||
| ui_windows (new_uri(LV2_UI__WindowsUI)), | ui_windows (new_uri(LV2_UI__WindowsUI)), | ||||
| @@ -268,7 +268,7 @@ public: | |||||
| // UI Types | // UI Types | ||||
| Lilv::Node ui_gtk2; | Lilv::Node ui_gtk2; | ||||
| //Lilv::Node ui_gtk3;// FIXME | |||||
| Lilv::Node ui_gtk3; | |||||
| Lilv::Node ui_qt4; | Lilv::Node ui_qt4; | ||||
| Lilv::Node ui_cocoa; | Lilv::Node ui_cocoa; | ||||
| Lilv::Node ui_windows; | Lilv::Node ui_windows; | ||||
| @@ -581,8 +581,8 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI URI) | |||||
| rdf_port->Designation = LV2_PORT_DESIGNATION_FREEWHEELING; | rdf_port->Designation = LV2_PORT_DESIGNATION_FREEWHEELING; | ||||
| else if (strcmp(designation, LV2_CORE__latency) == 0) | else if (strcmp(designation, LV2_CORE__latency) == 0) | ||||
| rdf_port->Designation = LV2_PORT_DESIGNATION_LATENCY; | rdf_port->Designation = LV2_PORT_DESIGNATION_LATENCY; | ||||
| //else if (strcmp(designation, LV2_PARAMETERS__sampleRate) == 0) // FIXME | |||||
| // rdf_port->Designation = LV2_PORT_DESIGNATION_SAMPLE_RATE; | |||||
| else if (strcmp(designation, LV2_PARAMETERS__sampleRate) == 0) | |||||
| rdf_port->Designation = LV2_PORT_DESIGNATION_SAMPLE_RATE; | |||||
| else if (strcmp(designation, LV2_TIME__bar) == 0) | else if (strcmp(designation, LV2_TIME__bar) == 0) | ||||
| rdf_port->Designation = LV2_PORT_DESIGNATION_TIME_BAR; | rdf_port->Designation = LV2_PORT_DESIGNATION_TIME_BAR; | ||||
| else if (strcmp(designation, LV2_TIME__barBeat) == 0) | else if (strcmp(designation, LV2_TIME__barBeat) == 0) | ||||
| @@ -966,8 +966,8 @@ const LV2_RDF_Descriptor* lv2_rdf_new(const LV2_URI URI) | |||||
| { | { | ||||
| if (lilvUI.is_a(Lv2World.ui_gtk2)) | if (lilvUI.is_a(Lv2World.ui_gtk2)) | ||||
| rdf_ui->Type = LV2_UI_GTK2; | rdf_ui->Type = LV2_UI_GTK2; | ||||
| //else if (lilvUI.is_a(Lv2World.ui_gtk3)) | |||||
| // rdf_ui->Type = LV2_UI_GTK3; | |||||
| else if (lilvUI.is_a(Lv2World.ui_gtk3)) | |||||
| rdf_ui->Type = LV2_UI_GTK3; | |||||
| else if (lilvUI.is_a(Lv2World.ui_qt4)) | else if (lilvUI.is_a(Lv2World.ui_qt4)) | ||||
| rdf_ui->Type = LV2_UI_QT4; | rdf_ui->Type = LV2_UI_QT4; | ||||
| else if (lilvUI.is_a(Lv2World.ui_cocoa)) | else if (lilvUI.is_a(Lv2World.ui_cocoa)) | ||||
| @@ -1512,8 +1512,8 @@ LV2_URI get_lv2_ui_uri(const LV2_Property type) | |||||
| { | { | ||||
| case LV2_UI_GTK2: | case LV2_UI_GTK2: | ||||
| return LV2_UI__GtkUI; | return LV2_UI__GtkUI; | ||||
| //case LV2_UI_GTK3: // FIXME | |||||
| // return LV2_UI__Gtk3UI; | |||||
| case LV2_UI_GTK3: | |||||
| return LV2_UI__Gtk3UI; | |||||
| case LV2_UI_QT4: | case LV2_UI_QT4: | ||||
| return LV2_UI__Qt4UI; | return LV2_UI__Qt4UI; | ||||
| case LV2_UI_COCOA: | case LV2_UI_COCOA: | ||||
| @@ -0,0 +1,30 @@ | |||||
| /* | |||||
| Copyright 2007-2012 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 LV2_BUF_SIZE_H | |||||
| #define LV2_BUF_SIZE_H | |||||
| #define LV2_BUF_SIZE_URI "http://lv2plug.in/ns/ext/buf-size" | |||||
| #define LV2_BUF_SIZE_PREFIX LV2_BUF_SIZE_URI "#" | |||||
| #define LV2_BUF_SIZE__boundedBlockLength LV2_BUF_SIZE_PREFIX "boundedBlockLength" | |||||
| #define LV2_BUF_SIZE__fixedBlockLength LV2_BUF_SIZE_PREFIX "fixedBlockLength" | |||||
| #define LV2_BUF_SIZE__maxBlockLength LV2_BUF_SIZE_PREFIX "maxBlockLength" | |||||
| #define LV2_BUF_SIZE__minBlockLength LV2_BUF_SIZE_PREFIX "minBlockLength" | |||||
| #define LV2_BUF_SIZE__powerOf2BlockLength LV2_BUF_SIZE_PREFIX "powerOf2BlockLength" | |||||
| #define LV2_BUF_SIZE__sequenceSize LV2_BUF_SIZE_PREFIX "sequenceSize" | |||||
| #endif /* LV2_BUF_SIZE_H */ | |||||
| @@ -0,0 +1,53 @@ | |||||
| /* | |||||
| Copyright 2012 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 LV2_OPTIONS_H | |||||
| #define LV2_OPTIONS_H | |||||
| #include <stdint.h> | |||||
| #include "lv2/lv2plug.in/ns/ext/urid/urid.h" | |||||
| #define LV2_OPTIONS_URI "http://lv2plug.in/ns/ext/options" | |||||
| #define LV2_OPTIONS_PREFIX LV2_OPTIONS_URI "#" | |||||
| #define LV2_OPTIONS__Option LV2_OPTIONS_PREFIX "Option" | |||||
| #define LV2_OPTIONS__options LV2_OPTIONS_PREFIX "options" | |||||
| #define LV2_OPTIONS__requiredOption LV2_OPTIONS_PREFIX "requiredOption" | |||||
| #define LV2_OPTIONS__supportedOption LV2_OPTIONS_PREFIX "supportedOption" | |||||
| #ifdef __cplusplus | |||||
| extern "C" { | |||||
| #endif | |||||
| /** | |||||
| An instantiation time option. | |||||
| An array of these is passed to the instantiate method in a Feature with URI | |||||
| LV2_OPTIONS__options . | |||||
| */ | |||||
| typedef struct { | |||||
| LV2_URID key; /**< Key (a property URID). */ | |||||
| uint32_t size; /**< Size of value in bytes. */ | |||||
| LV2_URID type; /**< Type of value (a datatype URID). */ | |||||
| const void* value; /**< Pointer to value. */ | |||||
| } LV2_Options_Option; | |||||
| #ifdef __cplusplus | |||||
| } /* extern "C" */ | |||||
| #endif | |||||
| #endif /* LV2_OPTIONS_H */ | |||||
| @@ -0,0 +1,49 @@ | |||||
| /* | |||||
| Copyright 2012 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 LV2_PARAMETERS_H | |||||
| #define LV2_PARAMETERS_H | |||||
| #define LV2_PARAMETERS_URI "http://lv2plug.in/ns/ext/parameters" | |||||
| #define LV2_PARAMETERS_PREFIX LV2_PARAMETERS_URI "#" | |||||
| #define LV2_PARAMETERS__CompressorControls LV2_PARAMETERS_PREFIX "CompressorControls" | |||||
| #define LV2_PARAMETERS__ControlGroup LV2_PARAMETERS_PREFIX "ControlGroup" | |||||
| #define LV2_PARAMETERS__EnvelopeControls LV2_PARAMETERS_PREFIX "EnvelopeControls" | |||||
| #define LV2_PARAMETERS__FilterControls LV2_PARAMETERS_PREFIX "FilterControls" | |||||
| #define LV2_PARAMETERS__OscillatorControls LV2_PARAMETERS_PREFIX "OscillatorControls" | |||||
| #define LV2_PARAMETERS__amplitude LV2_PARAMETERS_PREFIX "amplitude" | |||||
| #define LV2_PARAMETERS__attack LV2_PARAMETERS_PREFIX "attack" | |||||
| #define LV2_PARAMETERS__bypass LV2_PARAMETERS_PREFIX "bypass" | |||||
| #define LV2_PARAMETERS__cutoffFrequency LV2_PARAMETERS_PREFIX "cutoffFrequency" | |||||
| #define LV2_PARAMETERS__decay LV2_PARAMETERS_PREFIX "decay" | |||||
| #define LV2_PARAMETERS__delay LV2_PARAMETERS_PREFIX "delay" | |||||
| #define LV2_PARAMETERS__dryLevel LV2_PARAMETERS_PREFIX "dryLevel" | |||||
| #define LV2_PARAMETERS__frequency LV2_PARAMETERS_PREFIX "frequency" | |||||
| #define LV2_PARAMETERS__gain LV2_PARAMETERS_PREFIX "gain" | |||||
| #define LV2_PARAMETERS__hold LV2_PARAMETERS_PREFIX "hold" | |||||
| #define LV2_PARAMETERS__pulseWidth LV2_PARAMETERS_PREFIX "pulseWidth" | |||||
| #define LV2_PARAMETERS__ratio LV2_PARAMETERS_PREFIX "ratio" | |||||
| #define LV2_PARAMETERS__release LV2_PARAMETERS_PREFIX "release" | |||||
| #define LV2_PARAMETERS__resonance LV2_PARAMETERS_PREFIX "resonance" | |||||
| #define LV2_PARAMETERS__sampleRate LV2_PARAMETERS_PREFIX "sampleRate" | |||||
| #define LV2_PARAMETERS__sustain LV2_PARAMETERS_PREFIX "sustain" | |||||
| #define LV2_PARAMETERS__threshold LV2_PARAMETERS_PREFIX "threshold" | |||||
| #define LV2_PARAMETERS__waveform LV2_PARAMETERS_PREFIX "waveform" | |||||
| #define LV2_PARAMETERS__wetDryRatio LV2_PARAMETERS_PREFIX "wetDryRatio" | |||||
| #define LV2_PARAMETERS__wetLevel LV2_PARAMETERS_PREFIX "wetLevel" | |||||
| #endif /* LV2_PARAMETERS_H */ | |||||