Commit graph

8 commits

Author SHA1 Message Date
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
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
tildearrow 88b42ddd58 update copyright year 2024-01-16 21:26:57 -05:00
tildearrow 7fe2a99112 VGM export: fix virtual tempo resulting in no loop 2023-09-24 02:28:05 -05:00
tildearrow d69cdedd4a FixedQueue: and again 2023-09-14 02:41:11 -05:00
tildearrow 2f9d1d3eef FixedQueue: I screwed erase up 2023-09-14 02:22:45 -05:00
tildearrow 9a63fdccd5 drop usage of std::deque, part 2 2023-09-13 02:46:02 -05:00
Renamed from src/engine/fixedQueue.h (Browse further)