Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt

* 'master' of https://github.com/tildearrow/furnace:
  GUI: sample/macro zoom with ctrl-wheel
  GUI: prevent division by zero
  GUI: possibly fix an instrument saving issue
  GUI: add chip randomizer button
  update to-do list
  oops
  NES: add DMC write effect
  SoundUnit: implement panning
  QSound: implement panning macro - PLEASE READ
  further improve channel allocation
  update format.md for eventual ExtCh extra systems
  improvements to swap/stomp channel

# Conflicts:
#	src/gui/insEdit.cpp
This commit is contained in:
cam900 2022-04-30 02:32:55 +09:00
commit 72e8bb89a7
20 changed files with 179 additions and 27 deletions

View file

@ -88,6 +88,7 @@ const char* cmdName[]={
"PCE_LFO_SPEED",
"NES_SWEEP",
"NES_DMC",
"C64_CUTOFF",
"C64_RESONANCE",
@ -127,6 +128,7 @@ const char* cmdName[]={
"QSOUND_ECHO_FEEDBACK",
"QSOUND_ECHO_DELAY",
"QSOUND_ECHO_LEVEL",
"QSOUND_SURROUND",
"X1_010_ENVELOPE_SHAPE",
"X1_010_ENVELOPE_ENABLE",
@ -325,6 +327,9 @@ bool DivEngine::perSystemEffect(int ch, unsigned char effect, unsigned char effe
case DIV_SYSTEM_NES:
case DIV_SYSTEM_MMC5:
switch (effect) {
case 0x11: // DMC write
dispatchCmd(DivCommand(DIV_CMD_NES_DMC,ch,effectVal));
break;
case 0x12: // duty or noise mode
dispatchCmd(DivCommand(DIV_CMD_STD_NOISE_MODE,ch,effectVal));
break;
@ -443,6 +448,9 @@ bool DivEngine::perSystemEffect(int ch, unsigned char effect, unsigned char effe
case 0x11: // echo level
dispatchCmd(DivCommand(DIV_CMD_QSOUND_ECHO_LEVEL,ch,effectVal));
break;
case 0x12: // surround
dispatchCmd(DivCommand(DIV_CMD_QSOUND_SURROUND,ch,effectVal));
break;
default:
if ((effect&0xf0)==0x30) {
dispatchCmd(DivCommand(DIV_CMD_QSOUND_ECHO_DELAY,ch,((effect & 0x0f) << 8) | effectVal));