Deluge Firmware
1.3.0
Build date: 2026.08.29
Toggle main menu visibility
Loading...
Searching...
No Matches
note.h
1
/*
2
* Copyright (c) 2023 Sean Ditny
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/automation/editor_layout.h"
21
22
// namespace deluge::gui::views::automation::editor_layout {
23
24
class
AutomationEditorLayoutNote :
public
AutomationEditorLayout {
25
public
:
26
AutomationEditorLayoutNote() =
default
;
27
28
// edit pad action
29
void
noteEditPadAction(
ModelStackWithNoteRow
* modelStackWithNoteRow,
NoteRow
* noteRow,
InstrumentClip
* clip,
30
int32_t x, int32_t y, int32_t velocity, int32_t effectiveLength,
SquareInfo
& squareInfo);
31
void
recordNoteEditPadAction(int32_t x, int32_t velocity);
32
33
public
:
34
// Automation View Render Functions
35
void
renderNoteEditor(
ModelStackWithNoteRow
* modelStackWithNoteRow,
InstrumentClip
* clip,
36
RGB
image[][kDisplayWidth + kSideBarWidth],
37
uint8_t occupancyMask[][kDisplayWidth + kSideBarWidth], int32_t renderWidth, int32_t xScroll,
38
uint32_t xZoom, int32_t effectiveLength, int32_t xDisplay,
bool
drawUndefinedArea,
39
SquareInfo
& squareInfo);
40
41
public
:
42
void
renderNoteEditorDisplayOLED(
deluge::hid::display::oled_canvas::Canvas
& canvas,
InstrumentClip
* clip,
43
OutputType outputType, int32_t knobPosLeft, int32_t knobPosRight);
44
void
renderNoteEditorDisplay7SEG(
InstrumentClip
* clip, OutputType outputType, int32_t knobPosLeft);
45
46
private
:
47
std::string getNoteRowName(
NoteRow
* noteRow,
bool
isKit);
48
};
49
50
// }; // namespace deluge::gui::views::automation::editor_layout
51
52
// extern deluge::gui::views::automation::editor_layout::AutomationEditorLayoutNote automationEditorLayoutNote;
53
54
extern
AutomationEditorLayoutNote
automationEditorLayoutNote;
AutomationEditorLayoutNote
Definition
note.h:24
InstrumentClip
Definition
instrument_clip.h:48
ModelStackWithNoteRow
Definition
model_stack.h:189
NoteRow
Definition
note_row.h:99
RGB
This class represents the colour format most used by the Deluge globally.
Definition
rgb.h:14
deluge::hid::display::oled_canvas::Canvas
Definition
canvas.h:52
SquareInfo
Definition
note_row.h:59