lmms
Cross-platform music production software
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::PluginView * instantiateView (QWidget *parent) override
 Create a view for the model.
graphModel & graphO1 ()
graphModel & graphO2 ()
graphModel & graphW1 ()
graphModel & graphW2 ()
graphModel & graphW3 ()
graphModel & rawgraphW1 ()
graphModel & rawgraphW2 ()
graphModel & rawgraphW3 ()
IntModel & selectedGraph ()
QByteArray & wavesExpression (int i)
QByteArray & outputExpression (int i)
FloatModel & parameterA1 ()
FloatModel & parameterA2 ()
FloatModel & parameterA3 ()
FloatModel & smoothW1 ()
FloatModel & smoothW2 ()
FloatModel & smoothW3 ()
BoolModel & interpolateW1 ()
BoolModel & interpolateW2 ()
BoolModel & interpolateW3 ()
FloatModel & panning1 ()
FloatModel & panning2 ()
FloatModel & relTransition ()
WaveSample & W1 ()
WaveSample & W2 ()
WaveSample & W3 ()
BoolModel & exprValid ()
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 auto midiPatch () const -> std::optional< MidiPatch >
 For applicable instruments: Provides host with current MIDI bank and program.
virtual auto childModel (std::string_view modelName) -> AutomatableModel *
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
InstrumentTrack * instrumentTrack () const
Public Member Functions inherited from lmms::Plugin
 Plugin (const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr)
 Constructor of a plugin.
 ~Plugin () override=default
QString displayName () const override
 Return display-name out of sub plugin or descriptor.
const PixmapLoader * logo () const
 Return logo out of sub plugin or descriptor.
Type type () const
 Return plugin type.
const Descriptor * descriptor () const
 Return plugin Descriptor.
const Descriptor::SubPluginFeatures::Key & key () const
virtual void loadFile (const QString &file)
gui::PluginView * createView (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
Model * parentModel () 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)
SerializingObjectHook * hook ()

Static Public Member Functions

static void smooth (float smoothness, const graphModel *in, graphModel *out)
Static Public Member Functions inherited from lmms::Instrument
static Instrument * instantiate (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 Plugin * instantiateWithKey (const QString &pluginName, Model *parent, const Descriptor::SubPluginFeatures::Key *key, bool keyFromDnd=false)
static Plugin * instantiate (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 * parent)
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: