lmms
Cross-platform music production software
Loading...
Searching...
No Matches
lmms::NesInstrument Class Reference

#include <Nes.h>

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

Public Slots

void updateFreq1 ()
void updateFreq2 ()
void updateFreq3 ()

Public Member Functions

 NesInstrument (InstrumentTrack *instrumentTrack)
 ~NesInstrument () override=default
void playNote (NotePlayHandle *n, SampleFrame *workingBuffer) override
void deleteNotePluginData (NotePlayHandle *n) override
void saveSettings (QDomDocument &doc, QDomElement &element) override
void loadSettings (const QDomElement &element) override
QString nodeName () const override
float desiredReleaseTimeMs () const override
gui::PluginView * instantiateView (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 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
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 ()

Protected Attributes

float m_freq1
float m_freq2
float m_freq3

Private Attributes

BoolModel m_ch1Enabled
FloatModel m_ch1Crs
FloatModel m_ch1Volume
BoolModel m_ch1EnvEnabled
BoolModel m_ch1EnvLooped
FloatModel m_ch1EnvLen
IntModel m_ch1DutyCycle
BoolModel m_ch1SweepEnabled
FloatModel m_ch1SweepAmt
FloatModel m_ch1SweepRate
BoolModel m_ch2Enabled
FloatModel m_ch2Crs
FloatModel m_ch2Volume
BoolModel m_ch2EnvEnabled
BoolModel m_ch2EnvLooped
FloatModel m_ch2EnvLen
IntModel m_ch2DutyCycle
BoolModel m_ch2SweepEnabled
FloatModel m_ch2SweepAmt
FloatModel m_ch2SweepRate
BoolModel m_ch3Enabled
FloatModel m_ch3Crs
FloatModel m_ch3Volume
BoolModel m_ch4Enabled
FloatModel m_ch4Volume
BoolModel m_ch4EnvEnabled
BoolModel m_ch4EnvLooped
FloatModel m_ch4EnvLen
BoolModel m_ch4NoiseMode
BoolModel m_ch4NoiseFreqMode
FloatModel m_ch4NoiseFreq
FloatModel m_ch4Sweep
BoolModel m_ch4NoiseQuantize
FloatModel m_masterVol
FloatModel m_vibrato

Friends

class NesObject
class gui::NesInstrumentView

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

◆ NesInstrument()

lmms::NesInstrument::NesInstrument ( InstrumentTrack * instrumentTrack)

◆ ~NesInstrument()

lmms::NesInstrument::~NesInstrument ( )
overridedefault

Member Function Documentation

◆ deleteNotePluginData()

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

Reimplemented from lmms::Instrument.

◆ desiredReleaseTimeMs()

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

Reimplemented from lmms::Instrument.

◆ instantiateView()

gui::PluginView * lmms::NesInstrument::instantiateView ( QWidget * parent)
overridevirtual

Create a view for the model.

Implements lmms::Plugin.

◆ loadSettings()

void lmms::NesInstrument::loadSettings ( const QDomElement & element)
overridevirtual

◆ nodeName()

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

◆ playNote()

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

Reimplemented from lmms::Instrument.

◆ saveSettings()

void lmms::NesInstrument::saveSettings ( QDomDocument & doc,
QDomElement & element )
overridevirtual

◆ updateFreq1

void lmms::NesInstrument::updateFreq1 ( )
slot

◆ updateFreq2

void lmms::NesInstrument::updateFreq2 ( )
slot

◆ updateFreq3

void lmms::NesInstrument::updateFreq3 ( )
slot

◆ gui::NesInstrumentView

friend class gui::NesInstrumentView
friend

◆ NesObject

friend class NesObject
friend

Member Data Documentation

◆ m_ch1Crs

FloatModel lmms::NesInstrument::m_ch1Crs
private

◆ m_ch1DutyCycle

IntModel lmms::NesInstrument::m_ch1DutyCycle
private

◆ m_ch1Enabled

BoolModel lmms::NesInstrument::m_ch1Enabled
private

◆ m_ch1EnvEnabled

BoolModel lmms::NesInstrument::m_ch1EnvEnabled
private

◆ m_ch1EnvLen

FloatModel lmms::NesInstrument::m_ch1EnvLen
private

◆ m_ch1EnvLooped

BoolModel lmms::NesInstrument::m_ch1EnvLooped
private

◆ m_ch1SweepAmt

FloatModel lmms::NesInstrument::m_ch1SweepAmt
private

◆ m_ch1SweepEnabled

BoolModel lmms::NesInstrument::m_ch1SweepEnabled
private

◆ m_ch1SweepRate

FloatModel lmms::NesInstrument::m_ch1SweepRate
private

◆ m_ch1Volume

FloatModel lmms::NesInstrument::m_ch1Volume
private

◆ m_ch2Crs

FloatModel lmms::NesInstrument::m_ch2Crs
private

◆ m_ch2DutyCycle

IntModel lmms::NesInstrument::m_ch2DutyCycle
private

◆ m_ch2Enabled

BoolModel lmms::NesInstrument::m_ch2Enabled
private

◆ m_ch2EnvEnabled

BoolModel lmms::NesInstrument::m_ch2EnvEnabled
private

◆ m_ch2EnvLen

FloatModel lmms::NesInstrument::m_ch2EnvLen
private

◆ m_ch2EnvLooped

BoolModel lmms::NesInstrument::m_ch2EnvLooped
private

◆ m_ch2SweepAmt

FloatModel lmms::NesInstrument::m_ch2SweepAmt
private

◆ m_ch2SweepEnabled

BoolModel lmms::NesInstrument::m_ch2SweepEnabled
private

◆ m_ch2SweepRate

FloatModel lmms::NesInstrument::m_ch2SweepRate
private

◆ m_ch2Volume

FloatModel lmms::NesInstrument::m_ch2Volume
private

◆ m_ch3Crs

FloatModel lmms::NesInstrument::m_ch3Crs
private

◆ m_ch3Enabled

BoolModel lmms::NesInstrument::m_ch3Enabled
private

◆ m_ch3Volume

FloatModel lmms::NesInstrument::m_ch3Volume
private

◆ m_ch4Enabled

BoolModel lmms::NesInstrument::m_ch4Enabled
private

◆ m_ch4EnvEnabled

BoolModel lmms::NesInstrument::m_ch4EnvEnabled
private

◆ m_ch4EnvLen

FloatModel lmms::NesInstrument::m_ch4EnvLen
private

◆ m_ch4EnvLooped

BoolModel lmms::NesInstrument::m_ch4EnvLooped
private

◆ m_ch4NoiseFreq

FloatModel lmms::NesInstrument::m_ch4NoiseFreq
private

◆ m_ch4NoiseFreqMode

BoolModel lmms::NesInstrument::m_ch4NoiseFreqMode
private

◆ m_ch4NoiseMode

BoolModel lmms::NesInstrument::m_ch4NoiseMode
private

◆ m_ch4NoiseQuantize

BoolModel lmms::NesInstrument::m_ch4NoiseQuantize
private

◆ m_ch4Sweep

FloatModel lmms::NesInstrument::m_ch4Sweep
private

◆ m_ch4Volume

FloatModel lmms::NesInstrument::m_ch4Volume
private

◆ m_freq1

float lmms::NesInstrument::m_freq1
protected

◆ m_freq2

float lmms::NesInstrument::m_freq2
protected

◆ m_freq3

float lmms::NesInstrument::m_freq3
protected

◆ m_masterVol

FloatModel lmms::NesInstrument::m_masterVol
private

◆ m_vibrato

FloatModel lmms::NesInstrument::m_vibrato
private

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