Commit graph

765 commits

Author SHA1 Message Date
tildearrow
f09a0b40c3 assign note off key to 1
fixes #103 as interim
2022-02-01 18:09:54 -05:00
tildearrow
d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
Christoph Neidahl
c83e146d11
Improve devendoring & other CMake stuff (#21)
* Improve devendoring

* Add warning flags for own C++ code

For https://github.com/tildearrow/furnace/pull/12#issuecomment-1017330467.

* Document new CMake options

* pkg-config stuff

* Warnings stuff for MSVC yay

* Use more specific linking vars & functions

* Fix Linux icon location

* DEPENDENCIES_LEGACY_LDFLAGS for JACK too
2022-02-01 15:50:25 -05:00
tildearrow
f29d4bce1b implement 11xx effect on FM platforms
please no ch 3
2022-02-01 15:12:06 -05:00
tildearrow
7c9beca93f release 0.5.1 2022-02-01 03:50:11 -05:00
tildearrow
5f918a7d18 SAA: add envelope macro 2022-02-01 03:44:02 -05:00
tildearrow
6c6cb52dd1 GUI: stop notes on octave change 2022-02-01 03:28:36 -05:00
tildearrow
4f5d37d415 VGM export: fix Genesis samples wrongly pitched 2022-02-01 03:23:29 -05:00
tildearrow
df97142157 fix improper dir sep when loading sample on Win 2022-02-01 03:20:15 -05:00
tildearrow
f75803c3b2 C64: fix filter reset not working well 2022-02-01 03:16:03 -05:00
tildearrow
34a68751e1 GUI: add ability to open files by drag-and-drop 2022-02-01 03:09:53 -05:00
tildearrow
5ec8c8aa07 GUI: prevent color leak in channel names 2022-02-01 03:01:07 -05:00
tildearrow
ba08d3515f GUI: fix several file dialog bugs
damn it
2022-02-01 02:52:36 -05:00
tildearrow
de931c1d2f did I just make an instrument loader 2022-02-01 01:21:51 -05:00
tildearrow
227fff021e try fixing .dmp loading
what a mess this format was before 1.0
2022-02-01 00:58:00 -05:00
tildearrow
80c815fe83 GUI: add panic option 2022-01-31 17:56:49 -05:00
tildearrow
72c548394f now add noise and/or mask macro for real
upcoming is auto-PWM
2022-01-31 17:45:02 -05:00
tildearrow
e95258ad91 AEGJDSKADFGIOGSHBJSFKAL;FS 2022-01-31 17:28:17 -05:00
tildearrow
d4858f0d40 fqwhjdgl;f'a\?SFG 2022-01-31 17:02:44 -05:00
tildearrow
afe318c402 seemingly fix it 2022-01-31 17:00:52 -05:00
tildearrow
23ff23f7e7 again 2022-01-31 16:40:47 -05:00
tildearrow
9492edcdab prepare to fix AY8930 emulation 2022-01-31 16:33:45 -05:00
tildearrow
af26ec9faf fix loading some .dmf modules 2022-01-31 16:33:32 -05:00
tildearrow
48046ef86c aw COME on 2022-01-31 13:02:20 -05:00
tildearrow
da8380a6e2 prepare to fix loading old .dmp files 2022-01-31 12:55:51 -05:00
tildearrow
0da7aaa56e increase tuning range 2022-01-31 12:55:33 -05:00
tildearrow
88efee49a1 GUI: capital hexadecimal 2022-01-31 02:38:17 -05:00
tildearrow
de4875676f PCE: fix samples being one octave higher 2022-01-31 02:28:51 -05:00
tildearrow
432f440be5 VGM export: fix SN chip mode not being set 2022-01-30 23:51:35 -05:00
tildearrow
ff5357de10 VGM export: fix playback speed being wrong
if audio rate wasn't 44100Hz
2022-01-30 23:07:09 -05:00
tildearrow
a1d3d3d873 release 0.5
finally
2022-01-30 18:23:40 -05:00
tildearrow
1fe28ca1a3 GUI: set system font paths for Windows 2022-01-30 18:22:59 -05:00
tildearrow
8963e63806 GUI: update default layout 2022-01-30 18:17:46 -05:00
tildearrow
9abac414cb GUI: interpolate fast macro/wave drags 2022-01-30 18:10:41 -05:00
tildearrow
fe0dc38f37 add VGM export warnings 2022-01-30 17:18:10 -05:00
tildearrow
237ad1f517 SMS: possibly fix noise pitch issue
hoping this causes no regressions. fixes #56
2022-01-30 17:10:15 -05:00
tildearrow
bf9eb8b0a4 fix two possible pitch slide regressions
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow
5b2f776718 which arcade 2022-01-30 13:26:51 -05:00
tildearrow
9b213223cc VGM export: respect clock rate flags 2022-01-30 13:07:23 -05:00
tildearrow
822d542350 limit volume macro to system maximum
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow
de5327d89a GUI: add a volume meter 2022-01-29 18:56:08 -05:00
tildearrow
adbe70fa05 GUI: remember window size 2022-01-29 17:27:51 -05:00
tildearrow
ab814604b5 limit window size to available space
for smaller than 1280x800 displays
2022-01-29 17:23:45 -05:00
tildearrow
f01ce71fb6 GUI: add an option to set modal backdrop color 2022-01-29 14:20:30 -05:00
tildearrow
c78532412d GUI: add overflow highlight setting
addresses one UI instability
2022-01-29 14:12:38 -05:00
tildearrow
fbb5455292 add PM/AM depth macro 2022-01-29 04:37:53 -05:00
tildearrow
17ca6402d3 add instrument read error messages 2022-01-29 04:25:55 -05:00
tildearrow
28a0f8775f GUI: swap position of FB and ALG in ins edit 2022-01-29 04:25:28 -05:00
tildearrow
54a84c2ce1 preliminary .dmp loading
preliminary I said
some things don't load
2022-01-29 03:21:47 -05:00
tildearrow
386db38c34 GUI: remember last open windows 2022-01-29 01:54:30 -05:00
tildearrow
03c4891acb lol 2022-01-29 01:23:21 -05:00
tildearrow
5dafd10fc7 add several warning dialogs 2022-01-29 01:22:32 -05:00
tildearrow
e9accf16db one more change to the format 2022-01-29 00:22:12 -05:00
tildearrow
b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow
44649e3ce4 update ymfm readme 2022-01-28 22:33:42 -05:00
tildearrow
3b95baa60e Neo Geo: fix an ymfm bug... 2022-01-28 22:28:08 -05:00
tildearrow
629d229bc1 i will finish this later today 2022-01-28 18:12:56 -05:00
tildearrow
09ebadf479 ( 2022-01-28 17:10:22 -05:00
tildearrow
bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow
8c353548f5 prepare for system flags
issue #61
2022-01-28 03:40:06 -05:00
tildearrow
0567a3f71b GUI: add chip names option 2022-01-28 03:17:35 -05:00
tildearrow
9b62eb9d34 GUI: don't display a tooltip on the oscilloscope 2022-01-28 03:08:55 -05:00
tildearrow
30e72a348b GUI: add ability to dock editors
closes #58
2022-01-28 01:26:26 -05:00
tildearrow
ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow
0071894471 GUI: add a preliminary oscilloscope 2022-01-27 17:49:00 -05:00
tildearrow
17375cdbe0 GUI: tweak mixer a bit 2022-01-27 17:24:47 -05:00
tildearrow
8dc2b23db9 GUI: turn ins type into a combo box 2022-01-27 16:59:51 -05:00
tildearrow
b812fc4041 prepare for sample C-4 freq
issue #70
2022-01-27 16:52:06 -05:00
tildearrow
3d25cfc501 and again 2022-01-27 16:13:45 -05:00
tildearrow
e15c4b612f fix it again 2022-01-27 16:11:40 -05:00
tildearrow
5edbce6f4f fix system font on macOS 2022-01-27 16:11:05 -05:00
tildearrow
cd9b2b675e VGM export: dual chip for real 2022-01-27 15:47:57 -05:00
tildearrow
c4163699b6 Arcade: add noise freq macro
issue #16
2022-01-27 15:42:31 -05:00
tildearrow
30b553e87e AY: add envelope and auto-envelope macros 2022-01-27 15:31:48 -05:00
tildearrow
ab38377bc5 GUI: add alternate FM names option 2022-01-27 15:01:05 -05:00
tildearrow
60a1e6f395 VGM export: kind of dual chip support 2022-01-27 13:10:51 -05:00
tildearrow
3405018a91 prepare to add a setting for tech names in FM par
ams
2022-01-27 04:51:34 -05:00
tildearrow
578542ff16 fix no GUI build again 2022-01-27 04:27:21 -05:00
tildearrow
17b1a65280 fix no GUI build 2022-01-27 04:25:16 -05:00
tildearrow
c577eeafac VGM export: implement sys selection/loop options
the final thing to do is dual chip support, but I wanna get 0.5
out already
2022-01-27 02:46:40 -05:00
tildearrow
3ed738dd6a Arcade: fix arpeggio macro 2022-01-27 02:35:16 -05:00
tildearrow
3cf71c4ccb Neo Geo: implement FM macros 2022-01-27 02:32:34 -05:00
tildearrow
5eb974456d Arcade: implement FM macros 2022-01-27 02:17:09 -05:00
tildearrow
684daa29e3 more uninitialized stuff :< 2022-01-27 02:02:33 -05:00
tildearrow
c47851e7c7 GUI: highlight loop 2022-01-27 01:04:26 -05:00
tildearrow
8edcbc8d39 fix 0Bxx and 0Dxx commands
now wiz lab and sixeight-v2 play correctly
TODO: fix walkSong
2022-01-27 00:29:37 -05:00
tildearrow
0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow
30b012cc5e Game Boy: initialize uninitialized variable 2022-01-26 18:03:25 -05:00
tildearrow
1347d16da4 Genesis: fully implement volume macro 2022-01-26 18:03:08 -05:00
tildearrow
143543e0b4 GUI: and more macro editor work 2022-01-26 17:22:29 -05:00
tildearrow
554b69e9f3 GUI: MML strings for waveforms
issue #67
2022-01-26 16:29:49 -05:00
tildearrow
a895cb9c5e NES: fix issue for real 2022-01-26 16:07:55 -05:00
tildearrow
bf19feab89 NES: actually set chip type to 2A07 if PAL
fixes #72
see also #27
2022-01-26 15:55:37 -05:00
tildearrow
f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow
1981dc6033 GUI: MML string improvements 2022-01-26 15:23:50 -05:00
tildearrow
e195031538 add MML strings in macro editor
completely UNTESTED as I wrote this on bed
2022-01-26 13:13:17 -05:00
tildearrow
c822532b54 several improvements to new macro UI
now it is fully usable
well, almost
2022-01-26 03:49:46 -05:00
tildearrow
4d1b69e905 fix Ctrl-C not stopping in console mode 2022-01-26 03:00:58 -05:00
tildearrow
d882fd33f8 GB: lower volume
somehow a fix brought in a bug
2022-01-26 03:00:49 -05:00
tildearrow
496501803f GUI: add advanced VGM export menu
does NOT work yet!
2022-01-26 00:26:15 -05:00
tildearrow
b2d2da1f1c correct names for Genesis and SMS 2022-01-25 22:29:00 -05:00
tildearrow
8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow
c7ee0ce642 save my register writes 2022-01-25 16:52:55 -05:00
tildearrow
3672ceccb7 VGM export: write loop point
proper channel reset after loop pending!!!
2022-01-25 16:44:21 -05:00
tildearrow
503a79c904 what? 2022-01-25 15:51:53 -05:00
tildearrow
61a1932bce add walkSong 2022-01-25 15:06:29 -05:00
tildearrow
6d54023b70 VGM export: report number of total writes 2022-01-25 04:43:56 -05:00
tildearrow
b527fc06b2 try to unglitch the sample loops again
this time it works better but it slightly moves the song clock...
will look at it when i wake up
2022-01-25 03:34:11 -05:00
tildearrow
e8163b71e2 try to unglitch the sample loops
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2022-01-25 03:24:32 -05:00
tildearrow
0c8ec07633 VGM export: kind of implement sample loop
for PCE, NES and Genesis
kinda glitchy
2022-01-25 03:12:53 -05:00
tildearrow
b6c536c907 VGM export: fix PC Engine samples 2022-01-25 02:38:46 -05:00
tildearrow
2dac7f3b87 add ability to switch octaves using numpad / and * 2022-01-25 00:08:46 -05:00
tildearrow
511b6ba0be VGM export: PCE samples (kinda) 2022-01-24 18:04:09 -05:00
tildearrow
cda191afee VGM export: NES samples 2022-01-24 17:48:58 -05:00
tildearrow
92b5620497 VGM export: fix sample glitch if length&255==0 2022-01-24 17:19:34 -05:00
tildearrow
9d2032d627 VGM export: Arcade sample looping 2022-01-24 17:13:47 -05:00
tildearrow
d945e5299a Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6' 2022-01-24 15:53:02 -05:00
tildearrow
bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow
50a0f1f360 VGM export: fix up SegaPCM
turns out it is capable of arbitrary loop position!
2022-01-24 15:23:42 -05:00
tildearrow
9654c6a85d add -vgmout parameter
to output VGM files from command line
2022-01-24 13:15:07 -05:00
tildearrow
fedc045909 add SegaPCM commands
let's hope it works
2022-01-24 13:06:06 -05:00
tildearrow
993ab767b6 ADPCM memory safety 2022-01-24 12:47:18 -05:00
tildearrow
e221bcb023 VGM export: bake SegaPCM samples
after this, the following has to be done:
- PCM playback
- PCM playback on PCE and NES (let's hope this is possible)
2022-01-24 12:39:05 -05:00
tildearrow
ea796c2d6b VGM export: fix noise in Neo Geo 2022-01-24 02:57:49 -05:00
tildearrow
066f0f074f fix clicking 2022-01-24 02:55:01 -05:00
tildearrow
1b4081a044 VGM export: implement ADPCM storage
possibly first open-source Neo Geo tracker that exports to .vgm
2022-01-24 02:52:45 -05:00
tildearrow
a3a2e3ff47 add more chips to VGM export
missing:
- Sega PCM
- Neo Geo ADPCM
2022-01-24 02:09:03 -05:00
tildearrow
0ab0ebdddb GUI: actually add the export VGM option 2022-01-24 01:10:38 -05:00
tildearrow
858d5343b8 earliest VGM export!
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow
35ee06d6cf fix ECxx effect
fixes #57
2022-01-23 22:00:46 -05:00
tildearrow
9fe0efd63a VGM export skeleton DOES NOT WORK
VGM export not there yet. please don't use it.
2022-01-23 21:50:45 -05:00
tildearrow
f42a326693 GUI: revamp the macro editor 2022-01-23 17:55:02 -05:00
tildearrow
0928dea37a oops 2022-01-23 17:02:24 -05:00
tildearrow
c5282df819 GUI: rename Absolute to Fixed
see issue #55
2022-01-23 17:02:09 -05:00
tildearrow
beeb074975 GUI: prepare for modern macro view 2022-01-23 17:01:19 -05:00
tildearrow
5e2a827e68 GUI: add setting to change macro UI 2022-01-23 16:46:32 -05:00
tildearrow
32e56be9b7 GUI: add the last FM macro tab 2022-01-23 16:34:20 -05:00
tildearrow
9274033358 GUI: disable macro loop with right click
issue #53
2022-01-23 15:56:03 -05:00
tildearrow
524f8c312e Genesis: implement arp macros 2022-01-23 15:55:12 -05:00
tildearrow
45d9bef2a8 Genesis: restore LFO value when changing order 2022-01-23 15:15:46 -05:00
tildearrow
cd2854d027 it works 2022-01-23 15:12:00 -05:00
tildearrow
b39b1c0a25 Genesis: implement FM macros (partial, untested) 2022-01-23 13:19:19 -05:00
tildearrow
04f0c6a7cb prepare the skeleton for VGM export 2022-01-23 13:19:06 -05:00
tildearrow
ccc2467d7b run all the 60 macros
one more step and then we have FM macros
2022-01-23 03:27:44 -05:00
tildearrow
a45c697004 now Neo Geo 2022-01-23 00:57:47 -05:00
tildearrow
e79a1bd64d bring command-line audio export back! 2022-01-22 23:50:49 -05:00
tildearrow
58c9edf9c1 store FM macros in file
a few more steps and then we'll have functional FM macros
2022-01-22 22:21:21 -05:00
tildearrow
9940222a6f prepare for storage of FM macros 2022-01-22 18:28:43 -05:00
tildearrow
f286e65dc1 fix it! 2022-01-22 18:06:18 -05:00
tildearrow
d62b111c78 Genesis: separate channel state from instrument
paves way for FM macros
with this change, extended channel 3 mode breaks! do not use
until I diagnose the problem.
2022-01-22 17:43:57 -05:00