Commit Graph

643 Commits

Author SHA1 Message Date
tildearrow bc32809ecb fix #46 2022-01-21 04:27:00 -05:00
tildearrow f5b71e35b1 i will release 0.4.6 to fix clipboard bug first 2022-01-21 03:45:59 -05:00
tildearrow 5fcb83a7f5 GUI: set column width 2022-01-21 03:13:32 -05:00
tildearrow b9902902be GUI: prepare for FM macros
the most complicated UI to date
2022-01-21 02:54:52 -05:00
tildearrow 3b5370681a GUI: set size constraints for wave editor 2022-01-21 02:06:49 -05:00
tildearrow 9307a14a1d GUI: display C64/AY/SAA wave macros differently
hopefully better
2022-01-21 01:56:30 -05:00
tildearrow e06911258e TIA: fix mute being ignored at times 2022-01-20 23:14:18 -05:00
tildearrow d8e8fd4031 SAA1099 doesn't like DC offset correction 2022-01-20 23:09:04 -05:00
tildearrow ff0e48679b arcade: fix PCM channels not muting when Nuked-OPM 2022-01-20 22:13:56 -05:00
tildearrow 730561d3a3 arcade: add effects to control AMD/PMD 2022-01-20 17:54:11 -05:00
tildearrow e10f61eda2 GUI: set a minimum window size for the ins editor 2022-01-20 17:42:14 -05:00
tildearrow 4b43694db0 fix negative notes 2022-01-20 16:56:35 -05:00
tildearrow 46fd774f30 allow sample preview via keyboard 2022-01-20 16:51:31 -05:00
tildearrow 05bbfaced2 get rid of a debug message 2022-01-20 16:41:18 -05:00
tildearrow 917c9cf2e3 Genesis: allow sample preview 2022-01-20 16:40:18 -05:00
tildearrow 0b7772e76c PCE: allow sample preview 2022-01-20 16:33:20 -05:00
tildearrow e23df0f09e move config file to proper directory on macOS 2022-01-20 16:27:11 -05:00
tildearrow aa82ccfbc5 GUI: allow use of negative octaves
closes #41
2022-01-20 16:21:35 -05:00
tildearrow 0f28ae0fee implement Furnace-style PCM on Arcade/Gen/NES/PCE 2022-01-20 16:09:05 -05:00
tildearrow 812d0397a8 GUI: rename Amiga ins type to sample 2022-01-20 14:18:15 -05:00
tildearrow 751f6d025a prepare to add effect descriptions 2022-01-20 13:48:20 -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 1ee23ac198 AY8930: fix first channel envelope reset at random 2022-01-20 03:25:57 -05:00
tildearrow 75ce5f4e2a add auto-envelope mode (29xy effect)
this closes #32
2022-01-20 03:23:03 -05:00
tildearrow 04240ffa46 GUI: move cursor up on pull delete
fixes #28
2022-01-20 02:53:59 -05:00
tildearrow 4ee17d35cd implement sample loop on the rest of systems 2022-01-20 02:46:28 -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 6db9d312ec fix crash when previewing size 0 waves 2022-01-20 00:43:08 -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 85bb081f3b prevent clock drift when previewing samples 2022-01-19 23:23:47 -05:00
tildearrow e394b5ca5a C64: solve one ADSR bug
set decay to 0 if sustain is 15
2022-01-19 22:58:37 -05:00
tildearrow 51a89adb3d more headache 2022-01-19 22:05:39 -05:00
tildearrow abea8e5dce fix clipboard pasting bug
NOT ANOTHER OF THESE!
2022-01-19 21:53:21 -05:00
tildearrow fee174a65a fix ECxx accuracy 2022-01-19 21:53:09 -05:00
tildearrow 18df843864 reduce clicking on play/loop 2022-01-19 21:04:51 -05:00
tildearrow 0e346f5d73 temporarily reduce channel limit to 63
thanks ImGui
2022-01-19 18:24:37 -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 068fb0f3ce release v0.4.5 2022-01-19 17:02:27 -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 7c40948680 release v0.4.4 2022-01-19 04:34:12 -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 fe757ac6e7 release 0.4.3
urgent release due to serious bug when removing systems
2022-01-19 01:40:15 -05:00
tildearrow efee5c3d7a now remove debug messages 2022-01-19 01:36:47 -05:00
tildearrow aa1a3f8aab oh yes more fixes 2022-01-19 01:36:20 -05:00
tildearrow f98662d329 slide accuracy fixes 2022-01-19 01:27:32 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 1642f29df8 fix critical bug when removing systems 2022-01-18 22:02:04 -05:00
tildearrow 20bca9cce4 AY8930 code attribution 2022-01-18 18:32:42 -05:00
tildearrow 5a7cf57aa2 AY8930: implement noise and/or mask
cannot confirm whether this behavior is accurate to hardware though...
thanks Eulous for details on this!
2022-01-18 18:21:27 -05:00
tildearrow 488bd45907 lower PCE volume a bit
see issue #16
2022-01-18 17:35:41 -05:00
tildearrow a956f37f1b Genesis/Neo Geo: fix extended channel mode volume 2022-01-18 17:18:07 -05:00
tildearrow 64745648a0 allow negative octaves 2022-01-18 16:55:32 -05:00
tildearrow 4bfc85bebc prepare for FM macros
issue #19
2022-01-18 16:32:53 -05:00
tildearrow 2363f1dd58 GUI: reduce height of AY8930 duty macro to 8 2022-01-18 15:54:15 -05:00
tildearrow 05fd372728 AY: fix wave macro and effect 2022-01-18 15:48:40 -05:00
tildearrow a148a04e2c disable delay locking bug emulation entirely
so it appears the bug emulation caused an actual bug
2022-01-18 15:24:42 -05:00
tildearrow 0356cf2c7a TIA: add 10xx effect for selecting shape 2022-01-18 15:12:36 -05:00
tildearrow f652d6c738 fix devendor again and prepare for 0.4.2 2022-01-18 02:09:47 -05:00
tildearrow aaca180683 add per-channel audio export 2022-01-18 02:04:03 -05:00
tildearrow 9b8044a401 add export one audio file per system mode 2022-01-18 01:26:22 -05:00
tildearrow 4419f72218 devendor libraries 2022-01-18 00:45:17 -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 a377ba1f96 fix clicking if chip rate is less than audio rate 2022-01-17 22:15:00 -05:00
tildearrow 15f8a9b66f GUI: prevent stuck note if ImGui wants capture kb 2022-01-17 21:34:57 -05:00
tildearrow 7165d39105 Neo Geo/AY: implement 20xx command 2022-01-17 21:14:35 -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 d73c0512eb fix Microsoft C compiler build... again 2022-01-17 18:15:47 -05:00
tildearrow cba4385607 ignore speed change if speed is 0
fixes #9
2022-01-17 18:05:29 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow 84e9d52d7f Microsoft C compiler compatibility
unsupported and not recommended!
2022-01-17 17:44:17 -05:00
tildearrow d828018500 release v0.4.1
fixes critical AppImage fail issue and some other things
2022-01-17 17:31:48 -05:00
tildearrow f3a61f3222 fix build in old compiler 2022-01-17 17:12:24 -05:00
tildearrow 69be47b419 PCE: no abort 2022-01-17 16:59:34 -05:00
tildearrow ecd2955c0f honor arcade core setting 2022-01-17 16:27:57 -05:00
tildearrow 6884494b5c fix issue with volume macro+slide 2022-01-17 16:23:47 -05:00
tildearrow dde2462025 proper non-QWERTY keyboard support 2022-01-17 14:53:46 -05:00
tildearrow 5900e3bb6e extra error messages for audio init fail 2022-01-17 14:36:40 -05:00
tildearrow 8b89f1b516 prepare for writing register dumps 2022-01-17 13:29:35 -05:00
tildearrow 49fa75f4b5 GUI: add transpose keys 2022-01-17 02:06:05 -05:00
tildearrow 1632b2864a possibly fix crash when switching JACK backend out 2022-01-17 01:49:36 -05:00
tildearrow 6ca3c4ec4d dynamic audio settings changing 2022-01-17 01:42:26 -05:00
tildearrow d6d6bf80ec move audio init/quit to separate functions 2022-01-17 01:20:02 -05:00
tildearrow 3026bf8ba9 temporarily disable audio export
I need to rewrite the audio export code so it becomes possible to export
audio from the GUI
2022-01-16 23:32:13 -05:00
tildearrow 12236248dd prepare for eventual export 2022-01-16 23:21:27 -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 818ebcd195 hmmm 2022-01-16 15:16:05 -05:00
tildearrow 35834a1116 release 0.4 2022-01-16 04:23:23 -05:00
tildearrow 8c80af4a46 SAA1099: fix octave not being set in last 2 chans 2022-01-16 01:55:54 -05:00
tildearrow 9193ec0f14 add attribution for SAA1099 core 2022-01-16 01:47:19 -05:00
tildearrow 85c7612194 TIA: one more mute refinement 2022-01-16 01:43:55 -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 c09ce1892b Amiga: limit sample length 2022-01-15 22:49:53 -05:00
tildearrow 93f82637ad Amiga: respect max period 2022-01-15 22:49:09 -05:00
tildearrow 5666cd3bce prevent setting speed to 0 and update year 2022-01-15 22:38:51 -05:00
tildearrow 3a340b99f4 add getPreferInsType 2022-01-15 22:11:40 -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 785f7e4d40 samples may have loop points 2022-01-15 17:54:21 -05:00
tildearrow 755042a8fe Amiga: fix max volume 2022-01-15 17:54:09 -05:00
tildearrow c9b69f885a GUI: correct volume macro range for Amiga 2022-01-15 17:42:17 -05:00
tildearrow 79b86da98b Amiga: get rid of a debug message 2022-01-15 17:32:39 -05:00
tildearrow 113a1577b6 do the Amiga 2022-01-15 17:28:33 -05:00
tildearrow a06a82ca89 prepare for amiga system 2022-01-15 15:50:53 -05:00
tildearrow 2f1cdab36b fix mixing being done wrongly 2022-01-15 00:24:06 -05:00
tildearrow 29ca2033d9 AY: remove redundant break 2022-01-14 23:38:07 -05:00
tildearrow 10c78e3fd2 now actually finish SAA1099 2022-01-14 23:37:03 -05:00
tildearrow 0e2230d036 hopefully finish the SAA1099 platform 2022-01-14 23:26:22 -05:00
tildearrow d2cef16adf WHAT?! 2022-01-14 20:34:15 -05:00
tildearrow e05db17ce2 it plays notes 2022-01-14 18:19:52 -05:00
tildearrow 740521b469 AY: don't write to bufR 2022-01-14 16:35:19 -05:00
tildearrow 307665f531 prepare for SAA1099 2022-01-14 16:29:27 -05:00
tildearrow 390eb66647 TIA: absolute arp macros are now periodic 2022-01-14 15:34:54 -05:00
tildearrow c23ba3b532 add TIA instrument type 2022-01-14 15:21:57 -05:00
tildearrow 3afb0f815d lower the volume of TIA by half 2022-01-14 14:12:49 -05:00
tildearrow 1d3429d568 C64: don't gate on legato 2022-01-14 13:55:19 -05:00
tildearrow ad145a13e4 fix the desync 2022-01-14 04:41:32 -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 6d2aa8d23e change AY frequency 2022-01-14 00:26:10 -05:00
tildearrow dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow b26208f2c1 fix changing order if 0Bxx is present 2022-01-13 20:54:34 -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 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow 0545775de6 prepare for better ins del safety 2022-01-13 17:40:29 -05:00
tildearrow fea783eaac fix macOS build 2022-01-13 16:12:02 -05:00
tildearrow 943f88b306 add four more macros
they eventually will be used
2022-01-13 13:55:33 -05:00
tildearrow 11cf0dc560 prevent saving unsupported systems to .dmf 2022-01-13 03:05:36 -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 177fe0fbdd release 0.3.1
- added `25xx` and `26xx` effects in Neo Geo platform for
  envelope period slides
- added `3xxx` and `4xxx` effects in C64 for fine duty/cutoff control
- made home/end keys work
- deleting a single note will delete related instrument value as well
- fix instrument value input when there are less than 16 instruments
- added `Cxxx` effect for mid-song Hz change
- possibly fix a hang when using multiple sound chips
- reduce PC Engine CPU usage
2022-01-12 23:00:22 -05:00
tildearrow 9b40dd994b prepare for more platforms 2022-01-12 22:58:51 -05:00
tildearrow 9ff852d1db PCE: reduce CPU usage 2022-01-12 22:14:20 -05:00
tildearrow cd739f5fde change master clock to sampleRate*256
this hopefully fixes the hang by doing all clock ops on a master clock
rather than one clock per system
2022-01-12 17:45:07 -05:00
tildearrow fa5b99b46a add stuff for diagnosis of hang problem 2022-01-12 17:02:48 -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 69b56e6d4c prepare for adding wavetable from file 2022-01-11 16:25:55 -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 c36d19f495 not an oopsie 2022-01-10 03:35:29 -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 7d336d61f7 how did I miss that!!!!!!!! 2022-01-09 22:17:03 -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 7568f1a1b9 better YMU759 support
time base now loaded as rate and timer no longer bugs out

also you can save YMU759 songs as .fur now, even if it is pointless
2022-01-09 17:08:14 -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 925a29249b implement Furnace format loading 2022-01-09 14:54:28 -05:00
tildearrow 0b4ad13858 more work 2022-01-09 04:42:58 -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 e961cf79ca NES: add NESAPU struct
to allow multi-chip support
2022-01-08 17:44:17 -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 28d3dc2691 release 0.2.2 2022-01-06 13:24:12 -05:00
tildearrow e8dc1e3c8b turn the metronome into a sine 2022-01-04 00:29:59 -05:00
tildearrow 530a9bafc7 add a metronome 2022-01-04 00:02:41 -05:00
tildearrow 943e4e374f better compatibility with old GB modules 2022-01-03 23:22:39 -05:00