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
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
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
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
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
tildearrow
4c8ff2edb3
fix clicks on replay
2022-01-03 03:37:58 -05:00
tildearrow
7ed1777bdc
fix 128 instrument song failing to read
2022-01-03 03:35:13 -05:00
tildearrow
dc5990a37e
a lot of master system fixes!
...
fixes forest frolick, professional tracker, YZYX, Monday (kinda),
MasterTracker and Ice Fields
2021-12-29 02:08:50 -05:00
tildearrow
6222e0933a
prepare for more settings work
2021-12-29 00:50:00 -05:00
tildearrow
8f9f37f424
are you for real right now
2021-12-28 23:10:13 -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
dbf0d3fd88
now remove debug info
2021-12-22 12:01:37 -05:00
tildearrow
d92e91c5d8
fix popping ADPCM samples in Neo Geo
...
finally!
2021-12-22 12:00:40 -05:00
tildearrow
c2669f208e
fix wiz lab AGAIN and implement repeat pat
...
0x0b + 0x0d = broken
2021-12-21 17:42:27 -05:00
tildearrow
726b457ae7
another uninitialized variable
2021-12-21 16:02:31 -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
1234dcf2bc
properly load unsigned 8-bit samples
2021-12-20 16:33:10 -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
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
c4c019e593
fix E5xx range in old modules
2021-12-18 01:09:43 -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
07ab05798b
remove an empty line
2021-12-16 03:09:00 -05:00
tildearrow
ce71c2e9ad
fix memory leak
2021-12-16 02:21:43 -05:00
tildearrow
e13631b69b
typooooo
2021-12-15 17:33:57 -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
2879b5e4d0
arcade: add ymfm-based core
...
less CPU usage at the cost of some quality
2021-12-15 01:23:58 -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
95e3a098d0
add Neo Geo extended channel 2 support
2021-12-14 14:31:57 -05:00
tildearrow
bde8a7f79d
warning-free compilation
2021-12-14 12:33:26 -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
63fe2e2c95
fix output to audio file
2021-12-12 15:22:27 -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
fbd94bbce9
neo geo: ADPCM!!
2021-12-10 22:51:50 -05:00
tildearrow
a95ee7b7ba
neo geo: found the problem
2021-12-10 15:16:58 -05:00
tildearrow
e365aa4bdb
more neo geo stuff
2021-12-10 04:22:13 -05:00
tildearrow
d789ae759e
neo geo let's goooooo
2021-12-09 13:25:02 -05:00
tildearrow
e3f14f3850
1-byte offset should be safe
2021-12-09 02:58:53 -05:00
tildearrow
daed339e07
add a save function
...
and it loads on DefleMask!
2021-12-09 02:38:55 -05:00
tildearrow
d395abe47f
actually obey the orders
2021-12-09 01:44:40 -05:00
tildearrow
defaf7397a
arcade: finish it up
...
0.12 feature parityyyyyyyy!
2021-12-09 00:46:48 -05:00
tildearrow
aff0afa7d1
prepare for arcade platform!
2021-12-08 17:40:35 -05:00
tildearrow
9362cfa481
add clock drift for exact tempo
2021-12-08 02:57:41 -05:00
tildearrow
6a02754996
add PAL flag to dispatch
...
now platforms run at their correct clock speed when in PAL mode
also fix clipping in Genesis
2021-12-08 01:56:40 -05:00
tildearrow
4eec990ec1
when the fix breaks something
2021-12-08 01:16:29 -05:00
tildearrow
b689d51ec9
audio file output stereo support
2021-12-07 12:33:55 -05:00
tildearrow
f71ee6b45d
preliminary audio file output
2021-12-07 12:21:23 -05:00
tildearrow
7649b845aa
prepare for file output
2021-12-07 04:39:52 -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
3ee761fc87
C64: finish it all
...
all modules play correctly, bar:
- motherfunksignal (almost)
- filters are a bit weird
2021-12-07 01:23:57 -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
ff07a19405
kind of C64
2021-12-04 23:55:28 -05:00
tildearrow
3286c3c0c5
NES system! almost
2021-12-04 01:19:54 -05:00
tildearrow
86131bf05e
add a log level flag
2021-06-09 12:28:46 -05:00
tildearrow
f7080bb2c1
add parameter parsing
2021-06-09 03:33:03 -05:00
tildearrow
cf6b213d2c
even more ancient version compatibility
2021-06-09 01:52:00 -05:00
tildearrow
5b707eeeec
better ancient version sample support
2021-06-09 01:16:26 -05:00
tildearrow
5b2684b5e1
PCE: the adventures of missing wavetables
2021-06-08 22:21:05 -05:00
tildearrow
d74fa698af
prepare for PC Engine platform
...
using Mednafen core
2021-06-06 14:02:38 -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
a2e64606c0
wire up early GB support
...
TODO: check why are envelopes not working
2021-05-26 17:43:14 -05:00
tildearrow
c2b3d85f77
bind the game boy
...
TODO: sound
2021-05-26 03:17:12 -05:00
tildearrow
09ed99f0b0
genesis extended channel 3 support.
...
as of today Furnace is able to play most Genesis songs without trouble.
bugs are expected, and fixes will arrive.
are you ready?
2021-05-18 16:02:49 -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
ccd5acf1e4
even. more. volume. slide. fixes.
...
so it happens on >volMax too
amazing
2021-05-18 01:52:03 -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
2532401265
prepare for ch3 mode
2021-05-16 17:43:10 -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
3172fd37ed
more SMS work
...
it is able to play some modules... the next step is to bind this to the
Genesis platform
2021-05-15 16:42:48 -05:00
tildearrow
d9f076ef64
prepare to add SMS platform
...
plays but no macro yet
2021-05-15 14:18:16 -05:00
tildearrow
eb692ca9a9
implement several effects
...
volume slides, vibrato, slides and portamento
2021-05-14 14:16:48 -05:00
tildearrow
c5fa0a3d6d
it doesn't...
2021-05-13 03:18:54 -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
f810fc0c3c
earliest playback
...
no sound, just terminal output
2021-05-12 03:58:55 -05:00
tildearrow
9d17655836
engine audio fixes
2021-05-11 18:23:35 -05:00
tildearrow
8c014802c9
convert chars to signed/unsigned
2021-05-11 15:26:38 -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