Audacity  3.0.3
LV2Effect.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  LV2Effect.h
6 
7  Audacity(R) is copyright (c) 1999-2013 Audacity Team.
8  License: GPL v2. See License.txt.
9 
10 *********************************************************************/
11 
12 
13 
14 #if USE_LV2
15 
16 class wxArrayString;
17 
18 #include <vector>
19 
20 #include <wx/event.h> // to inherit
21 #include <wx/msgqueue.h>
22 #include <wx/thread.h>
23 #include <wx/timer.h>
24 
25 #include "lv2/atom/forge.h"
26 #include "lv2/data-access/data-access.h"
27 #include "lv2/log/log.h"
28 #include "lv2/midi/midi.h"
29 #include "lv2/options/options.h"
30 #include "lv2/state/state.h"
31 #include "lv2/time/time.h"
32 #include "lv2/uri-map/uri-map.h"
33 #include "lv2/urid/urid.h"
34 #include "lv2/worker/worker.h"
35 #include "lv2/ui/ui.h"
36 
37 #include <lilv/lilv.h>
38 #include <suil/suil.h>
39 
40 #include "../../ShuttleGui.h"
41 #include "SampleFormat.h"
42 
43 #include "LoadLV2.h"
44 #include "NativeWindow.h"
45 
46 #include "lv2_external_ui.h"
47 #include "zix/ring.h"
48 
49 #include <unordered_map>
50 
51 // We use deprecated LV2 interfaces to remain compatible with older
52 // plug-ins, so disable warnings
53 LV2_DISABLE_DEPRECATION_WARNINGS
54 
55 class wxSlider;
56 class wxTextCtrl;
57 class NumericTextCtrl;
58 
59 #define LV2EFFECTS_VERSION wxT("1.0.0.0")
60 /* i18n-hint: abbreviates
61  "Linux Audio Developer's Simple Plugin API (LADSPA) version 2" */
62 #define LV2EFFECTS_FAMILY XO("LV2")
63 
64 // DECLARE_LOCAL_EVENT_TYPE(EVT_SIZEWINDOW, -1);
65 
66 class LV2Port
67 {
68 public:
69  LV2Port(const LilvPort *port,
70  int index,
71  bool isInput,
72  const wxString & symbol,
73  const wxString & name,
74  const wxString & group)
75  : mPort(port),
76  mIndex(index),
77  mIsInput(isInput),
78  mSymbol(symbol),
79  mName(name),
80  mGroup(group)
81  {
82  };
83  LV2Port(const LV2Port &) = default;
84  LV2Port &operator = (const LV2Port &) = default;
85 
86  const LilvPort *mPort;
87 
88  uint32_t mIndex;
89  bool mIsInput;
90 
91  wxString mSymbol;
92  wxString mName;
93  wxString mGroup;
94 };
95 
96 class LV2AudioPort : public LV2Port
97 {
98 public:
99  LV2AudioPort(const LilvPort *port,
100  int index,
101  bool isInput,
102  const wxString & symbol,
103  const wxString & name,
104  const wxString & group)
105  : LV2Port(port, index, isInput, symbol, name, group)
106  {
107  }
108 };
109 using LV2AudioPortPtr = std::shared_ptr<LV2AudioPort>;
110 using LV2AudioPortArray = std::vector<LV2AudioPortPtr>;
111 
112 class LV2AtomPort : public LV2Port
113 {
114 public:
115  LV2AtomPort(const LilvPort *port,
116  int index,
117  bool isInput,
118  const wxString & symbol,
119  const wxString & name,
120  const wxString & group)
121  : LV2Port(port, index, isInput, symbol, name, group)
122  {
123 
124  mIsMidi = false;
125  mWantsPosition = false;
126  mMinimumSize = 1024;
127  mRing = NULL;
128  }
129  virtual ~LV2AtomPort()
130  {
131  if (mRing)
132  {
134  }
135  }
136 
137  uint32_t mMinimumSize;
138  bool mIsMidi;
140 
141  std::vector<uint8_t> mBuffer;
143 };
144 using LV2AtomPortPtr = std::shared_ptr<LV2AtomPort>;
145 using LV2AtomPortArray = std::vector<LV2AtomPortPtr>;
146 
147 class LV2CVPort : public LV2Port
148 {
149 public:
150  LV2CVPort(const LilvPort *port,
151  int index,
152  bool isInput,
153  const wxString & symbol,
154  const wxString & name,
155  const wxString & group)
156  : LV2Port(port, index, isInput, symbol, name, group)
157  {
158  mMin = 0.0;
159  mMax = 1.0;
160  mDef = 0.0;
161  mHasLo = false;
162  mHasHi = false;
163  };
164 
165  float mMin;
166  float mMax;
167  float mDef;
168  bool mHasLo;
169  bool mHasHi;
170 
172 };
173 using LV2CVPortPtr = std::shared_ptr<LV2CVPort>;
174 using LV2CVPortArray = std::vector<LV2CVPortPtr>;
175 
176 class LV2EffectMeter;
177 
179 class LV2ControlPort : public LV2Port
180 {
181 public:
182  LV2ControlPort(const LilvPort *port,
183  int index,
184  bool isInput,
185  const wxString & symbol,
186  const wxString & name,
187  const wxString & group)
188  : LV2Port(port, index, isInput, symbol, name, group)
189  {
190  mMin = 0.0;
191  mMax = 0.0;
192  mDef = 0.0;
193  mVal = 0.0;
194  mLst = 0.0;
195  mTmp = 0.0;
196  mDmy = 0.0;
197  mLo = 0.0;
198  mHi = 0.0;
199  mHasLo = false;
200  mHasHi = false;
201  mToggle = false;
202  mTrigger = false;
203  mInteger = false;
204  mSampleRate = false;
205  mEnumeration = false;
206  mLogarithmic = false;
207  mNotOnGui = false;
208  mCtrl.button = NULL;
209  mText = NULL;
210  };
211 
212  wxString mUnits;
213  float mMin;
214  float mMax;
215  float mDef;
216  float mVal;
217  float mLst;
218  float mTmp;
219  float mDmy;
220  float mLo;
221  float mHi;
222  bool mHasLo;
223  bool mHasHi;
224  bool mToggle;
225  bool mTrigger;
226  bool mInteger;
230  bool mNotOnGui;
231 
232  // ScalePoints
233  std::vector<double> mScaleValues;
234  wxArrayString mScaleLabels;
235 
236  // UI
237  wxTextCtrl *mText;
238  union
239  {
240  wxButton *button;
241  wxCheckBox *checkbox;
242  wxChoice *choice;
244  wxSlider *slider;
245  } mCtrl;
246 };
247 using LV2ControlPortPtr = std::shared_ptr<LV2ControlPort>;
248 using LV2ControlPortArray = std::vector<LV2ControlPortPtr>;
249 
251 class LV2Wrapper;
252 
253 using URIDMap = std::vector<MallocString<>>;
254 
255 class LV2Effect final : public wxEvtHandler,
256  public EffectClientInterface,
258 {
259 public:
260  LV2Effect(const LilvPlugin *plug);
261  virtual ~LV2Effect();
262 
263  // ComponentInterface implementation
264 
265  PluginPath GetPath() override;
267  VendorSymbol GetVendor() override;
268  wxString GetVersion() override;
270 
271  // EffectDefinitionInterface implementation
272 
273  EffectType GetType() override;
274  EffectFamilySymbol GetFamily() override;
275  bool IsInteractive() override;
276  bool IsDefault() override;
277  bool IsLegacy() override;
278  bool SupportsRealtime() override;
279  bool SupportsAutomation() override;
280 
281  // EffectClientInterface implementation
282 
283  bool SetHost(EffectHostInterface *host) override;
284 
285  unsigned GetAudioInCount() override;
286  unsigned GetAudioOutCount() override;
287 
288  int GetMidiInCount() override;
289  int GetMidiOutCount() override;
290 
291  void SetSampleRate(double rate) override;
292  size_t SetBlockSize(size_t maxBlockSize) override;
293  size_t GetBlockSize() const override;
294 
295  sampleCount GetLatency() override;
296  size_t GetTailSize() override;
297 
298  bool IsReady() override;
299  bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap = NULL) override;
300  bool ProcessFinalize() override;
301  size_t ProcessBlock(float **inbuf, float **outbuf, size_t size) override;
302 
303  bool RealtimeInitialize() override;
304  bool RealtimeAddProcessor(unsigned numChannels, float sampleRate) override;
305  bool RealtimeFinalize() override;
306  bool RealtimeSuspend() override;
307  bool RealtimeResume() override;
308  bool RealtimeProcessStart() override;
309  size_t RealtimeProcess(int group, float **inbuf, float **outbuf, size_t numSamples) override;
310  bool RealtimeProcessEnd() override;
311 
312  bool ShowInterface( wxWindow &parent,
313  const EffectDialogFactory &factory, bool forceModal = false) override;
314 
315  bool GetAutomationParameters(CommandParameters & parms) override;
316  bool SetAutomationParameters(CommandParameters & parms) override;
317 
318  // EffectUIClientInterface implementation
319 
320  void SetHostUI(EffectUIHostInterface *host) override;
321  bool PopulateUI(ShuttleGui &S) override;
322  bool IsGraphicalUI() override;
323  bool ValidateUI() override;
324  bool HideUI() override;
325  bool CloseUI() override;
326 
327  bool LoadUserPreset(const RegistryPath & name) override;
328  bool SaveUserPreset(const RegistryPath & name) override;
329 
330  RegistryPaths GetFactoryPresets() override;
331  bool LoadFactoryPreset(int id) override;
332  bool LoadFactoryDefaults() override;
333 
334  bool CanExportPresets() override;
335  void ExportPresets() override;
336  void ImportPresets() override;
337 
338  bool HasOptions() override;
339  void ShowOptions() override;
340 
341  // LV2Effect implementation
342 
343 private:
344  bool LoadParameters(const RegistryPath & group);
345  bool SaveParameters(const RegistryPath & group);
346 
347  LV2Wrapper *InitInstance(float sampleRate);
348  void FreeInstance(LV2Wrapper *wrapper);
349 
350  static uint32_t uri_to_id(LV2_URI_Map_Callback_Data callback_data,
351  const char *map,
352  const char *uri);
353  static LV2_URID urid_map(LV2_URID_Map_Handle handle, const char *uri);
354  LV2_URID URID_Map(const char *uri);
355  static LV2_URID Lookup_URI(URIDMap & map, const char *uri, bool add = true);
356 
357  static const char *urid_unmap(LV2_URID_Unmap_Handle handle, LV2_URID urid);
358  const char *URID_Unmap(LV2_URID urid);
359 
360  static int ui_resize(LV2UI_Feature_Handle handle, int width, int height);
361  int UIResize(int width, int height);
362 
363  static void ui_closed(LV2UI_Controller controller);
364  void UIClosed();
365 
366  static int log_printf(LV2_Log_Handle handle, LV2_URID type, const char *fmt, ...);
367  static int log_vprintf(LV2_Log_Handle handle, LV2_URID type, const char *fmt, va_list ap);
368  int LogVPrintf(LV2_URID type, const char *fmt, va_list ap);
369 
370 #if defined(__WXGTK__)
371  static void size_request(GtkWidget *widget, GtkRequisition *requisition, LV2Effect *win);
372  void SizeRequest(GtkWidget *widget, GtkRequisition *requisition);
373 #endif
374 
375  size_t AddOption(LV2_URID, uint32_t size, LV2_URID, const void *value);
376  bool ValidateOptions(const LilvNode *subject);
377  bool CheckOptions(const LilvNode *subject, const LilvNode *predicate, bool required);
378 
379  LV2_Feature *AddFeature(const char *uri, void *data);
380  bool ValidateFeatures(const LilvNode *subject);
381  bool CheckFeatures(const LilvNode *subject, const LilvNode *predicate, bool required);
382 
383  bool BuildFancy();
384  bool BuildPlain();
385 
386  bool TransferDataToWindow() /* not override */;
387  bool TransferDataFromWindow() /* not override */;
388  void SetSlider(const LV2ControlPortPtr & port);
389 
390  void OnTrigger(wxCommandEvent & evt);
391  void OnToggle(wxCommandEvent & evt);
392  void OnChoice(wxCommandEvent & evt);
393  void OnText(wxCommandEvent & evt);
394  void OnSlider(wxCommandEvent & evt);
395 
396  void OnTimer(wxTimerEvent & evt);
397  void OnIdle(wxIdleEvent & evt);
398  void OnSize(wxSizeEvent & evt);
399  void OnSizeWindow(wxCommandEvent & evt);
400 
401  static void suil_port_write_func(SuilController controller,
402  uint32_t port_index,
403  uint32_t buffer_size,
404  uint32_t protocol,
405  const void *buffer);
406  void SuilPortWrite(uint32_t port_index,
407  uint32_t buffer_size,
408  uint32_t protocol,
409  const void *buffer);
410 
411  static uint32_t suil_port_index_func(SuilController controller,
412  const char *port_symbol);
413  uint32_t SuilPortIndex(const char *port_symbol);
414 
415  static const void *get_value_func(const char *port_symbol,
416  void *user_data,
417  uint32_t *size,
418  uint32_t *type);
419  const void *GetPortValue(const char *port_symbol,
420  uint32_t *size,
421  uint32_t *type);
422 
423  static void set_value_func(const char *port_symbol,
424  void *user_data,
425  const void *value,
426  uint32_t size,
427  uint32_t type);
428  void SetPortValue(const char *port_symbol,
429  const void *value,
430  uint32_t size,
431  uint32_t type);
432 
433 private:
434 
435  // Declare the global and local URI maps
438 
439  // Declare the static LILV URI nodes
440 #undef NODE
441 #define NODE(n, u) static LilvNode *node_##n;
442  NODELIST
443 
444  // Declare the static URIDs
445 #undef URID
446 #define URID(n, u) static LV2_URID urid_##n;
447  URIDLIST
448 
449  const LilvPlugin *mPlug;
450 
452 
453  float mSampleRate;
455  int mSeqSize;
456 
460 
461  std::unordered_map<uint32_t, LV2ControlPortPtr> mControlPortMap;
463 
465  unsigned mAudioIn;
466  unsigned mAudioOut;
467 
471  unsigned mMidiIn;
472  unsigned mMidiOut;
473 
475  unsigned mCVIn;
476  unsigned mCVOut;
477 
478  std::unordered_map<wxString, std::vector<int>> mGroupMap;
479  wxArrayString mGroups;
480 
484  bool mNoResize;
485 
489  bool mRolling;
491 
494  std::vector<LV2Wrapper *> mSlaves;
495 
497  size_t mNumSamples;
498  size_t mFramePos;
499 
502 
503  // Position info
506 
507  double mLength;
508 
509  wxTimer mTimer;
510 
511  wxDialog *mDialog;
512  wxWindow *mParent;
514 
515  bool mUseGUI;
516 
517  // Features we support
518  LV2_URI_Map_Feature mUriMapFeature;
519  LV2_URID_Map mURIDMapFeature;
520  LV2_URID_Unmap mURIDUnmapFeature;
521  LV2UI_Resize mUIResizeFeature;
522  LV2_Log_Log mLogFeature;
523  LV2_Extension_Data_Feature mExtensionDataFeature;
524 
528 
529  LV2_Atom_Forge mForge;
530 
531  std::vector<LV2_Options_Option> mOptions;
536 
537  std::vector<std::unique_ptr<LV2_Feature>> mFeatures;
538 
540  LV2_Feature *mParentFeature;
542 
544 
545  SuilHost *mSuilHost;
546  SuilInstance *mSuilInstance;
547 
551  bool mResizing;
552 #if defined(__WXGTK__)
553  bool mResized;
554 #endif
555 
556  LV2UI_Idle_Interface *mUIIdleInterface;
557  LV2UI_Show_Interface *mUIShowInterface;
558 
560 
563  wxArrayString mFactoryPresetUris;
564 
565  DECLARE_EVENT_TABLE()
566 
567  friend class LV2Wrapper;
569  friend class LV2EffectsModule;
570 };
571 
572 inline wxString LilvString(const LilvNode *node)
573 {
574  return wxString::FromUTF8(lilv_node_as_string(node));
575 };
576 
577 inline wxString LilvString(LilvNode *node, bool free)
578 {
579  wxString str = LilvString(node);
580  if (free)
581  {
582  lilv_node_free(node);
583  }
584 
585  return str;
586 };
587 
588 class LV2Wrapper : public wxThreadHelper
589 {
590 public:
591  typedef struct LV2Work
592  {
593  uint32_t size;
594  const void *data;
595  } LV2Work;
596 
597 public:
598  LV2Wrapper(LV2Effect *effect);
599  virtual ~LV2Wrapper();
600 
601  LilvInstance *Instantiate(const LilvPlugin *plugin,
602  double sampleRrate,
603  std::vector<std::unique_ptr<LV2_Feature>> & features);
604 
605  void *Entry();
606 
607  LilvInstance *GetInstance();
608 
609  LV2_Handle GetHandle();
610 
611  float GetLatency();
612 
613  void SetFreeWheeling(bool enable);
614 
615  void SetSampleRate();
616 
617  void SetBlockSize();
618 
619  void ConnectPorts(float **inbuf, float **outbuf);
620 
621  void SendResponses();
622 
623  static LV2_Worker_Status schedule_work(LV2_Worker_Schedule_Handle handle,
624  uint32_t size,
625  const void *data);
626  LV2_Worker_Status ScheduleWork(uint32_t size, const void *data);
627 
628  static LV2_Worker_Status respond(LV2_Worker_Respond_Handle handle,
629  uint32_t size,
630  const void *data);
631 
632  LV2_Worker_Status Respond(uint32_t size, const void *data);
633 
634 private:
636  LilvInstance *mInstance;
637  LV2_Handle mHandle;
638 
639  wxMessageQueue<LV2Work> mRequests;
640  wxMessageQueue<LV2Work> mResponses;
641 
642  // Options extension
643  LV2_Options_Interface *mOptionsInterface;
644 
645  // State extension
646  LV2_State_Interface *mStateInterface;
647 
648  // Worker extension
649  LV2_Worker_Interface *mWorkerInterface;
650  LV2_Worker_Schedule mWorkerSchedule;
651 
652  float mLatency;
655 };
656 
657 #endif
LV2Effect::GetFactoryPresets
RegistryPaths GetFactoryPresets() override
Definition: LV2Effect.cpp:1689
size
size_t size
Definition: ffmpeg-2.3.6-single-header.h:412
EffectUIClientInterface
EffectUIClientInterface is an abstract base class to populate a UI and validate UI values....
Definition: EffectInterface.h:271
LV2Effect::RealtimeProcess
size_t RealtimeProcess(int group, float **inbuf, float **outbuf, size_t numSamples) override
Definition: LV2Effect.cpp:1338
LV2Effect::mPositionFrame
float mPositionFrame
Definition: LV2Effect.h:505
LV2Effect::mURIDMap
URIDMap mURIDMap
Definition: LV2Effect.h:437
LV2Effect::mOptions
std::vector< LV2_Options_Option > mOptions
Definition: LV2Effect.h:531
LV2ControlPort::meter
LV2EffectMeter * meter
Definition: LV2Effect.h:243
TranslatableString
Holds a msgid for the translation catalog; may also bind format arguments.
Definition: TranslatableString.h:32
LV2Port
Definition: LV2Effect.h:67
LV2Effect::OnToggle
void OnToggle(wxCommandEvent &evt)
Definition: LV2Effect.cpp:2725
CommandParameters
CommandParameters, derived from wxFileConfig, is essentially doing the same things as the Shuttle cla...
Definition: EffectAutomationParameters.h:67
LV2Effect::ExportPresets
void ExportPresets() override
Definition: LV2Effect.cpp:1773
LV2ControlPort::LV2ControlPort
LV2ControlPort(const LilvPort *port, int index, bool isInput, const wxString &symbol, const wxString &name, const wxString &group)
Definition: LV2Effect.h:182
LV2CVPortPtr
std::shared_ptr< LV2CVPort > LV2CVPortPtr
Definition: LV2Effect.h:173
LV2EffectSettingsDialog
Definition: LV2Effect.cpp:198
LV2Effect::mUIShowInterface
LV2UI_Show_Interface * mUIShowInterface
Definition: LV2Effect.h:557
LV2CVPort::mHasHi
bool mHasHi
Definition: LV2Effect.h:169
LV2Effect::mMaster
LV2Wrapper * mMaster
Definition: LV2Effect.h:492
LV2Effect::mUserBlockSize
int mUserBlockSize
Definition: LV2Effect.h:459
LV2Effect::mExternalUIHost
LV2_External_UI_Host mExternalUIHost
Definition: LV2Effect.h:525
LV2Effect::mControlOut
LV2AtomPortPtr mControlOut
Definition: LV2Effect.h:470
LV2Effect::mNativeWin
NativeWindow * mNativeWin
Definition: LV2Effect.h:548
LV2Effect::GetDescription
TranslatableString GetDescription() override
Definition: LV2Effect.cpp:456
LV2Effect::mExtensionDataFeature
LV2_Extension_Data_Feature mExtensionDataFeature
Definition: LV2Effect.h:523
LV2Effect::mFeatures
std::vector< std::unique_ptr< LV2_Feature > > mFeatures
Definition: LV2Effect.h:537
LV2ControlPort::mSampleRate
bool mSampleRate
Definition: LV2Effect.h:227
LV2Effect::suil_port_index_func
static uint32_t suil_port_index_func(SuilController controller, const char *port_symbol)
Definition: LV2Effect.cpp:3144
LV2Effect::LoadParameters
bool LoadParameters(const RegistryPath &group)
Definition: LV2Effect.cpp:1803
LV2Effect::SetHost
bool SetHost(EffectHostInterface *host) override
Definition: LV2Effect.cpp:518
LV2Effect::mProcess
LV2Wrapper * mProcess
Definition: LV2Effect.h:493
EffectHostInterface
EffectHostInterface is a decorator of a EffectUIClientInterface. It adds virtual (abstract) functions...
Definition: EffectInterface.h:121
LV2Effect::mExternalUIClosed
bool mExternalUIClosed
Definition: LV2Effect.h:527
LV2Effect::log_vprintf
static int log_vprintf(LV2_Log_Handle handle, LV2_URID type, const char *fmt, va_list ap)
Definition: LV2Effect.cpp:3022
LV2ControlPort::button
wxButton * button
Definition: LV2Effect.h:240
LV2Effect::mAudioIn
unsigned mAudioIn
Definition: LV2Effect.h:465
LV2Port::mPort
const LilvPort * mPort
Definition: LV2Effect.h:86
LV2Effect::mControlPorts
LV2ControlPortArray mControlPorts
Definition: LV2Effect.h:462
URIDLIST
#define URIDLIST
Definition: LoadLV2.h:111
LV2Effect::GetType
EffectType GetType() override
Definition: LV2Effect.cpp:465
LV2Wrapper::LV2Work::size
uint32_t size
Definition: LV2Effect.h:593
LV2Wrapper::mWorkerSchedule
LV2_Worker_Schedule mWorkerSchedule
Definition: LV2Effect.h:650
LV2Effect::BuildFancy
bool BuildFancy()
Definition: LV2Effect.cpp:2070
LV2Effect::set_value_func
static void set_value_func(const char *port_symbol, void *user_data, const void *value, uint32_t size, uint32_t type)
Definition: LV2Effect.cpp:3196
str
#define str(a)
Definition: DBConnection.cpp:30
LV2Effect::mFreewheeling
bool mFreewheeling
Definition: LV2Effect.h:543
LV2Effect::mControlIn
LV2AtomPortPtr mControlIn
Definition: LV2Effect.h:469
LV2Effect::mLength
double mLength
Definition: LV2Effect.h:507
LV2Effect::mGroups
wxArrayString mGroups
Definition: LV2Effect.h:479
LV2Effect::HideUI
bool HideUI() override
Definition: LV2Effect.cpp:1621
LV2Port::operator=
LV2Port & operator=(const LV2Port &)=default
LV2ControlPort::mDmy
float mDmy
Definition: LV2Effect.h:219
LV2ControlPort::mHi
float mHi
Definition: LV2Effect.h:221
LV2Effect::mWantsOptionsInterface
bool mWantsOptionsInterface
Definition: LV2Effect.h:481
LV2ControlPort::mScaleLabels
wxArrayString mScaleLabels
Definition: LV2Effect.h:234
RegistryPaths
std::vector< RegistryPath > RegistryPaths
Definition: Identifier.h:219
LV2Effect::gURIDMap
static URIDMap gURIDMap
Definition: LV2Effect.h:436
PluginPath
wxString PluginPath
type alias for identifying a Plugin supplied by a module, each module defining its own interpretation...
Definition: Identifier.h:214
LV2Wrapper::mStateInterface
LV2_State_Interface * mStateInterface
Definition: LV2Effect.h:646
LV2Effect::Lookup_URI
static LV2_URID Lookup_URI(URIDMap &map, const char *uri, bool add=true)
Definition: LV2Effect.cpp:2961
LV2Effect::CheckOptions
bool CheckOptions(const LilvNode *subject, const LilvNode *predicate, bool required)
Definition: LV2Effect.cpp:1946
LV2Effect::mUseGUI
bool mUseGUI
Definition: LV2Effect.h:515
LV2Effect::UIResize
int UIResize(int width, int height)
Definition: LV2Effect.cpp:3076
LV2Effect::GetAudioInCount
unsigned GetAudioInCount() override
Definition: LV2Effect.cpp:958
URIDMap
std::vector< MallocString<> > URIDMap
Definition: LV2Effect.h:253
LV2Wrapper::mInstance
LilvInstance * mInstance
Definition: LV2Effect.h:636
NativeWindow.h
LV2Effect::mNativeWinLastSize
wxSize mNativeWinLastSize
Definition: LV2Effect.h:550
LV2CVPortArray
std::vector< LV2CVPortPtr > LV2CVPortArray
Definition: LV2Effect.h:174
LV2Effect::ProcessFinalize
bool ProcessFinalize() override
Definition: LV2Effect.cpp:1066
LV2Effect::mDialog
wxDialog * mDialog
Definition: LV2Effect.h:511
LV2Effect::mPositionSpeed
float mPositionSpeed
Definition: LV2Effect.h:504
LV2Effect::IsLegacy
bool IsLegacy() override
Definition: LV2Effect.cpp:500
LV2CVPort
Definition: LV2Effect.h:148
LV2Effect::mLatencyPort
int mLatencyPort
Definition: LV2Effect.h:487
LV2Effect::mCVOut
unsigned mCVOut
Definition: LV2Effect.h:476
LV2Effect::mUriMapFeature
LV2_URI_Map_Feature mUriMapFeature
Definition: LV2Effect.h:518
LV2ControlPort::mScaleValues
std::vector< double > mScaleValues
Definition: LV2Effect.h:233
LV2ControlPort::slider
wxSlider * slider
Definition: LV2Effect.h:244
LV2Effect::GetPortValue
const void * GetPortValue(const char *port_symbol, uint32_t *size, uint32_t *type)
Definition: LV2Effect.cpp:3173
LV2AtomPort::mMinimumSize
uint32_t mMinimumSize
Definition: LV2Effect.h:137
LV2AtomPort::~LV2AtomPort
virtual ~LV2AtomPort()
Definition: LV2Effect.h:129
NumericTextCtrl
Definition: NumericTextCtrl.h:172
LV2CVPort::mMin
float mMin
Definition: LV2Effect.h:163
LV2AtomPort::LV2AtomPort
LV2AtomPort(const LilvPort *port, int index, bool isInput, const wxString &symbol, const wxString &name, const wxString &group)
Definition: LV2Effect.h:115
zix_ring_free
void zix_ring_free(ZixRing *ring)
Definition: ring.cpp:86
LV2Effect::mSlaves
std::vector< LV2Wrapper * > mSlaves
Definition: LV2Effect.h:494
LV2Wrapper::mStopWorker
bool mStopWorker
Definition: LV2Effect.h:654
LV2Effect::LoadUserPreset
bool LoadUserPreset(const RegistryPath &name) override
Definition: LV2Effect.cpp:1674
ComponentInterfaceSymbol
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Definition: ComponentInterfaceSymbol.h:27
LV2Effect::mControlPortMap
std::unordered_map< uint32_t, LV2ControlPortPtr > mControlPortMap
Definition: LV2Effect.h:461
LV2Effect::RealtimeInitialize
bool RealtimeInitialize() override
Definition: LV2Effect.cpp:1176
LV2Effect::mSupportsNominalBlockLength
bool mSupportsNominalBlockLength
Definition: LV2Effect.h:534
LV2Effect::~LV2Effect
virtual ~LV2Effect()
Definition: LV2Effect.cpp:421
LV2Effect::RealtimeAddProcessor
bool RealtimeAddProcessor(unsigned numChannels, float sampleRate) override
Definition: LV2Effect.cpp:1217
LV2AtomPortPtr
std::shared_ptr< LV2AtomPort > LV2AtomPortPtr
Definition: LV2Effect.h:144
LV2Effect::SetSampleRate
void SetSampleRate(double rate) override
Definition: LV2Effect.cpp:978
LV2ControlPort::mDef
float mDef
Definition: LV2Effect.h:215
LV2Effect::ImportPresets
void ImportPresets() override
Definition: LV2Effect.cpp:1777
Entry
Definition: EditToolBar.cpp:225
LV2Effect::mNumSamples
size_t mNumSamples
Definition: LV2Effect.h:497
LV2Effect::mMaxBlockSize
int mMaxBlockSize
Definition: LV2Effect.h:458
LV2Effect::LV2Effect
LV2Effect(const LilvPlugin *plug)
Definition: LV2Effect.cpp:363
LV2Effect::GetFamily
EffectFamilySymbol GetFamily() override
Definition: LV2Effect.cpp:485
LV2Effect::ValidateFeatures
bool ValidateFeatures(const LilvNode *subject)
Definition: LV2Effect.cpp:1872
LV2Effect::OnText
void OnText(wxCommandEvent &evt)
Definition: LV2Effect.cpp:2739
LV2Effect::ui_closed
static void ui_closed(LV2UI_Controller controller)
Definition: LV2Effect.cpp:3095
LV2Effect::ShowInterface
bool ShowInterface(wxWindow &parent, const EffectDialogFactory &factory, bool forceModal=false) override
Definition: LV2Effect.cpp:1449
LV2Effect::mGroupMap
std::unordered_map< wxString, std::vector< int > > mGroupMap
Definition: LV2Effect.h:478
LV2CVPort::mHasLo
bool mHasLo
Definition: LV2Effect.h:168
LV2Effect::SetHostUI
void SetHostUI(EffectUIHostInterface *host) override
Definition: LV2Effect.cpp:1553
LV2AudioPort
Definition: LV2Effect.h:97
LV2ControlPort::mEnumeration
bool mEnumeration
Definition: LV2Effect.h:228
LV2Effect::LV2Wrapper
friend class LV2Wrapper
Definition: LV2Effect.h:567
LV2Effect::ValidateOptions
bool ValidateOptions(const LilvNode *subject)
Definition: LV2Effect.cpp:1936
LV2Effect::mURIDMapFeature
LV2_URID_Map mURIDMapFeature
Definition: LV2Effect.h:519
LV2Effect::ui_resize
static int ui_resize(LV2UI_Feature_Handle handle, int width, int height)
Definition: LV2Effect.cpp:3071
LV2Effect::OnIdle
void OnIdle(wxIdleEvent &evt)
Definition: LV2Effect.cpp:2785
LV2Effect::mForge
LV2_Atom_Forge mForge
Definition: LV2Effect.h:529
LV2Effect::GetPath
PluginPath GetPath() override
Definition: LV2Effect.cpp:429
LV2ControlPort::checkbox
wxCheckBox * checkbox
Definition: LV2Effect.h:241
LV2Effect::mSampleRate
float mSampleRate
Definition: LV2Effect.h:453
LV2ControlPort::mMin
float mMin
Definition: LV2Effect.h:213
LV2Effect::PopulateUI
bool PopulateUI(ShuttleGui &S) override
Definition: LV2Effect.cpp:1558
LV2Port::mIsInput
bool mIsInput
Definition: LV2Effect.h:89
LV2Effect::RealtimeResume
bool RealtimeResume() override
Definition: LV2Effect.cpp:1242
LV2ControlPort
Definition: LV2Effect.h:180
LV2Effect::uri_to_id
static uint32_t uri_to_id(LV2_URI_Map_Callback_Data callback_data, const char *map, const char *uri)
Definition: LV2Effect.cpp:2929
LV2Effect::mBlockSize
int mBlockSize
Definition: LV2Effect.h:454
LV2Effect::IsReady
bool IsReady() override
Definition: LV2Effect.cpp:1040
LV2Effect::CanExportPresets
bool CanExportPresets() override
Definition: LV2Effect.cpp:1768
LV2Effect::GetVersion
wxString GetVersion() override
Definition: LV2Effect.cpp:451
LV2AtomPort::mIsMidi
bool mIsMidi
Definition: LV2Effect.h:138
LV2Effect::mSupportsSampleRate
bool mSupportsSampleRate
Definition: LV2Effect.h:535
factory
static RegisteredToolbarFactory factory
Definition: ControlToolBar.cpp:817
LV2Effect::mSuilHost
SuilHost * mSuilHost
Definition: LV2Effect.h:545
ArraysOf< float >
LV2Effect::mLatencyDone
bool mLatencyDone
Definition: LV2Effect.h:488
LV2Effect::AddFeature
LV2_Feature * AddFeature(const char *uri, void *data)
Definition: LV2Effect.cpp:1857
LV2ControlPort::mLogarithmic
bool mLogarithmic
Definition: LV2Effect.h:229
ZixRingImpl
Definition: ring.cpp:51
LV2Effect::ValidateUI
bool ValidateUI() override
Definition: LV2Effect.cpp:1606
LV2Wrapper::mLatency
float mLatency
Definition: LV2Effect.h:652
LV2Effect::mWorkerScheduleFeature
LV2_Feature * mWorkerScheduleFeature
Definition: LV2Effect.h:541
LV2Effect::BuildPlain
bool BuildPlain()
Definition: LV2Effect.cpp:2313
LV2Effect::mMasterIn
FloatBuffers mMasterIn
Definition: LV2Effect.h:496
LV2CVPort::mMax
float mMax
Definition: LV2Effect.h:166
LV2Effect::mFramePos
size_t mFramePos
Definition: LV2Effect.h:498
LV2Effect::RealtimeProcessStart
bool RealtimeProcessStart() override
Definition: LV2Effect.cpp:1251
LV2Effect::OnSize
void OnSize(wxSizeEvent &evt)
Definition: LV2Effect.cpp:2860
LV2ControlPort::mCtrl
union LV2ControlPort::@0 mCtrl
LV2AudioPort::LV2AudioPort
LV2AudioPort(const LilvPort *port, int index, bool isInput, const wxString &symbol, const wxString &name, const wxString &group)
Definition: LV2Effect.h:99
LV2Port::LV2Port
LV2Port(const LilvPort *port, int index, bool isInput, const wxString &symbol, const wxString &name, const wxString &group)
Definition: LV2Effect.h:69
LV2Effect::GetAutomationParameters
bool GetAutomationParameters(CommandParameters &parms) override
Definition: LV2Effect.cpp:1493
LV2Effect::mCVPorts
LV2CVPortArray mCVPorts
Definition: LV2Effect.h:474
LV2Wrapper
Definition: LV2Effect.h:589
LV2Effect::urid_map
static LV2_URID urid_map(LV2_URID_Map_Handle handle, const char *uri)
Definition: LV2Effect.cpp:2937
LV2CVPort::LV2CVPort
LV2CVPort(const LilvPort *port, int index, bool isInput, const wxString &symbol, const wxString &name, const wxString &group)
Definition: LV2Effect.h:150
NODELIST
#define NODELIST
Definition: LoadLV2.h:67
LV2Effect::OnSizeWindow
void OnSizeWindow(wxCommandEvent &evt)
LV2Effect::mUIHost
EffectUIHostInterface * mUIHost
Definition: LV2Effect.h:513
LV2Effect::mInstanceAccessFeature
LV2_Feature * mInstanceAccessFeature
Definition: LV2Effect.h:539
name
const TranslatableString name
Definition: Distortion.cpp:98
LV2Effect::mMidiOut
unsigned mMidiOut
Definition: LV2Effect.h:472
LV2Effect::InitInstance
LV2Wrapper * InitInstance(float sampleRate)
Definition: LV2Effect.cpp:1999
LV2Effect::suil_port_write_func
static void suil_port_write_func(SuilController controller, uint32_t port_index, uint32_t buffer_size, uint32_t protocol, const void *buffer)
Definition: LV2Effect.cpp:3108
LV2ControlPort::mTmp
float mTmp
Definition: LV2Effect.h:218
LV2Effect::CloseUI
bool CloseUI() override
Definition: LV2Effect.cpp:1629
LV2Effect::mResizing
bool mResizing
Definition: LV2Effect.h:551
LV2Effect::GetTailSize
size_t GetTailSize() override
Definition: LV2Effect.cpp:1035
LV2AudioPortArray
std::vector< LV2AudioPortPtr > LV2AudioPortArray
Definition: LV2Effect.h:110
LV2Effect::mHost
EffectHostInterface * mHost
Definition: LV2Effect.h:451
LV2Effect::mSuilInstance
SuilInstance * mSuilInstance
Definition: LV2Effect.h:546
NativeWindow
Definition: NativeWindow.h:27
LV2ControlPort::mLst
float mLst
Definition: LV2Effect.h:217
LV2ControlPort::mToggle
bool mToggle
Definition: LV2Effect.h:224
LV2Effect::SaveParameters
bool SaveParameters(const RegistryPath &group)
Definition: LV2Effect.cpp:1820
LV2Wrapper::LV2Work
Definition: LV2Effect.h:592
LV2Effect::mCVOutBuffers
FloatBuffers mCVOutBuffers
Definition: LV2Effect.h:501
LV2Effect::TransferDataToWindow
bool TransferDataToWindow()
Definition: LV2Effect.cpp:2620
LV2AtomPortArray
std::vector< LV2AtomPortPtr > LV2AtomPortArray
Definition: LV2Effect.h:145
LV2Port::mName
wxString mName
Definition: LV2Effect.h:92
EffectClientInterface::EffectDialogFactory
std::function< wxDialog *(wxWindow &parent, EffectHostInterface *, EffectUIClientInterface *) > EffectDialogFactory
Definition: EffectInterface.h:190
LV2Effect::mFactoryPresetUris
wxArrayString mFactoryPresetUris
Definition: LV2Effect.h:563
LV2Wrapper::mOptionsInterface
LV2_Options_Interface * mOptionsInterface
Definition: LV2Effect.h:643
LV2Effect::mAtomPorts
LV2AtomPortArray mAtomPorts
Definition: LV2Effect.h:468
LV2Effect::GetMidiInCount
int GetMidiInCount() override
Definition: LV2Effect.cpp:968
LV2ControlPortPtr
std::shared_ptr< LV2ControlPort > LV2ControlPortPtr
Definition: LV2Effect.h:247
ChannelNames
enum ChannelName * ChannelNames
LV2ControlPort::mHasLo
bool mHasLo
Definition: LV2Effect.h:222
LV2CVPort::mDef
float mDef
Definition: LV2Effect.h:167
LV2AtomPort::mWantsPosition
bool mWantsPosition
Definition: LV2Effect.h:139
LV2Wrapper::LV2Work::data
const void * data
Definition: LV2Effect.h:594
LV2Effect::mCVInBuffers
FloatBuffers mCVInBuffers
Definition: LV2Effect.h:500
EffectUIHostInterface
EffectUIHostInterface has nothing in it. It is provided so that an Effect can call SetHostUI passing ...
Definition: EffectInterface.h:257
_LV2_External_UI_Widget
Definition: lv2_external_ui.h:41
LV2Wrapper::mWorkerInterface
LV2_Worker_Interface * mWorkerInterface
Definition: LV2Effect.h:649
LV2Effect::OnTrigger
void OnTrigger(wxCommandEvent &evt)
Definition: LV2Effect.cpp:2718
LV2Effect::log_printf
static int log_printf(LV2_Log_Handle handle, LV2_URID type, const char *fmt,...)
Definition: LV2Effect.cpp:3009
LV2Effect::UIClosed
void UIClosed()
Definition: LV2Effect.cpp:3100
LV2Effect::mLogFeature
LV2_Log_Log mLogFeature
Definition: LV2Effect.h:522
LV2Effect::mMidiIn
unsigned mMidiIn
Definition: LV2Effect.h:471
LV2ControlPort::mMax
float mMax
Definition: LV2Effect.h:214
RegistryPath
wxString RegistryPath
Definition: Identifier.h:218
LV2Effect::LoadFactoryPreset
bool LoadFactoryPreset(int id) override
Definition: LV2Effect.cpp:1730
LV2Effect::IsGraphicalUI
bool IsGraphicalUI() override
Definition: LV2Effect.cpp:1601
LV2Effect::mAudioPorts
LV2AudioPortArray mAudioPorts
Definition: LV2Effect.h:464
LV2Wrapper::mRequests
wxMessageQueue< LV2Work > mRequests
Definition: LV2Effect.h:639
EffectClientInterface
EffectClientInterface provides the ident interface to Effect, and is what makes Effect into a plug-in...
Definition: EffectInterface.h:185
LV2Effect::mCVIn
unsigned mCVIn
Definition: LV2Effect.h:475
LV2CVPort::mBuffer
Floats mBuffer
Definition: LV2Effect.h:171
LV2Effect::SetAutomationParameters
bool SetAutomationParameters(CommandParameters &parms) override
Definition: LV2Effect.cpp:1509
LV2Effect::mParent
wxWindow * mParent
Definition: LV2Effect.h:512
LV2Effect::URID_Unmap
const char * URID_Unmap(LV2_URID urid)
Definition: LV2Effect.cpp:2988
ring.h
LV2Port::mSymbol
wxString mSymbol
Definition: LV2Effect.h:91
LV2Effect::SuilPortIndex
uint32_t SuilPortIndex(const char *port_symbol)
Definition: LV2Effect.cpp:3150
lv2_external_ui.h
LV2AtomPort::mRing
ZixRing * mRing
Definition: LV2Effect.h:142
LV2Effect::mSampleRateOption
size_t mSampleRateOption
Definition: LV2Effect.h:533
LV2Effect
Definition: LV2Effect.h:258
LV2Effect::SupportsRealtime
bool SupportsRealtime() override
Definition: LV2Effect.cpp:505
LV2Effect::mFactoryPresetNames
RegistryPaths mFactoryPresetNames
Definition: LV2Effect.h:562
LV2Effect::SetBlockSize
size_t SetBlockSize(size_t maxBlockSize) override
Definition: LV2Effect.cpp:993
LV2ControlPort::mTrigger
bool mTrigger
Definition: LV2Effect.h:225
LV2Effect::mParentFeature
LV2_Feature * mParentFeature
Definition: LV2Effect.h:540
LV2AtomPort
Definition: LV2Effect.h:113
sampleCount
Positions or offsets within audio files need a wide type.
Definition: SampleCount.h:18
LV2Effect::mPlug
URIDLIST const LilvPlugin * mPlug
Definition: LV2Effect.h:449
LV2Effect::mWantsWorkerInterface
bool mWantsWorkerInterface
Definition: LV2Effect.h:483
LV2Effect::RealtimeProcessEnd
bool RealtimeProcessEnd() override
Definition: LV2Effect.cpp:1409
LV2Effect::mUIResizeFeature
LV2UI_Resize mUIResizeFeature
Definition: LV2Effect.h:521
LV2Effect::GetLatency
sampleCount GetLatency() override
Definition: LV2Effect.cpp:1024
LV2Effect::mDuration
NumericTextCtrl * mDuration
Definition: LV2Effect.h:559
LV2Effect::ProcessInitialize
bool ProcessInitialize(sampleCount totalLen, ChannelNames chanMap=NULL) override
Definition: LV2Effect.cpp:1045
LV2Port::mGroup
wxString mGroup
Definition: LV2Effect.h:93
LV2Effect::GetSymbol
ComponentInterfaceSymbol GetSymbol() override
Definition: LV2Effect.cpp:434
LV2Effect::mRolling
bool mRolling
Definition: LV2Effect.h:489
LV2Effect::mMasterOut
FloatBuffers mMasterOut
Definition: LV2Effect.h:496
LV2Port::mIndex
uint32_t mIndex
Definition: LV2Effect.h:88
LV2Effect::mTimer
wxTimer mTimer
Definition: LV2Effect.h:509
LV2Effect::OnTimer
void OnTimer(wxTimerEvent &evt)
Definition: LV2Effect.cpp:2775
LV2Effect::FreeInstance
void FreeInstance(LV2Wrapper *wrapper)
Definition: LV2Effect.cpp:2065
LV2Wrapper::mResponses
wxMessageQueue< LV2Work > mResponses
Definition: LV2Effect.h:640
LV2ControlPort::mNotOnGui
bool mNotOnGui
Definition: LV2Effect.h:230
LV2Effect::mUIIdleInterface
LV2UI_Idle_Interface * mUIIdleInterface
Definition: LV2Effect.h:556
LV2ControlPort::mVal
float mVal
Definition: LV2Effect.h:216
LV2Effect::mExternalWidget
LV2_External_UI_Widget * mExternalWidget
Definition: LV2Effect.h:526
LV2Effect::ProcessBlock
size_t ProcessBlock(float **inbuf, float **outbuf, size_t size) override
Definition: LV2Effect.cpp:1077
LV2Wrapper::mEffect
LV2Effect * mEffect
Definition: LV2Effect.h:635
LV2Effect::mUseLatency
bool mUseLatency
Definition: LV2Effect.h:486
LV2Effect::IsDefault
bool IsDefault() override
Definition: LV2Effect.cpp:495
LV2Effect::SaveUserPreset
bool SaveUserPreset(const RegistryPath &name) override
Definition: LV2Effect.cpp:1684
LV2Effect::get_value_func
static const void * get_value_func(const char *port_symbol, void *user_data, uint32_t *size, uint32_t *type)
Definition: LV2Effect.cpp:3165
LV2Effect::RealtimeFinalize
bool RealtimeFinalize() override
Definition: LV2Effect.cpp:1192
LV2Effect::OnSlider
void OnSlider(wxCommandEvent &evt)
Definition: LV2Effect.cpp:2751
LV2Wrapper::mHandle
LV2_Handle mHandle
Definition: LV2Effect.h:637
LV2Effect::mWantsStateInterface
bool mWantsStateInterface
Definition: LV2Effect.h:482
LV2Effect::CheckFeatures
bool CheckFeatures(const LilvNode *subject, const LilvNode *predicate, bool required)
Definition: LV2Effect.cpp:1882
LV2ControlPort::mUnits
wxString mUnits
Definition: LV2Effect.h:210
LV2AtomPort::mBuffer
std::vector< uint8_t > mBuffer
Definition: LV2Effect.h:141
LV2Effect::mSeqSize
int mSeqSize
Definition: LV2Effect.h:455
LV2Effect::AddOption
size_t AddOption(LV2_URID, uint32_t size, LV2_URID, const void *value)
Definition: LV2Effect.cpp:1837
LV2ControlPort::choice
wxChoice * choice
Definition: LV2Effect.h:242
LV2Effect::mActivated
bool mActivated
Definition: LV2Effect.h:490
LV2ControlPort::mHasHi
bool mHasHi
Definition: LV2Effect.h:223
LV2EffectMeter
Definition: LV2Effect.cpp:101
LV2Effect::GetAudioOutCount
unsigned GetAudioOutCount() override
Definition: LV2Effect.cpp:963
LV2Effect::RealtimeSuspend
bool RealtimeSuspend() override
Definition: LV2Effect.cpp:1233
LV2ControlPortArray
std::vector< LV2ControlPortPtr > LV2ControlPortArray
Definition: LV2Effect.h:248
LV2Effect::mURIDUnmapFeature
LV2_URID_Unmap mURIDUnmapFeature
Definition: LV2Effect.h:520
LV2Effect::mAudioOut
unsigned mAudioOut
Definition: LV2Effect.h:466
EffectType
EffectType
Definition: EffectInterface.h:55
LV2ControlPort::mInteger
bool mInteger
Definition: LV2Effect.h:226
LV2Effect::SuilPortWrite
void SuilPortWrite(uint32_t port_index, uint32_t buffer_size, uint32_t protocol, const void *buffer)
Definition: LV2Effect.cpp:3117
LV2Effect::SetSlider
void SetSlider(const LV2ControlPortPtr &port)
Definition: LV2Effect.cpp:2702
LV2Effect::LogVPrintf
int LogVPrintf(LV2_URID type, const char *fmt, va_list ap)
Definition: LV2Effect.cpp:3027
LV2Effect::mBlockSizeOption
size_t mBlockSizeOption
Definition: LV2Effect.h:532
LV2Effect::LoadFactoryDefaults
bool LoadFactoryDefaults() override
Definition: LV2Effect.cpp:1758
LV2Wrapper::mFreeWheeling
bool mFreeWheeling
Definition: LV2Effect.h:653
LV2AudioPortPtr
std::shared_ptr< LV2AudioPort > LV2AudioPortPtr
Definition: LV2Effect.h:109
LV2ControlPort::mLo
float mLo
Definition: LV2Effect.h:220
SampleFormat.h
LV2Effect::HasOptions
bool HasOptions() override
Definition: LV2Effect.cpp:1781
LoadLV2.h
LV2Effect::mFactoryPresetsLoaded
bool mFactoryPresetsLoaded
Definition: LV2Effect.h:561
ArrayOf< float >
LV2Effect::GetVendor
VendorSymbol GetVendor() override
Definition: LV2Effect.cpp:439
LilvString
wxString LilvString(const LilvNode *node)
Definition: LV2Effect.h:572
LV2EffectsModule
Definition: LoadLV2.h:164
LV2Effect::mNativeWinInitialSize
wxSize mNativeWinInitialSize
Definition: LV2Effect.h:549
LV2Effect::GetMidiOutCount
int GetMidiOutCount() override
Definition: LV2Effect.cpp:973
LV2Effect::TransferDataFromWindow
bool TransferDataFromWindow()
Definition: LV2Effect.cpp:2692
LV2Effect::mNoResize
bool mNoResize
Definition: LV2Effect.h:484
_LV2_External_UI_Host
Definition: lv2_external_ui.h:74
ShuttleGui
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
Definition: ShuttleGui.h:631
LV2ControlPort::mText
wxTextCtrl * mText
Definition: LV2Effect.h:237
LV2Effect::GetBlockSize
size_t GetBlockSize() const override
Definition: LV2Effect.cpp:1019
LV2Effect::urid_unmap
static const char * urid_unmap(LV2_URID_Unmap_Handle handle, LV2_URID urid)
Definition: LV2Effect.cpp:2983
LV2Effect::SupportsAutomation
bool SupportsAutomation() override
Definition: LV2Effect.cpp:510
LV2Port::LV2Port
LV2Port(const LV2Port &)=default
LV2Effect::OnChoice
void OnChoice(wxCommandEvent &evt)
Definition: LV2Effect.cpp:2732
LV2Effect::mMinBlockSize
int mMinBlockSize
Definition: LV2Effect.h:457
LV2Effect::SetPortValue
void SetPortValue(const char *port_symbol, const void *value, uint32_t size, uint32_t type)
Definition: LV2Effect.cpp:3205
LV2Effect::URID_Map
LV2_URID URID_Map(const char *uri)
Definition: LV2Effect.cpp:2942
LV2Effect::ShowOptions
void ShowOptions() override
Definition: LV2Effect.cpp:1786
LV2Effect::IsInteractive
bool IsInteractive() override
Definition: LV2Effect.cpp:490