tildearrow
90a18611cd
sys flags: don't play when song is stopped
2022-03-19 22:03:12 -05:00
James Alan Nguyen
629049dea0
Redundant if-statement
2022-03-20 05:50:22 +11:00
James Alan Nguyen
5396889195
Missed feedback for 4op block
2022-03-20 01:04:38 +11:00
James Alan Nguyen
b1a0aa86ef
Instrument File Import support for 2op SBI, 4op SBI, and Freq Monster 801 SBI format (4op portion only).
2022-03-20 00:55:34 +11:00
James Alan Nguyen
e032580639
Started SBI import work (Issue #79 SBI task). Also ensure catch by reference not value.
2022-03-20 00:55:34 +11:00
tildearrow
689ed3bf65
sample editor workkkkkkk
2022-03-19 03:42:44 -05:00
tildearrow
02e9edbad9
unlock the power of DECIMAL HZ!
2022-03-15 23:30:15 -05:00
tildearrow
d8be1ddc4b
make addSystem error more clear
2022-03-15 18:36:24 -05:00
tildearrow
fa32cadd36
fix conflicting system flags when changing systems
2022-03-15 18:34:41 -05:00
Natt Akuma
54da047b5a
Apply requested changes
...
- Use sample->init() instead
- Implement set Hz by tempo effect and move from C4xx to F0xx
- Add "SAMPLE_POS" to cmdName
2022-03-15 03:59:42 +07:00
Natt Akuma
c7fb5df206
Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import
2022-03-14 21:57:54 +07:00
Natt Akuma
87f225074c
.mod import
2022-03-14 21:50:52 +07:00
tildearrow
c6fda7a156
Merge branch 'x1_010' of https://github.com/cam900/furnace into cam900-x1_010
2022-03-10 18:24:52 -05:00
cam900
2e6cc9fc7c
Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
...
# Conflicts:
# CMakeLists.txt
# papers/doc/7-systems/README.md
# src/engine/dispatch.h
# src/engine/dispatchContainer.cpp
# src/engine/playback.cpp
# src/engine/sysDef.cpp
# src/gui/gui.cpp
2022-03-08 13:38:24 +09:00
cam900
65149a466f
Fix accidently auto-generated spaces
2022-03-08 00:15:21 +09:00
Natt Akuma
3b88786ffb
Merge branch 'master' of https://github.com/tildearrow/furnace into x16
2022-03-07 16:46:32 +07:00
tildearrow
8f957baa3e
dispatch: add function to notify playback stopped
...
for the PC Speaker real driver
2022-03-07 01:48:48 -05:00
cam900
4a83c7c5a7
Add Seta/Allumer X1-010 Support
...
its 16 channel wavetable/PCM chip, with (optional) stereo support.
Its also has envelope, this feature has similar as AY PSG's one but its shape is also stored at RAM, and each nibble in envelope data is for each output: so i decided to added some feature for more stereo-ish envelope.
Split: Envelope shape will be splitted to Left and Right half for each output.
HInv, Vinv: Envelope shape will be Horizontally/Vertically mirrored the left one.
Max sample length is sample bank size of Seta 2 arcade hardware (currently not emulated yet, nor it doesn't support on VGM).
Chip id is temporary, it can be changed with to suggestions.
2022-03-07 02:31:03 +09:00
Natt Akuma
9abf872ff3
Add VERA support for Commander X16
2022-03-04 18:20:38 +07:00
tildearrow
d94e0ec3e7
GUI: prepare a better new song thingy
2022-03-02 02:22:51 -05:00
tildearrow
acc9b0aa57
Merge pull request #225 from cam900/ym2610b
...
Prepare to experimental support YM2610B and with Extended channel 3 mode, Some additions
2022-03-01 23:21:46 -05:00
tildearrow
fa5e2bc439
TODO: revamp new song system picker
2022-03-01 17:19:52 -05:00
cam900
1631af8f8e
Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
2022-03-02 01:18:36 +09:00
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