28class SoundDrum final :
public Sound,
public Drum {
32 bool nameIsDiscardable =
false;
34 SoundDrum() : Drum(DrumType::SOUND) {}
36 using Sound::allowNoteTails;
37 using Sound::anyNoteIsOn;
39 using Sound::prepareForHibernation;
42 bool isDrum()
override {
return true; }
44 int32_t fromMIDIChannel = MIDI_CHANNEL_NONE, uint32_t sampleSyncLength = 0, int32_t ticksLate = 0,
45 uint32_t samplesLate = 0)
override;
48 void setupPatchingForAllParamManagers(
Song* song)
override;
49 bool readTagFromFile(
Deserializer& reader,
char const* tagName)
override;
50 Error loadAllSamples(
bool mayActuallyReadFiles)
override;
52 void writeToFileAsInstrument(
bool savingSong,
ParamManager* paramManager);
53 void getName(
char* buffer)
override {}
54 Error readFromFile(
Deserializer& reader,
Song* song,
Clip* clip, int32_t readAutomationUpToPos)
override;
56 void setSkippingRendering(
bool newSkipping)
override;
57 uint8_t* getModKnobMode()
override;
58 void drumWontBeRenderedForAWhile()
override;
59 ModControllable* toModControllable()
override {
return this; }
61 void expressionEvent(int32_t newValue, int32_t expressionDimension)
override;
62 void polyphonicExpressionEventOnChannelOrNote(int32_t newValue, int32_t expressionDimension,
63 int32_t channelOrNoteNumber,
64 MIDICharacteristic whichCharacteristic)
override;
68 void resetTimeEnteredState();
Definition model_stack.h:231