28class SoundDrum final :
public Sound,
public Drum {
31 bool nameIsDiscardable =
false;
33 SoundDrum() : Drum(DrumType::SOUND) {}
35 using Sound::allowNoteTails;
36 using Sound::anyNoteIsOn;
38 using Sound::prepareForHibernation;
41 bool isDrum()
override {
return true; }
43 int32_t fromMIDIChannel = MIDI_CHANNEL_NONE, uint32_t sampleSyncLength = 0, int32_t ticksLate = 0,
44 uint32_t samplesLate = 0)
override;
47 void setupPatchingForAllParamManagers(
Song* song)
override;
48 bool readTagFromFile(
Deserializer& reader,
char const* tagName)
override;
49 Error loadAllSamples(
bool mayActuallyReadFiles)
override;
51 void writeToFileAsInstrument(
bool savingSong,
ParamManager* paramManager);
52 std::string getDrumName()
override;
53 Error readFromFile(
Deserializer& reader,
Song* song,
Clip* clip, int32_t readAutomationUpToPos)
override;
55 void setSkippingRendering(
bool newSkipping)
override;
56 uint8_t* getModKnobMode()
override;
57 void drumWontBeRenderedForAWhile()
override;
58 ModControllable* toModControllable()
override {
return this; }
60 void expressionEvent(int32_t newValue, int32_t expressionDimension)
override;
61 void polyphonicExpressionEventOnChannelOrNote(int32_t newValue, int32_t expressionDimension,
62 int32_t channelOrNoteNumber,
63 MIDICharacteristic whichCharacteristic)
override;
67 void resetTimeEnteredState();
68 const char* getName()
override {
return drumName.c_str(); }
Definition model_stack.h:231