Commit graph

165 commits

Author SHA1 Message Date
cam900 3e1e2fc2a6 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-25 12:50:51 +09: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 78d7fb4da0 Revert "cheat to avoid warning -Werror=class-memaccess on linux"
This reverts commit 94ef697ea6.
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 94ef697ea6 cheat to avoid warning -Werror=class-memaccess on linux 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
cam900 00e9ca29fa Revert "Re-split OPL4 PCM instruments due to hardware differences"
This reverts commit 87ac12e143.
2024-07-13 16:28:20 +09:00
cam900 87ac12e143 Re-split OPL4 PCM instruments due to hardware differences
- MultiPCM also has level direct, so it's remained in DivInstrumentMultiPCM. everything else don't support at MultiPCM is moved into DivInstrumentOPL4PCM.
- MultiPCM can't modify ADSR envelope unless reading instrument from ROM, so I decided to remove ADSR envelope macros. these are moved into OPL4 PCM instrument.
- Save/Load of MultiPCM level direct parameter is still disabled until main version update (for disallow crash).
- Also, this PR fixes OPL4 VGM output.
2024-07-13 13:09:10 +09:00
cam900 b1937b9834 Revert and Re-add instrument parameter into multipcm instruemnt
Fix per-channel OSC
2024-07-13 07:34:53 +09:00
cam900 65f48cc574 Add instrument for OPL4 PCM, Macros and Effects
TODO: Phase reset, Keyon/off
2024-07-12 17:37:27 +09:00
tildearrow 1850968def SID2, part 1
thanks LTVA
2024-04-21 03:54:34 -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 3cf8d1c501 GBA: Allocate system IDs 2024-03-17 05:21:53 +07:00
tildearrow c0df3df4ed port .ftm loading progress
from LTVA
2024-03-16 03:45:35 -05:00
Natt Akuma 2b9dd1caff Add GBA MinMod driver support 2024-03-16 15:08:13 +07:00
Natt Akuma f3705fb435 WIP add GBA system 2024-03-16 15:06:25 +07:00
tildearrow f80d3f9eb5 remove unused old ins format saving code 2024-02-05 13:19:36 -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
tildearrow 88b42ddd58 update copyright year 2024-01-16 21:26:57 -05:00
Kagamiin~ 56d774bb3b Merge branch 'master' into feature/esfm 2023-11-18 09:15:48 -03:00
tildearrow a9201bebdc C64: old test/gate/special macro compatibility 2023-10-29 02:43:38 -05:00
tildearrow 87b8851900 C64: volIsCutoff compatibility 2023-10-29 02:25:35 -05:00
Kagamiin~ 59d56b169b Removing stray space 2023-10-25 17:33:57 -03:00
Kagamiin~ 85db9ca16e Merge branch 'master' into feature/esfm 2023-10-25 17:10:16 -03:00
tildearrow f718fbb5f5 dev185 - SoundUnit: hardware sweep sequences
kinda buggy in note off... may require a rewrite of volume handling
2023-10-21 18:42:37 -05:00
Kagamiin~ a1b7e52467 Implementing pattern effects, detune on FM preview, default instrument 2023-10-21 14:35:20 -03:00
Kagamiin~ a01ddd381e Implement ESFM macros 2023-10-17 19:24:57 -03:00
Kagamiin~ 4a0295fd1f WIP: adding fixed pitch mode; fix UB in ESFM driver 2023-10-15 19:46:07 -03:00
Kagamiin~ cfa0628a32 Removing unused code 2023-10-15 11:46:32 -03:00
Kagamiin~ 779afcb97a WIP: adding ESFM (ESS ES1488/ESS ES1868 etc.) system 2023-10-15 11:46:32 -03:00
tildearrow 10172e0489 GUI: better DPCM mapping, part 2 2023-10-13 19:57:36 -05:00
tildearrow 7ede07e2a4 dev183 - prepare for better DPCM mapping 2023-10-12 19:52:44 -05:00
tildearrow 750406e0be fix missing pre effects
issue #1513
2023-10-06 00:34:51 -05:00
tildearrow 687fbf5436 macro name refactor 2023-10-05 23:51:34 -05:00
tildearrow cad63d8351 is this faster? 2023-09-20 00:24:55 -05:00
tildearrow 7912a7982c implement a setting which was missing
store/load ins names when saving .fui
2023-09-16 18:15:03 -05:00
tildearrow 859182bb08 C219: initial work 2023-08-27 18:46:59 -05:00
cam900 14c5d94499 C140 Part 2 2023-08-09 20:30:00 +09:00
tildearrow 20418bb490 add TED to Furnace
#855 #873
2023-07-23 04:42:38 -05:00
tildearrow ad88ce46ab dev164 - Namco 163: improvements, part 4
- per-channel wave offset/length
- wave load position/length effects
- global wave load effects that actually make sense
- update doc
2023-07-21 19:54:35 -05:00