25#ifndef LMMS_LV2PORTS_H
26#define LMMS_LV2PORTS_H
28#include "lmmsconfig.h"
81struct ControlPortBase;
123 std::vector<PluginIssue>
get(
const LilvPlugin* plugin, std::size_t portNum);
141 QString
name()
const;
147template<
typename Derived,
typename Base>
189 unsigned channel,
f_cnt_t frames);
193 unsigned channel,
f_cnt_t frames);
197 unsigned channel,
f_cnt_t frames)
const;
237template<
class Target>
244template<
class Target>
252template<
class Target>
261template<
class Target>
Definition SampleFrame.h:41
unsigned v[N_MAX]
Definition inflate.c:1584
struct LilvPortImpl LilvPort
Definition lilv.h:84
struct LilvPluginImpl LilvPlugin
Definition lilv.h:82
Definition Lv2Ports.cpp:41
const char * toStr(Flow pf)
Definition Lv2Ports.cpp:46
Vis
Definition Lv2Ports.h:70
@ Enumeration
selection from enumerated values
Definition Lv2Ports.h:73
@ Toggled
boolean widget
Definition Lv2Ports.h:74
@ Generic
nothing specific, a generic knob or slider shall be used
Definition Lv2Ports.h:71
@ Integer
counter
Definition Lv2Ports.h:72
Flow
Definition Lv2Ports.h:54
@ Output
Definition Lv2Ports.h:57
@ Input
Definition Lv2Ports.h:56
@ Unknown
Definition Lv2Ports.h:55
Target * dcast(PortBase *base)
If you don't want to use a whole visitor, you can use dcast.
Definition Lv2Ports.h:253
Type
Definition Lv2Ports.h:60
@ Unknown
Definition Lv2Ports.h:61
@ AtomSeq
Definition Lv2Ports.h:64
@ Audio
Definition Lv2Ports.h:63
@ Cv
TODO: unused, describe.
Definition Lv2Ports.h:65
Definition AudioAlsa.cpp:35
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
struct LV2_Evbuf_Impl LV2_Evbuf
Definition Lv2Evbuf.h:50
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
Definition Lv2Proc.cpp:815
Definition Lv2Evbuf.cpp:43
Definition Lv2Ports.h:223
void operator()(LV2_Evbuf *n)
Definition Lv2Ports.cpp:351
Definition Lv2Ports.h:214
FlagType
Definition Lv2Ports.h:216
@ Midi
Definition Lv2Ports.h:218
@ None
Definition Lv2Ports.h:217
AutoLv2Evbuf m_buf
Definition Lv2Ports.h:227
Flags< FlagType > flags
Definition Lv2Ports.h:220
std::unique_ptr< LV2_Evbuf, Lv2EvbufDeleter > AutoLv2Evbuf
Definition Lv2Ports.h:226
Definition Lv2Ports.h:183
void averageWithBuffersFromCore(const SampleFrame *lmmsBuf, unsigned channel, f_cnt_t frames)
Definition Lv2Ports.cpp:327
void copyBuffersFromCore(const SampleFrame *lmmsBuf, unsigned channel, f_cnt_t frames)
Definition Lv2Ports.cpp:315
bool mustBeUsed() const
Definition Lv2Ports.h:201
Audio(std::size_t bufferSize, bool isSidechain)
Definition Lv2Ports.cpp:307
bool isSideChain() const
Definition Lv2Ports.h:199
void copyBuffersToCore(SampleFrame *lmmsBuf, unsigned channel, f_cnt_t frames) const
Definition Lv2Ports.cpp:339
std::size_t bufferSize() const
Definition Lv2Ports.h:202
bool isOptional() const
Definition Lv2Ports.h:200
std::vector< float > m_buffer
the buffer where Lv2 reads/writes the data from/to
Definition Lv2Ports.h:206
bool m_sidechain
Definition Lv2Ports.h:207
Definition Lv2Ports.h:246
void visit(const Target &tar)
Definition Lv2Ports.h:248
const Target * m_result
Definition Lv2Ports.h:247
virtual void visit(const Lv2Ports::ControlPortBase &)
Definition Lv2Ports.h:90
virtual void visit(const Lv2Ports::Unknown &)
Definition Lv2Ports.h:95
virtual void visit(const Lv2Ports::Cv &)
Definition Lv2Ports.h:93
virtual void visit(const Lv2Ports::Control &)
Definition Lv2Ports.h:91
virtual ~ConstVisitor()=default
virtual void visit(const Lv2Ports::Audio &)
Definition Lv2Ports.h:92
virtual void visit(const Lv2Ports::AtomSeq &)
Definition Lv2Ports.h:94
Definition Lv2Ports.h:167
float m_val
Definition Lv2Ports.h:171
Definition Lv2Ports.h:155
std::unique_ptr< class AutomatableModel > m_connectedModel
Definition Lv2Ports.h:158
std::vector< float > m_scalePointMap
Definition Lv2Ports.h:163
Definition Lv2Ports.h:175
std::vector< float > m_buffer
Definition Lv2Ports.h:179
Definition Lv2Ports.h:239
Target * m_result
Definition Lv2Ports.h:240
void visit(Target &tar)
Definition Lv2Ports.h:241
Definition Lv2Ports.h:134
virtual void accept(ConstVisitor &v) const =0
QString uri() const
Definition Lv2Ports.cpp:299
const LilvPlugin * m_plugin
Definition Lv2Ports.h:136
virtual ~PortBase()=default
virtual void accept(Visitor &v)=0
QString name() const
Definition Lv2Ports.cpp:289
const LilvPort * m_port
Definition Lv2Ports.h:135
Definition Lv2Ports.h:231
Definition Lv2Ports.h:149
void accept(Visitor &v) override
Definition Lv2Ports.h:150
void accept(ConstVisitor &v) const override
Definition Lv2Ports.h:151
Definition Lv2Ports.h:101
virtual void visit(Lv2Ports::Unknown &)
Definition Lv2Ports.h:107
virtual void visit(Lv2Ports::Control &)
Definition Lv2Ports.h:103
virtual void visit(Lv2Ports::Cv &)
Definition Lv2Ports.h:105
virtual void visit(Lv2Ports::ControlPortBase &)
Definition Lv2Ports.h:102
virtual ~Visitor()=default
virtual void visit(Lv2Ports::Audio &)
Definition Lv2Ports.h:104
virtual void visit(Lv2Ports::AtomSeq &)
Definition Lv2Ports.h:106
int n
Definition crypt.c:458
static ZCONST char Far None[]
Definition unzip.c:380