LMMS
Loading...
Searching...
No Matches
CarlaPluginLV2.cpp File Reference
#include "CarlaPluginInternal.hpp"
#include "CarlaEngine.hpp"
#include "CarlaLv2Utils.hpp"
#include "CarlaBackendUtils.hpp"
#include "CarlaBase64Utils.hpp"
#include "CarlaEngineUtils.hpp"
#include "CarlaPipeUtils.hpp"
#include "CarlaPluginUI.hpp"
#include "CarlaScopeUtils.hpp"
#include "Lv2AtomRingBuffer.hpp"
#include "../modules/lilv/config/lilv_config.h"
#include "rtmempool/rtmempool-lv2.h"
#include "water/files/File.h"
#include "water/misc/Time.h"
#include <string>
#include <vector>

Classes

struct  Lv2EventData
union  LV2EventIters
struct  CarlaPluginLV2EventData
struct  CarlaPluginLV2Options
class  CarlaPipeServerLV2
class  CarlaPluginLV2
struct  CarlaPluginLV2::Extensions
struct  CarlaPluginLV2::UI

Macros

#define URI_CARLA_ATOM_WORKER_IN   "http://kxstudio.sf.net/ns/carla/atomWorkerIn"
#define URI_CARLA_ATOM_WORKER_RESP   "http://kxstudio.sf.net/ns/carla/atomWorkerResp"
#define URI_CARLA_PARAMETER_CHANGE   "http://kxstudio.sf.net/ns/carla/parameterChange"

Enumerations

enum  CarlaLv2URIDs {
  kUridNull = 0 , kUridAtomBlank , kUridAtomBool , kUridAtomChunk ,
  kUridAtomDouble , kUridAtomEvent , kUridAtomFloat , kUridAtomInt ,
  kUridAtomLiteral , kUridAtomLong , kUridAtomNumber , kUridAtomObject ,
  kUridAtomPath , kUridAtomProperty , kUridAtomResource , kUridAtomSequence ,
  kUridAtomSound , kUridAtomString , kUridAtomTuple , kUridAtomURI ,
  kUridAtomURID , kUridAtomVector , kUridAtomTransferAtom , kUridAtomTransferEvent ,
  kUridBufMaxLength , kUridBufMinLength , kUridBufNominalLength , kUridBufSequenceSize ,
  kUridLogError , kUridLogNote , kUridLogTrace , kUridLogWarning ,
  kUridPatchSet , kUridPatchProperty , kUridPatchSubject , kUridPatchValue ,
  kUridTimePosition , kUridTimeBar , kUridTimeBarBeat , kUridTimeBeat ,
  kUridTimeBeatUnit , kUridTimeBeatsPerBar , kUridTimeBeatsPerMinute , kUridTimeFrame ,
  kUridTimeFramesPerSecond , kUridTimeSpeed , kUridTimeTicksPerBeat , kUridMidiEvent ,
  kUridParamSampleRate , kUridBackgroundColor , kUridForegroundColor , kUridScaleFactor ,
  kUridWindowTitle , kUridCarlaAtomWorkerIn , kUridCarlaAtomWorkerResp , kUridCarlaParameterChange ,
  kUridCarlaTransientWindowId , kUridCount
}
enum  CarlaLv2Features {
  kFeatureIdBufSizeBounded = 0 , kFeatureIdBufSizeFixed , kFeatureIdBufSizePowerOf2 , kFeatureIdEvent ,
  kFeatureIdHardRtCapable , kFeatureIdInPlaceBroken , kFeatureIdIsLive , kFeatureIdLogs ,
  kFeatureIdOptions , kFeatureIdPrograms , kFeatureIdResizePort , kFeatureIdRtMemPool ,
  kFeatureIdRtMemPoolOld , kFeatureIdStateFreePath , kFeatureIdStateMakePath , kFeatureIdStateMapPath ,
  kFeatureIdStrictBounds , kFeatureIdUriMap , kFeatureIdUridMap , kFeatureIdUridUnmap ,
  kFeatureIdWorker , kFeatureIdInlineDisplay , kFeatureIdMidnam , kFeatureIdCtrlInPortChangeReq ,
  kFeatureCountPlugin , kFeatureIdUiDataAccess = kFeatureCountPlugin , kFeatureIdUiInstanceAccess , kFeatureIdUiIdleInterface ,
  kFeatureIdUiFixedSize , kFeatureIdUiMakeResident , kFeatureIdUiMakeResident2 , kFeatureIdUiNoUserResize ,
  kFeatureIdUiParent , kFeatureIdUiPortMap , kFeatureIdUiPortSubscribe , kFeatureIdUiResize ,
  kFeatureIdUiRequestValue , kFeatureIdUiTouch , kFeatureIdExternalUi , kFeatureIdExternalUiOld ,
  kFeatureCountAll
}
enum  CarlaLv2StateFeatures {
  kStateFeatureIdFreePath , kStateFeatureIdMakePath , kStateFeatureIdMapPath , kStateFeatureIdWorker ,
  kStateFeatureCountAll
}

Functions

static void initAtomForge (LV2_Atom_Forge &atomForge) noexcept
const voidcarla_render_inline_display_lv2 (const CarlaPluginPtr &plugin, uint32_t width, uint32_t height)

Variables

static CARLA_BACKEND_START_NAMESPACE const CustomData kCustomDataFallback = { nullptr, nullptr, nullptr }
static CustomData kCustomDataFallbackNC = { nullptr, nullptr, nullptr }
static const ExternalMidiNote kExternalMidiNoteFallback = { -1, 0, 0 }
static const char *const kUnmapFallback = "urn:null"
const uint MAX_DEFAULT_BUFFER_SIZE = 8192
const uint PLUGIN_HAS_EXTENSION_OPTIONS = 0x01000
const uint PLUGIN_HAS_EXTENSION_PROGRAMS = 0x02000
const uint PLUGIN_HAS_EXTENSION_STATE = 0x04000
const uint PLUGIN_HAS_EXTENSION_WORKER = 0x08000
const uint PLUGIN_HAS_EXTENSION_INLINE_DISPLAY = 0x10000
const uint PLUGIN_HAS_EXTENSION_MIDNAM = 0x20000
const uint CARLA_EVENT_DATA_ATOM = 0x01
const uint CARLA_EVENT_DATA_EVENT = 0x02
const uint CARLA_EVENT_DATA_MIDI_LL = 0x04
const uint CARLA_EVENT_TYPE_MESSAGE = 0x10
const uint CARLA_EVENT_TYPE_MIDI = 0x20
const uint CARLA_EVENT_TYPE_TIME = 0x40

Macro Definition Documentation

◆ URI_CARLA_ATOM_WORKER_IN

#define URI_CARLA_ATOM_WORKER_IN   "http://kxstudio.sf.net/ns/carla/atomWorkerIn"

◆ URI_CARLA_ATOM_WORKER_RESP

#define URI_CARLA_ATOM_WORKER_RESP   "http://kxstudio.sf.net/ns/carla/atomWorkerResp"

◆ URI_CARLA_PARAMETER_CHANGE

#define URI_CARLA_PARAMETER_CHANGE   "http://kxstudio.sf.net/ns/carla/parameterChange"

Enumeration Type Documentation

◆ CarlaLv2Features

Enumerator
kFeatureIdBufSizeBounded 
kFeatureIdBufSizeFixed 
kFeatureIdBufSizePowerOf2 
kFeatureIdEvent 
kFeatureIdHardRtCapable 
kFeatureIdInPlaceBroken 
kFeatureIdIsLive 
kFeatureIdLogs 
kFeatureIdOptions 
kFeatureIdPrograms 
kFeatureIdResizePort 
kFeatureIdRtMemPool 
kFeatureIdRtMemPoolOld 
kFeatureIdStateFreePath 
kFeatureIdStateMakePath 
kFeatureIdStateMapPath 
kFeatureIdStrictBounds 
kFeatureIdUriMap 
kFeatureIdUridMap 
kFeatureIdUridUnmap 
kFeatureIdWorker 
kFeatureIdInlineDisplay 
kFeatureIdMidnam 
kFeatureIdCtrlInPortChangeReq 
kFeatureCountPlugin 
kFeatureIdUiDataAccess 
kFeatureIdUiInstanceAccess 
kFeatureIdUiIdleInterface 
kFeatureIdUiFixedSize 
kFeatureIdUiMakeResident 
kFeatureIdUiMakeResident2 
kFeatureIdUiNoUserResize 
kFeatureIdUiParent 
kFeatureIdUiPortMap 
kFeatureIdUiPortSubscribe 
kFeatureIdUiResize 
kFeatureIdUiRequestValue 
kFeatureIdUiTouch 
kFeatureIdExternalUi 
kFeatureIdExternalUiOld 
kFeatureCountAll 

◆ CarlaLv2StateFeatures

Enumerator
kStateFeatureIdFreePath 
kStateFeatureIdMakePath 
kStateFeatureIdMapPath 
kStateFeatureIdWorker 
kStateFeatureCountAll 

◆ CarlaLv2URIDs

Enumerator
kUridNull 
kUridAtomBlank 
kUridAtomBool 
kUridAtomChunk 
kUridAtomDouble 
kUridAtomEvent 
kUridAtomFloat 
kUridAtomInt 
kUridAtomLiteral 
kUridAtomLong 
kUridAtomNumber 
kUridAtomObject 
kUridAtomPath 
kUridAtomProperty 
kUridAtomResource 
kUridAtomSequence 
kUridAtomSound 
kUridAtomString 
kUridAtomTuple 
kUridAtomURI 
kUridAtomURID 
kUridAtomVector 
kUridAtomTransferAtom 
kUridAtomTransferEvent 
kUridBufMaxLength 
kUridBufMinLength 
kUridBufNominalLength 
kUridBufSequenceSize 
kUridLogError 
kUridLogNote 
kUridLogTrace 
kUridLogWarning 
kUridPatchSet 
kUridPatchProperty 
kUridPatchSubject 
kUridPatchValue 
kUridTimePosition 
kUridTimeBar 
kUridTimeBarBeat 
kUridTimeBeat 
kUridTimeBeatUnit 
kUridTimeBeatsPerBar 
kUridTimeBeatsPerMinute 
kUridTimeFrame 
kUridTimeFramesPerSecond 
kUridTimeSpeed 
kUridTimeTicksPerBeat 
kUridMidiEvent 
kUridParamSampleRate 
kUridBackgroundColor 
kUridForegroundColor 
kUridScaleFactor 
kUridWindowTitle 
kUridCarlaAtomWorkerIn 
kUridCarlaAtomWorkerResp 
kUridCarlaParameterChange 
kUridCarlaTransientWindowId 
kUridCount 

Function Documentation

◆ carla_render_inline_display_lv2()

const void * carla_render_inline_display_lv2 ( const CarlaPluginPtr & plugin,
uint32_t width,
uint32_t height )

◆ initAtomForge()

void initAtomForge ( LV2_Atom_Forge & atomForge)
staticnoexcept

Variable Documentation

◆ CARLA_EVENT_DATA_ATOM

const uint CARLA_EVENT_DATA_ATOM = 0x01

◆ CARLA_EVENT_DATA_EVENT

const uint CARLA_EVENT_DATA_EVENT = 0x02

◆ CARLA_EVENT_DATA_MIDI_LL

const uint CARLA_EVENT_DATA_MIDI_LL = 0x04

◆ CARLA_EVENT_TYPE_MESSAGE

const uint CARLA_EVENT_TYPE_MESSAGE = 0x10

◆ CARLA_EVENT_TYPE_MIDI

const uint CARLA_EVENT_TYPE_MIDI = 0x20

◆ CARLA_EVENT_TYPE_TIME

const uint CARLA_EVENT_TYPE_TIME = 0x40

◆ kCustomDataFallback

CARLA_BACKEND_START_NAMESPACE const CustomData kCustomDataFallback = { nullptr, nullptr, nullptr }
static

◆ kCustomDataFallbackNC

CustomData kCustomDataFallbackNC = { nullptr, nullptr, nullptr }
static

◆ kExternalMidiNoteFallback

const ExternalMidiNote kExternalMidiNoteFallback = { -1, 0, 0 }
static

◆ kUnmapFallback

const char* const kUnmapFallback = "urn:null"
static

◆ MAX_DEFAULT_BUFFER_SIZE

const uint MAX_DEFAULT_BUFFER_SIZE = 8192

◆ PLUGIN_HAS_EXTENSION_INLINE_DISPLAY

const uint PLUGIN_HAS_EXTENSION_INLINE_DISPLAY = 0x10000

◆ PLUGIN_HAS_EXTENSION_MIDNAM

const uint PLUGIN_HAS_EXTENSION_MIDNAM = 0x20000

◆ PLUGIN_HAS_EXTENSION_OPTIONS

const uint PLUGIN_HAS_EXTENSION_OPTIONS = 0x01000

◆ PLUGIN_HAS_EXTENSION_PROGRAMS

const uint PLUGIN_HAS_EXTENSION_PROGRAMS = 0x02000

◆ PLUGIN_HAS_EXTENSION_STATE

const uint PLUGIN_HAS_EXTENSION_STATE = 0x04000

◆ PLUGIN_HAS_EXTENSION_WORKER

const uint PLUGIN_HAS_EXTENSION_WORKER = 0x08000