Commit graph

911 commits

Author SHA1 Message Date
tildearrow ee16d20047 add demo song
by brickblock369
2022-08-13 15:53:47 -05:00
tildearrow 02fb5abc02 add ability to save ins/wave as .dmp/.dmw
also saving wavetables as raw data
2022-08-13 15:43:13 -05:00
tildearrow 041a76ad81 raw sample import fixes 2022-08-13 06:25:11 -05:00
tildearrow 91f9352eaf implement raw sample import
untested
2022-08-13 05:50:36 -05:00
tildearrow ce2d322e47 GUI: add replace for wave/sample and prepare for
raw sample import
2022-08-13 04:17:32 -05:00
tildearrow 01d1556fb4 GUI: rename "system" to "chip"
"system" made sense when Furnace was a .dmf tracker and had
compound setups like Genesis (YM2612+SN)

however, it doesn't make too much sense now when compared to "chip"
2022-08-11 05:38:31 -05:00
tildearrow a0968aed07 GUI: fix text/binary command stream outs being swa 2022-08-05 03:27:35 -05:00
tildearrow d54d853ff8 add a command stream dump option 2022-08-04 00:51:47 -05:00
tildearrow 7ec4f7cb9e VGM export: add option to insert pattern change hi
nts
2022-08-03 18:44:45 -05:00
tildearrow 693d457fff GUI: wave generator, part 2 2022-07-27 02:23:29 -05:00
tildearrow 7d5f5a91c6 GUI: wave generator, part 1 2022-07-27 01:20:26 -05:00
tildearrow 173e9b0df9 **Namco C163** 2022-07-26 18:23:01 -05:00
tildearrow 588f3f737c preliminary Future Composer module loading
only loads patterns and doesn't deduplicate
conversion required to fit in the Furnace format (no transpose ins/note)
even the pattern loader itself isn't complete due to how different the
format is
2022-07-24 01:57:10 -05:00
tildearrow 8d88ac766c dev103 - store system name and other info in song 2022-07-23 17:02:03 -05:00
tildearrow 191a0dedf9 GUI: improve wavetable editor, part 2 2022-07-21 03:14:52 -05:00
tildearrow 962dab012c GUI: improve wavetable editor, part 1 2022-07-21 02:49:19 -05:00
tildearrow dff7c61b79 GUI: add option to disable threaded input 2022-07-20 00:32:06 -05:00
tildearrow 666b0d581a GUI: add multi-selection capability to file dialog 2022-07-15 02:23:16 -05:00
tildearrow 28a2db7a57 GUI: system file picker error feedback 2022-07-14 01:59:55 -05:00
ZeroByteOrg 40d67d7bb5 Merge branch 'master' into ZSMv1 2022-06-29 13:14:15 -05:00
tildearrow fc489239c2 tildearrow Sound Unit no longer a secret 2022-06-27 05:04:23 -05:00
tildearrow 522fecc635 GUI: gradient whoops 2022-06-24 03:17:40 -05:00
ZeroByteOrg ae7b271e1d Merge branch 'master' into ZSMv1 2022-06-23 13:45:12 -05:00
tildearrow 1b5396e814 GUI: save per-chan osc state 2022-06-23 04:02:41 -05:00
tildearrow 4731dad917 GUI: colors 2022-06-22 15:10:53 -05:00
tildearrow e0bccc8c14 GUI: prepare for colors in the per-chan osc 2022-06-21 18:01:53 -05:00
tildearrow af4a359801 GUI: make spoiler actually visible 2022-06-20 21:11:40 -05:00
tildearrow 60334fb03c GUI: add spoiler window 2022-06-20 15:20:02 -05:00
tildearrow 35bc757adf GUI: fix macOS system file picker crash 2022-06-19 18:51:51 -05:00
tildearrow ea082b255c GUI: prepare for drag selection to move 2022-06-18 03:52:03 -05:00
tildearrow 64f5343289 I give up trying to fix this file dialog
for now
2022-06-15 02:03:20 -05:00
tildearrow 7354b1221c GUI: find and replace, part 9 2022-06-11 02:14:30 -05:00
tildearrow 936d9dfa49 GUI: find and replace, part 6 2022-06-09 18:52:38 -05:00
ZeroByteOrg d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
tildearrow aa09ffeedd GUI: find and replace, part 1
it does not work yet
2022-06-07 13:49:12 -05:00
tildearrow eac59604df fix edit menu being too big 2022-06-06 18:04:19 -05:00
ZeroByteOrg 378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
tildearrow 9edc4818b5 prepare for find and replace window 2022-06-06 05:03:19 -05:00
tildearrow b6ea8ede86 fade out experiments - DO NOT COMPILE 2022-06-06 03:05:55 -05:00
tildearrow 8b33525a36 GUI: always go to beginning of song when loading 2022-06-06 01:23:35 -05:00
tildearrow 1778362933 GUI: add all/none buttons to ins selector 2022-06-05 23:44:52 -05:00
tildearrow b8c785230e GUI: implement instrument bank ins picker 2022-06-05 23:34:58 -05:00
tildearrow eb71c27ad9 GUI: preliminary "select instrument" dialog 2022-06-05 19:04:41 -05:00
tildearrow 1f1d2c85bd GUI: add mono/poly note preview button 2022-06-03 18:05:07 -05:00
tildearrow 2ac9651009 delay collapse/expand pattern/song feature :<
too much work...
2022-06-03 13:44:40 -05:00
tildearrow 107c82106c GUI: only set X11 window type if SDL >= 2.0.22
fixes #509
2022-05-31 13:14:43 -05:00
tildearrow dfc8706f5a GUI: more to it 2022-05-31 04:09:38 -05:00
tildearrow 54e93db207 GUI: try using FFTW for per-chan osc wave center
not reliable yet
2022-05-31 03:24:29 -05:00
tildearrow c306b33603 GUI: more osc stuff 2022-05-30 22:22:53 -05:00
tildearrow fc0a51ed56 GUI: add oscilloscope window size setting
and also remember last zoom/winSize value
2022-05-30 21:40:07 -05:00
tildearrow 5f4db8ca0b GUI: improve unified data view 2022-05-29 02:59:11 -05:00
tildearrow 84d4ca63c2 GUI: sample editor preview in selection 2022-05-29 02:13:08 -05:00
tildearrow 08543a2dc9 GUI: drag-and-drop ins/wave/sample loading 2022-05-28 18:51:05 -05:00
tildearrow e194ff1481 GUI: implement input for touch events 2022-05-27 16:10:37 -05:00
tildearrow ab91147c16 GUI: update SDL hints 2022-05-27 15:55:20 -05:00
ZeroByteOrg 0846f66a7e Removed merge conflict tag from gui.cpp 2022-05-27 13:00:23 -05:00
ZeroByteOrg 8af85096ff Fixed incorrect conflict-resolution in gui.cpp line 3049 2022-05-27 09:36:24 -05:00
ZeroByteOrg b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
tildearrow 13acffa427 GUI: store piano options in config 2022-05-27 01:13:33 -05:00
tildearrow e8af633f10 GUI: improve channel swapping 2022-05-27 01:04:12 -05:00
tildearrow 3651027d99 a 2022-05-27 00:29:29 -05:00
tildearrow 5d1785fb38 GUI: add timing debug info 2022-05-27 00:19:10 -05:00
tildearrow 979cb63c5b GUI: fix .cfgc/.cfgk extension duplication 2022-05-24 12:46:51 -05:00
tildearrow d490746325 GUI: finish lock layout 2022-05-24 02:38:10 -05:00
tildearrow 16afb6d7be GUI: hacky implementation of lock layout 2022-05-22 18:20:53 -05:00
tildearrow 367d14357c wave synth work
now there is a preview
2022-05-21 18:36:15 -05:00
tildearrow a34481205a GUI: more mobilework 2022-05-19 16:35:00 -05:00
tildearrow 769a89852f GUI: scroll instrument/wave/sample list when
selecting item
2022-05-19 13:06:26 -05:00
tildearrow dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
tildearrow 51d09ba407 GUI: early mobile UI 2022-05-18 18:42:59 -05:00
tildearrow 255fc4cc25 GUI: even more piano work
- don't allow piano window to be moved if clicking on piano
- only treat left click as a touch point
2022-05-18 00:23:13 -05:00
tildearrow cfa05143ab dev96 - add virtual tempo 2022-05-18 00:05:25 -05:00
tildearrow f1ca53561f GUI: more piano/input pad work 2022-05-17 18:55:44 -05:00
tildearrow 68b5522070 GUI: turn sub-song removal into a warning
issue #466
2022-05-17 17:21:29 -05:00
tildearrow 40a63433c5 GUI: prepare for the input pad 2022-05-17 15:48:37 -05:00
tildearrow 72645e9e13 GUI: piano note playback 2022-05-17 15:20:56 -05:00
tildearrow f96d5b4e81 GUI: add touch input primitives 2022-05-17 12:46:52 -05:00
tildearrow b5c336295f GUI: add option to clear orders 2022-05-17 01:46:34 -05:00
tildearrow c4614bff30 GUI: implement "clear all subsongs" 2022-05-17 01:42:21 -05:00
tildearrow b8a4fdb4c6 GUI: fix crash when deleting current subsong 2022-05-17 01:15:31 -05:00
tildearrow 5a0c715ba0 pick nits: the sequel 2022-05-16 20:49:31 -05:00
James Alan Nguyen ec80a2218c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-17 11:36:34 +10:00
tildearrow 0ae105ded3 hide .ftm format 2022-05-16 12:33:12 -05:00
tildearrow c5259066e1 GUI: make backupTimer atomic 2022-05-16 03:09:59 -05:00
James Alan Nguyen e6ad01b0f3 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 18:46:45 +10:00
tildearrow 25ab4467b4 whoops 2022-05-15 02:53:52 -05:00
James Alan Nguyen 0e07b745c7 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 16:49:52 +10:00
tildearrow c5786b61fb dev95 - multiple songs in a single file (READ)
experimental feature! proceed with caution.
if you experience song corruption or crashes, report issue immediately!

files with multiple songs will be readable in older versions of Furnace,
but only the first song will be read in those versions.

issue #199
2022-05-15 01:42:49 -05:00
tildearrow 06ec22d6a5 enforce asset limits 2022-05-14 17:51:05 -05:00
James Alan Nguyen 80e8a3155c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-14 23:22:57 +10:00
tildearrow 6f8f8d21f3 preparations for UI improvements
mostly around the system add/change UI
2022-05-14 04:05:29 -05:00
tildearrow f7c56bb05f GUI: add more presets 2022-05-14 02:38:38 -05:00
tildearrow a8e1c1ceb3 GUI: clarify that lock layout doesn't work yet 2022-05-14 02:00:33 -05:00
tildearrow 7649b08e0e GUI: remember last state of order edit mode 2022-05-14 01:56:27 -05:00
tildearrow 4a33a3846a GUI: store edit/followOrders/followPattern state
in config
2022-05-14 01:53:14 -05:00
tildearrow 1ba5ac6766 GUI: add ability to select entire row
when clicking on row number
2022-05-14 01:46:06 -05:00
tildearrow be0cbfa1f7 GUI: fix non-spaced MML string parsing
fixes #457
2022-05-13 18:03:35 -05:00
tildearrow 1b4256bb28 spelling change: Rom -> ROM - PLEASE READ
@Grauw: please update your MultiPCM code.
i know it's just a trivial change I made, but in my opinion "ROM"
indicates it's an acronym...
2022-05-12 22:15:03 -05:00
tildearrow 9bac00efe5
Merge pull request #448 from grauw/sample-rom-settings
Add emulation settings for YRW801, TG100 and MU5 sample ROMs.
2022-05-12 22:10:25 -05:00
Laurens Holst c29f18dfc2 Add emulation settings for YRW801, TG100 and MU5 sample ROMs. 2022-05-12 20:18:01 +02:00
James Alan Nguyen fbcd84d79b Address review comments 2022-05-12 10:29:45 +10:00
James Alan Nguyen 4354e4064b Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-12 09:57:11 +10:00
tildearrow a58d49a831 GUI: more mobile-specific changes 2022-05-11 16:09:23 -05:00
James Alan Nguyen 25abf4c733 WOPN progress 2022-05-09 21:22:21 +10:00
James Alan Nguyen 9bc9468baa Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
tildearrow 6bc1ee0957 GUI: add a threshold for macro right click 2022-05-08 22:52:21 -05:00
tildearrow 580d982f1e GUI: add macro right click menu 2022-05-08 18:32:16 -05:00
tildearrow 2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow 6672a886a3 GUI: fix crash when loading instrument
fixes #431
2022-05-05 17:45:18 -05:00
tildearrow 9a2938ff3e GUI: fix values button working as notes 2022-05-05 13:23:06 -05:00
tildearrow 9915fc0c8f GUI: add "don't display multi-system" option 2022-05-05 00:52:15 -05:00
tildearrow c3e55ae117 GUI: more improvements to instrument loading
now with an "instrument load always replace" option
2022-05-04 23:11:51 -05:00
tildearrow 99a313b684 GUI: implement instrument load replace 2022-05-04 22:55:11 -05:00
tildearrow 71cef797c6 GUI: only use edit color when pat view is focused 2022-05-04 20:56:26 -05:00
tildearrow 44f1134875 GUI: fix more issues
- macro range is now 128 (it was 127 before)
- fix #407
2022-05-04 18:42:36 -05:00
tildearrow 6bd5a9bcb6 prepare for possible .ftm import 2022-05-04 14:10:28 -05:00
tildearrow 2c9bad3b3d per-channel oscilloscope, part 9
work in progress!
2022-05-01 18:29:16 -05:00
tildearrow 4197fa44fb GUI: prepare for a per-channel oscilloscope?
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM

no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow ba657fe4db GUI: add backdrop if system file picker is open 2022-04-30 02:02:55 -05:00
tildearrow 52c0044bd9 GUI: add ability to customize startup system 2022-04-30 01:37:37 -05:00
tildearrow d79e5d77a7 GUI: finally implement "don't scroll when moving c
ursor" setting
2022-04-29 23:53:15 -05:00
tildearrow 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
tildearrow 635bd72904 GUI: sample/macro zoom with ctrl-wheel 2022-04-29 05:39:18 -05:00
tildearrow 0817fdeb84 GUI: possibly fix an instrument saving issue 2022-04-29 04:34:20 -05:00
tildearrow 859b2cf8db implement channel swapping
issue #378
2022-04-28 03:36:15 -05:00
tildearrow ff33eed2fd GUI: improve the maximize auto-detection a bit 2022-04-27 20:43:34 -05:00
tildearrow f057581b27 GUI: possibly remember maximized state 2022-04-27 20:40:30 -05:00
tildearrow 3306e853d1 effectRows -> effectCols
i don't know why did I call it "rows"
2022-04-27 17:53:55 -05:00
tildearrow 78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow 24d60507e7 sysDef refactor, part 2
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
tildearrow e8f29cf122 prepare for macroInt preview in instrument editor 2022-04-26 15:24:45 -05:00
tildearrow 9eb9561b53 GUI: fix #400 2022-04-26 01:07:28 -05:00
tildearrow e8c9b645c5 GUI: implement instrument preview in file dialog
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow b3f1935f2b GUI: prepare for more UX improvements
- add "temporary instrument" to DivEngine
- prepare for two things:
  - instrument preview on file picker (at least built-in one)
  - instrument selector for banks (#364)
2022-04-25 18:23:12 -05:00
tildearrow 521b311692 GUI: implement clear 2022-04-24 17:39:18 -05:00
tildearrow e414056f2d prepare for a clear option 2022-04-24 16:57:58 -05:00
tildearrow bb4bc01778 Merge branch 'newpitch' 2022-04-24 14:41:12 -05:00
tildearrow 6493a0481c i hate this 2022-04-23 13:39:00 -05:00
James Alan Nguyen 3865e3eac6 #79: OPNI support added...... 2022-04-24 03:49:01 +10:00
James Alan Nguyen a049e43618 #79: .y12 import done 2022-04-24 00:45:19 +10:00
James Alan Nguyen 3550ad512a OPM import: Fix reset read procedural flow 2022-04-23 20:20:29 +10:00
tildearrow 9c8d122389 GUI: use pattern font for input latch 2022-04-22 01:27:27 -05:00
tildearrow 2278c1a465 GUI: partially implement note input latch UI 2022-04-21 18:30:32 -05:00
tildearrow bd58059261 GUI: transpose value does not transpose effect ID 2022-04-21 18:11:34 -05:00
tildearrow 50deead11a GUI: prepare for note input latch UI 2022-04-21 18:10:59 -05:00
tildearrow 023761373d GUI: separate operation masks
also separate note/value transpose commands
2022-04-21 17:32:28 -05:00
tildearrow bc235ed494 GUI: prepare for separate operation mask 2022-04-21 03:45:06 -05:00
tildearrow 21c4d09c06 GUI: "none" instrument should not remove inscolumn 2022-04-21 03:26:34 -05:00
tildearrow bfdfac004f GUI: fix ins 0 being inserted on blank song 2022-04-21 03:22:01 -05:00
tildearrow 06a69a20e8 GUI: add "absorb" instrument input mode 2022-04-21 02:35:50 -05:00
tildearrow d4380e1524 GUI: add an effect list window 2022-04-19 18:44:05 -05:00
tildearrow 0258342324 M S V C 2022-04-17 02:08:53 -05:00
tildearrow 4f59eb2602 GUI: add toggle full-screen keybind 2022-04-17 01:57:50 -05:00
tildearrow 0952d1b2f9 GUI: add a full-screen option 2022-04-17 01:54:42 -05:00
James Alan Nguyen ac656f07bb Merge branch 'master' into feature/More-OPL-Patch-Support 2022-04-17 15:41:18 +10:00
tildearrow ef6e63239c GUI: introduce power-saving mode 2022-04-16 18:35:25 -05:00
tildearrow 330171edc3 GUI: add "note preview behavior" setting 2022-04-16 13:13:19 -05:00
tildearrow d0c76e020c GUI: more note preview fixes 2022-04-16 00:10:52 -05:00
tildearrow a81393472c GUI: move all preview actions to callback 2022-04-15 23:47:39 -05:00
tildearrow b48a2368be more low-latency mode work
playSub() runs at normal tick rate
2022-04-15 22:22:47 -05:00
James Alan Nguyen 1985546d0b Add file extension to picker 2022-04-15 22:20:46 +10:00
tildearrow c76e719371 GUI: prepare for more macros 2022-04-15 02:51:38 -05:00
tildearrow f9e9c6c179 huh 2022-04-15 01:30:21 -05:00
tildearrow 5eb2717884 GUI: slightly tweak note preview algorithm
issue #338
2022-04-14 13:54:47 -05:00
tildearrow 11516d7923 GUI: allow cursor movement when stepping 2022-04-14 03:05:58 -05:00
tildearrow 55e085b148 GUI: separate current order from engine order
fixes #105
2022-04-14 02:58:29 -05:00
tildearrow d6333af330 GUI: unreliable version of #63 2022-04-13 18:16:55 -05:00
tildearrow 720f046f28 GUI: implement no-nibble-push value input 2022-04-13 17:42:55 -05:00
tildearrow e86174921b GUI: partially add a piano 2022-04-13 03:24:49 -05:00
tildearrow 2cd454a59d major warning dialog changes
it makes more sense now. closes #321
2022-04-13 02:09:59 -05:00
tildearrow ff75c7fe01 GUI: implement macro line drawing 2022-04-12 23:03:20 -05:00
tildearrow a20861559b implement .dmc loading 2022-04-12 03:34:53 -05:00
tildearrow ea463e4dfd
Merge pull request #352 from OPNA2608/add/ff_import
Add FF bank import
2022-04-12 02:43:16 -05:00
tildearrow ac286fc8d1 GUI: real-time color setting preview 2022-04-11 02:53:21 -05:00
tildearrow 552967246d **SUBMODULE UPDATE - PLEASE READ!**
as of now I have added the Date library as a submodule in order to have
log messages in the correct time zone

please update your submodules by doing:
```
git submodule update --init --recursive
```
2022-04-10 23:01:55 -05:00
tildearrow fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
OPNA2608 91d8c48542 Add FF bank import 2022-04-10 14:16:33 +02:00
tildearrow 11cdc3924d GUI: improve oscilloscope
it's not finished yet
2022-04-09 05:02:24 -05:00
tildearrow 7bf2a3ea1a GUI: prepare for oscilloscope improvements 2022-04-09 02:42:58 -05:00
tildearrow 9e0e8f3345 dev80 - increase song limits
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow 62ff7317e3 GUI: effectCursorDir improvements 2022-04-08 02:16:57 -05:00
tildearrow 5d52ef7f00 support .dmf with 6-bit wavetables 2022-04-07 20:13:11 -05:00
tildearrow 743664aad1 GUI: extension check for keybinds/colors/layout 2022-04-06 14:45:58 -05:00
tildearrow 4d23c1dc6d new extension for colors and keybinds 2022-04-06 14:17:29 -05:00
tildearrow eb8f99dafe GUI: import/export colors/keybinds/layout
untested
2022-04-06 13:53:39 -05:00
tildearrow 4a131952e4 GUI: ps_fopen 2022-04-06 02:46:09 -05:00
tildearrow f89360392f GUI: add setting to customize the title bar
closes #339
2022-04-04 13:25:38 -05:00
tildearrow 90bbc42290 GUI: more usability improvements
- move cursor to end of clipboard when pasting
- better effect input
2022-04-03 19:20:30 -05:00
tildearrow e44d081adc prepare for .opm support
goodbye addInstrumentFromFile
hello instrumentFromFile + addInstrumentPtr

these changes are required to allow loading instrument banks
2022-04-03 01:56:49 -05:00
tildearrow fa234afc9d GUI: prepare to add a "lock layout" option 2022-04-02 15:07:47 -05:00
tildearrow ab5ed4413e GUI: usability fixes (ctrl-wheel)
as of now Ctrl-wheel allows you to fine change sliders
also added undo/redo buttons to sample editor
2022-04-02 00:11:44 -05:00
tildearrow 81c8bf4e59 add ability to select VGM version when exporting
by default it is 1.71 but please tell me if you want this to be changed
2022-04-01 21:40:32 -05:00
tildearrow ffb01dd19c Revert "release 0.6pre0"
This reverts commit f7566455c2.
2022-04-01 05:20:00 -05:00
tildearrow f7566455c2 release 0.6pre0 2022-04-01 04:45:06 -05:00
tildearrow 052dcb2576 implement more MIDI stuff 2022-04-01 01:50:01 -05:00
tildearrow a5a65d4db3 GUI: implement MIDI learn 2022-03-31 18:39:01 -05:00
tildearrow d321292543 separate VRC6 and VRC6 saw ins types 2022-03-31 15:25:58 -05:00
tildearrow 45ce940d66 better MIDI and note input handling
closes #147
2022-03-31 01:51:57 -05:00
tildearrow a8ee4b1245 GUI: kinda working MIDI note input 2022-03-30 18:18:39 -05:00
tildearrow 501ecc063d GUI: earliest MIDI note input 2022-03-30 15:44:27 -05:00