From 7d1d35cf18c285426dd8fbf19c774928babf653f Mon Sep 17 00:00:00 2001 From: Leandro Nini Date: Tue, 14 Jul 2026 20:02:40 +0200 Subject: [PATCH] Start reworking pattern view --- src/bme/bme_snd.cpp | 4 ++-- src/display.cpp | 4 ++-- src/loadtrk.cpp | 2 +- src/order.cpp | 6 ++++-- src/pattern.cpp | 5 +++-- src/pattern.h | 2 +- src/song.cpp | 3 ++- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/bme/bme_snd.cpp b/src/bme/bme_snd.cpp index 1b617b9..6edc915 100644 --- a/src/bme/bme_snd.cpp +++ b/src/bme/bme_snd.cpp @@ -88,7 +88,7 @@ void insertnote(int newnote); extern int einum; extern int epchn; -extern int epview; +extern int epview[]; extern int eppos; int current_note_on = -1; @@ -158,7 +158,7 @@ bool snd_init_jack() { void noteOn(unsigned char note) { current_note_on = note; insertnote(note + 72); - epview = eppos-VISIBLEPATTROWS/2; + epview[epchn] = eppos-VISIBLEPATTROWS/2; } void noteOff(unsigned char note) { diff --git a/src/display.cpp b/src/display.cpp index f5c93c8..7f28dab 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -217,8 +217,8 @@ void printstatus() if (c == epchn) { eppos = newpos; - epview = newpos-VISIBLEPATTROWS/2; } + epview[c] = newpos-VISIBLEPATTROWS/2; newpos = chn[c].songptr; newpos--; @@ -248,7 +248,7 @@ void printstatus() for (int d = 0; d < VISIBLEPATTROWS; d++) { - int p = epview+d; + int p = epview[c]+d; int color = colors.CNORMAL; int color2; if ((epnum[c] == chn[c].pattnum) && (isplaying())) diff --git a/src/loadtrk.cpp b/src/loadtrk.cpp index 1f286c3..1296142 100644 --- a/src/loadtrk.cpp +++ b/src/loadtrk.cpp @@ -601,7 +601,7 @@ void mousecommands() (mousex <= dpos.patternsX + 11 + c*13)) { int x = mousex-(dpos.patternsX + 3)-c*13; - int newpos = mousey-(dpos.patternsY+1)+epview; + int newpos = mousey-(dpos.patternsY+1)+epview[c]; if (newpos < 0) newpos = 0; if (newpos > getPattlen(epnum[epchn])) newpos = getPattlen(epnum[epchn]); diff --git a/src/order.cpp b/src/order.cpp index 1b5f7ff..95eb134 100644 --- a/src/order.cpp +++ b/src/order.cpp @@ -359,7 +359,8 @@ void orderlistcommands() epchn = eschn; epcolumn = 0; eppos = 0; - epview = - VISIBLEPATTROWS/2; + for (int i=0; i