Commit graph

177 commits

Author SHA1 Message Date
tildearrow c167066296 PCE: finally fix LFO 2022-11-15 16:40:27 -05:00
cam900 90ed617cf6 Prepare for split volume scaling macro to 'log volume only' macro and 'log volume if compatibility flag set' macro 2022-10-28 22:36:50 +09:00
tildearrow 48db9a1d0c chip flags rewrite, part 4 - DO NOT USE
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13:40 -05:00
tildearrow eb8849ce63 add disableSampleMacro flag for compatibility 2022-09-23 19:18:32 -05:00
cam900 62ce5ae3ce Add compatible flag for PCE DAC volume (always enabled for now)
Fix furnacePCM detection for MSM6295
2022-09-23 23:41:55 +09:00
cam900 3fcccb52ee Reduce performance issue 2022-08-28 10:50:57 +09:00
cam900 a411e34a62 Performance adjusts 2022-08-28 09:59:56 +09:00
cam900 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900 4cc79fb49d Prepare for split sample chip instrument
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.

different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
tildearrow c009cb3536 dev112 - prepare for advanced arp macro
this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)

the UI is still a work in progress and doesn't work well

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05:00
Natt Akuma 7c42453422
Rewrite per-system effect handling (#548)
* Rewrite per-system effect handling

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
cam900 7d83cbb7d6 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-11 22:22:05 +09:00
cam900 d44f5f0b2b Prepare for backward and bi-directional loop 2022-08-11 22:21:54 +09:00
tildearrow 762b3b2928 PCE: per-chan osc DAC mode overflow fix 2022-08-11 02:08:24 -05:00
tildearrow 8a7d352ec6 PCE: fix phase reset macro when anti-click is on 2022-08-06 00:38:24 -05:00
tildearrow 6ec9cceb09 PCE: remove some sample playback clicking 2022-08-06 00:34:28 -05:00
tildearrow 049ab06544 PCE: add option to pick A/non-A revision of chip 2022-08-04 23:37:28 -05:00
tildearrow 1921fd1759 PCE: implement anti-click technology 2022-07-30 01:00:51 -05:00
cam900 5127d5ef18
Implement sample loop end position, enum-ise sample depth (#557)
TODO: new sample format
2022-07-21 23:36:42 -05:00
tildearrow f4a85bebff dev101 - fix SMSFM_intro.dmf 2022-07-04 01:43:59 -05:00
tildearrow 2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
tildearrow 2da92b0433 newVolumeScaling, part 4 (final) 2022-06-01 18:27:06 -05:00
tildearrow 1be93d9bbb implement brokenOutVol compat flag
#341
2022-05-31 19:03:26 -05:00
tildearrow 82eaa45f5d increase range of relative pitch macro
-32768 to 32767 should be enough
2022-05-22 22:47:40 -05:00
tildearrow 68c32749ff PCE: fix two issues
- fix chip locking up on furnacePCM chans after seeking
- fix furnacePCM toggling causing volume macro to give up
2022-05-17 03:02:36 -05:00
tildearrow 0a0ddfa661 partially bring up sample map 2022-05-13 23:04:40 -05:00
tildearrow 8784fe5664 dev94 - add a full linear pitch mode, part 1 2022-05-10 03:51:18 -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 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
tildearrow b4ac5c7e6a implement pitch macro 2022-04-16 01:39:40 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
tildearrow c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
cam900 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow 5bd076d13e initial bring-up of the wave synth
issue #16
2022-04-08 02:11:33 -05:00
tildearrow 322981b021 maybe fix possible crash regarding smp loop points 2022-03-21 21:26:36 -05:00
tildearrow ab3884e5aa clamp wave data
issue #267
2022-03-11 16:58:43 -05:00
tildearrow 59d813db7c PCE: add noise macro (finally!) 2022-03-04 02:20:13 -05:00
tildearrow 70eb17c33c PCE: fix LFO a bit more 2022-02-24 22:52:32 -05:00
tildearrow 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05:00
tildearrow 1e98f0c4a1 sample system rewrite! **PLEASE READ**
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...

consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.

it's nearly 4am...
2022-02-24 03:57:45 -05:00
tildearrow 6ffb332c4e PCE: fix samples being at double pitch 2022-02-21 22:59:56 -05:00
tildearrow df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
tildearrow 67ec998196 LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO 2022-02-19 17:35:52 -05:00
tildearrow 647f2f96b0 dear tildearrow are you drunk or what? 2022-02-15 17:22:09 -05:00
tildearrow b24c572632 prevent division by zero, part 1 2022-02-15 15:19:36 -05:00
tildearrow 853ade2416 improve the status bar
issue #39
2022-02-15 01:46:03 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow 1c3074bb43 PCE: also fix issue here (i think) 2022-02-14 02:45:20 -05:00
tildearrow 5b7240bb4f and fix it again 2022-02-08 22:49:52 -05:00
tildearrow f1730baefa fix artificial intelligence bomb
and a couple of songs that used 02xx after note off
2022-02-08 22:46:58 -05:00
tildearrow 23dc509524 implement reset macro on porta flag 2022-02-08 17:02:27 -05:00
tildearrow bf537881ce possibly implement envelope release points
no way to set them yet tho other than the MML string
2022-02-08 13:11:04 -05:00
tildearrow e06e316e10 add two new compatibility flags
proper noise range and duty macro is wave volume
2022-02-06 01:56:50 -05:00
tildearrow 9091081b9f oh... 2022-02-05 23:53:30 -05:00
tildearrow faed39843e PCE: fix channel 2 being mute?!
another discovery towards LFO fix?
fixes #141
2022-02-05 23:51:29 -05:00
tildearrow 026b232c02 more LFO fix code 2022-02-05 16:19:22 -05:00
tildearrow 59cbfdcad9 PCE: partial fix to LFO
issue #88
2022-02-05 15:15:27 -05:00
tildearrow 902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow c1864849a0 PCE: oh yes another sample fix 2022-02-04 01:53:43 -05:00
tildearrow 584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
tildearrow c682c921a1 fix compatible-style retrigger 2022-02-03 15:43:41 -05:00
tildearrow cbf66b1e62 prepare to add register cheat sheets 2022-02-02 02:14:42 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow de4875676f PCE: fix samples being one octave higher 2022-01-31 02:28:51 -05:00
tildearrow 822d542350 limit volume macro to system maximum
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow b812fc4041 prepare for sample C-4 freq
issue #70
2022-01-27 16:52:06 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow 8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow b6c536c907 VGM export: fix PC Engine samples 2022-01-25 02:38:46 -05:00
tildearrow 511b6ba0be VGM export: PCE samples (kinda) 2022-01-24 18:04:09 -05:00
tildearrow bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow 0b7772e76c PCE: allow sample preview 2022-01-20 16:33:20 -05:00
tildearrow 0f28ae0fee implement Furnace-style PCM on Arcade/Gen/NES/PCE 2022-01-20 16:09:05 -05:00
tildearrow 4ee17d35cd implement sample loop on the rest of systems 2022-01-20 02:46:28 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 488bd45907 lower PCE volume a bit
see issue #16
2022-01-18 17:35:41 -05:00
tildearrow 345962092e add notifyWaveChange
fixes #8
2022-01-18 00:25:10 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow 6884494b5c fix issue with volume macro+slide 2022-01-17 16:23:47 -05:00
tildearrow 8b89f1b516 prepare for writing register dumps 2022-01-17 13:29:35 -05:00
tildearrow 12236248dd prepare for eventual export 2022-01-16 23:21:27 -05:00
tildearrow 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow 9ff852d1db PCE: reduce CPU usage 2022-01-12 22:14:20 -05:00
tildearrow 5637639950 waveform width/height controls 2022-01-11 03:16:32 -05:00
tildearrow 3e34c60b32 fix volume after note off 2021-12-29 00:52:20 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow 65444d4a99 el diego 2 finally plays back correctly
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow 7ba8607270 changes to sample rate storage
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.

this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00
tildearrow 7b360b55a7 PCE: aaand fix another bug 2021-12-21 17:21:27 -05:00
tildearrow 726b457ae7 another uninitialized variable 2021-12-21 16:02:31 -05:00