Deluge Firmware
1.3.0
Build date: 2026.08.29
Toggle main menu visibility
Loading...
Searching...
No Matches
load_song_ui.h
1
/*
2
* Copyright © 2014-2023 Synthstrom Audible Limited
3
*
4
* This file is part of The Synthstrom Audible Deluge Firmware.
5
*
6
* The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7
* terms of the GNU General Public License as published by the Free Software Foundation,
8
* either version 3 of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
* See the GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License along with this program.
15
* If not, see <https://www.gnu.org/licenses/>.
16
*/
17
18
#pragma once
19
20
#include "gui/ui/load/load_ui.h"
21
#include "hid/button.h"
22
23
class
LoadSongUI final :
public
LoadUI {
24
public
:
25
LoadSongUI();
26
ActionResult buttonAction(deluge::hid::Button b,
bool
on,
bool
inCardRoutine)
override
;
27
ActionResult timerCallback()
override
;
28
ActionResult verticalEncoderAction(int32_t offset,
bool
inCardRoutine)
override
;
29
void
graphicsRoutine()
override
{}
30
void
scrollFinished()
override
;
31
ActionResult padAction(int32_t x, int32_t y, int32_t velocity)
override
;
32
bool
opened()
override
;
33
void
selectEncoderAction(int8_t offset)
override
;
34
void
queueLoadNextSongIfAvailable(int8_t offset);
35
void
performLoad();
36
void
displayLoopsRemainingPopup();
37
bool
isLoadingSong();
38
39
bool
deletedPartsOfOldSong;
40
41
// ui
42
UIType
getUIType
()
override
{
return
UIType::LOAD_SONG; }
43
bool
canDisplayFavourites()
override
{
return
true
; }
44
45
protected
:
46
void
displayText(
bool
blinkImmediately =
false
)
override
;
47
void
enterKeyPress()
override
;
48
void
folderContentsReady(int32_t entryDirection)
override
;
49
void
currentFileChanged(int32_t movementDirection)
override
;
50
void
exitAction()
override
;
51
52
private
:
53
void
drawSongPreview(
bool
toStore =
true
);
54
void
displayArmedPopup();
55
56
bool
performingLoad;
57
bool
scrollingIntoSlot;
58
bool
qwertyCurrentlyDrawnOnscreen;
59
void
doQueueLoadNextSongIfAvailable(int8_t offset);
60
// int32_t findNextFile(int32_t offset);
61
void
exitThisUI();
62
void
exitActionWithError();
63
void
performLoadFixedSM();
64
};
65
extern
LoadSongUI
loadSongUI;
66
67
extern
char
loopsRemainingText[];
LoadSongUI
Definition
load_song_ui.h:23
LoadSongUI::getUIType
UIType getUIType() override
What type of UI is this? e.g. UIType::ARRANGER.
Definition
load_song_ui.h:42