Commit graph

1067 commits

Author SHA1 Message Date
tildearrow
46fd774f30 allow sample preview via keyboard 2022-01-20 16:51:31 -05:00
tildearrow
aa82ccfbc5 GUI: allow use of negative octaves
closes #41
2022-01-20 16:21:35 -05:00
tildearrow
812d0397a8 GUI: rename Amiga ins type to sample 2022-01-20 14:18:15 -05:00
tildearrow
8d1e14e844 GUI: implement pattern cursor wrapping
to be tested. see issue #34
2022-01-20 13:15:37 -05:00
tildearrow
8ab97a959c add ps_fopen to properly handle fopen on Windows
fixes #22
2022-01-20 05:04:03 -05:00
tildearrow
04240ffa46 GUI: move cursor up on pull delete
fixes #28
2022-01-20 02:53:59 -05:00
tildearrow
3954a23f3e GUI: add double-click to toggle solo
closes #33
2022-01-20 02:28:55 -05:00
tildearrow
86f0ec45fa GUI: allow order input 2022-01-20 02:11:03 -05:00
tildearrow
b66918bf62 don't compile icon.c under Windows either
MSVC weirds out
2022-01-20 01:46:03 -05:00
tildearrow
1e0131cdac and do it for real 2022-01-20 01:40:50 -05:00
tildearrow
0282c9c0b4 GUI: re-arrange FM parameter layout 2022-01-20 01:39:54 -05:00
tildearrow
93c4ab0cc8 GUI: rewrite note preview logic
now with polyphony! see issue #16
2022-01-20 01:32:16 -05:00
tildearrow
d8571eda08 add types for ins/wave formats 2022-01-20 00:39:28 -05:00
tildearrow
797ffd62da GUI: center file picker and limit to win size 2022-01-20 00:31:36 -05:00
tildearrow
3a87017821 GUI: force a minimum file picker window size
see issue #16
2022-01-20 00:13:50 -05:00
tildearrow
7ad715da38 GUI: hide duty macro if PCE 2022-01-20 00:09:30 -05:00
tildearrow
85dd6c3579 add ability to preview wavetables
issue #16
2022-01-20 00:07:53 -05:00
tildearrow
abea8e5dce fix clipboard pasting bug
NOT ANOTHER OF THESE!
2022-01-19 21:53:21 -05:00
tildearrow
9f6b8ed521 prepare for different order edit modes
see issue #31
2022-01-19 18:19:52 -05:00
tildearrow
7c509ba9b8 highlight cursor row when edit mode is on
closes #29
2022-01-19 18:10:42 -05:00
tildearrow
a47a571f0b add row number base setting
closes #30
2022-01-19 18:04:07 -05:00
tildearrow
f39e522e7e really allow 8 effect columns
third time is the charm
2022-01-19 17:34:20 -05:00
tildearrow
64a7744f10 one more crash fix! 2022-01-19 17:09:34 -05:00
tildearrow
379d90ae4d add more fonts
partially related to an issue when displaying non-Latin characters
however a true fix isn't coming yet as I haven't figured out a way
to load glyphs during run-time as needed
2022-01-19 16:58:01 -05:00
tildearrow
b091404d63 increase effect column limit to 8 2022-01-19 13:10:41 -05:00
tildearrow
e24738fcda possibly fix a crash when opening file picker
with missing directory
2022-01-19 05:44:19 -05:00
tildearrow
62a499644f add wavetable saving 2022-01-19 05:10:06 -05:00
tildearrow
44ef49d267 GUI: fix note pasting
issue #23
2022-01-19 04:32:40 -05:00
tildearrow
dce289a5a0 add early code for saving instruments 2022-01-19 03:28:29 -05:00
tildearrow
a989fa8920 prepare for ins/wave loading/saving 2022-01-19 03:15:20 -05:00
tildearrow
464714df00 GUI: add clone instrument/wave 2022-01-19 02:59:44 -05:00
tildearrow
20bca9cce4 AY8930 code attribution 2022-01-18 18:32:42 -05:00
tildearrow
64745648a0 allow negative octaves 2022-01-18 16:55:32 -05:00
tildearrow
2363f1dd58 GUI: reduce height of AY8930 duty macro to 8 2022-01-18 15:54:15 -05:00
tildearrow
345962092e add notifyWaveChange
fixes #8
2022-01-18 00:25:10 -05:00
tildearrow
af30d4990a GUI: add algorithm text 2022-01-18 00:04:13 -05:00
tildearrow
6d9f5db6a4 add notifyInsChange
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow
8d4d47950c rewrite audio export
now it is possible to export audio from the GUI!
multiple export coming soon
2022-01-17 23:34:29 -05:00
tildearrow
15f8a9b66f GUI: prevent stuck note if ImGui wants capture kb 2022-01-17 21:34:57 -05:00
tildearrow
df3ae12278 fix furnace for 32-bit 2022-01-17 21:08:14 -05:00
tildearrow
a0896f949c and againnnnn 2022-01-17 18:18:28 -05:00
tildearrow
f3a61f3222 fix build in old compiler 2022-01-17 17:12:24 -05:00
tildearrow
dde2462025 proper non-QWERTY keyboard support 2022-01-17 14:53:46 -05:00
tildearrow
49fa75f4b5 GUI: add transpose keys 2022-01-17 02:06:05 -05:00
tildearrow
6ca3c4ec4d dynamic audio settings changing 2022-01-17 01:42:26 -05:00
tildearrow
499af535da GUI: audio quality option
not working yet
2022-01-16 17:38:52 -05:00
tildearrow
7b797c3028 GUI: improve settings management 2022-01-16 17:25:43 -05:00
tildearrow
9193ec0f14 add attribution for SAA1099 core 2022-01-16 01:47:19 -05:00
tildearrow
b8538fa091 GUI: fix some cases in where curNibble remains 1 2022-01-16 01:37:16 -05:00
tildearrow
45b6c19867 rename system to platform
easier to understand
2022-01-16 01:17:30 -05:00
tildearrow
5666cd3bce prevent setting speed to 0 and update year 2022-01-15 22:38:51 -05:00
tildearrow
848373cb07 GUI: add sample tips 2022-01-15 21:57:56 -05:00
tildearrow
31f8378cef Amiga: take loop pos into account 2022-01-15 18:03:37 -05:00
tildearrow
c9b69f885a GUI: correct volume macro range for Amiga 2022-01-15 17:42:17 -05:00
tildearrow
113a1577b6 do the Amiga 2022-01-15 17:28:33 -05:00
tildearrow
0e2230d036 hopefully finish the SAA1099 platform 2022-01-14 23:26:22 -05:00
tildearrow
c23ba3b532 add TIA instrument type 2022-01-14 15:21:57 -05:00
tildearrow
573ce69dc7 add TIA platform
currently there is a desync bug which remains to be fixed...
2022-01-14 03:37:36 -05:00
tildearrow
8c7e58b3d5 GUI: only open file if able to save 2022-01-14 00:34:22 -05:00
tildearrow
dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow
805cf69c52 deprecate macro heights
now we do everything based on the ins type
2022-01-13 20:44:45 -05:00
tildearrow
0b352ecd9a add AY-3-8910 platform!
this paves the way for eventual AY-3-8930 platform...
2022-01-13 02:52:19 -05:00
tildearrow
2fcb474544 stuff
implement two systems and system vol/pan
2022-01-13 01:03:57 -05:00
tildearrow
6245b3af31 add Cxxx effect for mid-song Hz change
also add hang detection as I ran into one of them while test multi-chip
2022-01-12 02:45:26 -05:00
tildearrow
80c03fcbae GUI: home/end keys 2022-01-11 18:54:31 -05:00
tildearrow
5dfe19e52d GUI: remove instrument when deleting one note 2022-01-11 18:50:44 -05:00
tildearrow
b26ef5ac82 GUI: better instrument value input 2022-01-11 18:43:19 -05:00
tildearrow
651db5784e implement more effects
- C64: set fine duty and filter
- Neo Geo: slide SSG envelope
2022-01-11 18:38:26 -05:00
tildearrow
4c5fbc252b allow moving ins/wave/samples up or down 2022-01-11 03:52:11 -05:00
tildearrow
020d278f00 GUI: freeze the first column in orders 2022-01-11 03:40:21 -05:00
tildearrow
5637639950 waveform width/height controls 2022-01-11 03:16:32 -05:00
tildearrow
02b5b05e04 prepare for 0.3 2022-01-10 17:30:36 -05:00
tildearrow
5bcc3d5d6d absolute C64 filter macros!
exclusive to .fur format
2022-01-10 17:04:31 -05:00
tildearrow
9f6bb570c9 absolute C64 duty macros!
exclusive to .fur format
2022-01-10 16:54:58 -05:00
tildearrow
3fdcd3a4fc GUI: final refinements to macro editor (hopefully) 2022-01-10 16:42:51 -05:00
tildearrow
9f14d1959c GUI: prepare for macro height 2022-01-10 15:19:41 -05:00
tildearrow
b4127d7222 GUI: TODO 2022-01-10 03:36:49 -05:00
tildearrow
b4cd93886b GUI: change color of C64 instrument a bit 2022-01-10 00:07:08 -05:00
tildearrow
d0a2a0f902 auto-determine ins type when adding 2022-01-09 23:50:26 -05:00
tildearrow
bcacc763a8 GUI: more changes around ins edit 2022-01-09 22:09:45 -05:00
tildearrow
325478e37a GUI: revamp instrument editor 2022-01-09 17:48:09 -05:00
tildearrow
9b6db75d4f C64: use full cutoff/duty range
this means .dmf becomes a second-class citizen since it only supports a
range of 0-100 (yeah) for arbitrary reasons...

the last bit to do is add effect that allows you to use the full range
2022-01-09 17:00:52 -05:00
tildearrow
4bbfc22c2a GUI: add/remove options 2022-01-09 16:36:47 -05:00
tildearrow
8d9cddde37 implement Furnace format saving
experimental and no loading yet
2022-01-09 03:52:41 -05:00
tildearrow
c43cc0ae80 GUI: add option to add more systems 2022-01-08 18:18:23 -05:00
tildearrow
06c7ac92a2 earliest multi-chip support
no saving, no adding chips yet...
only the beginning
2022-01-08 17:15:12 -05:00
tildearrow
7080434ed4 this does not compile 2022-01-08 16:03:32 -05:00
tildearrow
f47543ab98 prepare for multiple chip support, part 2 2022-01-08 03:02:04 -05:00
tildearrow
254bf18036 move the code a bit to load/save other formats 2022-01-08 02:22:04 -05:00
tildearrow
073703f8ba refuse to save YMU759 songs
the .dmf format no longer allows YMU759 songs...
2022-01-08 02:04:43 -05:00
tildearrow
121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -05:00
tildearrow
c6f17f1360 use the new icon 2022-01-07 03:29:56 -05:00
tildearrow
530a9bafc7 add a metronome 2022-01-04 00:02:41 -05:00
tildearrow
2608c0d84e GUI: allow instrument preview on ins list/edit 2021-12-31 17:14:30 -05:00
tildearrow
f59b808959 GUI: remember last directory in file picker 2021-12-30 22:34:42 -05:00
tildearrow
0f7ea7c269 GUI: finish the modified thing 2021-12-30 18:52:36 -05:00
tildearrow
9a1853249b finally make the save option work 2021-12-30 18:25:55 -05:00
tildearrow
8cd54ebe7b fix. a. warning. 2021-12-30 17:30:24 -05:00
tildearrow
6222e0933a prepare for more settings work 2021-12-29 00:50:00 -05:00
tildearrow
0bd7278699 GUI: make ins picker a bit more clear 2021-12-28 23:10:30 -05:00
tildearrow
be3b4da834 add note preview feature 2021-12-28 18:23:57 -05:00
tildearrow
1605f4f3c0 better global pitch effect
still work in progress
2021-12-27 16:15:11 -05:00
tildearrow
fa6c9fb7b7 GUI: make undo/redo key global 2021-12-26 23:54:56 -05:00
tildearrow
cea595bfb8 GUI: undo, part 2 2021-12-26 18:28:06 -05:00
tildearrow
114ee9a7e4 there might be some memory corruption here 2021-12-26 18:21:25 -05:00
tildearrow
ca62347917 GUI: undo, part 1 2021-12-26 18:05:18 -05:00
tildearrow
8d587f72f2 i'll finish this in a bit 2021-12-24 18:27:55 -05:00
tildearrow
8428f7da32 GUI: make the new button work 2021-12-24 18:23:01 -05:00
tildearrow
dd8542bb5b GUI: more FM editor tweaks 2021-12-24 00:48:08 -05:00
tildearrow
f34620e555 GUI: tweak FM editor a bit 2021-12-24 00:14:02 -05:00
tildearrow
eefa41fe91 GUI: sample list now by note/bank number 2021-12-23 22:58:43 -05:00
tildearrow
be4ad87a3a GUI: scroll to cursor pos on click 2021-12-23 22:20:54 -05:00
tildearrow
c41435353a GUI: allow pat scroll by moving mouse outta window
had to fit 50 chars
2021-12-23 22:14:59 -05:00
tildearrow
7ba8607270 changes to sample rate storage
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.

this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00
tildearrow
830e880a57 GUI: colored channe names 2021-12-23 17:09:33 -05:00
tildearrow
5bef7934d7 GUI: separate selection and cursor 2021-12-23 11:29:11 -05:00
tildearrow
5a549f7436 prepare for undo 2021-12-22 17:59:19 -05:00
tildearrow
45f8441f1d fix order table padding 2021-12-22 17:53:52 -05:00
tildearrow
1065555576 GUI: allow key off input 2021-12-22 17:45:58 -05:00
tildearrow
bbb0a14946 GUI: finish order buttons 2021-12-22 17:39:16 -05:00
tildearrow
e093e00225 GUI: order buttons 2021-12-22 16:22:47 -05:00
tildearrow
c2669f208e fix wiz lab AGAIN and implement repeat pat
0x0b + 0x0d = broken
2021-12-21 17:42:27 -05:00
tildearrow
48f4f5835b add a sample preview button (hopefully)
the next commit will be about normalizing sample rate
2021-12-21 13:06:14 -05:00
tildearrow
6ee4e33b89 GUI: add status bar 2021-12-21 02:30:09 -05:00
tildearrow
84f36a8c66 icon fonttttttt 2021-12-21 00:30:55 -05:00
tildearrow
1cc9b9fe20 GUI: more more more work
error dialog boxes and drawOrders improvements
2021-12-20 23:20:30 -05:00
tildearrow
7f3885d2b1 GUI: ability to add/del effect cols and EExx value 2021-12-20 19:46:49 -05:00
tildearrow
969d673e0e allow changing song length 2021-12-20 17:03:55 -05:00
tildearrow
548fa2ad73 don't stop the song until it has been loaded 2021-12-20 14:20:05 -05:00
tildearrow
f24493efb6 ability to change font size! 2021-12-19 22:51:02 -05:00
tildearrow
498fa99c5a finally fix invalid module disrupting program 2021-12-19 21:11:23 -05:00
tildearrow
f327e036ce slightly increase channel name height 2021-12-19 17:13:15 -05:00
tildearrow
ed7210aa24 GUI: fix about screen... 2021-12-19 17:01:34 -05:00
tildearrow
f6144a3343 GUI: add default layout 2021-12-19 16:01:24 -05:00
tildearrow
39dee5a343 prevent crash when loading invalid file 2021-12-19 13:14:41 -05:00
tildearrow
f42cfcbdc8 custom config directory 2021-12-19 03:16:24 -05:00
tildearrow
e726ad89e5 GUI: pattern copy/paste! 2021-12-19 02:12:19 -05:00
tildearrow
2cb7152c06 add about screen 2021-12-18 23:03:50 -05:00
tildearrow
c40f1bbe4e fix build error 2021-12-18 18:00:08 -05:00
tildearrow
9d8a2f780b GUI: add a wavetable editor 2021-12-18 17:54:26 -05:00
tildearrow
b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -05:00
tildearrow
4de343eea7 add ability to save samples 2021-12-18 01:03:59 -05:00
tildearrow
a2357df8bb GUI: colors in file dialog 2021-12-17 22:18:53 -05:00
tildearrow
8c57eb9696 add ability to change system 2021-12-17 22:14:41 -05:00
tildearrow
b6ca7e3dc7 ability to add/remove instruments/waves/samples 2021-12-17 03:33:12 -05:00
tildearrow
ce32f921bd GUI: prepare for wavetable and sample list/edit 2021-12-16 03:09:18 -05:00
tildearrow
ce71c2e9ad fix memory leak 2021-12-16 02:21:43 -05:00
tildearrow
089304edbd orders scroll freeze 2021-12-15 17:37:24 -05:00
tildearrow
c54df74df1 GUI: rate change and new window title 2021-12-15 17:32:08 -05:00
tildearrow
ebb28d912b untested saving code and memory leak fix 2021-12-15 14:15:44 -05:00
tildearrow
52087edceb lots of changes
- GUI: ability to load files
- GUI: arrow key navigation
- fix sample volumes
2021-12-15 00:37:27 -05:00
tildearrow
f145f8c7d4 GUI: note and value input!! 2021-12-14 17:45:37 -05:00
tildearrow
28a9d2c4a3 now the GUI 2021-12-14 12:40:26 -05:00
tildearrow
9da9ed3cd7 GUI: make it dockable 2021-12-14 04:45:44 -05:00
tildearrow
7a70ccfe2e use docking branch 2021-12-13 20:55:40 -05:00
tildearrow
9e2e02a12e GUI: colored pattern view 2021-12-13 17:09:46 -05:00
tildearrow
285cc9b766 allow running GUI without loaded module 2021-12-13 14:40:03 -05:00
tildearrow
6b499fbc79 GUI: channel namws 2021-12-13 13:10:56 -05:00
tildearrow
efde2c5798 earliest pattern view 2021-12-13 02:03:36 -05:00
tildearrow
9a1683bb45 GUI: C64 and game boy ins edit UI 2021-12-12 18:19:43 -05:00
tildearrow
4b32599237 GUI: macro editor (kind of) and order view 2021-12-12 04:21:09 -05:00
tildearrow
926178414c GUI: prepare for standard ins editor 2021-12-11 17:49:55 -05:00
tildearrow
1d2c129c01 GUI: a rough FM ins editor 2021-12-11 17:41:32 -05:00
tildearrow
2f813c55e0 GUI: instrument selector 2021-12-11 16:44:02 -05:00
tildearrow
f39e2ea112 GUI: play/stop/change order 2021-12-11 03:34:43 -05:00
tildearrow
9b850c1763 GUI: earliest ever GUI 2021-12-11 03:11:40 -05:00
tildearrow
e8ac2947ab prepare for the GUI! 2021-12-11 02:10:09 -05:00