Commit graph

4899 commits

Author SHA1 Message Date
tildearrow
9479a8aa0f fix typo in playback engine
possible memory leak
2022-05-01 23:29:00 -05:00
tildearrow
cb7aa4aa05 NES: wire up NSFplay
no muting supported for now
see #27
2022-05-01 23:20:20 -05:00
tildearrow
7b31f6a3e5 now fix it damn it 2022-05-01 22:52:22 -05:00
tildearrow
e873070d84 now move these files 2022-05-01 22:22:02 -05:00
tildearrow
2c9bad3b3d per-channel oscilloscope, part 9
work in progress!
2022-05-01 18:29:16 -05:00
tildearrow
269f07f597 these are debug messages 2022-05-01 17:26:56 -05:00
Laurens Holst
7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
cam900
e246697928 Prepare for per-channel osc view, ES550X core update 2022-05-01 21:26:10 +09:00
cam900
329048bf6c Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  Clang you are so arrogant
  ok so screw you
  let's hope this works
  attempt to fix CI
  per-channel oscilloscope, part 8
  per-channel oscilloscope, part 7
  per-channel oscilloscope, part 6
  per-channel oscilloscope, part 5
  but PCE supports samples!
  per-channel oscilloscope, part 4
  YM2612: fix Furnace DAC mode glitching slides
  per-channel oscilloscope, part 3
  GUI: add missing actions to settings
  per-channel oscilloscope, part 2
  Revert PC speaker presets
  Have host sound chip appear before expansions
2022-05-01 19:59:03 +09:00
tildearrow
58fe971a3c Clang you are so arrogant 2022-05-01 05:18:30 -05:00
tildearrow
9f19b5dfc4 ok so screw you 2022-05-01 05:10:41 -05:00
tildearrow
05ae774617 let's hope this works 2022-05-01 04:49:41 -05:00
tildearrow
e1a02f64de attempt to fix CI 2022-05-01 04:30:04 -05:00
tildearrow
3a4f120120 per-channel oscilloscope, part 8
TIA is done
2022-05-01 04:01:25 -05:00
tildearrow
47f83c0472 per-channel oscilloscope, part 7
YM2610 and YM2610B
only TIA is left
2022-05-01 03:47:04 -05:00
tildearrow
415e490025 per-channel oscilloscope, part 6
YM2612 and OPM (ymfm)!
2022-05-01 03:12:32 -05:00
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