Browse Source

Add new lv2 files, update accordingly

tags/v0.9.0
falkTX 13 years ago
parent
commit
1b631cbee4
5 changed files with 156 additions and 17 deletions
  1. +13
    -6
      c++/carla-backend/lv2.cpp
  2. +11
    -11
      c++/carla-includes/carla_lv2.h
  3. +30
    -0
      c++/carla-includes/lv2/buf-size.h
  4. +53
    -0
      c++/carla-includes/lv2/options.h
  5. +49
    -0
      c++/carla-includes/lv2/parameters.h

+ 13
- 6
c++/carla-backend/lv2.cpp View File

@@ -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;


+ 11
- 11
c++/carla-includes/carla_lv2.h View File

@@ -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:


+ 30
- 0
c++/carla-includes/lv2/buf-size.h View File

@@ -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 */

+ 53
- 0
c++/carla-includes/lv2/options.h View File

@@ -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 */

+ 49
- 0
c++/carla-includes/lv2/parameters.h View File

@@ -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 */

Loading…
Cancel
Save