43class SampleBrowser final :
public Browser {
46 bool getGreyoutColsAndRows(uint32_t* cols, uint32_t* rows)
override;
47 bool opened()
override;
48 void focusRegained()
override;
49 ActionResult buttonAction(deluge::hid::Button b,
bool on,
bool inCardRoutine)
override;
50 ActionResult verticalEncoderAction(int32_t offset,
bool inCardRoutine)
override;
51 ActionResult horizontalEncoderAction(int32_t offset)
override;
52 ActionResult padAction(int32_t x, int32_t y, int32_t velocity)
override;
53 bool canSeeViewUnderneath()
override;
54 Error claimAudioFileForInstrument(
bool makeWaveTableWorkAtAllCosts =
false);
55 Error claimAudioFileForAudioClip();
56 void scrollFinished()
override;
57 bool importFolderAsKit();
58 bool importFolderAsMultisamples();
59 ActionResult timerCallback()
override;
60 bool claimCurrentFile(int32_t mayDoPitchDetection = 1, int32_t mayDoSingleCycle = 1, int32_t mayDoWaveTable = 1,
61 bool loadWithoutExiting =
false);
62 bool renderMainPads(uint32_t whichRows,
RGB image[][kDisplayWidth + kSideBarWidth],
63 uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth],
bool drawUndefinedArea =
true)
override;
64 void exitAndNeverDeleteDrum();
70 MenuItem* menuItemHeadingTo{
nullptr};
73 UIType
getUIType()
override {
return UIType::SAMPLE_BROWSER; }
76 void enterKeyPress()
override;
77 void exitAction()
override;
78 ActionResult backButtonAction()
override;
79 void folderContentsReady(int32_t entryDirection)
override;
80 void currentFileChanged(int32_t movementDirection)
override;
83 void displayCurrentFilename();
84 void previewIfPossible(int32_t movementDirection = 1);
85 void audioFileIsNowSet();
86 bool canImportWholeKit();
87 bool loadAllSamplesInFolder(
bool detectPitch, int32_t* getNumSamples,
Sample*** getSortArea,
88 bool* getDoingSingleCycle =
nullptr, int32_t* getNumCharsInPrefix =
nullptr);
89 Error getCurrentFilePath(
String* path)
override;
90 void drawKeysOverWaveform();
91 void autoDetectSideChainSending(
SoundDrum* drum,
Source* source,
char const* fileName);
92 void possiblySetUpBlinking();
96 bool currentlyShowingSamplePreview;
98 bool qwertyCurrentlyDrawnOnscreen;