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

#include <Xpressive.h>

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

Public Member Functions

 Xpressive (InstrumentTrack *instrument_track)
void playNote (NotePlayHandle *nph, SampleFrame *working_buffer) override
void deleteNotePluginData (NotePlayHandle *nph) override
void saveSettings (QDomDocument &_doc, QDomElement &_this) override
void loadSettings (const QDomElement &_this) override
QString nodeName () const override
gui::PluginViewinstantiateView (QWidget *parent) override
 Create a view for the model.
graphModelgraphO1 ()
graphModelgraphO2 ()
graphModelgraphW1 ()
graphModelgraphW2 ()
graphModelgraphW3 ()
graphModelrawgraphW1 ()
graphModelrawgraphW2 ()
graphModelrawgraphW3 ()
IntModelselectedGraph ()
QByteArray & wavesExpression (int i)
QByteArray & outputExpression (int i)
FloatModelparameterA1 ()
FloatModelparameterA2 ()
FloatModelparameterA3 ()
FloatModelsmoothW1 ()
FloatModelsmoothW2 ()
FloatModelsmoothW3 ()
BoolModelinterpolateW1 ()
BoolModelinterpolateW2 ()
BoolModelinterpolateW3 ()
FloatModelpanning1 ()
FloatModelpanning2 ()
FloatModelrelTransition ()
WaveSampleW1 ()
WaveSampleW2 ()
WaveSampleW3 ()
BoolModelexprValid ()
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 ()

Static Public Member Functions

static void smooth (float smoothness, const graphModel *in, graphModel *out)
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)

Private Attributes

graphModel m_graphO1
graphModel m_graphO2
graphModel m_graphW1
graphModel m_graphW2
graphModel m_graphW3
graphModel m_rawgraphW1
graphModel m_rawgraphW2
graphModel m_rawgraphW3
IntModel m_selectedGraph
QByteArray m_wavesExpression [3]
QByteArray m_outputExpression [2]
FloatModel m_parameterA1
FloatModel m_parameterA2
FloatModel m_parameterA3
FloatModel m_smoothW1
FloatModel m_smoothW2
FloatModel m_smoothW3
BoolModel m_interpolateW1
BoolModel m_interpolateW2
BoolModel m_interpolateW3
FloatModel m_panning1
FloatModel m_panning2
FloatModel m_relTransition
float m_A1
float m_A2
float m_A3
WaveSample m_W1
WaveSample m_W2
WaveSample m_W3
BoolModel m_exprValid

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 ()
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

◆ Xpressive()

lmms::Xpressive::Xpressive ( InstrumentTrack * instrument_track)

Member Function Documentation

◆ deleteNotePluginData()

void lmms::Xpressive::deleteNotePluginData ( NotePlayHandle * nph)
overridevirtual

Reimplemented from lmms::Instrument.

◆ exprValid()

BoolModel & lmms::Xpressive::exprValid ( )
inline

◆ graphO1()

graphModel & lmms::Xpressive::graphO1 ( )
inline

◆ graphO2()

graphModel & lmms::Xpressive::graphO2 ( )
inline

◆ graphW1()

graphModel & lmms::Xpressive::graphW1 ( )
inline

◆ graphW2()

graphModel & lmms::Xpressive::graphW2 ( )
inline

◆ graphW3()

graphModel & lmms::Xpressive::graphW3 ( )
inline

◆ instantiateView()

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

Create a view for the model.

Implements lmms::Plugin.

◆ interpolateW1()

BoolModel & lmms::Xpressive::interpolateW1 ( )
inline

◆ interpolateW2()

BoolModel & lmms::Xpressive::interpolateW2 ( )
inline

◆ interpolateW3()

BoolModel & lmms::Xpressive::interpolateW3 ( )
inline

◆ loadSettings()

void lmms::Xpressive::loadSettings ( const QDomElement & _this)
overridevirtual

◆ nodeName()

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

◆ outputExpression()

QByteArray & lmms::Xpressive::outputExpression ( int i)
inline

◆ panning1()

FloatModel & lmms::Xpressive::panning1 ( )
inline

◆ panning2()

FloatModel & lmms::Xpressive::panning2 ( )
inline

◆ parameterA1()

FloatModel & lmms::Xpressive::parameterA1 ( )
inline

◆ parameterA2()

FloatModel & lmms::Xpressive::parameterA2 ( )
inline

◆ parameterA3()

FloatModel & lmms::Xpressive::parameterA3 ( )
inline

◆ playNote()

void lmms::Xpressive::playNote ( NotePlayHandle * nph,
SampleFrame * working_buffer )
overridevirtual

Reimplemented from lmms::Instrument.

◆ rawgraphW1()

graphModel & lmms::Xpressive::rawgraphW1 ( )
inline

◆ rawgraphW2()

graphModel & lmms::Xpressive::rawgraphW2 ( )
inline

◆ rawgraphW3()

graphModel & lmms::Xpressive::rawgraphW3 ( )
inline

◆ relTransition()

FloatModel & lmms::Xpressive::relTransition ( )
inline

◆ saveSettings()

void lmms::Xpressive::saveSettings ( QDomDocument & _doc,
QDomElement & _this )
overridevirtual

◆ selectedGraph()

IntModel & lmms::Xpressive::selectedGraph ( )
inline

◆ smooth()

void lmms::Xpressive::smooth ( float smoothness,
const graphModel * in,
graphModel * out )
static

◆ smoothW1()

FloatModel & lmms::Xpressive::smoothW1 ( )
inline

◆ smoothW2()

FloatModel & lmms::Xpressive::smoothW2 ( )
inline

◆ smoothW3()

FloatModel & lmms::Xpressive::smoothW3 ( )
inline

◆ W1()

WaveSample & lmms::Xpressive::W1 ( )
inline

◆ W2()

WaveSample & lmms::Xpressive::W2 ( )
inline

◆ W3()

WaveSample & lmms::Xpressive::W3 ( )
inline

◆ wavesExpression()

QByteArray & lmms::Xpressive::wavesExpression ( int i)
inline

Member Data Documentation

◆ m_A1

float lmms::Xpressive::m_A1
private

◆ m_A2

float lmms::Xpressive::m_A2
private

◆ m_A3

float lmms::Xpressive::m_A3
private

◆ m_exprValid

BoolModel lmms::Xpressive::m_exprValid
private

◆ m_graphO1

graphModel lmms::Xpressive::m_graphO1
private

◆ m_graphO2

graphModel lmms::Xpressive::m_graphO2
private

◆ m_graphW1

graphModel lmms::Xpressive::m_graphW1
private

◆ m_graphW2

graphModel lmms::Xpressive::m_graphW2
private

◆ m_graphW3

graphModel lmms::Xpressive::m_graphW3
private

◆ m_interpolateW1

BoolModel lmms::Xpressive::m_interpolateW1
private

◆ m_interpolateW2

BoolModel lmms::Xpressive::m_interpolateW2
private

◆ m_interpolateW3

BoolModel lmms::Xpressive::m_interpolateW3
private

◆ m_outputExpression

QByteArray lmms::Xpressive::m_outputExpression[2]
private

◆ m_panning1

FloatModel lmms::Xpressive::m_panning1
private

◆ m_panning2

FloatModel lmms::Xpressive::m_panning2
private

◆ m_parameterA1

FloatModel lmms::Xpressive::m_parameterA1
private

◆ m_parameterA2

FloatModel lmms::Xpressive::m_parameterA2
private

◆ m_parameterA3

FloatModel lmms::Xpressive::m_parameterA3
private

◆ m_rawgraphW1

graphModel lmms::Xpressive::m_rawgraphW1
private

◆ m_rawgraphW2

graphModel lmms::Xpressive::m_rawgraphW2
private

◆ m_rawgraphW3

graphModel lmms::Xpressive::m_rawgraphW3
private

◆ m_relTransition

FloatModel lmms::Xpressive::m_relTransition
private

◆ m_selectedGraph

IntModel lmms::Xpressive::m_selectedGraph
private

◆ m_smoothW1

FloatModel lmms::Xpressive::m_smoothW1
private

◆ m_smoothW2

FloatModel lmms::Xpressive::m_smoothW2
private

◆ m_smoothW3

FloatModel lmms::Xpressive::m_smoothW3
private

◆ m_W1

WaveSample lmms::Xpressive::m_W1
private

◆ m_W2

WaveSample lmms::Xpressive::m_W2
private

◆ m_W3

WaveSample lmms::Xpressive::m_W3
private

◆ m_wavesExpression

QByteArray lmms::Xpressive::m_wavesExpression[3]
private

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