Commit graph

992 commits

Author SHA1 Message Date
tildearrow 40f62aa13e GUI: re-enable user presets option 2024-04-09 14:34:13 -05:00
tildearrow c5a811f58e software renderer, part F 2024-04-08 22:24:08 -05:00
tildearrow 484f6570aa GUI: vendor/device name for render backends 2024-04-08 03:02:08 -05:00
tildearrow b6fcba2ba3 prepare for software renderer
do not use or your Furnace will need a replacement
2024-04-07 19:30:47 -05:00
tildearrow 44973de675 compress fonts using zlib
- smaller
- better
- ugly big-endian workaround no longer necessary
2024-04-07 16:08:38 -05:00
tildearrow 63e7fa085a one more fix 2024-04-07 05:05:51 -05:00
tildearrow 4ba071c004 GUI: default to OpenGL 1.1 on XP 2024-04-07 03:33:12 -05:00
tildearrow a793f286c5 renderGL1: more texture fixes 2024-04-07 02:58:57 -05:00
tildearrow c201e02411 WAHAHAHAHAHA
OpenGL 1 backend!!!!!!!!!!!!!!!!1111
TODO: test on old machine
2024-04-07 02:39:31 -05:00
Eknous-P 9affcc7fc2 vibrator settings 2024-04-07 01:32:26 +04:00
tildearrow a1254d5fb6 core quality, part 1
PC Engine
2024-04-06 14:57:15 -05:00
tildearrow d7ffda5420 prepare for emu2413 core 2024-04-03 16:22:51 -05:00
tildearrow f0c85acfd7 can't even have fun for one day
there's always the one who finds a reason for drama and flamewar
2024-04-03 13:58:57 -05:00
tildearrow fc68f17107 GUI: add option to disable VSync
also add frame rate limiter
2024-04-02 17:49:48 -05:00
tildearrow 9dbda09cd0 GUI: remove unused tutorial code 2024-04-02 11:17:45 -05:00
Natt Akuma b3e0825462 Add Bifurcator support 2024-04-01 16:29:43 +07:00
tildearrow 90c628612e prepare for 0.6.2 2024-03-31 23:35:59 -05:00
tildearrow 59a25fad70 stuff 2024-03-30 13:21:56 -05:00
tildearrow e7a638fdd5 GUI: user preset saving and prepare edit window 2024-03-30 03:33:38 -05:00
tildearrow b04ddaa20a preparations for user presets
now we need save
2024-03-29 19:56:50 -05:00
Eknous-P ee3488a119 setting and stuf 2024-03-22 20:46:58 +04:00
Eknous-P 955862c877 woah it works so god 2024-03-22 15:20:24 +04:00
Eknous-P 0595bf174c settings 2024-03-21 13:51:09 +04:00
Eknous-P 399c63a587 why? 2024-03-21 13:02:51 +04:00
Eknous-P 6c816550fe color things 2024-03-21 12:03:59 +04:00
tildearrow 1373a66e2b blalbaablabl 2024-03-21 01:13:38 -05:00
tildearrow ad49ff1571 GUI: add option to set amount of cursor follows wh
discussion #1811
2024-03-20 23:07:46 -05:00
tildearrow 94ae06dd6e define these two functions 2024-03-20 18:29:21 -05:00
tildearrow 5848c48a76 GUI: fix system detection 2024-03-20 17:39:22 -05:00
tildearrow db45b0d7d7 GUI: better presets organization
to-do:
- fix system detection
- fix search
2024-03-20 16:43:40 -05:00
tildearrow 1b3723c895 GUI: how about this 2024-03-20 14:49:52 -05:00
tildearrow 050159a1e6 can we have recursion 2024-03-18 17:57:45 -05:00
tildearrow 11e492c897 Merge branch 'master' into minmod 2024-03-17 15:44:38 -05:00
cam900 c1773e09f3 Add NDS sound support
TODO:
- IMA ADPCM
- Instrument color, icon
2024-03-17 15:17:30 -05:00
tildearrow b253bd862b downgrade .dmf to export status 2024-03-17 13:14:50 -05:00
Natt Akuma 804598d8da I forgor 2024-03-17 20:57:52 +07: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 898155eb6b Namco 163 memory composition 2024-03-14 17:58:55 -05:00
tildearrow d700bfca08 prepare for deferred config saving
issue #1723
2024-03-14 01:58:43 -05:00
tildearrow 0ac63d817d ESFM: add "fast" mode
alters ESFMu to add a fast feedback calculation path
2024-03-11 13:21:50 -05:00
tildearrow db9a11a674 remove text command stream export
NOTE: this is not removal of text export.
2024-03-09 18:20:17 -05:00
tildearrow 2290f3d873 a better command stream debugger 2024-03-08 17:53:37 -05:00
tildearrow 7a41461883 memory composition, part 1 2024-03-04 19:50:15 -05:00
tildearrow b0db9b8ff7 more preparation 2024-02-26 00:16:36 -05:00
tildearrow c5d0203f94 GUI: new osc renderer, part 29 2024-02-22 12:59:20 -05:00
tildearrow ecd3875a64 ... 2024-02-22 12:48:16 -05:00
tildearrow b972e54a7e implement chip cloning/duplication
muwahahaha
2024-02-21 16:27:52 -05:00
tildearrow e17df27f66 GUI: new osc renderer, part 26
sorry another window
2024-02-20 15:40:48 -05:00
tildearrow 2ca341bb73 GUI: get rid of bitOffset
now we do not need it
2024-02-19 21:44:29 -05:00
tildearrow 6cf570f85b GUI: new osc renderer, part 23
speed hack
2024-02-19 18:22:08 -05:00
tildearrow cfee9b3810 GUI: new osc renderer, part 21
part 11? I must have been drunk
alternate approach for OpenGL ES (no more hangs)
2024-02-19 15:49:56 -05:00
tildearrow 894b1f5a3c GUI: new osc renderer, part 19
now with a setting
2024-02-19 02:57:48 -05:00
tildearrow 523a290374 GUI: new osc renderer, part 12 2024-02-14 04:09:24 -05:00
tildearrow 8dcb36221a GUI: new osc renderer, part 9 2024-02-12 18:56:39 -05:00
tildearrow a05b133b3a GUI: add option for playback status in menu bar 2024-02-11 18:54:45 -05:00
tildearrow 2f72e75f0e GUI: remove basic mode 2024-02-11 18:36:38 -05:00
tildearrow 3836756115 GUI: new osc renderer, part 4
we have a waveform
2024-02-10 14:50:23 -05:00
tildearrow e41e8ed962 GUI: new osc renderer, part 2 - warning
why does it crash...
2024-02-09 19:20:09 -05:00
tildearrow 1421426b95 GUI: new osc renderer, part 1
not working
2024-02-08 18:42:24 -05:00
tildearrow a6aa4b66d1
Merge pull request #1160 from YohananDiamond/command-palette
undefined

WAHAHA nice one GitHub
see? that's why I hate JavaScript. couldn't you throw exception on out of bounds/undefined result, like EVERY normal language?
2024-02-07 02:53:33 -05:00
Eknous-P a25a3be4d1 effect searching 2024-02-04 13:17:14 -05:00
Colin Kinloch b2d61b1d3a Add Ctrl+Q to quit 2024-02-04 12:38:44 -05:00
YohananDiamond c9d57d4c6f Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2024-02-03 19:30:59 -03:00
tildearrow 78bbc59c75 try using -gcodeview
I thought GCC was unable to generate .pdb
2024-02-03 17:30:19 -05:00
tildearrow 66bacef681 GUI: implement "make me a drum kit" option 2024-01-30 02:14:14 -05:00
tildearrow b600be9b26 GUI: prepare to add "make me a drum kit" 2024-01-28 02:38:20 -05:00
psykose 3f329e464d GUI: fix overflow in timers
these timer variables are used with SDL_GetPerformanceCounter, which
returns a uint64_t. subtracting these can overflow, which is UB.
2024-01-27 15:18:19 -05:00
tildearrow 68ee5167ee GUI: work around layout import crash?
not very well tested... may mess up layout

issue #1629
2024-01-27 13:28:24 -05:00
tildearrow c55cc8b2ea GUI: delayed layout loading
issue #1629
2024-01-26 02:44:47 -05:00
tildearrow efad61c7d0 PowerNoise: split ins type 2024-01-24 04:35:36 -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 6f7cb8ce06 GUI: fix paste overflow undo corruption, part 2 2024-01-20 12:07:31 -05:00
tildearrow f322316a32 GUI: fix paste overflow undo corruption, part 1
TODO: garbage collection
2024-01-20 02:51:20 -05:00
YohananDiamond 8ab1c414b9 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2024-01-18 13:58:02 -03:00
tildearrow 95aff38cb2 GUI: add settings to round tabs and scrollbars 2024-01-16 22:01:17 -05:00
tildearrow 88b42ddd58 update copyright year 2024-01-16 21:26:57 -05:00
tildearrow 928bfd2afd add sample rate parameter in raw sample import 2024-01-16 21:12:34 -05:00
Kagamiin~ 4459a7d659 Implementing per-op arpeggio/pitch macro
Co-authored-by: LTVA1 <87536432+LTVA1@users.noreply.github.com>
2024-01-01 14:59:00 -03:00
Kagamiin~ 215c8c375a Merge branch 'master' into feature/esfm 2024-01-01 14:45:54 -03:00
tildearrow 65b50f4acc GUI: improve mobile order input 2023-12-28 17:32:40 -05:00
YohananDiamond b9c51c58fb whoops 2023-12-27 21:07:09 -03:00
YohananDiamond 34e18fffad Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-12-27 20:57:24 -03:00
tildearrow 858c0e448d set writeInsNames to 0 by default
so we can beat .dmp
2023-12-24 16:59:09 -05:00
tildearrow 242a9e5729 prepare to fix paate overflow undo corruption 2023-12-23 18:25:43 -05:00
tildearrow e0108e5635 GUI: now let's put these config options into group
s
2023-12-22 20:22:53 -05:00
tildearrow 27f4f6830e GUI: improve the buttons 2023-12-22 19:18:23 -05:00
tildearrow 15f0f50def part 2 of more work 2023-12-22 18:23:11 -05:00
tildearrow f80340ebcc more work 2023-12-22 15:43:41 -05:00
tildearrow 5697330c04 i won't call it classic 2023-12-21 20:08:15 -05:00
tildearrow df3e3e8aec bunch of code de-duplication 2023-12-21 19:57:26 -05:00
tildearrow e2940ca385 Merge branch 'master' into exportwin 2023-12-21 19:08:09 -05:00
tildearrow f46aa5cbfd prepare for color scheme import/export chamges
this includes a small refactor of the settings mechanism
2023-12-21 18:14:28 -05:00
tildearrow 231a76d50b dev190 - GUI: color scheme guru mode
now you can fine-tune every color in the interface

TODO: improve color config format
2023-12-20 19:51:21 -05:00
YohananDiamond c8975eaf73 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-12-19 09:26:30 -03:00
tildearrow 478f7bb3bd MIDI input: program change pass-through option 2023-12-17 15:30:51 -05:00
Kagamiin~ 13e45cfce2 Merge branch 'master' into feature/esfm 2023-12-17 08:31:16 -03:00
tildearrow 51b385a1ef apply volExp on velocity input - PLEASE READ
DivDispatch::mapVelocity() now takes a float instead of an unsigned char
2023-12-16 19:52:37 -05:00
Kagamiin~ f42332f2c0 Merge branch 'master' into feature/esfm 2023-12-15 09:15:05 -03:00
tildearrow bd7e57cea8 GUI: use best wave size when adding wave
or display a menu

TODO: fix non-32×32 wave being messed up
2023-12-09 20:01:33 -05:00
Eknous-P 96ad124100 make a member of FurnaceGUI 2023-12-08 16:08:31 +04:00
tildearrow c58b6bd269 Merge branch 'openmpt-paste' of https://github.com/LTVA1/furnace 2023-12-07 17:50:57 -05:00
tildearrow 37190d1c2d GUI: add a setting (select asset om load) 2023-12-06 12:37:37 -05:00
LTVA1 8bca3c5e4c fixfixifxifififidiiixcixifificxixixfixfix 2023-12-06 16:04:45 +03:00
tildearrow afa15bc322
Merge pull request #1622 from LeviathaninWaves/crossfade-loop-points
Crossfade loop points
2023-12-05 17:08:02 -05:00
Eknous-P df63257d11 dummy export window, keybind and related settings 2023-12-05 15:58:45 +04:00
tildearrow 643e5d5d5b prepare for text export 2023-12-04 04:17:30 -05:00
LeviathaninWaves 6c379d24df More renaming 2023-12-02 19:07:04 -06:00
LeviathaninWaves d59dfa30f0 Adjustments to crossfade algo/slider and renaming 2023-12-02 19:02:43 -06:00
LTVA1 9e252566c6 looks like the pasting works, untested though 2023-12-02 14:33:53 +03:00
LeviathaninWaves 4bd0dc2c63 Add loop point crossfading in the sample editor. 2023-12-01 15:06:42 -06:00
tildearrow 2d73e45e0f they did the Dance
and now you can do it too
2023-11-26 21:55:09 -05:00
tildearrow 955682b240 OPL: ymfm core, part 1 2023-11-22 19:28:36 -05:00
Kagamiin~ 56d774bb3b Merge branch 'master' into feature/esfm 2023-11-18 09:15:48 -03:00
Natt Akuma e702e56901 Add X-Y Oscilloscope 2023-11-01 14:56:43 +07:00
YohananDiamond 163d1b2153 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-10-29 20:05:01 -03:00
tildearrow 717e75f82d add setting to disable DC offset correction 2023-10-29 15:25:23 -05:00
tildearrow d8daeb1169 GUI: channel status, part 4 2023-10-27 18:08:37 -05:00
tildearrow 20a5d9c089 GUI: channel status, part 3 2023-10-27 04:23:35 -05:00
Kagamiin~ dde56c0cfc Merge branch 'master' into feature/esfm 2023-10-21 14:57:43 -03:00
tildearrow d5da4d7e52 GUI: prepare to add auto-clone feature 2023-10-18 00:00:23 -05:00
Kagamiin~ 8ae86f79a8 Merge branch 'master' into feature/esfm 2023-10-17 15:53:21 -03:00
tildearrow 7dfb7e916c GUI: use FreeType by default 2023-10-16 16:23:54 -05:00
Kagamiin~ 39001dcb6a Adding operator routing visualization 2023-10-16 16:57:04 -03:00
tildearrow c420b55a16 add a safe mode
disables audio output
enables software rendering
disables font loading

not automatic yet
2023-10-16 06:53:21 -05:00
tildearrow 80c9795773 more FreeType work 2023-10-16 06:14:44 -05:00
tildearrow 061b8e7aa1 GUI: add a hint when an ins cannot be previewed 2023-10-15 17:02:25 -05:00
Kagamiin~ 779afcb97a WIP: adding ESFM (ESS ES1488/ESS ES1868 etc.) system 2023-10-15 11:46:32 -03:00
tildearrow 8f4133d2e7
Merge pull request #1523 from Eknous-P/defartist
default author name
2023-10-14 03:43:46 -05:00
tildearrow e51ca07acb GUI: better DPCM mapping, part 1
UI needs to be better
it does not work yet
2023-10-12 20:32:00 -05:00
tildearrow 7ede07e2a4 dev183 - prepare for better DPCM mapping 2023-10-12 19:52:44 -05:00
Eknous-P b16a562aeb default author name 2023-10-11 18:16:46 +04:00
tildearrow 8422e5dc1b GUI: channel pair hints, part 3
to-do:
- flooring
2023-10-08 15:34:14 -05:00
Eknous-P 3ad0fe208d settings changed detect part 1 2023-10-03 18:33:22 +04:00
tildearrow 79f92fab68 GUI: prepare for status view 2023-10-03 04:38:28 -05:00
tildearrow c0118a4b82 GUI: wake up on MIDI event 2023-09-24 17:48:32 -05:00
tildearrow 478c3ecb57 GUI: step play fixes 2023-09-20 16:16:25 -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 083f870930 GUI: reduce pattern/orders latency
no more oldOrder/oldRow hacks!
2023-09-16 04:08:12 -05:00
tildearrow 8b565ed284 drop usage of std::deque, part 1
use FixedQueue instead
2023-09-13 02:40:12 -05:00
tildearrow 41544bcced add sample preview volume setting
it was too loud
2023-09-11 16:04:19 -05:00
tildearrow 58edecb9f9 GUI: fix SNES echo filter input in chip manager 2023-09-10 11:53:31 -05:00
tildearrow 9b276e80f8 workPool: don't use std::function
it's kinda slow
2023-09-07 00:16:47 -05:00
tildearrow 5b5dc5de1b GUI: hide setting for multi-threaded playback 2023-09-06 20:17:51 -05:00
tildearrow c1b6aed04b Merge branch 'threaded' - but will be hidden
under a cheat code for now
2023-09-06 19:27:55 -05:00
tildearrow 70dbe92b51 GUI: deprecate partial pitch linearity 2023-09-06 17:57:53 -05:00
tildearrow 5329e551d4 improve a bit and add option 2023-09-06 14:23:47 -05:00
tildearrow 1da000b00c GUI: per-chan osc multi-threading! 2023-09-05 04:38:57 -05:00
tildearrow c99899a002 GUI: re-organize chan osc code
prepare for possible multi-threading
2023-09-04 18:54:33 -05:00
tildearrow 55eeb241cf this won't build 2023-09-04 18:35:18 -05:00
YohananDiamond 5a5090f711 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-09-04 19:32:24 -03:00
tildearrow f6db75fae1 GUI: massive chan osc improvements 2023-09-03 04:22:00 -05:00
tildearrow 19d0ed617a what? 2023-09-02 23:57:55 -05:00
tildearrow fa7405090e add WASAPI exclusive mode flag to PortAudio backen
d
2023-08-31 04:30:49 -05:00
tildearrow 922800d864 oh crap 2023-08-30 23:14:47 -05:00
tildearrow 044859f6d1 GUI: add option to choose between chip menus and
chip manager in File menu
2023-08-28 17:00:39 -05:00
tildearrow 859182bb08 C219: initial work 2023-08-27 18:46:59 -05:00
YohananDiamond 7e9edb59f7 command palette: "add chip" menu 2023-08-27 14:19:26 -03:00
YohananDiamond 4f83fc2e93 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-08-27 13:37:57 -03:00
tildearrow 64e6cf12c2 GUI: re-apply UI settings when displays are connec 2023-08-27 03:58:01 -05:00
tildearrow 16bc35d75b manual system recent file tracking
issue #1406
2023-08-25 18:32:34 -05:00
tildearrow 7ba5b172d5 GUI: finally fix scroll changes order 2023-08-22 02:30:33 -05:00
tildearrow b35235b82e GUI: OPZ preview
it's complete
2023-08-21 22:41:35 -05:00
tildearrow 70f774312b GUI: OPLL preview 2023-08-21 19:56:22 -05:00
tildearrow d74172680f GUI: prepare FM preview for the other OPs 2023-08-20 20:18:27 -05:00
YohananDiamond aff6996025 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-08-20 02:33:42 -03:00
tildearrow 23dc1353ec change default render cores 2023-08-19 04:34:42 -05:00
Eknous-P 74e803d4e9 redo core switching 2023-08-18 10:40:18 +04:00
Eknous-P 8da1085809 separate cores + selection for playback and export 2023-08-17 22:28:17 +04:00
YohananDiamond 0060ea507a command palette: support for changing (selection's) instrument 2023-08-15 18:37:30 -03:00
YohananDiamond 74bb1b1016 Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-08-15 17:48:38 -03:00
tildearrow 6ae8f615d9 we got custom icons 2023-08-14 20:02:10 -05:00
tildearrow 741d350fe2 possible fix to #1356 2023-08-14 16:28:43 -05:00
tildearrow fc16164dbd
Merge pull request #1342 from tildearrow/c140
Chicken ice cream
2023-08-12 16:29:49 -05:00
MooingLemur a1d74e7dc1 ZSM: add optimize for size toggle 2023-08-11 19:13:16 -05:00
tildearrow a59b5753bb GUI: add center pop-up setting 2023-08-10 02:42:42 -05:00
tildearrow acc74df293 GUI: add option to capitalize menu bar 2023-08-09 22:47:06 -05:00
cam900 14c5d94499 C140 Part 2 2023-08-09 20:30:00 +09:00
tildearrow cc8b5d28a8 GUI: add option to show ins type menu when adding 2023-08-08 00:03:56 -05:00
tildearrow 86c1104529 GUI: add setting to play on load 2023-08-05 14:43:29 -05:00
tildearrow 2b78ea7abe GUI: add setting to remove ins/vol val on OFF/REL 2023-08-05 03:37:03 -05:00
tildearrow 1983529bdb GUI: add non-mono mode to osc 2023-08-05 03:26:36 -05:00
tildearrow 1d4a1c8337 GUI: higher quality oscilloscope
issue #1324
2023-08-05 02:52:02 -05:00
tildearrow cf1f741769 GUI: fix SNES chip config out of bounds
issue #1319
2023-08-03 14:55:30 -05:00
tildearrow a192274e29
Merge pull request #1312 from tildearrow/settings-bigfont
Big font configuration options!
2023-08-03 05:35:33 -05:00
Eknous cafc6f391d
chanOsc automatic columns + fix chanOsc channel note text (#1305)
* chanOsc note name

* chanOsc auto cols

* lowercase c for consistency

* fix chan note text

* change int to short

* simplify

* visible chan count for calculation

* cleanup

* cleanup 2 (not removing the comma yet)

* remove extra spaces

* add id
2023-08-03 05:25:26 -05:00
tildearrow c58eec5753 do not reset the timer (and remove intro monitor) 2023-08-03 03:54:06 -05:00
Electric Keet 06d3e8a4b3 Initializing variables, font size change. 2023-08-02 22:59:45 -07:00
Electric Keet ebf8ebf7c0 Restoring old bigFont, making new headFont instead.
Now we'll see the original font for the credits and the clock.
2023-08-02 20:49:01 -07:00
Electric Keet 0f4f1a1cf5 Big font configuration options! 2023-08-02 13:48:07 -07:00
YohananDiamond 51148a729c command palette: instrument and sample menus
won't be doing for wavetables because they don't have text and that
would be impossible to search through with a keyboard
2023-07-31 15:58:38 -03:00
YohananDiamond 8b8f90893e Merge branch 'master' of https://github.com/tildearrow/furnace into command-palette 2023-07-31 14:27:58 -03:00
Eknous 1d04bb360a
Merge branch 'tildearrow:master' into master 2023-07-29 13:34:54 +04:00
tildearrow 1aef0079d1 the first step to deprecating Defle compat
Furnace will support .dmf loading/saving
however in a far future, compatibility may not be guaranteed... I am not sure

this setting is off by default (for now)
2023-07-29 03:17:26 -05:00
Eknous-P 2c3bacbd3b colored text, arrays instead of many vars 2023-07-29 11:07:20 +04:00
Eknous c9447dbff2
Merge branch 'tildearrow:master' into master 2023-07-27 15:27:28 +04:00
Eknous-P 0d33273a2e useless newline removed 2023-07-27 15:22:20 +04:00
Eknous-P 620fc82247 'all' checkbox to 'all'/'none' buttons 2023-07-27 14:44:41 +04:00