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

#include <Watsyn.h>

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

Public Slots

void updateVolumes ()
void updateFreqA1 ()
void updateFreqA2 ()
void updateFreqB1 ()
void updateFreqB2 ()
void updateWaveA1 ()
void updateWaveA2 ()
void updateWaveB1 ()
void updateWaveB2 ()

Public Member Functions

 WatsynInstrument (InstrumentTrack *_instrument_track)
 ~WatsynInstrument () override=default
void playNote (NotePlayHandle *_n, SampleFrame *_working_buffer) override
void deleteNotePluginData (NotePlayHandle *_n) override
void saveSettings (QDomDocument &_doc, QDomElement &_this) override
void loadSettings (const QDomElement &_this) override
QString nodeName () const override
float desiredReleaseTimeMs () 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
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 ()

Protected Attributes

float m_lvol [NUM_OSCS]
float m_rvol [NUM_OSCS]
float m_lfreq [NUM_OSCS]
float m_rfreq [NUM_OSCS]

Private Member Functions

float leftCh (float _vol, float _pan)
float rightCh (float _vol, float _pan)
void srccpy (float *_dst, float *_src)

Private Attributes

AudioResampler m_resampler = AudioResampler{AudioResampler::Mode::SincFastest, 1}
FloatModel a1_vol
FloatModel a2_vol
FloatModel b1_vol
FloatModel b2_vol
FloatModel a1_pan
FloatModel a2_pan
FloatModel b1_pan
FloatModel b2_pan
FloatModel a1_mult
FloatModel a2_mult
FloatModel b1_mult
FloatModel b2_mult
FloatModel a1_ltune
FloatModel a2_ltune
FloatModel b1_ltune
FloatModel b2_ltune
FloatModel a1_rtune
FloatModel a2_rtune
FloatModel b1_rtune
FloatModel b2_rtune
graphModel a1_graph
graphModel a2_graph
graphModel b1_graph
graphModel b2_graph
FloatModel m_abmix
FloatModel m_envAmt
TempoSyncKnobModel m_envAtt
TempoSyncKnobModel m_envHold
TempoSyncKnobModel m_envDec
FloatModel m_xtalk
IntModel m_amod
IntModel m_bmod
IntModel m_selectedGraph
float A1_wave [WAVELEN]
float A2_wave [WAVELEN]
float B1_wave [WAVELEN]
float B2_wave [WAVELEN]

Friends

class WatsynObject
class gui::WatsynView

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

◆ WatsynInstrument()

lmms::WatsynInstrument::WatsynInstrument ( InstrumentTrack * _instrument_track)

◆ ~WatsynInstrument()

lmms::WatsynInstrument::~WatsynInstrument ( )
overridedefault

Member Function Documentation

◆ deleteNotePluginData()

void lmms::WatsynInstrument::deleteNotePluginData ( NotePlayHandle * _n)
overridevirtual

Reimplemented from lmms::Instrument.

◆ desiredReleaseTimeMs()

float lmms::WatsynInstrument::desiredReleaseTimeMs ( ) const
inlineoverridevirtual

Reimplemented from lmms::Instrument.

◆ instantiateView()

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

Create a view for the model.

Implements lmms::Plugin.

◆ leftCh()

float lmms::WatsynInstrument::leftCh ( float _vol,
float _pan )
inlineprivate

◆ loadSettings()

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

◆ nodeName()

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

◆ playNote()

void lmms::WatsynInstrument::playNote ( NotePlayHandle * _n,
SampleFrame * _working_buffer )
overridevirtual

Reimplemented from lmms::Instrument.

◆ rightCh()

float lmms::WatsynInstrument::rightCh ( float _vol,
float _pan )
inlineprivate

◆ saveSettings()

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

◆ srccpy()

void lmms::WatsynInstrument::srccpy ( float * _dst,
float * _src )
inlineprivate

◆ updateFreqA1

void lmms::WatsynInstrument::updateFreqA1 ( )
slot

◆ updateFreqA2

void lmms::WatsynInstrument::updateFreqA2 ( )
slot

◆ updateFreqB1

void lmms::WatsynInstrument::updateFreqB1 ( )
slot

◆ updateFreqB2

void lmms::WatsynInstrument::updateFreqB2 ( )
slot

◆ updateVolumes

void lmms::WatsynInstrument::updateVolumes ( )
slot

◆ updateWaveA1

void lmms::WatsynInstrument::updateWaveA1 ( )
slot

◆ updateWaveA2

void lmms::WatsynInstrument::updateWaveA2 ( )
slot

◆ updateWaveB1

void lmms::WatsynInstrument::updateWaveB1 ( )
slot

◆ updateWaveB2

void lmms::WatsynInstrument::updateWaveB2 ( )
slot

◆ gui::WatsynView

friend class gui::WatsynView
friend

◆ WatsynObject

friend class WatsynObject
friend

Member Data Documentation

◆ a1_graph

graphModel lmms::WatsynInstrument::a1_graph
private

◆ a1_ltune

FloatModel lmms::WatsynInstrument::a1_ltune
private

◆ a1_mult

FloatModel lmms::WatsynInstrument::a1_mult
private

◆ a1_pan

FloatModel lmms::WatsynInstrument::a1_pan
private

◆ a1_rtune

FloatModel lmms::WatsynInstrument::a1_rtune
private

◆ a1_vol

FloatModel lmms::WatsynInstrument::a1_vol
private

◆ A1_wave

float lmms::WatsynInstrument::A1_wave[WAVELEN]
private

◆ a2_graph

graphModel lmms::WatsynInstrument::a2_graph
private

◆ a2_ltune

FloatModel lmms::WatsynInstrument::a2_ltune
private

◆ a2_mult

FloatModel lmms::WatsynInstrument::a2_mult
private

◆ a2_pan

FloatModel lmms::WatsynInstrument::a2_pan
private

◆ a2_rtune

FloatModel lmms::WatsynInstrument::a2_rtune
private

◆ a2_vol

FloatModel lmms::WatsynInstrument::a2_vol
private

◆ A2_wave

float lmms::WatsynInstrument::A2_wave[WAVELEN]
private

◆ b1_graph

graphModel lmms::WatsynInstrument::b1_graph
private

◆ b1_ltune

FloatModel lmms::WatsynInstrument::b1_ltune
private

◆ b1_mult

FloatModel lmms::WatsynInstrument::b1_mult
private

◆ b1_pan

FloatModel lmms::WatsynInstrument::b1_pan
private

◆ b1_rtune

FloatModel lmms::WatsynInstrument::b1_rtune
private

◆ b1_vol

FloatModel lmms::WatsynInstrument::b1_vol
private

◆ B1_wave

float lmms::WatsynInstrument::B1_wave[WAVELEN]
private

◆ b2_graph

graphModel lmms::WatsynInstrument::b2_graph
private

◆ b2_ltune

FloatModel lmms::WatsynInstrument::b2_ltune
private

◆ b2_mult

FloatModel lmms::WatsynInstrument::b2_mult
private

◆ b2_pan

FloatModel lmms::WatsynInstrument::b2_pan
private

◆ b2_rtune

FloatModel lmms::WatsynInstrument::b2_rtune
private

◆ b2_vol

FloatModel lmms::WatsynInstrument::b2_vol
private

◆ B2_wave

float lmms::WatsynInstrument::B2_wave[WAVELEN]
private

◆ m_abmix

FloatModel lmms::WatsynInstrument::m_abmix
private

◆ m_amod

IntModel lmms::WatsynInstrument::m_amod
private

◆ m_bmod

IntModel lmms::WatsynInstrument::m_bmod
private

◆ m_envAmt

FloatModel lmms::WatsynInstrument::m_envAmt
private

◆ m_envAtt

TempoSyncKnobModel lmms::WatsynInstrument::m_envAtt
private

◆ m_envDec

TempoSyncKnobModel lmms::WatsynInstrument::m_envDec
private

◆ m_envHold

TempoSyncKnobModel lmms::WatsynInstrument::m_envHold
private

◆ m_lfreq

float lmms::WatsynInstrument::m_lfreq[NUM_OSCS]
protected

◆ m_lvol

float lmms::WatsynInstrument::m_lvol[NUM_OSCS]
protected

◆ m_resampler

AudioResampler lmms::WatsynInstrument::m_resampler = AudioResampler{AudioResampler::Mode::SincFastest, 1}
private

◆ m_rfreq

float lmms::WatsynInstrument::m_rfreq[NUM_OSCS]
protected

◆ m_rvol

float lmms::WatsynInstrument::m_rvol[NUM_OSCS]
protected

◆ m_selectedGraph

IntModel lmms::WatsynInstrument::m_selectedGraph
private

◆ m_xtalk

FloatModel lmms::WatsynInstrument::m_xtalk
private

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