Commit graph

198 commits

Author SHA1 Message Date
Eknous-P
c680474f22 fix missing fmt argument in readFeatureMA 2025-10-04 22:32:05 +04:00
tildearrow
98030de8c7 dev233 - breaking the limit, part 1
now up to 32768 wavetables and 32768 samples

this is the first part and does not implement the new sample limit correctly
I have to adapt every dispatch to the new limit... see you in the next part

the format version had to be bumped because the WL and SL .fui features were limited to 256 entries
there are new LW and LS blocks with more space
howwver there's a new issue... we can have a feature larger than 65536, which is a limit imposed by the feature header :<
this will be addressed though
2025-07-26 18:48:23 -05:00
tildearrow
2e9621073e OPZ: add FMS2/AMS2 macros 2025-03-23 04:22:43 -05:00
tildearrow
cb616ae594 MultiPCM: I present to you a fix 2025-02-07 04:05:53 -05:00
tildearrow
00ad4e4a46 update copyright year 2025-01-28 18:49:19 -05:00
tildearrow
0d8b97b1a3 C64: add a sample channel
but don't get too excited! it's just $D418 PCM for now...
2025-01-28 17:33:08 -05:00
Natt Akuma
cf3d08ca5a Add fixed octave for block+fnum systems
This isn't implemented in SAA1099, despite also being block+fnum system, as there are no benefits from it
2025-01-09 03:51:14 +07:00
tildearrow
ca7fe252a3 SID3: fix the other saving problems 2024-10-03 12:27:39 -05:00
tildearrow
eb4ecd6827 SID3: fix filter macro saving 2024-10-03 12:20:41 -05:00
tildearrow
987bff8b75 a couple code style changes 2024-09-21 04:36:22 -05:00
tildearrow
ac95c05878 SID3: store ins data 2024-09-16 03:09:56 -05:00
tildearrow
47f36f99d9 Merge branch 'master' into SID3 2024-09-13 23:46:13 -05:00
tildearrow
bf8250a82c a couple corrections, part 2 2024-09-13 23:17:01 -05:00
tildearrow
f0fffd9878 MultiPCM: store flags
dev221
2024-09-08 18:11:22 -05:00
tildearrow
5e5896fd52 Merge branch 'master' into ymf278b 2024-09-05 19:32:48 -05:00
tildearrow
eb95024fb9 Merge branch 'master' into master 2024-09-05 18:13:46 -05:00
cam900
3e1e2fc2a6 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-25 12:50:51 +09: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
f14ff25796 added basic uPD1771C support 2024-08-11 09:22:49 +03:00
LTVA1
6bf391b4bc wavetables and samples for SID3! (unfinished) 2024-08-09 14:30:45 +03:00
741d5d86c1 compiling issue fixed 2024-08-09 12:29:12 +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
da1225c933 Merge branch 'master' into ymf278b 2024-07-13 17:39:43 -05:00
tildearrow
d769264e25 fix possible hang when loading invalid MA/Ox feat
in instrument

issue #2021
2024-07-13 17:01:35 -05:00
cam900
0e3b1f0bca Reduce unnecessary change 2024-07-13 21:44:40 +09: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