Commit graph

1333 commits

Author SHA1 Message Date
tildearrow c0e9b48b5b per-channel oscilloscope, part 5
SAA1099 (SAASound and MAME), Lynx, MMC5, N163, PC Engine, PC Speaker,
PET, QSound, WonderSwan, VERA, VIC-20, VRC6 and X1-010!
2022-05-01 02:40:03 -05:00
tildearrow dadfd7efee but PCE supports samples! 2022-05-01 00:58:10 -05:00
tildearrow e1fd16637c per-channel oscilloscope, part 4
OPM, OPN2, OPLL and SN
plus hide unimplemented channels
2022-04-30 22:59:26 -05:00
tildearrow ddcd486c61 YM2612: fix Furnace DAC mode glitching slides 2022-04-30 20:52:48 -05:00
tildearrow 1c3dcae05e per-channel oscilloscope, part 3
K00/C64/NES fixed
FDS, Game Boy and Sound Unit
2022-04-30 18:33:12 -05:00
tildearrow c738ece374 per-channel oscilloscope, part 2
AY8930, K00, C64 and NES
2022-04-30 14:36:12 -05:00
cam900 83405dcb4f Sync with master
* Add boundary for system enum
* Add ES5506 VGM version (not support yet)
2022-05-01 00:44:29 +09:00
cam900 5414213710 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  maybe uninitialized
  GUI: prepare for a per-channel oscilloscope?
  GUI: add backdrop if system file picker is open
  GUI: add ability to customize startup system
  GUI: finally implement "don't scroll when moving c ursor" setting
  new panning effects (80/81/82)
  GUI: fix sample paste crash
  GUI: implement sample scroll with mouse wheel
  sysDef oopsie

# Conflicts:
#	src/gui/guiConst.cpp
2022-05-01 00:25:21 +09:00
cam900 53a52788e2 Add per-note map reversed playback support
Prepare for pcm changed flag, 8 bit panning command
Reduce register spamming in volume update routine

Progress report:
* Emulation core update, Dispatch update:
  * Volume is unsigned like original chip, for reduce overflow.
* Add multi-mode macro support for radio button
2022-04-30 23:45:05 +09:00
tildearrow fae3de53a9 maybe uninitialized 2022-04-30 04:30:33 -05:00
tildearrow 4197fa44fb GUI: prepare for a per-channel oscilloscope?
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM

no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow 52c0044bd9 GUI: add ability to customize startup system 2022-04-30 01:37:37 -05:00
tildearrow 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
tildearrow d16ee7ed45 sysDef oopsie 2022-04-29 15:36:03 -05:00
cam900 72e8bb89a7 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
2022-04-30 02:32:55 +09:00
cam900 ee7633ba7a Add dummy sample for reduce phase accumulator wraparound related issue 2022-04-30 02:06:16 +09:00
tildearrow 8500fa4c4c NES: add DMC write effect 2022-04-29 00:18:51 -05:00
tildearrow abd42cbb03 SoundUnit: implement panning 2022-04-29 00:08:56 -05:00
tildearrow 5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
tildearrow 2ac0e8af42 further improve channel allocation 2022-04-28 18:32:24 -05:00
tildearrow 34c3473389 improvements to swap/stomp channel 2022-04-28 14:03:58 -05:00
cam900 d0c55e4951 Fix build 2022-04-28 23:58:35 +09:00
cam900 eb3baabc1d Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  OPL 4-op note preview possible fix
  better channel allocation strategy
2022-04-28 23:33:12 +09:00
cam900 cdb3a51766 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  implement channel swapping
  implement relative pitch macro mode
  prepare for relative pitch macro

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 23:30:50 +09:00
tildearrow 8675cdf802 OPL 4-op note preview possible fix 2022-04-28 05:38:28 -05:00
tildearrow 3906fc1dd4 better channel allocation strategy
issue #376
2022-04-28 05:04:34 -05:00
tildearrow 859b2cf8db implement channel swapping
issue #378
2022-04-28 03:36:15 -05:00
cam900 3956b2cd30 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev90 - linear pitch macro option
  dev89 - C64: add test/gate macro
  YMU759: update system definition
  more changes to autoNoteOn
  SoundUnit: ring modulation
  GUI: improve the maximize auto-detection a bit
  GUI: possibly remember maximized state
  NES: fix audio resolution being too low
  update to-do list
  SoundUnit: more stuff
  SoundUnit: max cutoff 16383
  effectRows -> effectCols
  GUI: rename Amiga/Sample to Sample
  This is not a sample properties table
  Define the compact wave editor
  Menu option, settings file

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 16:05:01 +09:00
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 77b4e57c58 prepare for relative pitch macro 2022-04-28 00:50:09 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 4a9855f090 dev89 - C64: add test/gate macro
and "don't test/gate before new note" setting
2022-04-27 23:54:45 -05:00
tildearrow 3e9c0dd066 YMU759: update system definition 2022-04-27 23:32:20 -05:00
tildearrow c0df205f2d more changes to autoNoteOn
now that there's a second prefer ins type, we get rid of DIV_INS_AMIGA check
2022-04-27 23:32:07 -05:00
tildearrow f2b974acc5 SoundUnit: ring modulation 2022-04-27 22:57:36 -05:00
tildearrow 180ff2457d NES: fix audio resolution being too low 2022-04-27 20:36:32 -05:00
tildearrow dce862fdb9 SoundUnit: more stuff 2022-04-27 18:28:46 -05:00
tildearrow 410a509d73 SoundUnit: max cutoff 16383 2022-04-27 18:03:24 -05:00
tildearrow 3306e853d1 effectRows -> effectCols
i don't know why did I call it "rows"
2022-04-27 17:53:55 -05:00
cam900 8c214d40e1 Fix build, Core update 2022-04-27 22:08:18 +09:00
cam900 37216e323f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix MSVC oh my
  improvements to sysDef and UX changes

# Conflicts:
#	src/engine/dispatchContainer.cpp
#	src/gui/insEdit.cpp
2022-04-27 21:21:08 +09:00
cam900 0209ebda03 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  sysDef refactor, part 2
  sysDef refactor, part 1 - PLEASE READ NOTE
  prepare for macroInt preview in instrument editor
  GUI: fix #400
  fix metronome in low-latency mode

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/instrument.h
#	src/engine/song.h
#	src/engine/sysDef.cpp
#	src/gui/dataList.cpp
#	src/gui/gui.h
#	src/gui/guiConst.cpp
2022-04-27 19:52:04 +09:00
tildearrow 8db3831ab6 fix MSVC oh my 2022-04-27 05:02:18 -05:00
tildearrow 78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow 24d60507e7 sysDef refactor, part 2
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
cam900 482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
tildearrow 351c22cb77 sysDef refactor, part 1 - PLEASE READ NOTE
THIS WILL NOT COMPILE!!!
i'm still working on it

to @cam900: DO NOT PULL TO YOUR ES5506 BRANCH YET - wait until I am done
with this refactor

to @grauw: DO NOT PULL TO YOUR OPL4 BRANCH YET - wait until I am done
with this refactor
2022-04-26 18:32:33 -05:00
tildearrow e8f29cf122 prepare for macroInt preview in instrument editor 2022-04-26 15:24:45 -05:00
cam900 7fbd239b85 emulation core related fix, reversed loop and volume 2022-04-27 00:47:01 +09:00
tildearrow 9eb9561b53 GUI: fix #400 2022-04-26 01:07:28 -05:00
tildearrow 28af57c4f0 fix metronome in low-latency mode 2022-04-26 00:22:49 -05:00
cam900 97d2bddf1f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:54:11 +09:00
cam900 49a41ff862 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (77 commits)
  GUI: use pattern font for input latch
  GUI: partially implement note input latch UI
  GUI: transpose value does not transpose effect ID
  GUI: prepare for note input latch UI
  GUI: min ins selector width fix
  GUI: separate operation masks
  GUI: add missing FDS preset
  GUI: prepare for separate operation mask
  GUI: "none" instrument should not remove inscolumn
  GUI: fix ins 0 being inserted on blank song
  GUI: add a "none" option to instrument list
  update to-do list
  GUI: add "absorb" instrument input mode
  use good default instrument when adding ins
  better default instrument for OPL/OPLL
  GUI: fix selection being visible in dummy row area
  Further fix looped sample preview
  GUI: fix about screen in power saving mode
  VRC6: saw volume 63
  GUI: add an effect list window
  ...

# Conflicts:
#	src/engine/platform/amiga.cpp
#	src/engine/vgmOps.cpp
#	src/gui/dataList.cpp
#	src/gui/guiConst.cpp
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:04:23 +09:00
tildearrow e8c9b645c5 GUI: implement instrument preview in file dialog
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow 663e724111 I KNEW IT 2022-04-25 18:41:24 -05:00
tildearrow b3f1935f2b GUI: prepare for more UX improvements
- add "temporary instrument" to DivEngine
- prepare for two things:
  - instrument preview on file picker (at least built-in one)
  - instrument selector for banks (#364)
2022-04-25 18:23:12 -05:00
tildearrow 2e52a2855c WonderSwan: fix noise phase reset 2022-04-25 18:07:49 -05:00
tildearrow 3e1c2197eb OPL: fix #369 2022-04-25 18:04:13 -05:00
tildearrow 2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow 1b97d3912b YM2612: hopefully the final pitch slide fix 2022-04-25 11:59:02 -05:00
tildearrow 17cf657f6a one more pitch calc fix 2022-04-25 11:52:05 -05:00
tildearrow bcade6931a YM2612: allow for DAC rate higher than 32KHz
issue #391
2022-04-25 01:42:26 -05:00
tildearrow 832df58929 YM2612: fix several sample bugs 2022-04-25 01:24:42 -05:00
tildearrow c84ff399d9 YM2612: fix negative octaves 2022-04-24 22:45:59 -05:00
tildearrow 52e35fdf04 huh? TODO: fix this 2022-04-24 18:17:05 -05:00
tildearrow bd68ef5cc3 dev86 - SN duty macro phase reset fix 2022-04-24 18:12:18 -05:00
tildearrow f99ba810fe PC speaker: fix timer issue 2022-04-24 17:48:04 -05:00
tildearrow 521b311692 GUI: implement clear 2022-04-24 17:39:18 -05:00
tildearrow bb4bc01778 Merge branch 'newpitch' 2022-04-24 14:41:12 -05:00
tildearrow 23be8d9336 the final piece of f-num/block work 2022-04-24 14:40:07 -05:00
James Alan Nguyen 798bc08431 verdammte compilerschieß 2022-04-24 14:04:56 +10:00
James Alan Nguyen 2b90bd6c66 = 0 2022-04-24 13:55:21 +10:00
James Alan Nguyen 2a48adfde8 Inline error 2022-04-24 13:43:56 +10:00
James Alan Nguyen 580cff9d32 Decided to EOF fail seeks beyond bounds 2022-04-24 12:37:49 +10:00
James Alan Nguyen 18f7dcc0b0 Address review comments 2022-04-24 12:31:37 +10:00
tildearrow dd9bb8327a and this finally does it
the last thing to do is a compatibility flag
2022-04-23 18:02:43 -05:00
tildearrow 0e3dbdc1b2 this might fix it 2022-04-23 16:52:31 -05:00
James Alan Nguyen 6638941c9d Address unused stuff and CI fix 2022-04-24 04:34:32 +10:00
James Alan Nguyen 3865e3eac6 #79: OPNI support added...... 2022-04-24 03:49:01 +10:00
James Alan Nguyen bb0253d82f Urgh why are your operators BACKWARDS FFS 2022-04-24 03:15:20 +10:00
James Alan Nguyen 6bd199923f OPLI progress... still figuring out correct readings 2022-04-24 02:37:25 +10:00
James Alan Nguyen a049e43618 #79: .y12 import done 2022-04-24 00:45:19 +10:00
James Alan Nguyen b8d9fab745 Start .y12 (Gens KMod/Kaneda) patch dump import 2022-04-24 00:29:33 +10:00
James Alan Nguyen 0f47a3ed7b Fix DT range 2022-04-23 23:40:58 +10:00
James Alan Nguyen 8ad827478c #79: OPM complete for now 2022-04-23 21:48:18 +10:00
James Alan Nguyen 3550ad512a OPM import: Fix reset read procedural flow 2022-04-23 20:20:29 +10:00
James Alan Nguyen f716ac262d #79: OPM import progress and start everything else 2022-04-23 19:52:09 +10:00
tildearrow f6b34a5bb0 huh? 2022-04-23 04:25:22 -05:00
tildearrow dd80cb8b55 what the heck 2022-04-22 17:42:42 -05:00
tildearrow 943e013cb4 YM2612: new pitch slide formula
finally nailed it (almost)
2022-04-22 16:46:24 -05:00
tildearrow 8db53faf72 new FM frequency calculation experiments 2022-04-22 04:23:52 -05:00
tildearrow 4195715dc0 use good default instrument when adding ins 2022-04-21 02:29:20 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
cam900 29ea6dc360 Partially ES5506 support (not working yet!)
Add sample related enums
Add support for backward/pingpong loop, loop end position
Structize Notemap in sample instrument
2022-04-21 01:52:37 +09:00
tildearrow 1a81c6c3e7 VRC6: saw volume 63 2022-04-19 21:55:13 -05:00
tildearrow d4380e1524 GUI: add an effect list window 2022-04-19 18:44:05 -05:00
tildearrow b6026e76c5 SMS: fix noise pitch being odd on linear pitch off
issue #379
2022-04-19 18:10:43 -05:00
tildearrow 7767881ca7 VRC6: fix saw column not yielding saw type ins
fixes #374
2022-04-19 13:59:17 -05:00
tildearrow f550bd82dd possibly fix #373 2022-04-18 16:21:00 -05:00
tildearrow cc5013f3dc possibly fix OPl3 per-channel audio export 2022-04-18 04:42:51 -05:00