LMMS
Loading...
Searching...
No Matches
lmms::CarlaInstrument Class Reference

#include <Carla.h>

Inheritance diagram for lmms::CarlaInstrument:
lmms::Instrument lmms::Plugin lmms::Model lmms::JournallingObject lmms::SerializingObject

Signals

void uiClosed ()
void paramsUpdated ()
Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()

Public Member Functions

 CarlaInstrument (InstrumentTrack *const instrumentTrack, const Descriptor *const descriptor, const bool isPatchbay)
 ~CarlaInstrument () override
uint32_t handleGetBufferSize () const
double handleGetSampleRate () const
bool handleIsOffline () const
const NativeTimeInfohandleGetTimeInfo () const
void handleUiParameterChanged (const uint32_t index, const float value) const
void handleUiClosed ()
intptr_t handleDispatcher (const NativeHostDispatcherOpcode opcode, const int32_t index, const intptr_t value, void *const ptr, const float opt)
QString nodeName () const override
void saveSettings (QDomDocument &doc, QDomElement &parent) override
void loadSettings (const QDomElement &elem) override
void play (SampleFrame *workingBuffer) override
bool handleMidiEvent (const MidiEvent &event, const TimePos &time, f_cnt_t offset) override
gui::PluginViewinstantiateView (QWidget *parent) override
 Create a view for the model.
Public Member Functions inherited from lmms::Instrument
 Instrument (InstrumentTrack *_instrument_track, const Descriptor *_descriptor, const Descriptor::SubPluginFeatures::Key *key=nullptr, Flags flags=Flag::NoFlags)
 ~Instrument () override=default
virtual bool hasNoteInput () const
virtual void playNote (NotePlayHandle *, SampleFrame *)
virtual void deleteNotePluginData (NotePlayHandle *_note_to_play)
virtual f_cnt_t beatLen (NotePlayHandle *_n) const
virtual float desiredReleaseTimeMs () const
f_cnt_t desiredReleaseFrames () const
sample_rate_t getSampleRate () const
bool isSingleStreamed () const
bool isMidiBased () const
bool isBendable () const
QString fullDisplayName () const override
virtual bool isFromTrack (const Track *_track) const
InstrumentTrackinstrumentTrack () const
Public Member Functions inherited from lmms::Plugin
 Plugin (const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr)
 ~Plugin () override=default
QString displayName () const override
 Return display-name out of sub plugin or descriptor.
const PixmapLoaderlogo () const
 Return logo out of sub plugin or descriptor.
Type type () const
 Return plugin type.
const Descriptordescriptor () const
 Return plugin Descriptor.
const Descriptor::SubPluginFeatures::Keykey () const
virtual void loadFile (const QString &file)
virtual AutomatableModelchildModel (const QString &modelName)
gui::PluginViewcreateView (QWidget *parent)
 Create a view for the model.
Public Member Functions inherited from lmms::Model
 Model (Model *parent, QString displayName=QString(), bool defaultConstructed=false)
 ~Model () override=default
bool isDefaultConstructed () const
ModelparentModel () const
virtual void setDisplayName (const QString &displayName)
Public Member Functions inherited from lmms::JournallingObject
 JournallingObject ()
 ~JournallingObject () override
jo_id_t id () const
void saveJournallingState (const bool newState)
void restoreJournallingState ()
void addJournalCheckPoint ()
QDomElement saveState (QDomDocument &_doc, QDomElement &_parent) override
void restoreState (const QDomElement &_this) override
bool isJournalling () const
void setJournalling (const bool _sr)
bool testAndSetJournalling (const bool newState)
bool isJournallingStateStackEmpty () const
Public Member Functions inherited from lmms::SerializingObject
 SerializingObject ()
virtual ~SerializingObject ()
void setHook (SerializingObjectHook *_hook)
SerializingObjectHookhook ()

Static Public Attributes

static const uint32_t kMaxMidiEvents = 512

Private Slots

void sampleRateChanged ()
void refreshParams (bool init=false)
void clearParamModels ()
void paramModelChanged (uint32_t index)
void updateParamModel (uint32_t index)

Private Attributes

const bool kIsPatchbay
NativePluginHandle fHandle
NativeHostDescriptor fHost
const NativePluginDescriptorfDescriptor
uint32_t fMidiEventCount
NativeMidiEvent fMidiEvents [kMaxMidiEvents]
NativeTimeInfo fTimeInfo
QMutex fMutex
uint8_t m_paramGroupCount
std::vector< CarlaParamFloatModel * > m_paramModels
QDomElement m_settingsElem
QCompleter * m_paramsCompleter
QStringListModel * m_completerModel

Friends

class gui::CarlaInstrumentView
class gui::CarlaParamsView

Additional Inherited Members

Public Types inherited from lmms::Instrument
enum class  Flag { NoFlags = 0x00 , IsSingleStreamed = 0x01 , IsMidiBased = 0x02 , IsNotBendable = 0x04 }
using Flags = lmms::Flags<Flag>
Public Types inherited from lmms::Plugin
enum class  Type {
  Instrument , Effect , ImportFilter , ExportFilter ,
  Tool , Library , Other , Undefined = 255
}
using DescriptorList = QList<Descriptor*>
Static Public Member Functions inherited from lmms::Instrument
static Instrumentinstantiate (const QString &_plugin_name, InstrumentTrack *_instrument_track, const Plugin::Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false)
Static Public Member Functions inherited from lmms::Plugin
static PlugininstantiateWithKey (const QString &pluginName, Model *parent, const Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false)
static Plugininstantiate (const QString &pluginName, Model *parent, void *data)
Protected Member Functions inherited from lmms::Instrument
void applyFadeIn (SampleFrame *buf, NotePlayHandle *n)
void applyRelease (SampleFrame *buf, const NotePlayHandle *_n)
float computeReleaseTimeMsByFrameCount (f_cnt_t frames) const
Protected Member Functions inherited from lmms::Plugin
void collectErrorForUI (QString errMsg)
Protected Member Functions inherited from lmms::JournallingObject
void changeID (jo_id_t _id)

Constructor & Destructor Documentation

◆ CarlaInstrument()

lmms::CarlaInstrument::CarlaInstrument ( InstrumentTrack *const instrumentTrack,
const Descriptor *const descriptor,
const bool isPatchbay )

◆ ~CarlaInstrument()

lmms::CarlaInstrument::~CarlaInstrument ( )
override

Member Function Documentation

◆ clearParamModels

void lmms::CarlaInstrument::clearParamModels ( )
privateslot

◆ handleDispatcher()

intptr_t lmms::CarlaInstrument::handleDispatcher ( const NativeHostDispatcherOpcode opcode,
const int32_t index,
const intptr_t value,
void *const ptr,
const float opt )

◆ handleGetBufferSize()

uint32_t lmms::CarlaInstrument::handleGetBufferSize ( ) const

◆ handleGetSampleRate()

double lmms::CarlaInstrument::handleGetSampleRate ( ) const

◆ handleGetTimeInfo()

const NativeTimeInfo * lmms::CarlaInstrument::handleGetTimeInfo ( ) const

◆ handleIsOffline()

bool lmms::CarlaInstrument::handleIsOffline ( ) const

◆ handleMidiEvent()

bool lmms::CarlaInstrument::handleMidiEvent ( const MidiEvent & event,
const TimePos & time,
f_cnt_t offset )
overridevirtual

Reimplemented from lmms::Instrument.

◆ handleUiClosed()

void lmms::CarlaInstrument::handleUiClosed ( )

◆ handleUiParameterChanged()

void lmms::CarlaInstrument::handleUiParameterChanged ( const uint32_t index,
const float value ) const

◆ instantiateView()

gui::PluginView * lmms::CarlaInstrument::instantiateView ( QWidget * )
overridevirtual

Create a view for the model.

Implements lmms::Plugin.

◆ loadSettings()

void lmms::CarlaInstrument::loadSettings ( const QDomElement & elem)
overridevirtual

◆ nodeName()

QString lmms::CarlaInstrument::nodeName ( void ) const
overridevirtual

◆ paramModelChanged

void lmms::CarlaInstrument::paramModelChanged ( uint32_t index)
privateslot

◆ paramsUpdated

void lmms::CarlaInstrument::paramsUpdated ( )
signal

◆ play()

void lmms::CarlaInstrument::play ( SampleFrame * workingBuffer)
overridevirtual

Reimplemented from lmms::Instrument.

◆ refreshParams

void lmms::CarlaInstrument::refreshParams ( bool init = false)
privateslot

◆ sampleRateChanged

void lmms::CarlaInstrument::sampleRateChanged ( )
privateslot

◆ saveSettings()

void lmms::CarlaInstrument::saveSettings ( QDomDocument & doc,
QDomElement & parent )
overridevirtual

◆ uiClosed

void lmms::CarlaInstrument::uiClosed ( )
signal

◆ updateParamModel

void lmms::CarlaInstrument::updateParamModel ( uint32_t index)
privateslot

◆ gui::CarlaInstrumentView

friend class gui::CarlaInstrumentView
friend

◆ gui::CarlaParamsView

friend class gui::CarlaParamsView
friend

Member Data Documentation

◆ fDescriptor

const NativePluginDescriptor* lmms::CarlaInstrument::fDescriptor
private

◆ fHandle

NativePluginHandle lmms::CarlaInstrument::fHandle
private

◆ fHost

NativeHostDescriptor lmms::CarlaInstrument::fHost
private

◆ fMidiEventCount

uint32_t lmms::CarlaInstrument::fMidiEventCount
private

◆ fMidiEvents

NativeMidiEvent lmms::CarlaInstrument::fMidiEvents[kMaxMidiEvents]
private

◆ fMutex

QMutex lmms::CarlaInstrument::fMutex
private

◆ fTimeInfo

NativeTimeInfo lmms::CarlaInstrument::fTimeInfo
private

◆ kIsPatchbay

const bool lmms::CarlaInstrument::kIsPatchbay
private

◆ kMaxMidiEvents

const uint32_t lmms::CarlaInstrument::kMaxMidiEvents = 512
static

◆ m_completerModel

QStringListModel* lmms::CarlaInstrument::m_completerModel
private

◆ m_paramGroupCount

uint8_t lmms::CarlaInstrument::m_paramGroupCount
private

◆ m_paramModels

std::vector<CarlaParamFloatModel*> lmms::CarlaInstrument::m_paramModels
private

◆ m_paramsCompleter

QCompleter* lmms::CarlaInstrument::m_paramsCompleter
private

◆ m_settingsElem

QDomElement lmms::CarlaInstrument::m_settingsElem
private

The documentation for this class was generated from the following files: