Deluge Firmware
1.3.0
Build date: 2026.09.26
Toggle main menu visibility
Loading...
Searching...
No Matches
clip_view.h
1
/*
2
* Copyright © 2019-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/views/clip_navigation_timeline_view.h"
21
#include "hid/button.h"
22
23
class
Action
;
24
class
ModControllableAudio
;
25
26
class
ClipView :
public
ClipNavigationTimelineView {
27
public
:
28
ClipView() =
default
;
29
30
uint32_t getMaxZoom()
override
;
31
uint32_t getMaxLength()
override
;
32
ActionResult horizontalEncoderAction(int32_t offset)
override
;
33
int32_t getLengthChopAmount(int32_t square);
34
int32_t getLengthExtendAmount(int32_t square);
35
void
focusRegained()
override
;
36
ActionResult buttonAction(deluge::hid::Button b,
bool
on,
bool
inCardRoutine)
override
;
37
38
protected
:
39
int32_t getTickSquare();
40
virtual
ModControllableAudio
* getModControllableAudioOrNone() {
return
nullptr
; }
41
42
Action
* lengthenClip(int32_t newLength);
43
Action
* shortenClip(int32_t newLength);
44
uint32_t changeClipLength(int32_t offset, uint32_t oldLength,
Action
*& action);
45
46
void
maybeStartShortcutOverview(deluge::hid::Button b,
bool
on);
47
void
stopShortcutOverview();
48
bool
shouldRenderShortcutsOverview()
const
;
49
bool
maybeRenderShortcutsOverview(uint32_t whichRows,
RGB
image[][kDisplayWidth + kSideBarWidth],
50
uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth],
bool
drawUndefinedArea);
51
bool
renderedShortcutOverview{
false
};
52
bool
exitedShortcutOverview{
false
};
53
};
Action
Definition
action.h:79
ModControllableAudio
Definition
mod_controllable_audio.h:47
RGB
This class represents the colour format most used by the Deluge globally.
Definition
rgb.h:14