Commit graph

3612 commits

Author SHA1 Message Date
Kagamiin~ 56d774bb3b Merge branch 'master' into feature/esfm 2023-11-18 09:15:48 -03:00
Eknous-P f9c4684e4a aaa where did the extra indent come from 2023-11-16 14:15:58 +04:00
Eknous-P 16425817f6 some rearranging, undo table column bump and
default to true for older verions
2023-11-16 14:13:45 +04:00
Eknous-P 225cdead96 chanOsc visibility checklist 2023-11-15 18:21:01 +04:00
cam900 f6849dfa50 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-11-15 19:19:47 +09:00
Zeta 52f0683c7f cleanup: remove silly comments, reference correct version number 2023-11-14 04:22:06 -05:00
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