Commit Graph

364 Commits

Author SHA1 Message Date
tildearrow 3d8991cdb8 save compat flags in the file 2022-02-08 16:43:40 -05:00
tildearrow dea79c2adb inhibit note on if user has edited pattern
issue #82
untested
2022-02-08 13:31:57 -05:00
tildearrow 4ce116ca0a prepare for macro release points
issue #142
2022-02-08 03:50:42 -05:00
tildearrow 3cc4add1e3 don't alter instruments in patterns when moving
fixes #150
2022-02-07 23:42:54 -05:00
tildearrow 632f17862e better blip_buf excess strategy
fixes #133
2022-02-07 21:31:58 -05:00
tildearrow fbb6c4cb4f add a setting to reset on system prop change
issue #131
2022-02-07 17:24:26 -05:00
tildearrow e06e316e10 add two new compatibility flags
proper noise range and duty macro is wave volume
2022-02-06 01:56:50 -05:00
tildearrow 8772439d3e add ability to play by one row 2022-02-06 00:42:07 -05:00
tildearrow 107187a20c GUI: add ability to play from cursor position
Shift-Enter or F7
2022-02-06 00:07:35 -05:00
tildearrow b0698dbac3 GUI: audio failure resilience 2022-02-05 23:48:56 -05:00
tildearrow fe47a2ba09 GUI: add audio want/got details 2022-02-05 21:26:24 -05:00
tildearrow 045dfa679a release v0.5.4
sorry this doesn't include too many features as it is another critical
bug fix release
2022-02-05 16:47:22 -05:00
tildearrow 50516d86ae release v0.5.3 2022-02-05 04:42:10 -05:00
tildearrow 34ec189be5 release v0.5.2
FAST
2022-02-05 03:10:19 -05:00
tildearrow 088e49a3f4 implement channel hiding, names and song comment 2022-02-05 01:48:35 -05:00
tildearrow a93a9c19f3 add "force mono audio" option and fix flags not be
ing set after a dispatch reset
2022-02-04 17:04:36 -05:00
tildearrow 902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow 584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
tildearrow 5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow d638af2017 fix E1xx and E2xx effects 2022-02-03 01:30:03 -05:00
tildearrow 3379e8b380 prepare for compat flags, piano, comments, etc. 2022-02-03 00:34:48 -05:00
tildearrow 07b767bee1 prepare for ADPCM-B 2022-02-02 23:17:16 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow 7c9beca93f release 0.5.1 2022-02-01 03:50:11 -05:00
tildearrow a1d3d3d873 release 0.5
finally
2022-01-30 18:23:40 -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 629d229bc1 i will finish this later today 2022-01-28 18:12:56 -05:00
tildearrow 0567a3f71b GUI: add chip names option 2022-01-28 03:17:35 -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 b812fc4041 prepare for sample C-4 freq
issue #70
2022-01-27 16:52:06 -05:00
tildearrow 60a1e6f395 VGM export: kind of dual chip support 2022-01-27 13:10:51 -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 c47851e7c7 GUI: highlight loop 2022-01-27 01:04:26 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow 496501803f GUI: add advanced VGM export menu
does NOT work yet!
2022-01-26 00:26:15 -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 61a1932bce add walkSong 2022-01-25 15:06:29 -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 9d2032d627 VGM export: Arcade sample looping 2022-01-24 17:13:47 -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 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 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 8b79bf78a9 add Furnace instrument loading
TODO: .dmp loading
2022-01-22 00:14:48 -05:00
tildearrow 724b1cd1a8 move more wavetable loading logic
now it's safer
2022-01-21 18:17:05 -05:00
tildearrow 186e491c59 allow loading wavetables 2022-01-21 17:59:48 -05:00
tildearrow 61639e5123 release v0.4.6
don't worry, this won't be the final release
2022-01-21 04:42:18 -05:00
tildearrow 46fd774f30 allow sample preview via keyboard 2022-01-20 16:51:31 -05:00
tildearrow 751f6d025a prepare to add effect descriptions 2022-01-20 13:48:20 -05:00
tildearrow 85dd6c3579 add ability to preview wavetables
issue #16
2022-01-20 00:07:53 -05:00
tildearrow f39e522e7e really allow 8 effect columns
third time is the charm
2022-01-19 17:34:20 -05:00
tildearrow 068fb0f3ce release v0.4.5 2022-01-19 17:02:27 -05:00
tildearrow 7c40948680 release v0.4.4 2022-01-19 04:34:12 -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 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 f652d6c738 fix devendor again and prepare for 0.4.2 2022-01-18 02:09:47 -05:00
tildearrow 345962092e add notifyWaveChange
fixes #8
2022-01-18 00:25:10 -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 d828018500 release v0.4.1
fixes critical AppImage fail issue and some other things
2022-01-17 17:31:48 -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 7b797c3028 GUI: improve settings management 2022-01-16 17:25:43 -05:00
tildearrow 35834a1116 release 0.4 2022-01-16 04:23:23 -05:00
tildearrow 3a340b99f4 add getPreferInsType 2022-01-15 22:11:40 -05:00
tildearrow 785f7e4d40 samples may have loop points 2022-01-15 17:54:21 -05:00
tildearrow dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow 943f88b306 add four more macros
they eventually will be used
2022-01-13 13:55:33 -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 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 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 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 02b5b05e04 prepare for 0.3 2022-01-10 17:30:36 -05:00
tildearrow d0a2a0f902 auto-determine ins type when adding 2022-01-09 23:50:26 -05:00
tildearrow 325478e37a GUI: revamp instrument editor 2022-01-09 17:48:09 -05:00
tildearrow 0b4ad13858 more work 2022-01-09 04:42:58 -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 254bf18036 move the code a bit to load/save other formats 2022-01-08 02:22:04 -05:00
tildearrow 121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -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 7ed1777bdc fix 128 instrument song failing to read 2022-01-03 03:35:13 -05:00
tildearrow cbc39909e4 release 0.2.1
several fixes and stuff
2022-01-01 12:45:21 -05:00
tildearrow 9a1853249b finally make the save option work 2021-12-30 18:25:55 -05:00
tildearrow be3b4da834 add note preview feature 2021-12-28 18:23:57 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow 11478fbdfe prevent clipping in ADPCM samples 2021-12-27 15:22:57 -05:00
tildearrow 8428f7da32 GUI: make the new button work 2021-12-24 18:23:01 -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 bbb0a14946 GUI: finish order buttons 2021-12-22 17:39:16 -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 5523a43804 better loop tracking 2021-12-21 02:02:25 -05:00
tildearrow 997c460fc1 greatly improved playback resume
no more song weirding out when changing orders
2021-12-21 01:29:07 -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 548fa2ad73 don't stop the song until it has been loaded 2021-12-20 14:20:05 -05:00
tildearrow 498fa99c5a finally fix invalid module disrupting program 2021-12-19 21:11:23 -05:00
tildearrow 245e7acd10 prepare for config management 2021-12-19 16:52:04 -05:00
tildearrow f42cfcbdc8 custom config directory 2021-12-19 03:16:24 -05:00
tildearrow 667526e414 further improve the accuracy of 03xx 2021-12-19 00:27:04 -05:00
tildearrow 97a00c7efd improve 03xx accuracy
portamento stops if same note
2021-12-19 00:02:48 -05:00
tildearrow 9d8a2f780b GUI: add a wavetable editor 2021-12-18 17:54:26 -05:00
tildearrow beceefd34b only output playback status in console mode 2021-12-18 04:26:17 -05:00
tildearrow b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -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 2baed0cff0 fix windows build... 2021-12-16 15:51:19 -05:00
tildearrow ce71c2e9ad fix memory leak 2021-12-16 02:21:43 -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 9e2e02a12e GUI: colored pattern view 2021-12-13 17:09:46 -05:00
tildearrow 60f06d2908 fix build... 2021-12-13 14:51:35 -05:00
tildearrow 6b499fbc79 GUI: channel namws 2021-12-13 13:10:56 -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 93c88a093f fix volume regression 2021-12-11 16:51:34 -05:00
tildearrow f39e2ea112 GUI: play/stop/change order 2021-12-11 03:34:43 -05:00
tildearrow 20a9282efe neo geo: finish it up 2021-12-10 23:41:00 -05:00
tildearrow e365aa4bdb more neo geo stuff 2021-12-10 04:22:13 -05:00
tildearrow 9362cfa481 add clock drift for exact tempo 2021-12-08 02:57:41 -05:00
tildearrow 5fbaf71105 one thing is fixing bugs
another is bugging fixes
2021-12-08 00:27:20 -05:00
tildearrow 4cba677c04 i know a better way 2021-12-07 04:32:42 -05:00
tildearrow 7490ed89a1 Revert "Revert "prepare to add file out - does not compile!""
This reverts commit ada8e71884.
2021-12-07 04:22:36 -05:00
tildearrow ada8e71884 Revert "prepare to add file out - does not compile!"
This reverts commit 45b202b85b.
2021-12-07 04:20:11 -05:00
tildearrow 45b202b85b prepare to add file out - does not compile! 2021-12-07 03:52:41 -05:00
tildearrow 6efcfc2e8a prepare for possible major optimization
by just forwarding an output buffer to the dispatch and begin/length,
the number of calls may be reduced which improves performance.
2021-12-06 05:21:42 -05:00
tildearrow 0f3f173b6e rework some of the playback logic
paving the way for C64
2021-12-05 16:11:12 -05:00
tildearrow f7080bb2c1 add parameter parsing 2021-06-09 03:33:03 -05:00
tildearrow 83ce4f0ebe game boy progress, part 5
now with almost accurate arpeggios.
2021-05-28 00:36:40 -05:00
tildearrow a1ab7c5d57 game boy progress, part 1
noise and wave channels don't play correctly yet
2021-05-27 13:30:37 -05:00
tildearrow 30692985dc more slide fixes
we are closer and closer
2021-05-26 02:34:40 -05:00
tildearrow 79f15fcbd8 fix a silly bug
TODO: apparently this song requires accurate porta...
2021-05-19 03:09:51 -05:00
tildearrow f26307f11b more slide headache 2021-05-19 02:22:26 -05:00
tildearrow 471cd2d68d add some view modes and fix a slide bug 2021-05-19 02:05:24 -05:00
tildearrow d9c02531e8 implement E4 effect 2021-05-18 03:02:47 -05:00
tildearrow c766f98719 implement arp speed and arp tick 2021-05-18 02:53:59 -05:00
tildearrow c0f7f12c89 misc fixes and new effects
- fix 8-bit samples
- 0C effect
- E3 effect
2021-05-18 02:29:17 -05:00
tildearrow 9736b77401 better volume slide accuracy
volume slide seems to be kind of quirky:
- sliding all the way down and then up suddenly sets the vol to max
- apparently there is an overflow and the slide stops when it reaches
  its boundaries (instead of continuing)
2021-05-17 15:06:11 -05:00
tildearrow 3a1019a08c more fixes and tweaks
memory management party
2021-05-16 20:49:54 -05:00
tildearrow dbc2e6285f a lot of work
- round to nearest instead of round to zero in SMS period calc
- implement arpeggio
- implement arp macro (kinda)
- polish the SMS platform
- correct the DIV_CMD_PITCH range to 1 semitone
- fix PSG volume in Genesis
- use a better register write strat in Genesis
- fix a bug caused by legacy code
- implement ECxx command
- implement EDxx command
- implement SN noise mode command
- vibrato table is now 64 positions long (instead of 60)
2021-05-16 03:03:23 -05:00
tildearrow 9a97c38cc6 implement more effects and bugfixes
enough to play time trax intro near flawless
2021-05-15 03:13:21 -05:00
tildearrow eb692ca9a9 implement several effects
volume slides, vibrato, slides and portamento
2021-05-14 14:16:48 -05:00
tildearrow 775b88dae2 more playback work 2021-05-14 03:23:40 -05:00
tildearrow 45a6d70479 massive improvements to genesis playback 2021-05-13 02:39:26 -05:00
tildearrow 062a9837c0 G E N E S I S
without SN
2021-05-12 17:19:18 -05:00
tildearrow a68f8d0dec add some basic playback code!
here it begins
2021-05-12 05:22:01 -05:00
tildearrow f810fc0c3c earliest playback
no sound, just terminal output
2021-05-12 03:58:55 -05:00
tildearrow 783d56c72a initial commit
took me a day to make the base...
...and ~12 hours to write a reader that reads 100% of all demo songs in
1.0
2021-05-11 15:08:08 -05:00