32#include <QMutexLocker>
33#include <samplerate.h>
97 for(
int i = 0; i < 8; ++i )
137 ADSR( gig::DimensionRegion * region,
int sampleRate );
253 void saveSettings( QDomDocument & _doc, QDomElement & _parent )
override;
254 void loadSettings(
const QDomElement & _this )
override;
256 void loadFile(
const QString & _file )
override;
272 void openFile( const QString & _gigFile,
bool updateTrackName = true );
Definition GigPlayer.h:114
f_cnt_t attackPosition
Definition GigPlayer.h:129
float amplitude
Definition GigPlayer.h:125
f_cnt_t releasePosition
Definition GigPlayer.h:132
void inc(f_cnt_t num)
Definition GigPlayer.cpp:1275
float decay1
Definition GigPlayer.h:118
void keyup()
Definition GigPlayer.cpp:1197
bool isAttack
Definition GigPlayer.h:126
float sustain
Definition GigPlayer.h:121
f_cnt_t decayLength
Definition GigPlayer.h:131
bool done()
Definition GigPlayer.cpp:1206
bool infiniteSustain
Definition GigPlayer.h:120
float preattack
Definition GigPlayer.h:116
bool isDone
Definition GigPlayer.h:128
float release
Definition GigPlayer.h:122
ADSR()
Definition GigPlayer.cpp:1143
float value()
Definition GigPlayer.cpp:1215
f_cnt_t attackLength
Definition GigPlayer.h:130
bool isRelease
Definition GigPlayer.h:127
float decay2
Definition GigPlayer.h:119
float attack
Definition GigPlayer.h:117
f_cnt_t releaseLength
Definition GigPlayer.h:133
A utility class for resampling interleaved audio buffers using various resampling algorithms.
Definition AudioResampler.h:41
Mode
Defines the resampling method to use.
Definition AudioResampler.h:48
Definition AutomatableModel.h:77
Definition AutomatableModel.h:468
Definition GigPlayer.h:74
RIFF::File riff
Definition GigPlayer.h:82
gig::File gig
Definition GigPlayer.h:85
GigInstance(QString filename)
Definition GigPlayer.h:76
AutomatableModel * childModel(std::string_view modelName) override
Definition GigPlayer.cpp:166
void deleteNotePluginData(NotePlayHandle *_n) override
Definition GigPlayer.cpp:674
auto midiPatch() const -> std::optional< MidiPatch > override
For applicable instruments: Provides host with current MIDI bank and program.
Definition GigPlayer.cpp:155
gui::PluginView * instantiateView(QWidget *_parent) override
Create a view for the model.
Definition GigPlayer.cpp:698
void loadSettings(const QDomElement &_this) override
Definition GigPlayer.cpp:128
QMutex m_synthMutex
Definition GigPlayer.h:291
f_cnt_t getLoopedIndex(f_cnt_t index, f_cnt_t startf, f_cnt_t endf) const
Definition GigPlayer.cpp:641
void addSamples(GigNote &gignote, bool wantReleaseSample)
Definition GigPlayer.cpp:711
void play(SampleFrame *_working_buffer) override
Definition GigPlayer.cpp:331
float m_currentKeyDimension
Definition GigPlayer.h:299
QString getCurrentPatchName()
Definition GigPlayer.cpp:259
GigInstrument(InstrumentTrack *_instrument_track)
Definition GigPlayer.cpp:81
friend class gui::GigInstrumentView
Definition GigPlayer.h:321
void updatePatch()
Definition GigPlayer.cpp:248
FloatModel m_gain
Definition GigPlayer.h:288
void setParameter(const QString &_param, const QString &_value)
mapPropertyFromModel(int, getPatch, setPatch, m_patchNum)
void loadSample(GigSample &sample, SampleFrame *sampleData, f_cnt_t samples)
Definition GigPlayer.cpp:505
uint32_t m_RandomSeed
Definition GigPlayer.h:298
QMutex m_notesMutex
Definition GigPlayer.h:292
mapPropertyFromModel(int, getBank, setBank, m_bankNum)
GigInstance * m_instance
Definition GigPlayer.h:279
QString m_filename
Definition GigPlayer.h:283
gui::LcdSpinBoxModel m_patchNum
Definition GigPlayer.h:286
gui::LcdSpinBoxModel m_bankNum
Definition GigPlayer.h:285
void playNote(NotePlayHandle *_n, SampleFrame *_working_buffer) override
Definition GigPlayer.cpp:300
QString nodeName() const override
Definition GigPlayer.cpp:185
void getInstrument()
Definition GigPlayer.cpp:858
f_cnt_t getPingPongIndex(f_cnt_t index, f_cnt_t startf, f_cnt_t endf) const
Definition GigPlayer.cpp:655
gig::Instrument * m_instrument
Definition GigPlayer.h:280
Dimension getDimensions(gig::Region *pRegion, int velocity, bool release)
Definition GigPlayer.cpp:780
void loadFile(const QString &_file) override
Definition GigPlayer.cpp:142
QList< GigNote > m_notes
Definition GigPlayer.h:295
void updateSampleRate()
Definition GigPlayer.cpp:893
void openFile(const QString &_gigFile, bool updateTrackName=true)
Definition GigPlayer.cpp:214
void saveSettings(QDomDocument &_doc, QDomElement &_parent) override
Definition GigPlayer.cpp:116
void freeInstance()
Definition GigPlayer.cpp:193
Definition GigPlayer.h:208
GigState state
Definition GigPlayer.h:214
std::vector< GigSample > samples
Definition GigPlayer.h:216
GigNote(int midiNote, int velocity, float frequency, GIGPluginData *handle)
Definition GigPlayer.h:224
GIGPluginData * handle
Definition GigPlayer.h:222
bool isRelease
Definition GigPlayer.h:213
int velocity
Definition GigPlayer.h:211
bool release
Definition GigPlayer.h:212
float frequency
Definition GigPlayer.h:215
int midiNote
Definition GigPlayer.h:210
Definition GigPlayer.h:150
AudioResampler m_resampler
Definition GigPlayer.h:174
float freqFactor
Definition GigPlayer.h:182
std::span< SampleFrame > m_mixBufferView
Definition GigPlayer.h:178
std::array< SampleFrame, DEFAULT_BUFFER_SIZE > m_mixBuffer
Definition GigPlayer.h:176
GigSample(gig::Sample *pSample, gig::DimensionRegion *pDimRegion, float attenuation, AudioResampler::Mode interpolation, float desiredFreq)
Definition GigPlayer.cpp:1088
f_cnt_t pos
Definition GigPlayer.h:166
GigSample & operator=(const GigSample &g)
Definition GigPlayer.cpp:1131
float attenuation
Definition GigPlayer.h:162
ADSR adsr
Definition GigPlayer.h:163
gig::Sample * sample
Definition GigPlayer.h:160
float sampleFreq
Definition GigPlayer.h:181
std::span< SampleFrame > m_sourceBufferView
Definition GigPlayer.h:177
std::array< SampleFrame, DEFAULT_BUFFER_SIZE > m_sourceBuffer
Definition GigPlayer.h:175
bool pitchtrack
Definition GigPlayer.h:171
gig::DimensionRegion * region
Definition GigPlayer.h:161
Definition Instrument.h:54
Instrument(InstrumentTrack *_instrument_track, const Descriptor *_descriptor, const Descriptor::SubPluginFeatures::Key *key=nullptr, Flags flags=Flag::NoFlags)
Definition Instrument.cpp:38
Definition InstrumentTrack.h:62
Definition NotePlayHandle.h:48
Definition SampleFrame.h:41
Definition GigPlayer.h:336
LcdSpinBox * m_bankNumLcd
Definition GigPlayer.h:349
Knob * m_gainKnob
Definition GigPlayer.h:355
static PatchesDialog * s_patchDialog
Definition GigPlayer.h:357
PixmapButton * m_patchDialogButton
Definition GigPlayer.h:347
QLabel * m_filenameLabel
Definition GigPlayer.h:352
LcdSpinBox * m_patchNumLcd
Definition GigPlayer.h:350
void updatePatchName()
Definition GigPlayer.cpp:1013
GigInstrumentView(Instrument *_instrument, QWidget *_parent)
Definition GigPlayer.cpp:918
PixmapButton * m_fileDialogButton
Definition GigPlayer.h:346
void showFileDialog()
Definition GigPlayer.cpp:1034
void showPatchDialog()
Definition GigPlayer.cpp:1075
void updateFilename()
Definition GigPlayer.cpp:995
void invalidateFile()
Definition GigPlayer.cpp:1026
QLabel * m_patchLabel
Definition GigPlayer.h:353
~GigInstrumentView() override=default
void modelChanged() override
Definition GigPlayer.cpp:978
Instrument view with fixed LMMS-default size.
Definition InstrumentView.h:66
Definition LcdSpinBox.h:35
Definition PatchesDialog.h:44
Definition AudioPortAudio.cpp:209
Definition RemotePluginBase.cpp:34
GigState
Definition GigPlayer.h:190
@ Completed
Definition GigPlayer.h:200
@ KeyUp
Definition GigPlayer.h:196
@ PlayingKeyUp
Definition GigPlayer.h:198
@ PlayingKeyDown
Definition GigPlayer.h:194
@ KeyDown
Definition GigPlayer.h:192
std::uint64_t f_cnt_t
Definition LmmsTypes.h:43
QString filename
Definition HydrogenImport.cpp:42
Definition GigPlayer.h:93
uint DimValues[8]
Definition GigPlayer.h:103
Dimension()
Definition GigPlayer.h:94
bool release
Definition GigPlayer.h:104
Definition GigPlayer.h:65
int midiNote
Definition GigPlayer.h:66
Definition MidiPatch.h:34