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

#include <Vibed.h>

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

Classes

class  StringContainer

Public Member Functions

 Vibed (InstrumentTrack *instrumentTrack)
 ~Vibed () override=default
void playNote (NotePlayHandle *n, SampleFrame *workingBuffer) override
void deleteNotePluginData (NotePlayHandle *n) override
void saveSettings (QDomDocument &doc, QDomElement &elem) override
void loadSettings (const QDomElement &elem) override
QString nodeName () const 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 play (SampleFrame *_working_buffer)
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
virtual bool handleMidiEvent (const MidiEvent &, const TimePos &=TimePos(), f_cnt_t offset=0)
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 ()

Private Attributes

std::array< std::unique_ptr< FloatModel >, s_stringCountm_pickModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_pickupModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_stiffnessModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_volumeModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_panModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_detuneModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_randomModels
std::array< std::unique_ptr< FloatModel >, s_stringCountm_lengthModels
std::array< std::unique_ptr< BoolModel >, s_stringCountm_powerModels
std::array< std::unique_ptr< graphModel >, s_stringCountm_graphModels
std::array< std::unique_ptr< BoolModel >, s_stringCountm_impulseModels
std::array< std::unique_ptr< NineButtonSelectorModel >, s_stringCountm_harmonicModels

Static Private Attributes

static constexpr int s_sampleLength = 128
static constexpr int s_stringCount = 9

Friends

class gui::VibedView

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*>
Signals inherited from lmms::Model
void dataChanged ()
void dataUnchanged ()
void propertiesChanged ()
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

◆ Vibed()

lmms::Vibed::Vibed ( InstrumentTrack * instrumentTrack)

◆ ~Vibed()

lmms::Vibed::~Vibed ( )
overridedefault

Member Function Documentation

◆ deleteNotePluginData()

void lmms::Vibed::deleteNotePluginData ( NotePlayHandle * n)
overridevirtual

Reimplemented from lmms::Instrument.

◆ instantiateView()

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

Create a view for the model.

Implements lmms::Plugin.

◆ loadSettings()

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

◆ nodeName()

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

◆ playNote()

void lmms::Vibed::playNote ( NotePlayHandle * n,
SampleFrame * workingBuffer )
overridevirtual

Reimplemented from lmms::Instrument.

◆ saveSettings()

void lmms::Vibed::saveSettings ( QDomDocument & doc,
QDomElement & elem )
overridevirtual

◆ gui::VibedView

friend class gui::VibedView
friend

Member Data Documentation

◆ m_detuneModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_detuneModels
private

◆ m_graphModels

std::array<std::unique_ptr<graphModel>, s_stringCount> lmms::Vibed::m_graphModels
private

◆ m_harmonicModels

std::array<std::unique_ptr<NineButtonSelectorModel>, s_stringCount> lmms::Vibed::m_harmonicModels
private

◆ m_impulseModels

std::array<std::unique_ptr<BoolModel>, s_stringCount> lmms::Vibed::m_impulseModels
private

◆ m_lengthModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_lengthModels
private

◆ m_panModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_panModels
private

◆ m_pickModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_pickModels
private

◆ m_pickupModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_pickupModels
private

◆ m_powerModels

std::array<std::unique_ptr<BoolModel>, s_stringCount> lmms::Vibed::m_powerModels
private

◆ m_randomModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_randomModels
private

◆ m_stiffnessModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_stiffnessModels
private

◆ m_volumeModels

std::array<std::unique_ptr<FloatModel>, s_stringCount> lmms::Vibed::m_volumeModels
private

◆ s_sampleLength

int lmms::Vibed::s_sampleLength = 128
staticconstexprprivate

◆ s_stringCount

int lmms::Vibed::s_stringCount = 9
staticconstexprprivate

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