Commit graph

370 commits

Author SHA1 Message Date
tildearrow
79fe54d4b6 fix some glitches 2022-02-17 03:20:08 -05:00
tildearrow
bacf57bb65 add stop song effect! finally! 2022-02-17 03:15:51 -05:00
tildearrow
810ee33d11 GUI: prepare for drawing prev/next pat content 2022-02-16 16:11:15 -05:00
tildearrow
b0996371b7 suffix with 00 instead of 0 in file export 2022-02-15 21:15:19 -05:00
tildearrow
647f2f96b0 dear tildearrow are you drunk or what? 2022-02-15 17:22:09 -05:00
tildearrow
b24c572632 prevent division by zero, part 1 2022-02-15 15:19:36 -05:00
tildearrow
853ade2416 improve the status bar
issue #39
2022-02-15 01:46:03 -05:00
tildearrow
b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow
b319614fb5 fix channel cut not being reset when changing orde
r
2022-02-14 02:43:56 -05:00
tildearrow
53482105dc add an option to select audio device 2022-02-13 21:42:57 -05:00
tildearrow
49d91818bb add deep clone warnings 2022-02-12 18:02:33 -05:00
tildearrow
27497608fe add deep clone order - UNTESTED 2022-02-12 03:59:05 -05:00
tildearrow
1580e5836b GUI: wire up the code for custom keybinds
still no way to set them up, and four are missing
please be patient
2022-02-11 18:20:39 -05:00
tildearrow
d27dcfecac rename Neo Geo to Neo Geo CD
pave the way for Neo Geo with ADPCM-B
2022-02-10 03:28:20 -05:00
tildearrow
d1e166a34e add a little visual to channel names 2022-02-10 03:15:39 -05:00
tildearrow
62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow
3d8991cdb8 save compat flags in the file 2022-02-08 16:43:40 -05:00
tildearrow
3cc4add1e3 don't alter instruments in patterns when moving
fixes #150
2022-02-07 23:42:54 -05:00
tildearrow
fbb6c4cb4f add a setting to reset on system prop change
issue #131
2022-02-07 17:24:26 -05:00
tildearrow
7599f99ca0 maybe fix audio backend not changing post-failure 2022-02-06 17:00:01 -05:00
tildearrow
d0457a2e1b VGM export: improvements
- use shorthand command for waiting at 50/60Hz
- don't write stream rate change if DAC is off
2022-02-06 16:47:12 -05:00
tildearrow
28a7348863 add failsafe 2022-02-06 16:29:30 -05:00
tildearrow
127eb1569e dumb clang plugin randomly inserting headers
when i don't want it to
2022-02-06 16:28:04 -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
560be4f341 FIX IT 2022-02-05 01:57:24 -05:00
tildearrow
088e49a3f4 implement channel hiding, names and song comment 2022-02-05 01:48:35 -05:00
tildearrow
15d310077d revert name of sound master
it was dual AY8930
2022-02-04 20:33:29 -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
16f497fcf1 what happened with sample loading 2022-02-04 16:46:56 -05:00
tildearrow
4e1c6d78c2 fix Neo Geo detuning 2022-02-04 16:21:18 -05:00
tildearrow
b57e85134e prepare for end of song effect 2022-02-04 14:43:57 -05:00
tildearrow
29174e97cc ignore centerRate in old version 2022-02-04 03:34:38 -05:00
tildearrow
902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow
764196c1ad coupé 2022-02-03 18:39:54 -05:00
tildearrow
584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
freq-mod
ead65d8c21 revert OPLL system 2022-02-03 14:41:34 -05:00
freq-mod
8e3355ad4a revert OPL3 and FDS
FDS is wave + pitch mod, so that one goes too
2022-02-03 14:41:34 -05:00
freq-mod
6a78b620c3 revert AY systems back 2022-02-03 14:41:34 -05:00
freq-mod
8a4787fbe4 partially revert previous commit
w/r/t feedback
2022-02-03 14:41:34 -05:00
freq-mod
93dfe8f4ac what am I doing 2022-02-03 14:41:34 -05:00
freq-mod
28f14e241e Change misleading name
PC-9801-86 is Ym2608 without ADPCM + stereo DAC, allowing up to 8ch PCM. That isn't what is done here. Idle Japan's speak board (or PC-9801-73?) is a pure YM2608 with ADPCM intact.
2022-02-03 14:41:34 -05:00
freq-mod
5326cb67c5 typo
also omitted one 2610 variant
2022-02-03 14:41:34 -05:00
freq-mod
8a946eb99f changed channel naming a bit
to be more specific
2022-02-03 14:41:34 -05:00
tildearrow
5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow
2a15673610 implement loop modality and pitch control flags
issue #113
2022-02-03 00:52:50 -05:00
tildearrow
3379e8b380 prepare for compat flags, piano, comments, etc. 2022-02-03 00:34:48 -05:00
tildearrow
ccfe3bdd97 Genesis: add ability to use ymfm instead of Nuked 2022-02-02 23:08:45 -05:00
tildearrow
da8e4715bd finally fix the build 2022-02-02 18:24:33 -05:00
tildearrow
d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow
df97142157 fix improper dir sep when loading sample on Win 2022-02-01 03:20:15 -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
af26ec9faf fix loading some .dmf modules 2022-01-31 16:33:32 -05:00
tildearrow
da8380a6e2 prepare to fix loading old .dmp files 2022-01-31 12:55: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
fe0dc38f37 add VGM export warnings 2022-01-30 17:18:10 -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
17ca6402d3 add instrument read error messages 2022-01-29 04:25:55 -05:00
tildearrow
54a84c2ce1 preliminary .dmp loading
preliminary I said
some things don't load
2022-01-29 03:21:47 -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
bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -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
cd9b2b675e VGM export: dual chip for real 2022-01-27 15:47:57 -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
c822532b54 several improvements to new macro UI
now it is fully usable
well, almost
2022-01-26 03:49:46 -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
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
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
9d2032d627 VGM export: Arcade sample looping 2022-01-24 17:13:47 -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
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
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
04f0c6a7cb prepare the skeleton for VGM export 2022-01-23 13:19:06 -05:00
tildearrow
e79a1bd64d bring command-line audio export back! 2022-01-22 23:50:49 -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
46fd774f30 allow sample preview via keyboard 2022-01-20 16:51:31 -05:00
tildearrow
e23df0f09e move config file to proper directory on macOS 2022-01-20 16:27:11 -05:00
tildearrow
751f6d025a prepare to add effect descriptions 2022-01-20 13:48:20 -05:00
tildearrow
8ab97a959c add ps_fopen to properly handle fopen on Windows
fixes #22
2022-01-20 05:04:03 -05:00
tildearrow
6db9d312ec fix crash when previewing size 0 waves 2022-01-20 00:43:08 -05:00
tildearrow
85dd6c3579 add ability to preview wavetables
issue #16
2022-01-20 00:07:53 -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
62a499644f add wavetable saving 2022-01-19 05:10:06 -05:00
tildearrow
dce289a5a0 add early code for saving instruments 2022-01-19 03:28:29 -05:00
tildearrow
1642f29df8 fix critical bug when removing systems 2022-01-18 22:02:04 -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
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
a0896f949c and againnnnn 2022-01-17 18:18:28 -05:00
tildearrow
8b89f1b516 prepare for writing register dumps 2022-01-17 13:29:35 -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
45b6c19867 rename system to platform
easier to understand
2022-01-16 01:17:30 -05:00
tildearrow
3a340b99f4 add getPreferInsType 2022-01-15 22:11:40 -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
113a1577b6 do the Amiga 2022-01-15 17:28:33 -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
0545775de6 prepare for better ins del safety 2022-01-13 17:40:29 -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
2fcb474544 stuff
implement two systems and system vol/pan
2022-01-13 01:03:57 -05:00
tildearrow
9b40dd994b prepare for more platforms 2022-01-12 22:58:51 -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
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
c36d19f495 not an oopsie 2022-01-10 03:35:29 -05:00