tildearrow
236ab5b3fe
QSound: initialize memory to 0
...
for some reason this fixes some glitches?
2022-03-01 02:38:37 -05:00
cam900
ee013ad7a9
Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
2022-02-27 06:41:11 +09:00
tildearrow
217e43dab3
fix
2022-02-26 05:04:31 -05:00
tildearrow
1a69794efe
remove extension when loading ins from file
2022-02-26 04:49:40 -05:00
cam900
cd4c876c5e
Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
...
# Conflicts:
# src/engine/engine.cpp
# src/engine/playback.cpp
2022-02-25 23:47:28 +09:00
tildearrow
bd96bf484b
fix 8-bit samples not loading correctly
2022-02-25 00:31:09 -05:00
tildearrow
35e459d9e5
Neo Geo: implement ADPCM-B
2022-02-25 00:11:27 -05:00
tildearrow
19c4f5559a
bring crash fix from 0.5.8
2022-02-24 22:52:20 -05:00
cam900
d831a522a4
Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
...
# Conflicts:
# src/engine/engine.cpp
# src/engine/platform/ym2610Interface.cpp
2022-02-25 12:20:00 +09:00
tildearrow
f7bd06c4eb
yay ADPCM-A and QSound work again!
2022-02-24 16:16:02 -05:00
cam900
1e2d5694b9
Prepare to support YM2610B and with Extended channel 3 mode
...
Allow 8 bit volume for YM2610 ADPCM-B
Remove sample mode macro in YM2610, it's always enabled and seperated channels.
TODO: ADPCM-B is still not implemented, FM Channel 2 is silenced in extended channel 3 configuration
2022-02-25 01:02:35 +09:00
tildearrow
1e98f0c4a1
sample system rewrite! **PLEASE READ**
...
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...
consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.
it's nearly 4am...
2022-02-24 03:57:45 -05:00
Ian Karlsson
6472795b01
Update center rate and loop information when loading and saving samples
2022-02-23 14:32:35 +01:00
tildearrow
e4b9a6d1d9
compound system flattening, part 1
...
as of now compound systems (Genesis and Arcade) are translated to
separate chips.
this improves audio quality and makes things easier.
it also allows you to change the volume of each chip on a Genesis.
also adds SegaPCM system with 16 channels!
2022-02-23 02:52:30 -05:00
tildearrow
a5561f1899
tabs to spaces
2022-02-22 22:13:17 -05:00
Ian Karlsson
b3908216f8
Implement QSound support
2022-02-22 11:36:12 +01:00
tildearrow
7540f12596
don't warn about clipping
...
too much spam
2022-02-21 23:53:41 -05:00
tildearrow
4db91256b1
fix repeat pattern hanging audio/VGM export
2022-02-21 23:05:41 -05:00
tildearrow
df35b8fb45
add register view
...
supported chips only.
2022-02-21 22:31:27 -05:00
tildearrow
f815ee9427
don't round frequency
...
apparently that wasn't too good for some songs that relied on E5xx
2022-02-21 02:33:07 -05:00
tildearrow
57c4e22d70
add support for loading .vgi and .tfi instruments
2022-02-21 01:44:51 -05:00
tildearrow
8e17f20de2
fix deep clone not working at times
2022-02-20 23:07:46 -05:00
tildearrow
18c5867d9c
fix playSub strategy
...
properly handle nested playSubs
fixes #174
2022-02-20 23:03:42 -05:00
tildearrow
fd00b1a815
allow loading 1.0 .dmw
2022-02-20 22:16:43 -05:00
tildearrow
840be64314
split config management
2022-02-18 13:11:04 -05:00
tildearrow
1a95e18f13
split system definition code
...
engine.cpp is now shy of 2500 lines
2022-02-18 13:04:33 -05:00
tildearrow
650beebe99
split VGM ops code
2022-02-18 12:58:36 -05:00
tildearrow
c39d3898b4
split file ops code
2022-02-18 12:39:45 -05:00
tildearrow
ce2af4303e
yay for more compatibility flags
...
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow
fbed03dd0c
fix E1xy/E2xy behaving wrong with arps
2022-02-18 01:27:26 -05:00
tildearrow
eafc3078cf
NES: fix high pitch being out of tune
2022-02-17 21:59:48 -05:00
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