26#ifndef LMMS_INSTRUMENT_H
27#define LMMS_INSTRUMENT_H
32#include "lmms_export.h"
57 IsSingleStreamed = 0x01,
66 const Descriptor::SubPluginFeatures::Key *
key =
nullptr,
90 virtual void deleteNotePluginData(
NotePlayHandle * _note_to_play );
141 QString fullDisplayName()
const override;
152 bool keyFromDnd =
false);
154 virtual bool isFromTrack(
const Track * _track )
const;
171 float computeReleaseTimeMsByFrameCount(
f_cnt_t frames)
const;
#define LMMS_DECLARE_OPERATORS_FOR_FLAGS(type)
Definition Flags.h:77
static LV2_Handle instantiate(const LV2_Descriptor *descriptor, double rate, const char *path, const LV2_Feature *const *features)
Definition bad_syntax.c:57
Definition Instrument.h:52
InstrumentTrack * instrumentTrack() const
Definition Instrument.h:156
Flags m_flags
Definition Instrument.h:176
lmms::Flags< Flag > Flags
Definition Instrument.h:62
f_cnt_t desiredReleaseFrames() const
Definition Instrument.h:110
bool isMidiBased() const
Definition Instrument.h:124
Instrument(InstrumentTrack *_instrument_track, const Descriptor *_descriptor, const Descriptor::SubPluginFeatures::Key *key=nullptr, Flags flags=Flag::NoFlags)
Definition Instrument.cpp:38
Flag
Definition Instrument.h:55
@ IsMidiBased
Definition Instrument.h:58
@ IsSingleStreamed
Definition Instrument.h:57
@ NoFlags
Definition Instrument.h:56
@ IsNotBendable
Definition Instrument.h:59
bool isSingleStreamed() const
Definition Instrument.h:119
virtual bool hasNoteInput() const
Definition Instrument.h:74
InstrumentTrack * m_instrumentTrack
Definition Instrument.h:175
~Instrument() override=default
virtual float desiredReleaseTimeMs() const
Definition Instrument.h:103
virtual void playNote(NotePlayHandle *, SampleFrame *)
Definition Instrument.h:82
bool isBendable() const
Definition Instrument.h:129
virtual bool handleMidiEvent(const MidiEvent &, const TimePos &=TimePos(), f_cnt_t offset=0)
Definition Instrument.h:136
Definition InstrumentTrack.h:62
Definition MidiEvent.h:37
Definition NotePlayHandle.h:48
Plugin(const Descriptor *descriptor, Model *parent, const Descriptor::SubPluginFeatures::Key *key=nullptr)
Definition Plugin.cpp:60
const Descriptor::SubPluginFeatures::Key & key() const
Definition Plugin.h:266
Definition SampleFrame.h:41
Base-class for all tracks.
Definition Track.h:68
virtual ASIOError getSampleRate(ASIOSampleRate *sampleRate)=0
Definition AudioAlsa.cpp:35
std::uint32_t sample_rate_t
Definition LmmsTypes.h:42
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
int n
Definition crypt.c:458
ZCONST char * key
Definition crypt.c:587