From cfcab5734b11263d632af1e9250d40588b6737d6 Mon Sep 17 00:00:00 2001 From: gvnnz Date: Wed, 6 Dec 2023 18:23:26 +0100 Subject: [PATCH] Print beat numbers on Sequencer --- src/gui/elems/mainWindow/sequencer.cpp | 11 +++++++++++ src/gui/elems/mainWindow/sequencer.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/gui/elems/mainWindow/sequencer.cpp b/src/gui/elems/mainWindow/sequencer.cpp index e910af3ad..eba47b441 100644 --- a/src/gui/elems/mainWindow/sequencer.cpp +++ b/src/gui/elems/mainWindow/sequencer.cpp @@ -91,6 +91,9 @@ void geSequencer::drawBody() const for (int i = 1; i < m_data.bars; i++) drawLine(line.withShiftedX(m_cell.w * i * delta), G_COLOR_LIGHT_1); + for (int i = 0; i < m_data.beats; i++) + drawBeatNumber(i, G_COLOR_GREY_4); + /* Unused grey area. */ drawRectf(body.withTrimmedLeft(m_data.beats * m_cell.w), G_COLOR_GREY_4); @@ -107,12 +110,20 @@ void geSequencer::drawRecBars() const /* -------------------------------------------------------------------------- */ +void geSequencer::drawBeatNumber(int beat, Fl_Color color) const +{ + drawText(std::to_string(beat + 1), m_cell.withX(x() + m_cell.w * beat), FL_HELVETICA, G_GUI_FONT_SIZE_BASE - 2, color); +} + +/* -------------------------------------------------------------------------- */ + void geSequencer::drawCursor(int beat) const { if (m_data.shouldBlink) // Don't paint if is blinking return; // TODO withW(...): FLTK glitch? drawRectf(m_cell.withShiftedX(beat * m_cell.w).reduced(CURSOR_PAD).withW(m_cell.w - CURSOR_PAD - 2), G_COLOR_LIGHT_1); + drawBeatNumber(beat, FL_BACKGROUND_COLOR); } /* -------------------------------------------------------------------------- */ diff --git a/src/gui/elems/mainWindow/sequencer.h b/src/gui/elems/mainWindow/sequencer.h index 9033894e8..9b73d0f63 100644 --- a/src/gui/elems/mainWindow/sequencer.h +++ b/src/gui/elems/mainWindow/sequencer.h @@ -53,6 +53,7 @@ class geSequencer : public geBox void drawCursor() const; void drawCursor(int beat) const; void drawRecBars() const; + void drawBeatNumber(int beat, Fl_Color) const; c::main::Sequencer m_data;