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>
241template<
class Target>
248template<
class Target>
256template<
class Target>
265template<
class Target>
Definition SampleFrame.h:41
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
@ Generic
nothing specific, a generic knob or slider shall be used
Definition Lv2Ports.h:71
Flow
Definition Lv2Ports.h:54
@ 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:257
Type
Definition Lv2Ports.h:60
@ Unknown
Definition Lv2Ports.h:61
Definition RemotePluginBase.cpp:34
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
@ None
Definition LadspaBase.h:49
@ Toggled
Definition LadspaBase.h:49
@ Integer
Definition LadspaBase.h:49
Definition Lv2Proc.cpp:826
Definition Lv2Evbuf.cpp:43
Definition Lv2Ports.h:227
void operator()(LV2_Evbuf *n)
Definition Lv2Ports.cpp:351
Definition Lv2Ports.h:218
FlagType
Definition Lv2Ports.h:220
@ None
Definition Lv2Ports.h:221
AutoLv2Evbuf m_buf
Definition Lv2Ports.h:231
Flags< FlagType > flags
Definition Lv2Ports.h:224
std::unique_ptr< LV2_Evbuf, Lv2EvbufDeleter > AutoLv2Evbuf
Definition Lv2Ports.h:230
Definition Lv2Ports.h:183
void averageWithBuffersFromCore(const SampleFrame *lmmsBuf, unsigned channel, f_cnt_t frames)
Add buffer passed by LMMS into our ports, and halve the result.
Definition Lv2Ports.cpp:327
void copyBuffersFromCore(const SampleFrame *lmmsBuf, unsigned channel, f_cnt_t frames)
Copy buffer passed by LMMS into our ports.
Definition Lv2Ports.cpp:315
bool mustBeUsed() const
Definition Lv2Ports.h:206
Audio(std::size_t bufferSize, bool isSidechain)
Definition Lv2Ports.cpp:307
bool isSideChain() const
Definition Lv2Ports.h:204
void copyBuffersToCore(SampleFrame *lmmsBuf, unsigned channel, f_cnt_t frames) const
Copy our ports into buffers passed by LMMS.
Definition Lv2Ports.cpp:339
std::size_t bufferSize() const
Definition Lv2Ports.h:207
bool isOptional() const
Definition Lv2Ports.h:205
std::vector< float > m_buffer
The buffer where Lv2 reads/writes the data from/to.
Definition Lv2Ports.h:210
bool m_sidechain
Definition Lv2Ports.h:211
Definition Lv2Ports.h:250
void visit(const Target &tar)
Definition Lv2Ports.h:252
const Target * m_result
Definition Lv2Ports.h:251
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:243
Target * m_result
Definition Lv2Ports.h:244
void visit(Target &tar)
Definition Lv2Ports.h:245
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:235
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