Commit graph

173 commits

Author SHA1 Message Date
tildearrow bf8250a82c a couple corrections, part 2 2024-09-13 23:17:01 -05:00
LTVA1 12bd2d3829 Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-24 19:15:27 +03:00
alederer c5310d1855
Instrument editor undo (minus FixedQueue change) (#2094)
* add undo to instrument editor (check for diffs on the current DivInstrument in insEdit, record them in a stack)

* style fixes

* accidentally left some logs in

* typo in style fix

* cheat to avoid warning -Werror=class-memaccess on linux

* warn instead of assert on case where MemPatch application would exceed size of target buffer (which should never happen, if you're applying the patch to the same type it was generated from)

* instrument editor undo: don't check delta if no user input has come in that could potentially have dirtied the editor

* don't run a delta against cached instrument if not insEditOpen

* revert fixedQueue to before my 'fix' (if i touch it again i'll add unit tests)

* explicitly cast to (DivInstrumentPOD*) when memsetting DivInstrumentPOD in DivInstrument constructor, rather than relying on implicit memory layout

* use delete[] instead of free (whoops)

* MemPatch/DivInstrumentUndoStep -- remove clear() function (ambiguous whether it should free data, it only existed to set data to null after the swap, so just do that directly now). Also set data to null after delete.

* DivInstrument -- fix dangling undo-step pointers being created on duplicate (potentially leading to use-after-free), fix undo-step objects being shamelessly leaked

---------

Co-authored-by: Adam Lederer <adam@adamlederer.com>
2024-08-23 15:17:19 -05:00
tildearrow d3af810462 Revert "add undo to instrument editor (check for diffs on the current DivInstrument in insEdit, record them in a stack)"
This reverts commit 5c9fd69ac1.
2024-08-19 02:49:24 -05:00
tildearrow f1de0bf2b7 Revert "style fixes"
This reverts commit 15d47d0aae.
2024-08-19 02:49:24 -05:00
tildearrow 73c61d9ac7 Revert "accidentally left some logs in"
This reverts commit 55af1648e7.
2024-08-19 02:49:24 -05:00
tildearrow c00947071a Revert "typo in style fix"
This reverts commit 91d36d0a62.
2024-08-19 02:49:24 -05:00
tildearrow 257abca831 Revert "warn instead of assert on case where MemPatch application would exceed size of target buffer (which should never happen, if you're applying the patch to the same type it was generated from)"
This reverts commit ea02a913b2.
2024-08-19 02:49:24 -05:00
tildearrow 251be67b69 Revert "instrument editor undo: don't check delta if no user input has come in that could potentially have dirtied the editor"
This reverts commit ad53b33d7c.
2024-08-19 02:49:24 -05:00
Adam Lederer ad53b33d7c instrument editor undo: don't check delta if no user input has come in that could potentially have dirtied the editor 2024-08-19 02:44:18 -05:00
Adam Lederer ea02a913b2 warn instead of assert on case where MemPatch application would exceed size of target buffer (which should never happen, if you're applying the patch to the same type it was generated from) 2024-08-19 02:44:18 -05:00
Adam Lederer 91d36d0a62 typo in style fix 2024-08-19 02:44:18 -05:00
Adam Lederer 55af1648e7 accidentally left some logs in 2024-08-19 02:44:18 -05:00
Adam Lederer 15d47d0aae style fixes 2024-08-19 02:44:18 -05:00
Adam Lederer 5c9fd69ac1 add undo to instrument editor (check for diffs on the current DivInstrument in insEdit, record them in a stack) 2024-08-19 02:44:18 -05:00
LTVA1 91b08aaeb4 SID3 docs, part 3
also fix wave mix mode saving and remove unneeded lfsr taps save
2024-08-17 22:30:54 +03:00
LTVA1 90e5fb79e5 cutoff and resonance scaling and instrument save/load!
also mix minmod CPU usage variable initialization, and work a bit on Russian locale
2024-08-16 17:37:07 +03:00
LTVA1 006fe144ac version bump... 2024-08-14 21:17:10 +03:00
LTVA1 65d65ef81e add phase invesrion for left/right channel and feedback 2024-08-11 16:47:49 +03:00
LTVA1 6bf391b4bc wavetables and samples for SID3! (unfinished) 2024-08-09 14:30:45 +03:00
LTVA1 402ff627ae add flag to disable duty reset on new note for C64/SID2/SID3 2024-08-06 09:00:16 +03:00
LTVA1 bfbc92e1f3 Add LFSR feedback bits, 1-bit noise and wave mix mode macros. I hope I am done with main macros now 2024-08-05 15:50:48 +03:00
LTVA1 2fb518231a separate noise frequency, almost all main macros, add wavetable size to sysdef, separate wavetable tab 2024-08-05 12:28:22 +03:00
LTVA1 fb83d86d78 sigh, stub functions for SID3 info save/load 2024-08-02 19:21:47 +03:00
LTVA1 441e3e0b56 initial filters functionality (without connection matrix control yet!) 2024-08-02 14:18:13 +03:00
LTVA1 d0a990dcfa more special waves, more inst editor UI, implement all mixmodes 2024-08-01 22:05:18 +03:00
LTVA1 15725acbaa proper envelope, noise, start working on inst editor UI 2024-07-31 19:22:01 +03:00
tildearrow d769264e25 fix possible hang when loading invalid MA/Ox feat
in instrument

issue #2021
2024-07-13 17:01:35 -05:00
tildearrow d5633e7484 dev199 - SID2: fix cut/res range 2024-04-22 06:21:13 -05:00
tildearrow d63febf3d6 SID2, part 6
bump version
2024-04-21 13:25:20 -05:00
tildearrow 1850968def SID2, part 1
thanks LTVA
2024-04-21 03:54:34 -05:00
tildearrow a6357525d9
Merge pull request #1844 from akumanatt/bifurcator
Add Bifurcator support
2024-04-21 03:28:55 -05:00
tildearrow 012108975f more cat and mouse 2024-04-14 02:22:07 -05:00
Natt Akuma b3e0825462 Add Bifurcator support 2024-04-01 16:29:43 +07:00
tildearrow 60586a0d15 Game Boy: save doubleWave flag
TODO: TAG DEV196 ON MERGE
2024-03-17 16:11:22 -05:00
Natt Akuma 1b867b33ce Merge branch 'master' of https://github.com/tildearrow/furnace into minmod 2024-03-17 19:54:56 +07:00
Natt Akuma 3961f8ef53 Fix CI build 2024-03-17 15:30:45 +07:00
Natt Akuma 7fe7c67b4b Fix CI build 2024-03-17 05:17:22 +07:00
tildearrow c0df3df4ed port .ftm loading progress
from LTVA
2024-03-16 03:45:35 -05:00
Natt Akuma f3705fb435 WIP add GBA system 2024-03-16 15:06:25 +07:00
tildearrow 898155eb6b Namco 163 memory composition 2024-03-14 17:58:55 -05:00
tildearrow 334a29c260 and now for .dmp saving 2024-02-19 21:27:36 -05:00
tildearrow b0be01146e dev193 - AY: fix wave macro
prior to this version, the wave macro was offset by 1
- 0 = square
- 1 = noise
- 2 = square + noise
- ...
due to Defle crap...

now it's no longer offset
- 0 = nothing
- 1 = square
- 2 = noise
- ...
2024-02-19 18:58:50 -05:00
tildearrow f80d3f9eb5 remove unused old ins format saving code 2024-02-05 13:19:36 -05:00
tildearrow 05a8b65ec6 fix .dmp saving for OPM and NES
to-do: which system is PCE, NES and OPM?
2024-02-05 13:07:38 -05:00
tildearrow 78bbc59c75 try using -gcodeview
I thought GCC was unable to generate .pdb
2024-02-03 17:30:19 -05:00
tildearrow ef9a629d76 PowerNoise: add octave param 2024-01-25 12:37:18 -05:00
tildearrow 4f7dff1feb PowerNoise: prepare to split ins type into two 2024-01-24 03:23:07 -05:00
tildearrow c098e0bcd1 PowerNoise: POWER_NOISE -> POWERNOISE 2024-01-24 03:15:41 -05:00
scratchminer 85997e55e7 add Power Noise support 2024-01-21 06:44:29 -05:00