28#define CARLA_SETTING_PREFIX "PARAM_KNOB_"
29#define CARLA_MIN_PARAM_VERSION 0x020090
30#define CARLA_VERSION_HEX_3 0x30000
38#include <QRegularExpression>
41#include "carlabase_export.h"
43#if CARLA_VERSION_HEX >= 0x010911
68class QStringListModel;
78class CarlaInstrumentView;
95 QRegularExpression reg(
"^[A-Za-z0-9._-]+$");
96 return !reg.match(
name).hasMatch();
99 inline void loadSettings(
const QDomElement& element,
const QString&
name = QString(
"value"))
override
103 QDomElement me = element.firstChildElement(mustQuote ? QString(
"automatablemodel") :
name);
105 m_isOutput = (bool)me.attribute(
"output",
"0").toInt();
106 m_groupName = QString(me.attribute(
"groupName",
""));
111 const QString&
name = QString(
"value" ))
override
117 QDomElement me = element.firstChildElement(mustQuote ? QString(
"automatablemodel") :
name);
256 setAttribute(Qt::WA_DeleteOnClose,
false);
257 setWindowFlags(windowFlags);
271 SubWindow::mousePressEvent(event);
281 SubWindow::mouseReleaseEvent(event);
CARLA_EXPORT const NativePluginDescriptor * carla_get_native_rack_plugin()
Definition CarlaEngineNative.cpp:3048
CARLA_EXPORT const NativePluginDescriptor * carla_get_native_patchbay_plugin()
Definition CarlaEngineNative.cpp:3054
opcode
Definition Spc_Cpu.h:173
virtual void loadSettings(const QDomElement &element, const QString &name)
Loads settings (value, automation links and controller connections) of AutomatableModel from specifie...
Definition AutomatableModel.cpp:178
virtual void saveSettings(QDomDocument &doc, QDomElement &element, const QString &name)
Saves settings (value, automation links and controller connections) of AutomatableModel into specifie...
Definition AutomatableModel.cpp:103
QString nodeName() const override
Definition Carla.cpp:346
double handleGetSampleRate() const
Definition Carla.cpp:260
void play(SampleFrame *workingBuffer) override
Definition Carla.cpp:498
NativeHostDescriptor fHost
Definition Carla.h:217
void paramModelChanged(uint32_t index)
Definition Carla.cpp:453
void handleUiParameterChanged(const uint32_t index, const float value) const
Definition Carla.cpp:275
QDomElement m_settingsElem
Definition Carla.h:229
void refreshParams(bool init=false)
Definition Carla.cpp:380
NativeTimeInfo fTimeInfo
Definition Carla.h:222
uint32_t fMidiEventCount
Definition Carla.h:220
NativeMidiEvent fMidiEvents[kMaxMidiEvents]
Definition Carla.h:221
QMutex fMutex
Definition Carla.h:225
void handleUiClosed()
Definition Carla.cpp:283
uint32_t handleGetBufferSize() const
Definition Carla.cpp:255
const bool kIsPatchbay
Definition Carla.h:214
void saveSettings(QDomDocument &doc, QDomElement &parent) override
Definition Carla.cpp:351
bool handleMidiEvent(const MidiEvent &event, const TimePos &time, f_cnt_t offset) override
Definition Carla.cpp:555
uint8_t m_paramGroupCount
Definition Carla.h:227
bool handleIsOffline() const
Definition Carla.cpp:265
QCompleter * m_paramsCompleter
Definition Carla.h:231
QStringListModel * m_completerModel
Definition Carla.h:232
const NativeTimeInfo * handleGetTimeInfo() const
Definition Carla.cpp:270
CarlaInstrument(InstrumentTrack *const instrumentTrack, const Descriptor *const descriptor, const bool isPatchbay)
Definition Carla.cpp:152
void updateParamModel(uint32_t index)
Definition Carla.cpp:471
gui::PluginView * instantiateView(QWidget *parent) override
Create a view for the model.
Definition Carla.cpp:574
NativePluginHandle fHandle
Definition Carla.h:216
void sampleRateChanged()
Definition Carla.cpp:594
static const uint32_t kMaxMidiEvents
Definition Carla.h:180
const NativePluginDescriptor * fDescriptor
Definition Carla.h:218
void clearParamModels()
Definition Carla.cpp:439
intptr_t handleDispatcher(const NativeHostDispatcherOpcode opcode, const int32_t index, const intptr_t value, void *const ptr, const float opt)
Definition Carla.cpp:288
std::vector< CarlaParamFloatModel * > m_paramModels
Definition Carla.h:228
void loadSettings(const QDomElement &elem) override
Definition Carla.cpp:481
QString m_groupName
Definition Carla.h:170
void setOutput(bool state=true)
Definition Carla.h:136
void setEnabled(bool state=true)
Definition Carla.h:141
void setGroupName(QString groupName)
Definition Carla.h:146
virtual QString groupName() const
Definition Carla.h:156
bool m_isEnabled
Definition Carla.h:168
static bool mustQuoteName(const QString &name)
Definition Carla.h:93
const bool enabled()
Definition Carla.h:126
void setGroupId(uint8_t groupId)
Definition Carla.h:151
CarlaParamFloatModel(Model *parent)
Definition Carla.h:85
bool m_isOutput
Definition Carla.h:167
void saveSettings(QDomDocument &doc, QDomElement &element, const QString &name=QString("value")) override
Saves settings (value, automation links and controller connections) of AutomatableModel into specifie...
Definition Carla.h:110
void loadSettings(const QDomElement &element, const QString &name=QString("value")) override
Loads settings (value, automation links and controller connections) of AutomatableModel from specifie...
Definition Carla.h:99
virtual uint8_t groupId() const
Definition Carla.h:161
const bool isOutput()
Definition Carla.h:131
uint8_t m_groupId
Definition Carla.h:169
FloatModel(float val=0, float min=0, float max=0, float step=0, Model *parent=nullptr, const QString &displayName=QString(), bool defaultConstructed=false)
Definition AutomatableModel.h:467
InstrumentTrack * instrumentTrack() const
Definition Instrument.h:156
Instrument(InstrumentTrack *_instrument_track, const Descriptor *_descriptor, const Descriptor::SubPluginFeatures::Key *key=nullptr, Flags flags=Flag::NoFlags)
Definition Instrument.cpp:38
Definition InstrumentTrack.h:62
Definition MidiEvent.h:37
const Descriptor * descriptor() const
Return plugin Descriptor.
Definition Plugin.h:257
Definition SampleFrame.h:41
QWidget *const m_parent
Definition Carla.h:320
int fTimerId
Definition Carla.h:317
CarlaInstrument *const m_carlaInstrument
Definition Carla.h:319
CarlaParamsView * m_paramsView
Definition Carla.h:323
QPushButton * m_toggleUIButton
Definition Carla.h:325
~CarlaInstrumentView() override
Definition Carla.cpp:657
void paramsUiClosed()
Definition Carla.cpp:728
NativePluginHandle fHandle
Definition Carla.h:315
void toggleParamsWindow()
Definition Carla.cpp:708
void timerEvent(QTimerEvent *) override
Definition Carla.cpp:700
void toggleUI(bool)
Definition Carla.cpp:673
CarlaInstrumentView(CarlaInstrument *const instrument, QWidget *const parent)
Definition Carla.cpp:604
const NativePluginDescriptor * fDescriptor
Definition Carla.h:316
void modelChanged() override
Definition Carla.cpp:696
void uiClosed()
Definition Carla.cpp:691
QPushButton * m_toggleParamsWindowButton
Definition Carla.h:326
friend class CarlaParamsView
Definition Carla.h:328
QMdiSubWindow * m_paramsSubWindow
Definition Carla.h:322
void mouseReleaseEvent(QMouseEvent *event) override
Definition Carla.h:274
void mousePressEvent(QMouseEvent *event) override
Definition Carla.h:268
bool resizing
Definition Carla.h:291
void resizeEvent(QResizeEvent *event) override
Definition Carla.h:260
bool mousePress
Definition Carla.h:292
CarlaParamsSubWindow(QWidget *_parent, Qt::WindowFlags windowFlags)
Definition Carla.h:253
void closeEvent(QCloseEvent *event) override
Definition Carla.h:284
QScrollArea * m_outputScrollArea
Definition Carla.h:370
uint32_t m_curRow
Definition Carla.h:363
QWidget * m_outputScrollAreaWidgetContent
Definition Carla.h:372
QWidget * m_inputScrollAreaWidgetContent
Definition Carla.h:369
QGridLayout * m_inputScrollAreaLayout
Definition Carla.h:368
~CarlaParamsView() override
Definition Carla.cpp:876
uint32_t m_curOutColumn
Definition Carla.h:364
CarlaParamsView(CarlaInstrumentView *const instrumentView, QWidget *const parent)
Definition Carla.cpp:735
QStringListModel * m_groupFilterModel
Definition Carla.h:378
QGridLayout * m_outputScrollAreaLayout
Definition Carla.h:371
void clearKnobs()
Definition Carla.cpp:1081
void filterKnobs()
Definition Carla.cpp:902
QHBoxLayout * m_toolBarLayout
Definition Carla.h:373
CarlaInstrument *const m_carlaInstrument
Definition Carla.h:354
QScrollArea * m_inputScrollArea
Definition Carla.h:367
std::vector< Knob * > m_knobs
Definition Carla.h:356
QPushButton * m_automatedOnlyButton
Definition Carla.h:376
void clearFilterText()
Definition Carla.cpp:897
QPushButton * m_clearFilterButton
Definition Carla.h:375
uint32_t m_curOutRow
Definition Carla.h:365
CarlaInstrumentView *const m_carlaInstrumentView
Definition Carla.h:355
QLineEdit * m_paramsFilterLineEdit
Definition Carla.h:374
void windowResized()
Definition Carla.cpp:1035
QList< uint16_t > m_maxKnobWidthPerGroup
Definition Carla.h:359
void addKnob(uint32_t index)
Definition Carla.cpp:1041
uint32_t m_curColumn
Definition Carla.h:362
void refreshKnobs()
Definition Carla.cpp:964
QComboBox * m_groupFilterCombo
Definition Carla.h:377
uint32_t m_maxColumns
Definition Carla.h:361
Instrument view with fixed LMMS-default size.
Definition InstrumentView.h:66
InstrumentView(Instrument *_instrument, QWidget *_parent)
Definition InstrumentView.cpp:34
Definition PluginView.h:36
void resizeEvent(QResizeEvent *event) override
SubWindow::resizeEvent.
Definition SubWindow.cpp:569
SubWindow(QWidget *parent=nullptr, Qt::WindowFlags windowFlags=QFlag(0))
Definition SubWindow.cpp:53
NativeHostDispatcherOpcode
Definition CarlaNative.h:115
struct _NativePluginDescriptor NativePluginDescriptor
void * NativePluginHandle
Definition CarlaNative.h:37
static PuglViewHint int value
Definition pugl.h:1708
static const char * name
Definition pugl.h:1582
static uintptr_t parent
Definition pugl.h:1644
int int32_t
Definition mid.cpp:97
unsigned int uint32_t
Definition mid.cpp:100
unsigned char uint8_t
Definition mid.cpp:98
Definition AudioPortAudio.cpp:223
Definition AudioAlsa.cpp:35
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
#define false
Definition ordinals.h:83
GUI::ui_handle_t gui
Definition main.cpp:50
Definition CarlaNative.h:218
Definition CarlaNative.h:169
Definition CarlaNative.h:197