mirror of
https://github.com/curioustorvald/tsvm.git
synced 2026-06-14 08:24:04 +09:00
reatable fx names; horz scroll fix
This commit is contained in:
@@ -65,6 +65,55 @@ ticked:"\u009F",
|
|||||||
middot:MIDDOT
|
middot:MIDDOT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const fxNames = {
|
||||||
|
A:"Set tick speed",
|
||||||
|
B:"Jump to order",
|
||||||
|
C:"Break pattern to",
|
||||||
|
D:"Volume slide",
|
||||||
|
E:"Pitch down",
|
||||||
|
F:"Pitch up",
|
||||||
|
G:"Portamento",
|
||||||
|
H:"Vibrato",
|
||||||
|
U:"Fine vibrato",
|
||||||
|
I:"Tremor",
|
||||||
|
J:"Arpeggio",
|
||||||
|
K:"Vibrato + vol slide",
|
||||||
|
L:"Portamento + vol slide",
|
||||||
|
O:"Sample offset",
|
||||||
|
Q:"Retrigger",
|
||||||
|
R:"Tremolo",
|
||||||
|
T:"Tempo",
|
||||||
|
V:"Gloval volume",
|
||||||
|
S:"Special",
|
||||||
|
S1:"Glissando ctrl",
|
||||||
|
S2:"Sample finetune",
|
||||||
|
S3:"Vibrato LFO",
|
||||||
|
S4:"Tremolo LFO",
|
||||||
|
S8:"Channel pan",
|
||||||
|
SB:"Pattern loop",
|
||||||
|
SC:"Note cut",
|
||||||
|
SD:"Note delay",
|
||||||
|
SE:"Pattern delay",
|
||||||
|
SF:"Funk it"
|
||||||
|
}
|
||||||
|
|
||||||
|
const panFxNames = {
|
||||||
|
0:"Set",
|
||||||
|
1:"Pan slide L",
|
||||||
|
2:"Pan slide R",
|
||||||
|
3:"Fine pan slide",
|
||||||
|
30:"Fine pan slide L",
|
||||||
|
31:"Fine pan slide R"
|
||||||
|
}
|
||||||
|
const volFxNames = {
|
||||||
|
0:"Set",
|
||||||
|
1:"Vol slide UP",
|
||||||
|
2:"Vol slide DN",
|
||||||
|
3:"Fine vol slide",
|
||||||
|
30:"Fine vol slide DN",
|
||||||
|
31:"Fine vol slide UP"
|
||||||
|
}
|
||||||
|
|
||||||
const pitchTablePresets = {
|
const pitchTablePresets = {
|
||||||
// index: pitch table number to be recorded on .taudproj file
|
// index: pitch table number to be recorded on .taudproj file
|
||||||
0:{index:0,name:"null", table:[], sym:[]}, // when null is specified, hex numbers will be displayed instead
|
0:{index:0,name:"null", table:[], sym:[]}, // when null is specified, hex numbers will be displayed instead
|
||||||
@@ -577,10 +626,18 @@ function drawVoiceDetail() {
|
|||||||
const effarg = ptnDat[6] | (ptnDat[7] << 8)
|
const effarg = ptnDat[6] | (ptnDat[7] << 8)
|
||||||
|
|
||||||
con.move(6,1)
|
con.move(6,1)
|
||||||
print(`Pattern $${ptnIdx.hex02()}\tRow ${cursorRow.dec02()}\tVoice ${cursorVox+1}`)
|
|
||||||
con.move(7,1)
|
|
||||||
print(`Pitch $${note.hex04()}\tInst $${inst.hex02()}\tVolEff ${voleffop}.$${voleffarg.hex02()}\t`+
|
print(`Pitch $${note.hex04()}\tInst $${inst.hex02()}\tVolEff ${voleffop}.$${voleffarg.hex02()}\t`+
|
||||||
`PanEff ${paneffop}.$${paneffarg.hex02()}\tFx ${effop.toString(36).toUpperCase()}.${effarg.hex04()}`)
|
`PanEff ${paneffop}.$${paneffarg.hex02()}`)
|
||||||
|
con.move(7,1)
|
||||||
|
let fx = effop.toString(36).toUpperCase()
|
||||||
|
if (fx == '0') {
|
||||||
|
print(`Fx`+' '.repeat(32))
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (fx == 'S') fx += (effarg >>> 12).hex1()
|
||||||
|
let fxName = fxNames[fx]
|
||||||
|
print(`Fx ${fxName} $${effarg.hex04()} `)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawAll() {
|
function drawAll() {
|
||||||
@@ -613,12 +670,8 @@ const TEXT_PLANES = [TEXT_CHAR_OFF, TEXT_BACK_OFF, TEXT_FORE_OFF]
|
|||||||
// One scratch strip, reused across shifts
|
// One scratch strip, reused across shifts
|
||||||
const SCRATCH_PTR = sys.malloc(SCRW * PTNVIEW_HEIGHT)
|
const SCRATCH_PTR = sys.malloc(SCRW * PTNVIEW_HEIGHT)
|
||||||
|
|
||||||
// Horizontal salvage: 3 carried voice columns minus the missing trailing separator.
|
// Horizontal salvage
|
||||||
// For shift-left: source x=23..75 (old cols 1,2,3); dest x=5..57 (new cols 0,1,2).
|
const SALVAGE_HORIZ_LEN = (VOCSIZE - 1) * COLSIZE
|
||||||
// For shift-right: source x=5..57 (old cols 0,1,2); dest x=23..75 (new cols 1,2,3).
|
|
||||||
// The separator at the boundary of the exposed column is already in place after
|
|
||||||
// the shift (it was never overwritten), so no extra separator fix-up is needed.
|
|
||||||
const SALVAGE_HORIZ_LEN = (VOCSIZE - 1) * COLSIZE - 1 // 53 chars
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shift the pattern-view rows by `dy` lines (positive = down, negative = up)
|
* Shift the pattern-view rows by `dy` lines (positive = down, negative = up)
|
||||||
|
|||||||
Reference in New Issue
Block a user