Commit graph

3800 commits

Author SHA1 Message Date
LTVA1 570587693e
Merge branch 'tildearrow:master' into opz-per-operator-arp-and-pitch-macros-and-more 2024-08-25 17:28:07 +03:00
LTVA1 b905671798 make GUI hide block/f-num in the pitch control mode 2024-08-25 17:26:59 +03:00
LTVA1 3bf0c108f8
Merge branch 'master' into SID3 2024-08-25 13:34:19 +03:00
LTVA1 e58518ed62 first attempt, arp & pitch macros work 2024-08-25 13:33:01 +03:00
tildearrow 68b45338f0 GUI: tryWith fix from #2108 2024-08-25 03:00:00 -05:00
cam900 3e1e2fc2a6 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-25 12:50:51 +09:00
tildearrow 0ab9f6c6fd more.... 2024-08-24 17:41:41 -05:00
tildearrow c06759b235 NES:codestyle 2024-08-24 16:43:15 -05:00
LTVA1 efb89f7f94 yeah 2024-08-24 16:36:55 -05:00
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 332b449f0e deGNUize 2024-08-24 06:03:28 -05:00
freq-mod 46e48e42ea backport default sys picker from B 2024-08-24 11:24:58 +02:00
tildearrow db19b13ce4 GUI: update credits 2024-08-24 03:08:46 -05:00
tildearrow 977c464e7b GUI: fix audio export progress window 2024-08-24 03:08:35 -05:00
tildearrow ee21a996fa
Merge pull request #2102 from alederer/volPorta
Volume portamento (vol porta) effect (D3xx, D4xx for fast)
2024-08-24 03:00:29 -05:00
tildearrow 5a79a70980 GUI: missing WonderSwan pan macros 2024-08-23 20:10:23 -05:00
tildearrow 99ae6a2b38 VGM export: include song comments
also show song comments on mobile
2024-08-23 17:46:09 -05:00
Adam Lederer d0f3e0fa58 GUI_ACTION_PAT_ABSORB_INSTRUMENT search through prior orders (also set instrument to none if no instrument found 2024-08-23 15:20:08 -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
Adam Lederer 310ad13916 volume portamento (vol porta) on D3xx and D4xx (D4 is fast version, rate * 256) 2024-08-23 10:50:13 -07:00
LTVA1 1fbbe29d14
Merge branch 'tildearrow:master' into SID3 2024-08-23 12:53:29 +03:00
LTVA1 3b6ddebc64 disable 2024-08-23 00:53:44 -05:00
LTVA1 9f9638931d yeah 2024-08-23 00:53:44 -05:00
LTVA1 f2ffd0e831 allow custom hover text for bitfield macros 2024-08-22 18:11:15 +03:00
LTVA1 093b1fe4dc
Merge branch 'tildearrow:master' into SID3 2024-08-22 14:17:34 +03:00
LTVA1 a08380182d arr 2 2024-08-22 03:17:35 -05:00
LTVA1 f433f79dfe aarr 2024-08-22 03:17:35 -05:00
LTVA1 3a72acc3b0 init 2024-08-22 03:17:35 -05:00
LTVA1 33eea96986 small fixes, print progress in rows/files 2024-08-22 03:17:35 -05:00
LTVA1 a4dae5302b account for fadeout length, optimize some progress bar calc 2024-08-22 03:17:35 -05:00
LTVA1 17f6ea5c6a account for non-beginning loop point location
Ig I will optimize some of the calculations later when account for fadeout is added
2024-08-22 03:17:35 -05:00
LTVA1 481a5710df fix3? 2024-08-22 03:17:35 -05:00
LTVA1 56749ad286 fix2? 2024-08-22 03:17:35 -05:00
LTVA1 d79bad195a looks like it works, no account for fadeout tho 2024-08-22 03:17:35 -05:00
tildearrow a77d8bc87e oh crap 2024-08-21 14:46:40 -05:00
LTVA1 c26fa0c1f6
Merge branch 'tildearrow:master' into SID3 2024-08-19 21:44:23 +03:00
alederer 28dc0b12a1
"Adopt instrument" action also adopts octave (#2095)
* push test

* remove test file

* add GUI_ACTION_PAT_ABSORB_INSTRUMENT action (set current instrument to channel's current instrument column)

* rename 'absorb instrument' to 'adopt instrument' (clearer), adopt octave as well, replace editor octave min/max numbers in the code with defines

* CRAP

* rename 'adopt instrument' back to 'absorb instrument'

---------

Co-authored-by: Adam Lederer <adam@adamlederer.com>
Co-authored-by: tildearrow <me@tildearrow.org>
2024-08-19 13:19:50 -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 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
Eknous-P cbe4345ce7 remove comment 2024-08-19 11:45:00 +04: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
tildearrow 2dac603f17 GUI: fix indentation 2024-08-18 17:23:09 -05:00
tildearrow 39923742ab ZSM export: move to ROM export framework 2024-08-18 17:21:17 -05:00
Eknous-P e549d09360 use enum for readability, fixes, tweaks, new chip cases 2024-08-18 23:01:24 +04:00
Eknous e50b3438f2
Merge branch 'master' into sysmgrtooltip_syschaninfo 2024-08-18 22:03:29 +04:00
LTVA1 bc352728b5
Merge branch 'tildearrow:master' into SID3 2024-08-18 18:56:11 +03:00
LTVA1 f4ff45efb7 add cutoff & resonance scaling control effects, work more on Russian locale 2024-08-18 18:55:46 +03:00
AArt1256 f0b138ff48 fixed typos in a soundchip's name 2024-08-18 14:35:04 +03:00
cam900 7fb7d32bd5 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-18 20:23:14 +09:00
ヴェルメンスィヱ ae1fa8d3b8
Add TeraDrive presets (#2086)
* correct some preset errors

* decapitalization

* Add TeraDrive presets

* Correct Sord M5 clock

* Revert "Correct Sord M5 clock"

This reverts commit 92d3e4a85efbbe6b61a3c47624cec7eaade8e6fe.

* Correct formatting errors

* Move PC speaker

* I have no idea how I changed libsndfile.
2024-08-18 05:58:25 -05:00
tildearrow e7c39a0d6f fix 2024-08-18 05:52:50 -05:00
LTVA1 5fd93596b6
Merge branch 'tildearrow:master' into SID3 2024-08-18 09:17:21 +03:00
tildearrow 5bfd389ae6 GUI: new default value for S3M OPL3 2024-08-17 18:24:04 -05:00
tildearrow e3e61c817c Merge branch 'master' into sample_banks 2024-08-17 17:53:15 -05:00
tildearrow 3fce04e77b GUI: getGain debug 2024-08-17 16:56:11 -05:00
tildearrow 636a9921a2 changes 2024-08-17 16:29:13 -05:00
LTVA1 f5743da6e8 Update settings.cpp 2024-08-17 16:26:53 -05:00
LTVA1 5770f381ba setting to choose between OPL2 and OPL3, channel naming 2024-08-17 16:26:53 -05:00
alederer fca3ce02a7
Add action to set curIns based on current channel instrument at cursor (#2090)
* push test

* remove test file

* add GUI_ACTION_PAT_ABSORB_INSTRUMENT action (set current instrument to channel's current instrument column)

---------

Co-authored-by: Adam Lederer <adam@adamlederer.com>
2024-08-17 15:50:52 -05:00
LTVA1 99be4541c5 more in-tune tonal noise waves, add locale to presets, update Russian locale
Also make noise a little closer to C64
2024-08-17 16:38: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 4079f7a8c3 some edits in Russian locale, start working on presets locale 2024-08-17 12:22:38 +03:00
LTVA1 e35bcb3549
Merge branch 'tildearrow:master' into SID3 2024-08-17 08:19:36 +03:00
tildearrow 3cde827c17 GUI: localize bitfield labels 2024-08-17 00:12:02 -05: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
cam900 16ca40e0d2 Add OPL4/MultiPCM 12-bit PCM support 2024-08-16 20:45:40 +09:00
cam900 2c417811b3 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-16 20:35:16 +09: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
MrHassium faed541abf
2 new demo song and a name change (#2058)
* Famitune 1

* Ay Mate!

* Name Change momento!!!!

* I dont know how to replace files so we deleting and putting new versions

* Updating a song

* die

* Updating a song again

* comma
2024-08-15 15:56:17 -05: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
tildearrow eaa943e724 GUI: parse ROM export requisites 2024-08-15 11:28:10 -05:00
AArt1256 ce9d510076 added more presets and fixed memory bug yay 2024-08-15 14:36:58 +03:00
LTVA1 b6ecd79ffa Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-14 21:19:12 +03:00
LTVA1 7c324ec39d naive channel pair refactor (dumb replace one pair with vector of pairs) 2024-08-14 20:01:16 +03:00
cam900 afec47e9cc Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-14 17:56:27 +09:00
tildearrow 34517754ad port TIunA to export framework, part 4
index option
2024-08-13 18:42:11 -05:00
tildearrow b7631542c6 port TIunA to export framework, part 3
options
2024-08-13 18:07:07 -05:00
tildearrow 249032f096 port TIunA to export framework, part 2
progress bars!
2024-08-13 17:47:18 -05:00
tildearrow bb5ad38fb6 port TIunA to export framework, part 1
part 2 includes progress bars and options
2024-08-13 16:50:13 -05:00
tildearrow aad42210d7 it kinda works 2024-08-13 14:34:06 -05:00
LTVA1 0ea53fdae5 phase reset effects & fix wavetable change 2024-08-13 20:36:45 +03:00
freq-mod 03bc023644 spacing 2024-08-13 13:55:20 +02:00
tildearrow e475b29ec3 a menu 2024-08-13 04:40:26 -05:00
MooingLemur 0224882a42 oops, should have been 47.0.2 2024-08-13 04:11:08 -05:00
MooingLemur a8122d3efd Add VERA 47.0.3 chip type 2024-08-13 04:11:08 -05:00
tildearrow 45eab67fd4 prepare more stuff 2024-08-13 04:10:03 -05:00
tildearrow 1bdcbf95d3 prepare a ROM export dialog 2024-08-12 23:20:08 -05:00
freq-mod aa225175a8 sample banks part 3 2024-08-12 19:23:52 +02:00
freq-mod 235a254458 sample banks part 2 2024-08-12 18:22:52 +02:00
freq-mod dce4c9a4b2 sample bank import 2024-08-12 15:54:37 +02: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 e0df55749a MOAR EFFECTS!! 2024-08-12 12:59:34 +03:00
tildearrow 7591b2ed6a Byte-Sized Bop
by Someone64
2024-08-12 04:10:44 -05:00
LTVA1 6417da27e9 add different clock speed, optimize channel processing, add quarter clock speed flag 2024-08-12 11:22:10 +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
AArt1256 8480e31430 upd1771c instrument colors yay 2024-08-11 17:38:06 +03:00
LTVA1 d38a2b4f37
Merge branch 'tildearrow:master' into SID3 2024-08-11 17:03:06 +03:00
LTVA1 65d65ef81e add phase invesrion for left/right channel and feedback 2024-08-11 16:47:49 +03:00
AArt1256 f14ff25796 added basic uPD1771C support 2024-08-11 09:22:49 +03:00
tildearrow a4aa408912 apvr eatavel eao rso jyrsovrs
to-do:
- make an "exporting ROM" dialog with progress and all
- move TIunA export to the ROM export framework
- perhaps do the same with ZSM in the future?
2024-08-10 19:25:01 -05: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
AArt1256 9b363eb04c fixed more bugs yay 2024-08-09 12:09:11 +03:00
AArt1256 5532965925 added some more stuff to supervision support 2024-08-09 09:57:35 +03:00
AArt1256 3e774ddb6f finally added DMA sample support and panning 2024-08-09 00:36:34 +03:00
AArt1256 9d279ceadb added basic watara supervision support 2024-08-08 22:58:01 +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
yohannd1 dcf904c99f add "shown in pattern/oscilloscope" as selections for per-channel export 2024-08-02 19:30:42 -05:00
tildearrow 6efd69b0da many demo songs
by:
- billimanmcjonnson
- MrCoolDude
- MelonadeM
- TapeStone
- pixelated
2024-08-02 19:26:11 -05:00
cam900 34c3748406 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-03 08:17:33 +09: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 1a67453b99
Merge branch 'tildearrow:master' into SID3 2024-08-02 11:13:15 +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
cam900 4b0080c509 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-01 19:32:02 +09:00
tildearrow 0fd72afeb4 here we go 2024-08-01 01:19:29 -05:00
tildearrow f7553ede78 would this fix the issue? 2024-07-31 22:53:03 -05:00
LTVA1 15725acbaa proper envelope, noise, start working on inst editor UI 2024-07-31 19:22:01 +03:00
tildearrow fa4f0ece38 NON-WORKING....... 2024-07-31 04:24:28 -05:00
LTVA1 511799a488 prepare code and sketch emulator function prototypes 2024-07-30 11:15:50 +03:00
tildearrow 971d24dbed hopefully fix build 2024-07-27 12:52:31 -05:00
tildearrow 9d77522efb GUI: prepare to add "save all assets" options 2024-07-27 04:35:21 -05:00
agajgjsa592586 37366a9fe6 Update presets.cpp 2024-07-26 19:30:39 -05:00
agajgjsa592586 00314de3b9 Sord M5, FM-7 and PC-6000 Presets
This addition adds Sord M5, FM-7, and PC-6000 Presets to the furnace that we'd forgotten to add.
2024-07-26 19:30:39 -05:00
tildearrow d85f98c450 GUI: fix non-ASCII chars in user system name 2024-07-25 20:14:08 -05: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