Commit graph

1869 commits

Author SHA1 Message Date
tildearrow
fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow
45460df96d improve low-latency mode strategy 2022-04-15 14:38:25 -05:00
tildearrow
eb70086234 sample 8-bit blep resample fix 2022-04-15 14:38:13 -05:00
James Alan Nguyen
c3ca175e46 Nitpicky cruft cleanup. 2022-04-15 22:21:03 +10:00
James Alan Nguyen
c3b393004d Fix for -Werror o/ o/ o/ 2022-04-15 22:21:03 +10:00
James Alan Nguyen
1985546d0b Add file extension to picker 2022-04-15 22:20:46 +10:00
James Alan Nguyen
c431add35b BNK - Fix sustain flag 2022-04-15 22:20:46 +10:00
James Alan Nguyen
7e692eb073 Checkpoint: BNK presets now loading and also refactoring duplicated operations. 2022-04-15 22:20:46 +10:00
James Alan Nguyen
29ed73a157 Start BNK 2022-04-15 22:20:46 +10:00
James Alan Nguyen
ee14f0fa8c SBI fixes:
- Support 2OP\x1A header (used in some third party implementations)
- Include 2op pair for Freq Monster 801 6op (4+2op) patches.
- Fall back to filename if no internal patch name found.
2022-04-15 22:20:46 +10: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
tildearrow
c76e719371 GUI: prepare for more macros 2022-04-15 02:51:38 -05:00
tildearrow
f9e9c6c179 huh 2022-04-15 01:30:21 -05:00
tildearrow
600c38543b what is valid then 2022-04-15 01:29:29 -05:00
tildearrow
a530934671 fix retrigger issue in sample instruments 2022-04-15 01:26:44 -05:00
tildearrow
397ab43ffd C64: better muting strategy
now directly inside reSID rather than in the DivDispatch
fixes #285
2022-04-15 01:20:09 -05:00
tildearrow
b77b9e61ec the ugliest way to fix klisje paa klisje 2022-04-15 00:47:25 -05:00
tildearrow
3e15a066f8 Soundtracker .mod loading support
this required a re-organization of DivEngine::load() but it works
eventually we'll be able to load other file formats this way
2022-04-15 00:45:55 -05:00
tildearrow
51bc1119e8 hopefully fix oscilloscope line being out of bound 2022-04-14 23:22:25 -05:00
tildearrow
aa415caa57 GUI: fix another cppcheck warning 2022-04-14 23:22:11 -05:00
tildearrow
be483470ef GUI: add "Use standard OPL waveform names" option 2022-04-14 21:57:39 -05:00
tildearrow
68445435f9 fix several misc issues 2022-04-14 18:25:59 -05:00
tildearrow
8ff694eb13 GUI: fix MIDI input settings crash 2022-04-14 16:20:10 -05:00
tildearrow
5eb2717884 GUI: slightly tweak note preview algorithm
issue #338
2022-04-14 13:54:47 -05:00
tildearrow
11516d7923 GUI: allow cursor movement when stepping 2022-04-14 03:05:58 -05:00
tildearrow
55e085b148 GUI: separate current order from engine order
fixes #105
2022-04-14 02:58:29 -05:00
tildearrow
9795bca2ca fix audio export not aborting in per-channel mode 2022-04-14 02:26:47 -05:00
tildearrow
cc1933dcbb export ExtCh op channels as a group
in per-channel audio export
2022-04-14 02:16:08 -05:00
tildearrow
8ce8e87922 VERA: halve PCM volume
this should be good
2022-04-14 02:04:18 -05:00
tildearrow
3707a86f42 VERA: 4x the volume 2022-04-14 01:51:21 -05:00
tildearrow
0e2ecaf6be add setting to disable scrollChangesOrder
it's kinda unreliable at the moment
2022-04-14 01:25:21 -05:00
tildearrow
d6333af330 GUI: unreliable version of #63 2022-04-13 18:16:55 -05:00
tildearrow
720f046f28 GUI: implement no-nibble-push value input 2022-04-13 17:42:55 -05:00
tildearrow
e86174921b GUI: partially add a piano 2022-04-13 03:24:49 -05:00
tildearrow
2e2fafd878 GUI: add metronome volume setting 2022-04-13 02:29:07 -05:00
tildearrow
2cd454a59d major warning dialog changes
it makes more sense now. closes #321
2022-04-13 02:09:59 -05:00
tildearrow
75f99cfb09 update credits 2022-04-13 00:37:48 -05:00
tildearrow
fd723763f6 fix serious issue! 2022-04-13 00:35:38 -05:00
tildearrow
fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow
aab7cf2512 oops 2022-04-12 23:03:24 -05:00
tildearrow
ff75c7fe01 GUI: implement macro line drawing 2022-04-12 23:03:20 -05:00
tildearrow
9bd8aef538 SMS: fix note slides on upper notes
hopefully this doesn't break anything
2022-04-12 21:30:35 -05:00
tildearrow
45f14a951a GUI: add Colorize instrument editor using instrume
nt type option
2022-04-12 21:30:12 -05:00
tildearrow
152d05dbfc GUI: add "separate car/mod colors" to FM editor
and other improvements
2022-04-12 18:26:25 -05:00
tildearrow
8facb43081 GUI: change behavior of play buttons 2022-04-12 17:01:41 -05:00
tildearrow
25c5c97c47 GUI: add YM2414 to system presets 2022-04-12 16:12:32 -05:00
tildearrow
8702effbb9 prepare for storing other details 2022-04-12 15:39:01 -05:00
tildearrow
bc3e64726e prepare for "select instruments to load" dialog 2022-04-12 15:38:40 -05:00
tildearrow
40451cc039 GUI: update credits 2022-04-12 04:36:45 -05:00
tildearrow
a20861559b implement .dmc loading 2022-04-12 03:34:53 -05:00
tildearrow
dae7a9a099 GUI: add "Create instrument from sample" option 2022-04-12 03:00:57 -05:00
tildearrow
3b0be2c42a GUI: focus sample editor when clicking on waveform 2022-04-12 02:46:51 -05:00
tildearrow
ea463e4dfd
Merge pull request #352 from OPNA2608/add/ff_import
Add FF bank import
2022-04-12 02:43:16 -05:00
tildearrow
5a5f800297 GUI: deduplicate a lot of code 2022-04-12 02:39:03 -05:00
tildearrow
ffef40c098 GUI: clampSetting() for sample layout 2022-04-12 02:24:42 -05:00
tildearrow
0ae414da01 Merge branch 'compact-sample-editor' of https://github.com/BlastBrothers/furnace into BlastBrothers-compact-sample-editor 2022-04-12 02:21:53 -05:00
tildearrow
455cccdef0 GUI: sample improvements
- resample change C-4 note
- add duplicate option
2022-04-12 02:15:12 -05:00
tildearrow
3d94aef14b WaveSynth: remove to-do 2022-04-12 01:51:45 -05:00
tildearrow
9baa261253 GUI: reduce initial oscilloscope latency 2022-04-12 01:51:15 -05:00
tildearrow
463090717b Amiga: what the hell? 2022-04-12 01:26:14 -05:00
tildearrow
24209c7853 dev82 - amiga wavetables
closes #16 (yay!)
2022-04-12 01:19:00 -05:00
tildearrow
014e86d3d1 add missing license headers 2022-04-12 00:18:29 -05:00
tildearrow
e77ecfd04b N163: implement wave synth
I hope this does not break any songs
2022-04-12 00:17:34 -05:00
tildearrow
0ea6437a86
Merge pull request #362 from BlastBrothers/master
OPLx / OPLL envelope graphs reflect the state of sustain and/or EGS flags
2022-04-11 22:41:26 -05:00
tildearrow
ef5953cda5 don't store the upper 24 bits of FM macro values
those are unnecessary (no FM parameter ever goes above 255)
2022-04-11 22:37:34 -05:00
tildearrow
456be8a08f Merge branch 'ins_fix' of https://github.com/cam900/furnace into cam900-ins_fix 2022-04-11 22:36:13 -05:00
BlastBrothers
0771cdcdae Add in the alternate editor as an option 2022-04-11 22:14:20 -04:00
BlastBrothers
93b87cc65d Sample preview can only be so tall now 2022-04-11 21:51:43 -04:00
BlastBrothers
f362b1288c Add (currently useless) menu option ofr compact editor 2022-04-11 21:27:23 -04:00
BlastBrothers
f6381771a9 Revert "Thin sample editor"
This reverts commit 8a2bf3ae39.
2022-04-11 20:16:51 -04:00
BlastBrothers
61715fd8b0 Revert "Rearrange buttons"
This reverts commit 052a0923fe.
2022-04-11 20:15:46 -04:00
BlastBrothers
af2b19ae62 Revert "Sample preview has maximum y height relative to x"
This reverts commit 1151db5091.
2022-04-11 20:15:03 -04:00
BlastBrothers
1d14ca2d88
Merge branch 'tildearrow:master' into master 2022-04-11 19:51:31 -04:00
tildearrow
8407a7d3a4 add several TODO comments
self-note: check this one after you come back!
2022-04-11 18:12:05 -05:00
BlastBrothers
83baae92d9 Now it works ofr OPLL too, plus global sus 2022-04-11 17:26:40 -04:00
tildearrow
b5472fb52e third attempt 2022-04-11 13:36:02 -05:00
tildearrow
1adc7753be second attempt 2022-04-11 13:08:12 -05:00
BlastBrothers
62ea469600 Works for OPLx 2022-04-11 13:55:20 -04:00
tildearrow
1abfa0644b oops 2022-04-11 12:49:43 -05:00
BlastBrothers
0094e75bcf Pass sus to drawFMEnv- but is this the right var? 2022-04-11 12:15:11 -04:00
BlastBrothers
72632b9b72
Merge branch 'tildearrow:master' into master 2022-04-11 10:15:47 -04:00
cam900
0bba063437 Fix possibly breaks instrument loading 2022-04-11 21:15:52 +09:00
cam900
a454afcd19 Fix possible instrument loading fix 2022-04-11 21:08:58 +09:00
tildearrow
128fc596cb GUI: wait what? 2022-04-11 04:07:01 -05:00
tildearrow
224d8e11e5 GUI: add some oscilloscope settings 2022-04-11 03:34:38 -05:00
tildearrow
7bb0743598 GUI: fix file path corruption on sys file picker 2022-04-11 03:14:12 -05:00
tildearrow
ac286fc8d1 GUI: real-time color setting preview 2022-04-11 02:53:21 -05:00
tildearrow
7905b813e0 GUI: TableSetupScrollFreeze() for log view 2022-04-11 02:45:02 -05:00
tildearrow
283d74c32f GUI: friendlier name for N163 TDM disable 2022-04-11 02:39:06 -05:00
tildearrow
d2a8b028e8
Merge pull request #354 from cam900/n163_demultiplex
Add support of N163 demultiplexed output
2022-04-11 02:38:17 -05:00
tildearrow
d485411727 hopefully fix Windows build 2022-04-11 02:01:23 -05:00
tildearrow
39784bc7c2 YMU759 samples at 48KHz 2022-04-11 01:58:41 -05:00
tildearrow
8a49522e59 beta 1-3 .dmf loading
i did it
2022-04-11 01:41:45 -05:00
tildearrow
9e0e725802 Sorry but I think I'd like to go now. 2022-04-11 00:12:24 -05:00
tildearrow
552967246d **SUBMODULE UPDATE - PLEASE READ!**
as of now I have added the Date library as a submodule in order to have
log messages in the correct time zone

please update your submodules by doing:
```
git submodule update --init --recursive
```
2022-04-10 23:01:55 -05:00
tildearrow
6b627ab885 TOOK 2022-04-10 22:16:42 -05:00
tildearrow
fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
tildearrow
4ae13c15e6 get rid of <list> 2022-04-10 18:07:30 -05:00
tildearrow
09dec38407 Merge branch 'macro' (#353) 2022-04-10 17:26:15 -05:00
tildearrow
5f526f4b6e add playSub time log 2022-04-10 17:24:41 -05:00
tildearrow
51761bc6df part 3 - C64 mishap 2022-04-10 16:53:43 -05:00
tildearrow
51207e58ad part 2 - finally 2022-04-10 16:52:03 -05:00
tildearrow
c13358d96f part 1 2022-04-10 15:31:32 -05:00
OPNA2608
91d8c48542 Add FF bank import 2022-04-10 14:16:33 +02:00
cam900
86b523a83e Revert unnecessary changes 2022-04-10 20:24:31 +09:00
cam900
e6d74766ca Add support of N163 demultiplexed output
so, there's to way for reduce N163 noises: reduce channel limit and demultiplex
* channel limit is runtime changeable and it makes some usable effects with disable demultiplex
* demultiplex is used for "non-ear destroyable" emulators, but less hardware accurate. (when LPF and RF filter is not considered)
Furnace support both after this, You can choose output behavior via configuration flag.
2022-04-10 20:22:49 +09:00
cam900
9a6127e4c1 Change macro 2022-04-10 18:47:32 +09:00
cam900
78b88d61ce Fix format breaking 2022-04-10 18:45:55 +09:00
cam900
075ec9b6de Read and Write this 2022-04-10 18:38:48 +09:00
cam900
518841c17e Fix FM layout in "Compact" mode, Prepare for per-operator on/off control on FM (possibly controllable with phase reset macro?) 2022-04-10 18:36:04 +09:00
cam900
b167034e06 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 17:29:36 +09:00
cam900
2e6193706a Fix value fill 2022-04-10 17:26:50 +09:00
tildearrow
e23dcd6e1b implement hard reset on OPM/OPZ/OPNB 2022-04-10 03:04:31 -05:00
cam900
228822e19e Fix signed type issue 2022-04-10 16:43:32 +09:00
cam900
68cf969600 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 16:34:23 +09:00
cam900
55639747ee Make GCC happy 2022-04-10 16:32:58 +09:00
tildearrow
570c43e332 GUI: follow cursor when pasting 2022-04-10 02:20:16 -05:00
tildearrow
f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
cam900
4b912fd145 Code style 2022-04-10 15:50:59 +09:00
cam900
eb05310d37 Fix issue in instrument editor 2022-04-10 15:49:26 +09:00
cam900
13bdf2d86d Prepare for FMS2, AMS2 macro for YM2414 2022-04-10 15:16:51 +09:00
cam900
ae4f005d67 Merge remote-tracking branch 'upstream/master' into macro
# Conflicts:
#	src/engine/platform/c64.cpp
#	src/gui/insEdit.cpp
2022-04-10 14:47:10 +09:00
cam900
d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow
0eb02422d5 fix possible pattern crash
issue #325
2022-04-09 18:25:38 -05:00
tildearrow
38ca437190 DC offset improvements 2022-04-09 18:25:25 -05:00
tildearrow
46bf69769b
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
Resolve/Mute MSVC warnings, enable WAE for MSVC
2022-04-09 15:26:58 -05:00
OPNA2608
b6fb3820da Remove unneeded includes
Some are harmless, some screw with SDL's standard includes due to preceeding `_USE_MATH_DEFINES`.
2022-04-09 21:10:15 +02:00
tildearrow
11cdc3924d GUI: improve oscilloscope
it's not finished yet
2022-04-09 05:02:24 -05:00
OPNA2608
16ad29ae7a Fix C4293: '<<': shift count negative or too big, undefined behavior
MSVC seems kinda braindead: https://reviews.llvm.org/D41030#952363
2022-04-09 10:54:06 +02:00
OPNA2608
4c19a973ef Fix for C4805: '|': unsafe mix of type 'unsigned char' and type 'bool' in operation 2022-04-09 10:54:06 +02:00
OPNA2608
82d893082c Fix for C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 2022-04-09 10:54:06 +02:00
tildearrow
785ac8d1a7 small oscBuf fix 2022-04-09 02:45:06 -05:00
tildearrow
7bf2a3ea1a GUI: prepare for oscilloscope improvements 2022-04-09 02:42:58 -05:00
tildearrow
320250b831 MIDI out improvements 2022-04-09 01:50:44 -05:00
tildearrow
9e0e8f3345 dev80 - increase song limits
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow
0fcc73b6c6 WaveSynth: implement more effects 2022-04-08 16:03:54 -05:00
tildearrow
8e364944dc
Merge pull request #349 from cam900/patch-7
Fix loop area view in sample editor
2022-04-08 12:26:31 -05:00
tildearrow
48e8e49ba8 whoops! 2022-04-08 12:21:42 -05:00
cam900
dccd30f73c
Fix loop area view in sample editor 2022-04-09 00:42:27 +09:00
BlastBrothers
052a0923fe Rearrange buttons 2022-04-08 10:48:42 -04:00
BlastBrothers
1151db5091 Sample preview has maximum y height relative to x 2022-04-08 10:23:51 -04:00
BlastBrothers
7850e892d5
Merge branch 'tildearrow:master' into master 2022-04-08 09:44:53 -04:00
tildearrow
65f893822a dev79 - wave synth data storage
also wave synth works on swan and X1-010 now
however it's untested on X1 because i wrote it in bed
2022-04-08 04:34:39 -05:00
tildearrow
26dca41b63 FDS: wave synth 2022-04-08 02:59:58 -05:00
tildearrow
3b7e9d2929 BubSys: bring on the wave synth 2022-04-08 02:42:33 -05:00
tildearrow
62ff7317e3 GUI: effectCursorDir improvements 2022-04-08 02:16:57 -05:00
tildearrow
5bd076d13e initial bring-up of the wave synth
issue #16
2022-04-08 02:11:33 -05:00
BlastBrothers
8a2bf3ae39 Thin sample editor 2022-04-08 00:01:42 -04:00
tildearrow
0c1e2ddcb0 OPL: fix OPL2 not having waveforms 2022-04-07 20:48:34 -05:00
tildearrow
5d52ef7f00 support .dmf with 6-bit wavetables 2022-04-07 20:13:11 -05:00
tildearrow
500ce8086d GUI: initial wave synth UI 2022-04-07 18:27:17 -05:00
tildearrow
4dfe9f97fb prepare for wavetable synth 2022-04-07 15:46:48 -05:00
tildearrow
05dfec9f3d GUI: fix VRC6 saw waveform macro being displayed 2022-04-07 13:48:22 -05:00
tildearrow
3f5d0a1e46 GUI: fix paste mode binds not working 2022-04-07 02:37:19 -05:00
tildearrow
48838440ba GUI: add ability to colorize rows per highlight 2022-04-07 02:24:54 -05:00
tildearrow
dab164f09e GUI: add "effect deletion alters value" setting 2022-04-07 02:02:52 -05:00
tildearrow
dd6229a6b9 OPZ: more work 2022-04-07 01:44:27 -05:00
tildearrow
ad09254cf4 dev78 - new compat flag that fixes ExtCh 2022-04-07 01:14:34 -05:00
tildearrow
96d45dafb2 OPZ: same 2022-04-07 01:04:35 -05:00
tildearrow
e1b77d7e2b OPM: if the LFO rate is 0, don't clock the counter 2022-04-07 01:03:16 -05:00
tildearrow
78cd99af32 update ymfm 2022-04-07 00:57:52 -05:00
tildearrow
b162c09f7c GUI: OPZ instrument editor work - dev77 2022-04-07 00:45:53 -05:00
tildearrow
530327383a initial OPZ bring-up
even emulation is incomplete and one thing is making me tired...
2022-04-06 22:56:06 -05:00
tildearrow
9345576fc3 MMC5: fix 12xx not working 2022-04-06 22:55:24 -05:00
tildearrow
2e327953e8 YM2610(B): AY unification
as of now the SSG part of these chips is handled by a DivPlatformAY8910
within the DivPlatformYM2610.
this means less code duplication and therefore prepares for
OPN/OPNA support.
2022-04-06 18:03:30 -05:00
tildearrow
6fb2a2e7f5
Merge pull request #343 from AYCEdemo/petvic
VIC-20: Make noise state consistent across inits
2022-04-06 15:06:08 -05:00
tildearrow
743664aad1 GUI: extension check for keybinds/colors/layout 2022-04-06 14:45:58 -05:00
tildearrow
4d23c1dc6d new extension for colors and keybinds 2022-04-06 14:17:29 -05:00
tildearrow
da1f34372a GUI: I forgot about layout! 2022-04-06 14:11:58 -05:00
tildearrow
eb8f99dafe GUI: import/export colors/keybinds/layout
untested
2022-04-06 13:53:39 -05:00
Natt Akuma
ba8ee96069 VIC-20: Make noise state consistent across inits 2022-04-06 19:11:45 +07:00
tildearrow
9d653b58b3 hopefully fix MSVC build 2022-04-06 04:24:20 -05:00
tildearrow
4a131952e4 GUI: ps_fopen 2022-04-06 02:46:09 -05:00
tildearrow
132c5007fa GUI: simplify color load/save code
they are in guiConst.cpp now too.
2022-04-06 02:30:12 -05:00
tildearrow
95ce867ce3 GUI: add mentions of FDS to wave editor 2022-04-06 02:09:53 -05:00
tildearrow
1054f92029 GUI: simplify keybind load/save code
as of now action definitions are in guiConst.cpp.
2022-04-06 01:52:58 -05:00
tildearrow
5de58e1f6d GUI: add settings for borders 2022-04-06 00:34:26 -05:00
tildearrow
2da96a7e76 initial MMC5 bring-up 2022-04-06 00:34:12 -05:00
tildearrow
280cbb3e39 FDS: possibly final work
the last thing left to do is the filter, but everything works now
2022-04-05 18:18:14 -05:00
tildearrow
4ba50b433a FDS: .dmf wavetables will be 6-bit soon 2022-04-05 15:14:48 -05:00
tildearrow
e1976b96a0 TODO: modulation table 2022-04-05 14:55:17 -05:00
tildearrow
5f71857439 GUI: attempt at optimizing pattern draw code 2022-04-04 23:38:38 -05:00
tildearrow
258a905aaa harden .dmf loader
issue #325
2022-04-04 14:15:26 -05:00
tildearrow
3a7a132f02 harden Furnace file loader
issue #325
2022-04-04 14:04:36 -05:00
tildearrow
590b21bc37 GUI: prepare for FDS ins editor 2022-04-04 13:26:02 -05:00
tildearrow
f89360392f GUI: add setting to customize the title bar
closes #339
2022-04-04 13:25:38 -05:00
tildearrow
81150d96fa FDS: add FDS ins type auto-detection on .dmf 2022-04-04 04:57:38 -05:00
tildearrow
ccb8d3d355 dev76 - format changes
- 8 more macros
- FDS instrument data
2022-04-04 04:47:52 -05:00
tildearrow
e5a162dbe6 GUI: add presets for FDS and MMC5 2022-04-04 00:48:08 -05:00
tildearrow
eee2500b5c FDS: effect names and register sheet 2022-04-04 00:47:27 -05:00
tildearrow
4ec91b8b42 fix .fui instruments not loading! 2022-04-04 00:12:11 -05:00
tildearrow
ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow
9ef50bbda7 GUI: fix keybinds leaking after setting them to no 2022-04-03 19:23:02 -05:00
tildearrow
90bbc42290 GUI: more usability improvements
- move cursor to end of clipboard when pasting
- better effect input
2022-04-03 19:20:30 -05:00
tildearrow
d112cd0c68 what? 2022-04-03 17:22:44 -05:00
tildearrow
3a59e260d8 prepare for handling of FDS .dmf 2022-04-03 17:14:12 -05:00
tildearrow
d63ddda402 FDS preparation work DOES NOT COMPILE 2022-04-03 16:02:25 -05:00
tildearrow
109f80d4da re-organize instrument loading code 2022-04-03 13:53:34 -05:00