James Alan Nguyen
80e8a3155c
Merge branch 'master' into feature/Moar-patch-bank-support-part3
2022-05-14 23:22:57 +10:00
tildearrow
db2ebc4930
OPNA: improvements
2022-05-13 03:18:14 -05:00
tildearrow
1b4256bb28
spelling change: Rom -> ROM - PLEASE READ
...
@Grauw: please update your MultiPCM code.
i know it's just a trivial change I made, but in my opinion "ROM"
indicates it's an acronym...
2022-05-12 22:15:03 -05:00
tildearrow
9bac00efe5
Merge pull request #448 from grauw/sample-rom-settings
...
Add emulation settings for YRW801, TG100 and MU5 sample ROMs.
2022-05-12 22:10:25 -05:00
Laurens Holst
c29f18dfc2
Add emulation settings for YRW801, TG100 and MU5 sample ROMs.
2022-05-12 20:18:01 +02:00
James Alan Nguyen
4354e4064b
Merge branch 'master' into feature/Moar-patch-bank-support-part3
2022-05-12 09:57:11 +10:00
tildearrow
a7e6323db9
add a full linear pitch mode, part 3
...
round frequency/period
2022-05-10 23:42:24 -05:00
tildearrow
f5dbc37902
YM2612: implement full linear pitch (part 2)
2022-05-10 23:17:40 -05:00
tildearrow
aad5d818f2
YM2612: early full linear pitch experiment
...
u n t e s t e d
2022-05-10 16:22:40 -05:00
tildearrow
8784fe5664
dev94 - add a full linear pitch mode, part 1
2022-05-10 03:51:18 -05:00
tildearrow
5e14177e4e
YM2610(B): use f-num/block baseFreq calculation
...
also allow for different octave boundary f-nums depending on chip clock
2022-05-10 02:22:08 -05:00
James Alan Nguyen
7ae72f0fe4
Rebase fix and move reused fileIns lambdas into cpp static functions (since effectively private)
2022-05-09 21:22:20 +10:00
tildearrow
40e992cc6f
prepare for something
2022-05-08 15:59:42 -05:00
tildearrow
2c643aca4c
add preliminary TX81Z SysEx response
...
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow
dbe9bf25e7
fix bug caused by new renderSamples approach
...
when doing switchMaster
2022-05-02 02:54:23 -05:00
tildearrow
5adc29906a
Merge pull request #410 from grauw/dispatch-render-samples
...
Move renderSamples() to DivDispatch implementations.
2022-05-02 00:25:58 -05:00
tildearrow
269f07f597
these are debug messages
2022-05-01 17:26:56 -05:00
Laurens Holst
7f0074511c
Move renderSamples() to DivDispatch implementations.
...
To prevent rendering samples for systems that are not in use.
Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
tildearrow
fae3de53a9
maybe uninitialized
2022-04-30 04:30:33 -05:00
tildearrow
4197fa44fb
GUI: prepare for a per-channel oscilloscope?
...
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM
no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow
52c0044bd9
GUI: add ability to customize startup system
2022-04-30 01:37:37 -05:00
tildearrow
2e8634626d
new panning effects (80/81/82)
2022-04-29 23:41:14 -05:00
tildearrow
5567746e0b
QSound: implement panning macro - PLEASE READ
...
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway
in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
tildearrow
2ac0e8af42
further improve channel allocation
2022-04-28 18:32:24 -05:00
tildearrow
34c3473389
improvements to swap/stomp channel
2022-04-28 14:03:58 -05:00
tildearrow
8675cdf802
OPL 4-op note preview possible fix
2022-04-28 05:38:28 -05:00
tildearrow
3906fc1dd4
better channel allocation strategy
...
issue #376
2022-04-28 05:04:34 -05:00
tildearrow
859b2cf8db
implement channel swapping
...
issue #378
2022-04-28 03:36:15 -05:00
tildearrow
66f5b2117f
dev90 - linear pitch macro option
2022-04-28 00:26:21 -05:00
tildearrow
c0df205f2d
more changes to autoNoteOn
...
now that there's a second prefer ins type, we get rid of DIV_INS_AMIGA check
2022-04-27 23:32:07 -05:00
tildearrow
3306e853d1
effectRows -> effectCols
...
i don't know why did I call it "rows"
2022-04-27 17:53:55 -05:00
tildearrow
78bdd98e0b
improvements to sysDef and UX changes
...
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow
24d60507e7
sysDef refactor, part 2
...
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
tildearrow
351c22cb77
sysDef refactor, part 1 - PLEASE READ NOTE
...
THIS WILL NOT COMPILE!!!
i'm still working on it
to @cam900: DO NOT PULL TO YOUR ES5506 BRANCH YET - wait until I am done
with this refactor
to @grauw: DO NOT PULL TO YOUR OPL4 BRANCH YET - wait until I am done
with this refactor
2022-04-26 18:32:33 -05:00
tildearrow
9eb9561b53
GUI: fix #400
2022-04-26 01:07:28 -05:00
tildearrow
e8c9b645c5
GUI: implement instrument preview in file dialog
...
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow
663e724111
I KNEW IT
2022-04-25 18:41:24 -05:00
tildearrow
b3f1935f2b
GUI: prepare for more UX improvements
...
- add "temporary instrument" to DivEngine
- prepare for two things:
- instrument preview on file picker (at least built-in one)
- instrument selector for banks (#364 )
2022-04-25 18:23:12 -05:00
tildearrow
17cf657f6a
one more pitch calc fix
2022-04-25 11:52:05 -05:00
tildearrow
832df58929
YM2612: fix several sample bugs
2022-04-25 01:24:42 -05:00
tildearrow
c84ff399d9
YM2612: fix negative octaves
2022-04-24 22:45:59 -05:00
tildearrow
4195715dc0
use good default instrument when adding ins
2022-04-21 02:29:20 -05:00
tildearrow
79fa8f1d02
better default instrument for OPL/OPLL
...
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow
d4380e1524
GUI: add an effect list window
2022-04-19 18:44:05 -05:00
tildearrow
cc5013f3dc
possibly fix OPl3 per-channel audio export
2022-04-18 04:42:51 -05:00
tildearrow
afa59a27ff
fix note preview for ADPCM-A
2022-04-18 04:16:59 -05:00
tildearrow
6450a5323a
fix preview of sample instruments
2022-04-16 22:26:41 -05:00
tildearrow
d0c76e020c
GUI: more note preview fixes
2022-04-16 00:10:52 -05:00
tildearrow
b48a2368be
more low-latency mode work
...
playSub() runs at normal tick rate
2022-04-15 22:22:47 -05:00
tildearrow
45460df96d
improve low-latency mode strategy
2022-04-15 14:38:25 -05:00
tildearrow
96715ed88c
add experimental low-latency mode
...
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow
9795bca2ca
fix audio export not aborting in per-channel mode
2022-04-14 02:26:47 -05:00
tildearrow
cc1933dcbb
export ExtCh op channels as a group
...
in per-channel audio export
2022-04-14 02:16:08 -05:00
tildearrow
2e2fafd878
GUI: add metronome volume setting
2022-04-13 02:29:07 -05:00
tildearrow
a20861559b
implement .dmc loading
2022-04-12 03:34:53 -05:00
tildearrow
8407a7d3a4
add several TODO comments
...
self-note: check this one after you come back!
2022-04-11 18:12:05 -05:00
tildearrow
6b627ab885
TOOK
2022-04-10 22:16:42 -05:00
tildearrow
fddd05dc1a
improve logging facility
...
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
tildearrow
5f526f4b6e
add playSub time log
2022-04-10 17:24:41 -05:00
tildearrow
46bf69769b
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
...
Resolve/Mute MSVC warnings, enable WAE for MSVC
2022-04-09 15:26:58 -05:00
OPNA2608
b6fb3820da
Remove unneeded includes
...
Some are harmless, some screw with SDL's standard includes due to preceeding `_USE_MATH_DEFINES`.
2022-04-09 21:10:15 +02:00
tildearrow
320250b831
MIDI out improvements
2022-04-09 01:50:44 -05:00
tildearrow
9e0e8f3345
dev80 - increase song limits
...
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow
6567d29450
separate instrument file ops
2022-04-03 02:15:04 -05:00
tildearrow
e44d081adc
prepare for .opm support
...
goodbye addInstrumentFromFile
hello instrumentFromFile + addInstrumentPtr
these changes are required to allow loading instrument banks
2022-04-03 01:56:49 -05:00
tildearrow
ffb536846b
fix .dmp loading
2022-04-02 17:37:43 -05:00
tildearrow
ffb01dd19c
Revert "release 0.6pre0"
...
This reverts commit f7566455c2
.
2022-04-01 05:20:00 -05:00
tildearrow
f7566455c2
release 0.6pre0
2022-04-01 04:45:06 -05:00
tildearrow
4b436ef1fc
and more MIDI input refinements
2022-04-01 02:21:10 -05:00
tildearrow
f689409f02
kind of MIDI output
2022-03-31 03:33:05 -05:00
tildearrow
45ce940d66
better MIDI and note input handling
...
closes #147
2022-03-31 01:51:57 -05:00
tildearrow
4825fe7adb
more work
2022-03-28 18:19:47 -05:00
tildearrow
08910d37b2
oh yes more MIDI work
2022-03-28 15:24:09 -05:00
tildearrow
5360cd73f4
earliest MIDI input! (no note input tho)
2022-03-28 03:46:50 -05:00
tildearrow
b514ee30da
MOD import: non-linear pitch
2022-03-26 22:34:11 -05:00
tildearrow
3ea9c0360f
implement F3xx and F4xx for fine vol slides
2022-03-26 20:58:33 -05:00
tildearrow
5f7078db42
bang bang bang
2022-03-25 03:41:43 -05:00
tildearrow
0687a6f217
this stupid effect
2022-03-25 03:18:44 -05:00
tildearrow
ed857b20c4
potentially breaking change: better freq formula
...
now using a 4096-entry-long table for calculating final period/frequency
see issue #303
2022-03-25 02:52:41 -05:00
tildearrow
bd36a4ffdc
dev71 - more compatibility flags for .mod
2022-03-23 23:57:10 -05:00
tildearrow
ece34990e5
several pitch fixes and stuff
...
pull request #303
2022-03-23 23:19:16 -05:00
tildearrow
711b60d454
improved mutex locking - less xruns when seeking
...
especially in JACK and macOS
2022-03-23 21:38:28 -05:00
tildearrow
11d9ce3f87
what is going on
2022-03-23 17:00:40 -05:00
tildearrow
6492eeff56
GUI: proper sample errors
2022-03-23 16:39:08 -05:00
tildearrow
6050fc7208
one more race condition fix
2022-03-21 17:56:48 -05:00
tildearrow
1003d9fcb8
GUI: more "modified" status situations
...
fixes #236
2022-03-21 16:17:51 -05:00
tildearrow
1941ca3616
fix crash on sample preview at low rate
2022-03-20 13:36:48 -05:00
tildearrow
34e679d642
Merge pull request #298 from djtuBIG-MaliceX/feature/OPL_SBI_Instrument_Import
...
OPL1/2/3 Instrument Import - SBI and S3I (Adlib only) format
2022-03-20 04:39:52 -05:00
James Alan Nguyen
cbe74b26ad
More #79 - Add S3I Adlib instrument support. Also fix SafeReader SEEK_CUR
handling (wasn't used at all).
2022-03-20 17:12:03 +11:00
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