Init
This commit is contained in:
45
Source/AronaCore/Pattern/SamplePattern.cpp
Normal file
45
Source/AronaCore/Pattern/SamplePattern.cpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "SamplePattern.h"
|
||||
|
||||
#include "SamplePatternInstance.h"
|
||||
#include "Singleton/MidiSequencer.h"
|
||||
#include "PluginHost/Sampler.h"
|
||||
|
||||
|
||||
FSamplePattern::FSamplePattern(FSampler* InSampler)
|
||||
{
|
||||
Type = EPatternType::Sample;
|
||||
Sampler = InSampler;
|
||||
}
|
||||
|
||||
FSamplePattern::~FSamplePattern()
|
||||
{
|
||||
for (FPatternInstance* Instance : Instances)
|
||||
{
|
||||
delete Instance;
|
||||
}
|
||||
Instances.Empty();
|
||||
}
|
||||
|
||||
void FSamplePattern::Process(AudioFrame PatternPos, uint32 InLength)
|
||||
{
|
||||
// const FMidiMessage& NoteOn = FMidiMessage::noteOn(1, 60, 1.f);
|
||||
// const FMidiMessage& NoteOff = FMidiMessage::noteOff(1, 60, 1.f);
|
||||
// Sampler->IncomingMidi.addEvent(NoteOn, PatternPos);
|
||||
// Sampler->IncomingMidi.addEvent(NoteOff, PatternPos + GetLength());
|
||||
// Sampler->IncomingMidi.updateMatchedPairs();
|
||||
|
||||
Sampler->IncomingRange.SetLowerBound(PatternPos);
|
||||
Sampler->IncomingRange.SetUpperBound(PatternPos + AudioFrame(InLength));
|
||||
Sampler->IncomingOffset = 0;
|
||||
}
|
||||
|
||||
void FSamplePattern::Reset()
|
||||
{
|
||||
Sampler->IncomingMidi.clear();
|
||||
Sampler->IncomingMidi.addEvent(FMidiMessage::allNotesOff(1));
|
||||
}
|
||||
|
||||
AudioFrame FSamplePattern::GetLength()
|
||||
{
|
||||
return AudioFrame(Sampler->GetFrameCount());
|
||||
}
|
||||
Reference in New Issue
Block a user