Commit graph

992 commits

Author SHA1 Message Date
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
LTVA1 093b1fe4dc
Merge branch 'tildearrow:master' into SID3 2024-08-22 14:17:34 +03: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 d79bad195a looks like it works, no account for fadeout tho 2024-08-22 03:17:35 -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 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 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 39923742ab ZSM export: move to ROM export framework 2024-08-18 17:21:17 -05: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
cam900 7fb7d32bd5 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-18 20:23:14 +09: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 636a9921a2 changes 2024-08-17 16:29:13 -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
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
tildearrow eaa943e724 GUI: parse ROM export requisites 2024-08-15 11:28:10 -05:00
LTVA1 b6ecd79ffa Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-14 21:19:12 +03:00
cam900 afec47e9cc Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-14 17:56:27 +09:00
tildearrow b7631542c6 port TIunA to export framework, part 3
options
2024-08-13 18:07:07 -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
tildearrow e475b29ec3 a menu 2024-08-13 04:40:26 -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 dce4c9a4b2 sample bank import 2024-08-12 15:54:37 +02:00
AArt1256 8480e31430 upd1771c instrument colors yay 2024-08-11 17:38:06 +03:00
AArt1256 5532965925 added some more stuff to supervision support 2024-08-09 09:57:35 +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 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
LTVA1 15725acbaa proper envelope, noise, start working on inst editor UI 2024-07-31 19:22:01 +03:00
LTVA1 511799a488 prepare code and sketch emulator function prototypes 2024-07-30 11:15:50 +03:00
tildearrow 9d77522efb GUI: prepare to add "save all assets" options 2024-07-27 04:35:21 -05:00
tildearrow fc772388b7 GUI: this sucks... 2024-07-25 19:59:21 -05:00
tildearrow d88a753aba GUI: prepare auto macro size setting 2024-07-23 22:47:27 -05: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
cam900 b1937b9834 Revert and Re-add instrument parameter into multipcm instruemnt
Fix per-channel OSC
2024-07-13 07:34:53 +09:00
cam900 65f48cc574 Add instrument for OPL4 PCM, Macros and Effects
TODO: Phase reset, Keyon/off
2024-07-12 17:37:27 +09:00
cam900 221fa5aa42 Some fleshing out YMF278B
Add OpenMSX YMF278B core option, Expand RAM size option
2024-07-12 12:16:24 +09:00
tildearrow 72cd745824 patch ImGui so it supports square textures
in the font atlas
2024-07-05 18:00:02 -05:00
tildearrow 473defff35 GUI: new macro colors and fixes
bitfields now have proper macro color
macro position indicator is no longer hard-coded
2024-07-04 18:08:07 -05:00
tildearrow 394a2b5442 GUI: make multi-threading options visible 2024-07-02 17:34:56 -05:00
tildearrow b4a00b8a81 post-merge changes 2024-06-23 04:36:21 -05:00
Natt Akuma 85199e5228 TIA: Add software pitch driver (TIunA) and song data export 2024-06-22 17:31:58 +07:00
tildearrow 9aed6fc47c fix about screen 2024-06-17 23:53:00 -05:00
tildearrow 3305a2b697 expose all audio formats supported by sndfile 2024-06-14 18:53:33 -05:00
tildearrow e8d34143cb Merge branch 'locale'
thanks everyone involved!

also special thanks to LTVA for pioneering language support in Furnace
2024-06-13 16:55:08 -05:00
Colin Kinloch 53ddffeb14 Fix wayland icon with SDL_VIDEO_WAYLAND_WMCLASS
This is used by SDL to set the xdg_toplevel app_id
2024-06-05 03:40:02 -05:00
tildearrow c9482ba86c I HATE GLOBAL CONFIGS I HATE GLOBAL CONFIGS I HATE
@tildearrow instead of this nonsense you could have just made a language menu in the interface settings
2024-06-01 16:36:00 -05:00
tildearrow 291e7f5d8b add a string to force glyph ranges 2024-05-31 17:13:20 -05:00
tildearrow 145212171f libintl for systems without libintl
warning: incomplete!
2024-05-30 19:34:34 -05:00
tildearrow e12bf82f49 the massive preparations - settings and sysConf 2024-05-26 23:30:33 -05:00
tildearrow 3f34a46575 GUI: prepare to add auto-fill on save 2024-05-24 00:19:03 -05:00
tildearrow 56d648189a GUI: default to OpenGL on macOS
Metal backend seems to be unstable...
2024-05-21 17:49:59 -05:00
tildearrow 603249573a GUI: separate wantScrollList
issue #1894
2024-05-21 17:26:04 -05:00
tildearrow 6f5450f0ec GUI: improve cursor focus
now it's no longer fucking annoying
2024-05-20 19:20:29 -05:00
tildearrow 4b1a31e70b incomplete code, because yes 2024-05-20 12:09:00 -05:00
tildearrow c690c681c5 renderGL: settings to change stencil and buffer si 2024-05-20 03:15:43 -05:00
tildearrow 45783e7797 GUI: fix recent file regression 2024-05-20 02:41:53 -05:00
tildearrow c4c8b6a3f4 backup management, part 1
new backup settings
backup manager but purging does not work yet
2024-05-19 19:36:09 -05:00
tildearrow 5e213256b6 import/export config and factory reset 2024-05-18 16:01:47 -05:00
tildearrow 4086cd3fc5 Merge branch 'master' into configSettings 2024-05-18 04:11:48 -05:00
tildearrow c539703a55 GUI: more aggressive power saving 2024-05-17 14:34:12 -05:00
tildearrow 724632e2a3 prepare for config import/export/reset 2024-05-17 12:45:31 -05:00
tildearrow f66d723251 handle texture death
finally fixes resize
2024-05-15 19:52:05 -05:00
tildearrow 394d5d6583 prepare to handle other texture formats
required for DirectX 9...
2024-05-15 02:48:18 -05:00
tildearrow 008fe4b6b8 improve audio export options - UNTESTED/UNFINISHED 2024-05-10 20:01:12 -05:00
tildearrow ae386f6269 GUI: add render preInit settings 2024-05-07 13:44:16 -05:00
tildearrow 542206bbb7 GUI: add action to move selected content
in pattern editor

TODO: CHECK FOR CVE
2024-05-06 23:24:57 -05:00
tildearrow 83007601f7 add option to build with console subsystem on Wind 2024-05-04 16:46:41 -05:00
tildearrow f28dcec683 release v0.6.3 2024-05-01 20:00:07 -05:00
tildearrow 36d9d31d2f better defaults for Windows XP 2024-05-01 01:25:27 -05:00
tildearrow aa966a5466 AtomicSSG AY core 2024-04-29 15:21:58 -05:00
tildearrow 7f354705e3 GUI: finally add ability to change coarse editstep 2024-04-26 12:53:33 -05:00
tildearrow e1d58d97cb GUI: add note/value input repeat option 2024-04-25 22:16:08 -05:00
tildearrow 94e9aee874 YM2608-LLE, part 1 - DOES NOT WORK 2024-04-25 20:25:34 -05:00
tildearrow 0ad7863d78 GUI: options to import/export user presets 2024-04-25 12:55:59 -05:00
tildearrow 1850968def SID2, part 1
thanks LTVA
2024-04-21 03:54:34 -05:00
tildearrow a6357525d9
Merge pull request #1844 from akumanatt/bifurcator
Add Bifurcator support
2024-04-21 03:28:55 -05:00
tildearrow e6bead147a Merge branch 'master' into metal 2024-04-14 16:40:25 -05:00
tildearrow 48f8afd6b9 why 2024-04-13 16:49:38 -05:00
tildearrow f2753d6ceb GUI: user presets, part 3
working
2024-04-12 17:26:52 -05:00
tildearrow f51035e8a0 Merge branch 'master' into metal 2024-04-11 13:27:39 -05:00
tildearrow e57e0810a7 GUI: add setting to configure font oversample 2024-04-11 13:08:50 -05:00
tildearrow 3e6a80d207 GUI: add setting to disable loading fallback font 2024-04-10 16:06:59 -05:00
tildearrow d5b3a6712d you broke my build 2024-04-10 12:42:25 -05:00
tildearrow c8661648c5 Merge remote-tracking branch 'Eknous-P/haptic-two' 2024-04-10 12:28:31 -05:00
tildearrow 6d8e6a9a55 GUI: user presets, part 1 2024-04-09 19:29:42 -05:00