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