Commit graph

595 commits

Author SHA1 Message Date
LTVA1 6c20b26a19 make inst editor undo work through ugly goto 2024-08-24 19:30:29 +03:00
LTVA1 12bd2d3829 Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-24 19:15:27 +03:00
tildearrow 5a79a70980 GUI: missing WonderSwan pan macros 2024-08-23 20:10:23 -05: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
LTVA1 f2ffd0e831 allow custom hover text for bitfield macros 2024-08-22 18:11:15 +03: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 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
tildearrow 4f3d61c0f1 Revert "don't run a delta against cached instrument if not insEditOpen"
This reverts commit 2ab5ac4e07.
2024-08-19 02:49:24 -05:00
Adam Lederer 2ab5ac4e07 don't run a delta against cached instrument if not insEditOpen 2024-08-19 02:44:18 -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 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 f4ff45efb7 add cutoff & resonance scaling control effects, work more on Russian locale 2024-08-18 18:55:46 +03:00
LTVA1 4e7c1773ed fix 2024-08-17 13:49:56 +03:00
LTVA1 80933510a5 rework noise readout, alter noise freq for specific feedback bits config 2024-08-17 13:40:15 +03:00
LTVA1 5b13461087 Update insEdit.cpp 2024-08-16 17:55:40 +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 5d6dcd60bf Merge branch 'master' of https://github.com/tildearrow/furnace into tildearrow-master 2024-08-16 10:35:32 +03:00
LTVA1 3b4c7bfb6d prepare UI for software cutoff/resonance scaling 2024-08-16 10:22:59 +03:00
Aleksi Knutsi a9591fae71
AY Timer bug fixes and some QOL improvements (#2073)
* Create android.yml

* bug fixes part 1

* bollocks number 1

* Update android.yml

* why are you crackling you arent supposed to do that

* stop crackling please

* what a load of

* what a load of part 2

* what a load of part 3

* what a load of part 4

* final commit... i hope!

* final commit my rear bottom

* final commit for real this time

* Delete .github/workflows/android.yml

* Update sysDef.cpp
2024-08-15 15:55:29 -05:00
LTVA1 46f1ae33c7 add cutoff and pulse width slides for C64, SID2 and SID3
Also add clipping for ADSR, duty and cutoff when in instrument types you go SID3 -> SID2 or SID2 -> C64 or SID3 -> C64
2024-08-12 16:54:26 +03:00
LTVA1 802f55a26e hide some settings in inst UI for wave channel, do sample reg writes interleaved with usual reg writes 2024-08-11 21:41:48 +03:00
LTVA1 65d65ef81e add phase invesrion for left/right channel and feedback 2024-08-11 16:47:49 +03:00
LTVA1 57f4f64bbb clarify 2024-08-10 15:32:05 +03:00
LTVA1 3206b39525 add filter mode macro, SID2 wave mix macro tips 2024-08-10 14:21:28 +03:00
LTVA1 6bf391b4bc wavetables and samples for SID3! (unfinished) 2024-08-09 14:30:45 +03:00
LTVA1 2e892b1aec add distortion level setting to filter setup UI 2024-08-07 18:36:43 +03:00
LTVA1 03a6b608be fix independent noise freq (bad fix), add filter macros 2024-08-06 16:43:24 +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 7dd16ee7b1 argh 2024-08-05 15:59:05 +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 5b92ee0426 sid3: mute, phase mod, panning 2024-08-04 11:32:28 +03:00
LTVA1 a008707498
Merge branch 'tildearrow:master' into SID3 2024-08-03 06:02:14 +03:00
tildearrow c2f2aa3024 AY: merge TFX from host12prog 2024-08-02 16:52:54 -05:00
LTVA1 756e8c7b96 sigh 2: electric boogaloo 2024-08-02 19:26:23 +03:00
LTVA1 4235167416 add duty macro 2024-08-02 19:08:25 +03:00
LTVA1 8cd045b04a add filter matrix to UI, add arp & pitch macros 2024-08-02 19:02:50 +03:00
LTVA1 441e3e0b56 initial filters functionality (without connection matrix control yet!) 2024-08-02 14:18:13 +03:00
LTVA1 365062ac21 halve clock speed, add ring mod and hard sync 2024-08-02 11:13:04 +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 4c6a774731 GUI: fix it 2024-07-25 20:03:10 -05:00
tildearrow fc772388b7 GUI: this sucks... 2024-07-25 19:59:21 -05:00
tildearrow 4774a38669 GUI: two more options for SL position 2024-07-25 19:36:40 -05:00
tildearrow 3ac17d3a11 GUI: implement auto macro size setting 2024-07-25 13:18:22 -05:00
tildearrow f09c30a383 GUI: lazily remove waveform from OPM ins editor
needs improvement
2024-07-06 19:21:32 -05:00
tildearrow c9b2172c4f C64: filter toggle macro 2024-07-05 17:03:01 -05:00
tildearrow 8f577fb669 AY/8930: implement tone and env period macros 2024-07-05 16:18:08 -05:00