Commit graph

3606 commits

Author SHA1 Message Date
Zeta
947b7add5e Bump DIV_VERSION to 188, since we added a new compatibiltiy flag
(Also adjust the file save/load to use that version)
2023-11-14 04:17:05 -05:00
Zeta
67d6f44947 Persist new volume rounding option to furnace module when saving 2023-11-14 03:51:51 -05:00
Zeta
36804d7c9b Add an option to round volumes up when applying linear scaling
This is secretly a FamiTracker compatibility mode, but it's useful
in many other contexts. With upwards rounding, if both the channel
and the macro volume are positive, then the computed result is
also positive, ie, it will never become 0, which is silent on many
chips.

Still needs UI changes to expose the setting, and save/load work
to persist it to file.
2023-11-14 03:27:03 -05:00
tildearrow
26648a895d Amiga: yet another fix... 2023-11-06 04:25:27 -05:00
tildearrow
a3ea20bfec Amiga: fix loop 2023-11-06 04:21:48 -05:00
tildearrow
20537d5af0 Amiga: one more accuracy fix 2023-11-05 18:06:01 -05:00
tildearrow
f0e51f6e88 Amiga: improve accuracy
don't stop DMA until sample is done playing
do not update output if PM/AM is on
2023-11-05 17:00:02 -05:00
cam900
7cf40f2d33 Merge branches 'master' and 'nmk112' of https://github.com/tildearrow/furnace into nmk112 2023-11-04 18:53:30 +09:00
tildearrow
6df06a7f89 Revert "prepare for volume handling refactor"
sorry......... this refactor is canceled as it seems harder than I thought...
2023-11-04 04:13:47 -05:00
tildearrow
54187d043d Revert "volume handling refactor, part 1 - BEWARE"
This reverts commit e1cb84a076.
2023-11-04 04:13:20 -05:00
tildearrow
e1cb84a076 volume handling refactor, part 1 - BEWARE
do not use these versions for production. your modules will break until this is finished!

only Amiga is done for now
2023-11-03 14:46:23 -05:00
cam900
31977ab7c6 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-11-02 21:19:26 +09:00
tildearrow
4bc5f49fe6 prepare for volume handling refactor 2023-11-01 20:43:48 -05:00
tildearrow
64ef082650 don't correct DC offset if setting is off 2023-10-29 15:46:53 -05:00
tildearrow
717e75f82d add setting to disable DC offset correction 2023-10-29 15:25:23 -05:00
tildearrow
38103d9c1f YM2612: fix getPan on ExtCh channel 5 2023-10-29 13:33:29 -05:00
tildearrow
e915c6efb9 C64: fix MSVC build... 2023-10-29 05:36:53 -05:00
tildearrow
e2278d3688 C64: relative cutoff and duty macros are fine 2023-10-29 04:36:25 -05:00
tildearrow
f05d1693f8 C64: add chip flag to set env reset time
2 by default
1 for .dmf and old Furnace songs
2023-10-29 04:14:54 -05:00
tildearrow
7fd54775bb C64: really fix porta 2023-10-29 03:54:12 -05:00
tildearrow
a0df838427 fix crash when loading song with no chips 2023-10-29 03:38:51 -05:00
tildearrow
7575e7a4a7 C64: more fixes... 2023-10-29 03:12:33 -05:00
tildearrow
e29113c926 C64: another tiny fix
also document conversion approach
2023-10-29 03:04:55 -05:00
tildearrow
592a3f102a C64: tiny fix to old test/gate/special compat 2023-10-29 02:45:15 -05:00
tildearrow
a9201bebdc C64: old test/gate/special macro compatibility 2023-10-29 02:43:38 -05:00
tildearrow
87b8851900 C64: volIsCutoff compatibility 2023-10-29 02:25:35 -05:00
tildearrow
90032899c7 C64: bunch of changes
- merging test/gate and special macros
- drop new test/gate compat flag - not necessary
- code style and tabs to spaces

TODO: compatibility!
2023-10-29 01:39:37 -05:00
tildearrow
897b03dc6a dev187 2023-10-29 00:29:11 -05:00
tildearrow
ecec1acd24 Merge branch 'master' of https://github.com/LTVA1/furnace into c64improve 2023-10-29 00:22:10 -05:00
tildearrow
f03996ebd2 move furIcons somewhere else 2023-10-28 19:07:40 -05:00
tildearrow
e121c40a23 piece of trash 2023-10-28 19:03:08 -05:00
tildearrow
bd88639c90 GUI: channel status, part 6
PC Engine
2023-10-28 18:47:24 -05:00
tildearrow
1a448649b6 GUI: channel status, part 5
now with custom icons
colors stolen from GEP
2023-10-28 02:39:44 -05:00
LTVA1
0f760a365e standlalone cutoff macro (with correct relative mode) 2023-10-28 10:15:41 +03:00
tildearrow
afd5529925 C64: deprecate 1Exy 2023-10-27 19:19:39 -05:00
tildearrow
d8daeb1169 GUI: channel status, part 4 2023-10-27 18:08:37 -05:00
tildearrow
429119a186 C64: I may have solved it 2023-10-27 15:48:36 -05:00
tildearrow
fe5587e958 fix 0300 not being taken into account in pre note 2023-10-27 14:45:34 -05:00
Kagamiin~
46024277b2 Removing channel deactivaton upon note off 2023-10-27 12:01:39 -03:00
LTVA1
006f0d6f48 wrong flag string 2023-10-27 17:25:14 +03:00
LTVA1
847bb046f6 fix 2023-10-27 17:23:48 +03:00
LTVA1
50b314bd77 Make separate macros for each ADSR param 2023-10-27 17:20:32 +03:00
tildearrow
20a5d9c089 GUI: channel status, part 3 2023-10-27 04:23:35 -05:00
tildearrow
e28af73746 GUI: channel status, part 2 2023-10-26 19:03:45 -05:00
Kagamiin~
47c4273e5c Code review suggestions 2 2023-10-26 09:47:18 -03:00
Kagamiin~
170248e61a Code review suggestions
Haven't had a good peer review in ages.
2023-10-26 09:43:01 -03:00
Kagamiin~
59d56b169b Removing stray space 2023-10-25 17:33:57 -03:00
Kagamiin~
85db9ca16e Merge branch 'master' into feature/esfm 2023-10-25 17:10:16 -03:00
LTVA1
1207eb1e32 add C64 ADSR macros, add gate bit to test/gate macro, untested fix of macro retrigger on 03xx command 2023-10-25 21:28:29 +03:00
Kagamiin~
d47fcd9616 Adding placeholder for Namco C352 2023-10-25 14:02:52 -03:00
Kagamiin~
91e6d848e6 Changing ESFM chip ID (0xd0 is taken) 2023-10-25 13:49:57 -03:00
Kagamiin~
7d0eee7a95 Removing dash from system name
Because it causes problems with e.g. KDE in the window title.
2023-10-24 14:49:12 -03:00
Kagamiin~
b799383351 Changing detune effect description for consistency 2023-10-24 14:34:26 -03:00
Kagamiin~
23b1c4107e Fix hard reset handling; add detune effect; change some labels 2023-10-24 14:29:37 -03:00
tildearrow
c0acd472ed SoundUnit: fix sample map 2023-10-23 16:40:30 -05:00
tildearrow
6dddee40d5 C64: 20xy and 21xy for setting ADSR
dropping DefleJank
2023-10-23 13:49:03 -05:00
tildearrow
aad3557693 dev186 - C64: update env on 1Exy 2023-10-23 13:38:16 -05:00
tildearrow
9ca7d529eb 128 patterns are possible under .mod... 2023-10-23 04:31:27 -05:00
Kagamiin~
64baa7c97f Some refactoring 2023-10-22 11:46:34 -03:00
tildearrow
f718fbb5f5 dev185 - SoundUnit: hardware sweep sequences
kinda buggy in note off... may require a rewrite of volume handling
2023-10-21 18:42:37 -05:00
Kagamiin~
dde56c0cfc Merge branch 'master' into feature/esfm 2023-10-21 14:57:43 -03:00
Kagamiin~
a1b7e52467 Implementing pattern effects, detune on FM preview, default instrument 2023-10-21 14:35:20 -03:00
cam900
15bdb19336 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-10-21 15:15:10 +09:00
tildearrow
10c72f3a10 SoundUnit: duty on forceIns 2023-10-20 17:28:45 -05:00
tildearrow
ad55e6f728 ES5506: fix getPan 2023-10-17 18:11:12 -05:00
Kagamiin~
a01ddd381e Implement ESFM macros 2023-10-17 19:24:57 -03:00
tildearrow
06ba12b270 add command line option to see song summary 2023-10-17 14:11:35 -05:00
Kagamiin~
8ae86f79a8 Merge branch 'master' into feature/esfm 2023-10-17 15:53:21 -03:00
Lunathir
94213d7cda Fix stray apostrophe 2023-10-17 01:34:43 -05:00
Lunathir
e8ff51c7d1 Correct instances of years having apostraphes at end 2023-10-17 01:34:43 -05:00
Kagamiin~
39001dcb6a Adding operator routing visualization 2023-10-16 16:57:04 -03:00
tildearrow
e633550647 automatic safe mode!
to-do: test on Windows...
2023-10-16 14:55:01 -05:00
Kagamiin~
4a0295fd1f WIP: adding fixed pitch mode; fix UB in ESFM driver 2023-10-15 19:46:07 -03:00
tildearrow
061b8e7aa1 GUI: add a hint when an ins cannot be previewed 2023-10-15 17:02:25 -05:00
Kagamiin~
cfa0628a32 Removing unused code 2023-10-15 11:46:32 -03:00
Kagamiin~
779afcb97a WIP: adding ESFM (ESS ES1488/ESS ES1868 etc.) system 2023-10-15 11:46:32 -03:00
tildearrow
8f4133d2e7
Merge pull request #1523 from Eknous-P/defartist
default author name
2023-10-14 03:43:46 -05:00
tildearrow
dd7f4c12e2 dev184 - Merge branch 'master' of https://github.com/DevEd2/furnace 2023-10-14 03:19:02 -05:00
tildearrow
f1afa423d4 fix instrument loading
after an SL or WL block it wouldn't load anything else
2023-10-14 02:53:55 -05:00
tildearrow
10172e0489 GUI: better DPCM mapping, part 2 2023-10-13 19:57:36 -05:00
tildearrow
7ede07e2a4 dev183 - prepare for better DPCM mapping 2023-10-12 19:52:44 -05:00
tildearrow
40da2ecb46 fix clock overflow 2023-10-12 05:26:48 -05:00
tildearrow
6118e75ec7 fix gap in audio export 2023-10-12 03:54:32 -05:00
tildearrow
af56b726e4 low quality tildearrow code 2023-10-11 17:24:40 -05:00
Eknous-P
b16a562aeb default author name 2023-10-11 18:16:46 +04:00
tildearrow
219665ed60 dev182 - add a different macro release strat
active release makes the macro jump to release pos instead of waiting
2023-10-11 03:36:21 -05:00
tildearrow
8235f6ee66 C140: add bank types 2023-10-11 02:48:39 -05:00
tildearrow
b08f1e656f SNES: NOOOOOOOOOOOOO
a typo ruined 0.6 :<
issue #1522
2023-10-11 01:16:57 -05:00
tildearrow
43468653a0 prepare for pre-calculated pitch table 2023-10-10 20:15:58 -05:00
tildearrow
cb8ed42cd6 GUI: channel pair hints, part 5
SNES freq mod
2023-10-09 04:28:08 -05:00
tildearrow
7fc734744d GUI: channel pair hints, part 2
POKEY
2023-10-08 04:07:26 -05:00
tildearrow
4b008f4b41 GUI: channel pair hints, part 1
very ugly
2023-10-07 20:35:25 -05:00
tildearrow
c8597c3c3e Y8950: fix missing drum toggle effect 2023-10-06 00:36:23 -05:00
tildearrow
750406e0be fix missing pre effects
issue #1513
2023-10-06 00:34:51 -05:00
tildearrow
687fbf5436 macro name refactor 2023-10-05 23:51:34 -05:00
tildearrow
839dc3cd91 prepare to add channel pair and mode hints 2023-10-05 04:47:14 -05:00
tildearrow
79f92fab68 GUI: prepare for status view 2023-10-03 04:38:28 -05:00
cam900
d6d3bbcbf1 Fix build 2023-10-03 14:02:33 +09:00
cam900
e76d96f4cb Fix length 2023-10-03 12:35:18 +09:00
cam900
b12af42b06 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-10-02 16:53:07 +09:00
DevEd
ac85732ef2
Merge branch 'tildearrow:master' into master 2023-10-02 01:07:35 -04:00
tildearrow
fbc34fae02 release v0.6
finally!

thanks to:
- everyone who has helped with testing and bug reporting
- all contributors
- all demo song artists
- every user

thank you
I really mean it
2023-10-01 23:08:46 -05:00
tildearrow
572dbcfdd2 K007232: fix getPan 2023-10-01 15:06:43 -05:00
tildearrow
6b2061a434 release v0.6pre18
hopefully this, for REAL, is the last pre-release
2023-09-27 16:03:57 -05:00
tildearrow
e1f7a175c4 whoops 2023-09-27 02:23:15 -05:00
tildearrow
6c88329ddd possibly fix crash after render
issue #1503
2023-09-27 02:22:56 -05:00
tildearrow
08a93f9c4d Namco WSG: fix noise mode 2023-09-26 12:23:38 -05:00
tildearrow
de2beb794f release v0.6pre17
hopefully this is the final one before 0.6
2023-09-25 14:28:38 -05:00
tildearrow
a3d8c81e9d add option to swap bytes in raw smp import 2023-09-25 05:09:56 -05:00
tildearrow
8231e3beba VGM export: RFC volume balance 2023-09-24 19:13:08 -05:00
tildearrow
67c3a67a0d C140/C219: several fixes
loop point fix
crash fix
2023-09-24 16:54:19 -05:00
tildearrow
7fe2a99112 VGM export: fix virtual tempo resulting in no loop 2023-09-24 02:28:05 -05:00
cam900
4a92bf088f Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-09-21 20:50:28 +09:00
tildearrow
cb63314f53 OPN/A/B: fix chan osc overflow 2023-09-20 16:31:38 -05:00
tildearrow
746744606f oops 2023-09-20 01:10:30 -05:00
tildearrow
196619cf70 MSM6295: enforce max vol of 8 2023-09-20 01:08:48 -05:00
tildearrow
cad63d8351 is this faster? 2023-09-20 00:24:55 -05:00
tildearrow
5eaafb9f78 fix typo 2023-09-19 04:04:09 -05:00
tildearrow
78a72eb5ab fix WonderSwan channel names 2023-09-19 02:52:51 -05:00
DevEd
16aed41e89
Merge branch 'tildearrow:master' into master 2023-09-17 13:43:47 -04:00
tildearrow
7912a7982c implement a setting which was missing
store/load ins names when saving .fui
2023-09-16 18:15:03 -05:00
tildearrow
b105dd535f GUI: better 2023-09-16 15:04:11 -05:00
tildearrow
d9c33da519 asdfasdfasdf 2023-09-15 04:44:19 -05:00
tildearrow
5a4be9951d release v0.6pre16 2023-09-14 04:31:15 -05:00
tildearrow
29db4d5bb5 release v0.6pre15 2023-09-13 18:25:32 -05:00
tildearrow
8cac04d917 OPL: fix drum muting 2023-09-13 18:03:22 -05:00
tildearrow
9a63fdccd5 drop usage of std::deque, part 2 2023-09-13 02:46:02 -05:00
tildearrow
8b565ed284 drop usage of std::deque, part 1
use FixedQueue instead
2023-09-13 02:40:12 -05:00
tildearrow
658f69bc4e dev176 - OPM/OPZ: fix pitch 2023-09-12 01:12:59 -05:00
Colin Kinloch
33a9def787 config: Use XDG_CONFIG_HOME 2023-09-11 23:37:56 +01:00
DevEd
21d11c64b4
Merge branch 'tildearrow:master' into master 2023-09-11 18:15:48 -04:00
tildearrow
41544bcced add sample preview volume setting
it was too loud
2023-09-11 16:04:19 -05:00
tildearrow
41bd28c41a release v0.6pre14 2023-09-11 03:20:17 -05:00
tildearrow
4777284a7c C219: don't phase reset if duty macro hasn't chang
ed
2023-09-11 02:57:24 -05:00
tildearrow
f0255f30e8 C219: fix noise being restricted by sample length 2023-09-11 02:54:48 -05:00
tildearrow
d687edf16a SoundUnit: fix getPan() again 2023-09-11 01:50:52 -05:00
tildearrow
7a6daba071 VGM export: don't initialize rate of MSM6258 2023-09-11 01:44:56 -05:00
tildearrow
8b7b21d909 MSM6258: VGM EXPORT!!! 2023-09-11 01:19:02 -05:00
tildearrow
b5c53319ef discourage use of Pong 2023-09-11 00:04:45 -05:00
DevEd
be6f7175bf
Merge branch 'tildearrow:master' into master 2023-09-10 21:54:13 -04:00
tildearrow
7e5f91a69c release v0.6pre13 2023-09-10 18:05:16 -05:00
DevEd
a2c9ec78d3 add compatibility flag for arp phase reset on new note 2023-09-10 17:41:16 -04:00
DevEd
85c5cffde8 reset arpeggio phase to zero on new note 2023-09-10 17:08:32 -04:00
tildearrow
630bdfb2b5 K053260: fix legato + arp on non-linear pitch 2023-09-10 13:06:25 -05:00
tildearrow
ef3b88fcd3 fix BUG notes 2023-09-10 12:14:36 -05:00
tildearrow
52b071aa6b fix erroneous "the song is over!"
when loading another song after step play
2023-09-10 03:00:55 -05:00
tildearrow
a7ded3325a warn user if we cannot play 2023-09-09 17:12:49 -05:00
tildearrow
c6c05582bd release v0.6pre12 2023-09-09 16:23:17 -05:00
tildearrow
5209074c97 GUI: improve "clear..." menu 2023-09-08 02:52:15 -05:00
tildearrow
624e45afa8 optimize renderSamples
only render sample which has changed
2023-09-08 01:19:48 -05:00
tildearrow
a71e1bc6e9 GUI: optimize readOsc 2023-09-08 00:41:47 -05:00
tildearrow
d81a181ba5 hmm? 2023-09-07 23:37:17 -05:00
tildearrow
bbc524c07a release v0.6pre11 2023-09-07 19:09:53 -05:00
tildearrow
a11e390d7e fix sample center rate loading 2023-09-07 19:00:31 -05:00
tildearrow
38ae572621 possible fix to playback crash 2023-09-07 14:21:00 -05:00
tildearrow
6dafc48e06 release v0.6pre10 - THE F R E E Z E
from now on it's just bug fixes.
once a pre-release survives a week without issues, 0.6 comes out.
2023-09-07 02:33:17 -05:00
tildearrow
e839212aa0 Merge branch 'master' into nmk112 2023-09-07 01:41:22 -05:00
tildearrow
a3cd0fa6ba limit number of render pool threads to chip count 2023-09-07 01:16:27 -05:00
tildearrow
157f3be253 workPool: handle thread init failures 2023-09-07 01:16:12 -05:00
tildearrow
1a520dbf3e more multi-thread fixes
don't use static on acquire()
don't yield at all
run fillBuf() on thread
fix option tooltip as it introduces some overhead
2023-09-07 00:48:26 -05:00
tildearrow
64669e4d9b workPool: do not notify empty threads 2023-09-07 00:21:26 -05:00
tildearrow
9b276e80f8 workPool: don't use std::function
it's kinda slow
2023-09-07 00:16:47 -05:00
tildearrow
084cbcb168 fix some typos 2023-09-06 22:34:56 -05:00
tildearrow
7e50ffe1f0 workPool: don't use SDL 2023-09-06 19:41:54 -05:00
tildearrow
c1b6aed04b Merge branch 'threaded' - but will be hidden
under a cheat code for now
2023-09-06 19:27:55 -05:00
tildearrow
bb4de6fcb0 OPL/OPNA/OPNB: fix ADPCM-B freq not being clamped 2023-09-06 18:39:56 -05:00
tildearrow
692a1b7915 much better 2023-09-06 16:39:35 -05:00
tildearrow
5329e551d4 improve a bit and add option 2023-09-06 14:23:47 -05:00
tildearrow
e8dbacf6e0 this is horrible 2023-09-06 06:22:03 -05:00
tildearrow
e1cd05e8e9 reset workPool position after wait 2023-09-06 04:06:26 -05:00
tildearrow
7d0f816d11 prepare for threaded rendering?
one chip per thread.
2023-09-06 04:03:53 -05:00
tildearrow
ec4063641a GUI: fix sample preview needle visible when switch
ing samples
2023-09-05 15:38:02 -05:00
tildearrow
eb18b28928 workPool: improvements 2023-09-05 06:02:58 -05:00
tildearrow
1da000b00c GUI: per-chan osc multi-threading! 2023-09-05 04:38:57 -05:00
tildearrow
ad7b4f61b5 YM2612: fix missing 30xx effect 2023-09-04 15:02:19 -05:00
tildearrow
ab7b26a2e7 GUI: improve chan osc wave centering 2023-09-04 01:18:48 -05:00
tildearrow
ef23b88ad3 NES: fix chan osc (noise, NSFplay) 2023-09-02 03:58:11 -05:00
cam900
a2be46bb82 Casting 2023-08-31 20:35:35 +09:00
cam900
5aeeb09616 Prepare for NMK112 bankswitching support 2023-08-31 20:34:04 +09:00
tildearrow
65cd433ac7 fix hang detection (DirectSound) 2023-08-31 04:46:52 -05:00
tildearrow
fa7405090e add WASAPI exclusive mode flag to PortAudio backen
d
2023-08-31 04:30:49 -05:00
tildearrow
addbc986f0 ExtCh: fix forceIns
why KVS
2023-08-31 03:23:15 -05:00
tildearrow
9caa2f38f4 SoundUnit: fix getPan() 2023-08-31 00:42:25 -05:00
tildearrow
274ce8a646 remove many TODOs 2023-08-30 19:21:38 -05:00
tildearrow
68787a4d8b add PortAudio backend - PLEASE READ
PLEASE DO:

```
git submodule update --init --recursive
```

AFTER PULLING THIS COMMIT.
2023-08-30 17:32:51 -05:00
tildearrow
5a688c58cb OPM/OPZ: invert noise frequencies
since ymfm is default
2023-08-30 13:46:47 -05:00
tildearrow
63dcacf33d dev170 - YM2151: fix noise frequency on ymfm
issue #1441
raising ver num to allow possible compat change
2023-08-30 13:35:22 -05:00
tildearrow
ff3cebfffd
Merge pull request #1022 from tildearrow/x1_010_bank
Add Seta 2 Bankswitch support
2023-08-30 02:22:18 -05:00
tildearrow
fda2ca0645 introduce p r e - e f f e c t s
the ultimate fix to #1439
2023-08-30 02:17:16 -05:00
tildearrow
de34b5c9c4 K053260: implement ADPCM 2023-08-29 16:43:37 -05:00
tildearrow
4abae260f4 implement K05 ADPCM 2023-08-29 06:23:38 -05:00
tildearrow
61b0179da1 kind of implement K05 ADPCM
low quality
2023-08-29 06:16:07 -05:00
tildearrow
32ec87ca27 prepare for K05 ADPCM 2023-08-29 04:26:25 -05:00
tildearrow
eaac5cc224 C219: fix VGM export
a sample word has two 8-bit samples in reverse order
(need hardware confirmation)
2023-08-29 04:09:11 -05:00
tildearrow
e7fe99f795 C219: fix VGM export crash 2023-08-29 03:42:16 -05:00
tildearrow
ead19d6111 C219: fix bank restore 2023-08-29 03:40:40 -05:00
tildearrow
ca51ee9f32 C219: fix bank note off 2023-08-29 03:38:59 -05:00
tildearrow
eff22ae7b9 fix µ-law encoder 2023-08-29 03:26:32 -05:00
tildearrow
e6c52e34d1 C219: finish C219 sample format 2023-08-29 03:19:26 -05:00
tildearrow
da7ad75afd C219: fix audio 2023-08-29 02:32:59 -05:00