mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-06 05:28:31 +09:00
taut: undefaulting things
This commit is contained in:
@@ -3356,7 +3356,7 @@ function sampleWaveformRect() {
|
|||||||
|
|
||||||
function clearSampleWaveformArea() {
|
function clearSampleWaveformArea() {
|
||||||
const r = sampleWaveformRect()
|
const r = sampleWaveformRect()
|
||||||
graphics.plotRect(r.x-1, r.y-1, r.w+1, r.h+1, 255) // 255 = transparent
|
graphics.plotRect(r.x-2, r.y-2, r.w+4, r.h+4, 255) // 255 = transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawSampleWaveform() {
|
function drawSampleWaveform() {
|
||||||
@@ -3665,7 +3665,9 @@ const colInstEnvNode = 198 // pink-ish — node markers stand out f
|
|||||||
const colInstEnvAxis = 246 // dim grey for zero/center line
|
const colInstEnvAxis = 246 // dim grey for zero/center line
|
||||||
const colInstEnvHair = 251 // darker grey — quarter-point hairlines (dashed)
|
const colInstEnvHair = 251 // darker grey — quarter-point hairlines (dashed)
|
||||||
const colInstEnvLoop = 220 // muted yellow-orange — loop range band
|
const colInstEnvLoop = 220 // muted yellow-orange — loop range band
|
||||||
const colInstEnvSust = 161 // muted red — sustain range band
|
const colInstEnvSust = 145 // muted yellow-green — loop range band
|
||||||
|
const colInstEnvLoopSuper= 230 // muted yellow-orange — loop range band
|
||||||
|
const colInstEnvSustSuper= 155 // muted yellow-green — loop range band
|
||||||
|
|
||||||
let instListScroll = 0
|
let instListScroll = 0
|
||||||
let instListCursor = 0
|
let instListCursor = 0
|
||||||
@@ -3931,7 +3933,7 @@ function instEnvelopeRect() {
|
|||||||
// the instrument viewer (mirrors clearSampleWaveformArea for the same reason).
|
// the instrument viewer (mirrors clearSampleWaveformArea for the same reason).
|
||||||
function clearInstrumentsEnvelopeArea() {
|
function clearInstrumentsEnvelopeArea() {
|
||||||
const r = instEnvelopeRect()
|
const r = instEnvelopeRect()
|
||||||
graphics.plotRect(r.x-1, r.y-1, r.w+1, r.h+1, 255)
|
graphics.plotRect(r.x-2, r.y-2, r.w+4, r.h+4, 255)
|
||||||
// Also clear the row of text that the graph overlays would otherwise visually
|
// Also clear the row of text that the graph overlays would otherwise visually
|
||||||
// smudge — the body redraw paints these rows blank anyway, but switchToPanel
|
// smudge — the body redraw paints these rows blank anyway, but switchToPanel
|
||||||
// bypasses the body redraw on exit.
|
// bypasses the body redraw on exit.
|
||||||
@@ -4027,12 +4029,18 @@ function drawEnvelopeGraph(env) {
|
|||||||
const x1 = pxX(xs[env.loopEnd])
|
const x1 = pxX(xs[env.loopEnd])
|
||||||
const bw = Math.max(1, x1 - x0)
|
const bw = Math.max(1, x1 - x0)
|
||||||
graphics.plotRect(x0, r.y, bw, r.h, colInstEnvLoop, 2)
|
graphics.plotRect(x0, r.y, bw, r.h, colInstEnvLoop, 2)
|
||||||
|
// start & end hairline
|
||||||
|
graphics.plotRect(x0, r.y, 1, r.h, colInstEnvLoopSuper)
|
||||||
|
graphics.plotRect(x1, r.y, 1, r.h, colInstEnvLoopSuper)
|
||||||
}
|
}
|
||||||
if (env.sustEnable && env.sustStart <= lastIdx && env.sustEnd <= lastIdx) {
|
if (env.sustEnable && env.sustStart <= lastIdx && env.sustEnd <= lastIdx) {
|
||||||
const x0 = pxX(xs[env.sustStart])
|
const x0 = pxX(xs[env.sustStart])
|
||||||
const x1 = pxX(xs[env.sustEnd])
|
const x1 = pxX(xs[env.sustEnd])
|
||||||
const bw = Math.max(1, x1 - x0)
|
const bw = Math.max(1, x1 - x0)
|
||||||
graphics.plotRect(x0, r.y, bw, r.h, colInstEnvSust, 2)
|
graphics.plotRect(x0, r.y, bw, r.h, colInstEnvSust, 2)
|
||||||
|
// start & end hairline
|
||||||
|
graphics.plotRect(x0, r.y, 1, r.h, colInstEnvSustSuper)
|
||||||
|
graphics.plotRect(x1, r.y, 1, r.h, colInstEnvSustSuper)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Polyline through the envelope.
|
// Polyline through the envelope.
|
||||||
@@ -4621,8 +4629,8 @@ function openConfirmQuit() {
|
|||||||
colours: popupColours,
|
colours: popupColours,
|
||||||
message: messageLines,
|
message: messageLines,
|
||||||
buttons: [
|
buttons: [
|
||||||
{ label: 'Yes', action: 'yes', default: true },
|
{ label: 'Yes', action: 'yes' },
|
||||||
{ label: 'No', action: 'no' },
|
{ label: 'No', action: 'no', default: true },
|
||||||
],
|
],
|
||||||
onKey: (ks, _shift, ctx) => {
|
onKey: (ks, _shift, ctx) => {
|
||||||
if (ks === 'y' || ks === 'Y') { ctx.close({ action: 'yes' }); return true }
|
if (ks === 'y' || ks === 'Y') { ctx.close({ action: 'yes' }); return true }
|
||||||
@@ -4644,9 +4652,9 @@ function openGotoPopup() {
|
|||||||
title: 'Go To',
|
title: 'Go To',
|
||||||
drawFrame: popupDrawFrame,
|
drawFrame: popupDrawFrame,
|
||||||
colours: popupColours,
|
colours: popupColours,
|
||||||
fields: [{ label: promptStr, width: 3, maxLength: 3 }],
|
fields: [{ label: promptStr, width: 4, maxLength: 3 }],
|
||||||
buttons: [
|
buttons: [
|
||||||
{ label: 'OK', action: 'ok', default: true },
|
{ label: 'OK', action: 'ok' },
|
||||||
{ label: 'Cancel', action: 'cancel' },
|
{ label: 'Cancel', action: 'cancel' },
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
@@ -4714,7 +4722,7 @@ function openRetunePopup() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
buttons: [
|
buttons: [
|
||||||
{ label: 'OK', action: 'ok', default: true },
|
{ label: 'OK', action: 'ok' },
|
||||||
{ label: 'Cancel', action: 'cancel' },
|
{ label: 'Cancel', action: 'cancel' },
|
||||||
],
|
],
|
||||||
onKey: (ks, _shift, ctx) => {
|
onKey: (ks, _shift, ctx) => {
|
||||||
@@ -4803,7 +4811,7 @@ function openFlagsPopup() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
buttons: [
|
buttons: [
|
||||||
{ label: 'OK', action: 'ok', default: true },
|
{ label: 'OK', action: 'ok' },
|
||||||
{ label: 'Cancel', action: 'cancel' },
|
{ label: 'Cancel', action: 'cancel' },
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ function showDialog(opts) {
|
|||||||
const listMinW = hasList
|
const listMinW = hasList
|
||||||
? (list.width != null ? list.width + 4 : longestItem + 6)
|
? (list.width != null ? list.width + 4 : longestItem + 6)
|
||||||
: 0
|
: 0
|
||||||
const w = Math.max(maxFieldW + 6, titleW + 4, longestMsg + 6, btnRowW + 4, listMinW, 24)
|
const w = 2+Math.max(maxFieldW + 6, titleW + 4, longestMsg + 6, btnRowW + 4, listMinW, 22)
|
||||||
|
|
||||||
const msgRows = messageLines.length + (messageLines.length > 0 ? 1 : 0)
|
const msgRows = messageLines.length + (messageLines.length > 0 ? 1 : 0)
|
||||||
const fieldsBlockH = fields.length * 4
|
const fieldsBlockH = fields.length * 4
|
||||||
|
|||||||
Reference in New Issue
Block a user