Add octaves to Piano Roll
This commit is contained in:
parent
b57f03f963
commit
b57095ead6
22
src/main.cpp
22
src/main.cpp
|
@ -623,8 +623,20 @@ void displayNoteRoll(xmp_module_info *mi, xmp_frame_info *fi) {
|
|||
chtype no_pair = COLOR_PAIR(5);
|
||||
for (int y = vOffset; y < ins; y++) {
|
||||
if (!dynamicRoll) { prMin = 0; prMax = 144; }
|
||||
else if (y == vOffset) {
|
||||
for (int l = 0; l < (96/12); l++) {
|
||||
int cnote = (l*12);
|
||||
if (cnote < prMin && l == (prMin / 12)) {
|
||||
wmove(dis, 0, 0);
|
||||
wprintw(dis, "<%i", l);
|
||||
} else if (cnote <= prMax && cnote >= prMin) {
|
||||
wmove(dis, 0, (((cnote - prMin) * (COLS - 5)) / (prMax - prMin))+3);
|
||||
wprintw(dis, "%i", l);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (y > (LINES - 5)+vOffset || y < 0) continue;
|
||||
wmove(dis, y-vOffset, 0);
|
||||
wmove(dis, y-vOffset+1, 0);
|
||||
wattron(dis, no_pair);
|
||||
wprintw(dis, "%02X", y);
|
||||
wattroff(dis, no_pair);
|
||||
|
@ -642,15 +654,15 @@ void displayNoteRoll(xmp_module_info *mi, xmp_frame_info *fi) {
|
|||
int note = ((cinfo.note - prMin) * (COLS - 5)) / (dynamicRoll?(prMax - prMin):96);
|
||||
if (cinfo.instrument != y) continue;
|
||||
|
||||
wmove(dis, y-vOffset, note+3);
|
||||
wmove(dis, y-vOffset+1, note+3);
|
||||
if (cinfo.volume >= 32)
|
||||
waddstr(dis, "#");
|
||||
else if (cinfo.volume >= 16 && (char)mvwinch(dis, y-vOffset, note+3) != '#')
|
||||
else if (cinfo.volume >= 16 && (char)mvwinch(dis, y-vOffset+1, note+3) != '#')
|
||||
waddstr(dis, "=");
|
||||
else if (cinfo.volume > 0 && ((char)mvwinch(dis, y-vOffset, note+3) != '-' || (char)mvwinch(dis, y-vOffset, note+3) != '#'))
|
||||
else if (cinfo.volume > 0 && ((char)mvwinch(dis, y-vOffset+1, note+3) != '-' || (char)mvwinch(dis, y-vOffset, note+3) != '#'))
|
||||
waddstr(dis, "-");
|
||||
}
|
||||
wmove(dis, y, COLS-4);
|
||||
wmove(dis, y+1, COLS-4);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user