Commit graph

3620 commits

Author SHA1 Message Date
Kagamiin~
4459a7d659 Implementing per-op arpeggio/pitch macro
Co-authored-by: LTVA1 <87536432+LTVA1@users.noreply.github.com>
2024-01-01 14:59:00 -03:00
Kagamiin~
215c8c375a Merge branch 'master' into feature/esfm 2024-01-01 14:45:54 -03:00
Daniel Konar
3039ce2416 Change reload to re-scan and refactor
Remove rt midi reinitialization (not needed as per docs)
Move midi rescan code to rescanMidiDevices as MIDI is not audio (rescanAudioDevices also appears to be unused)
2023-12-29 02:12:28 -05:00
Daniel Konar
c1c2b52ba7 Add button in midi settings to refresh midi devices
Deletes and creates a new RT midi instance allowing for midi devices to be plugged in without restarting
2023-12-29 02:12:28 -05:00
tildearrow
fd4570f973 fix description of 88xy effect 2023-12-28 14:37:10 -05:00
tildearrow
07b037349b fix text export crash 2023-12-27 14:49:35 -05:00
tildearrow
f8b0c556ca Namco WSG: fix vol macro scaling 2023-12-22 00:14:52 -05:00
tildearrow
f46aa5cbfd prepare for color scheme import/export chamges
this includes a small refactor of the settings mechanism
2023-12-21 18:14:28 -05:00
tildearrow
231a76d50b dev190 - GUI: color scheme guru mode
now you can fine-tune every color in the interface

TODO: improve color config format
2023-12-20 19:51:21 -05:00
tildearrow
478f7bb3bd MIDI input: program change pass-through option 2023-12-17 15:30:51 -05:00
tildearrow
39481ab571 fix velocity input 2023-12-17 15:08:52 -05:00
tildearrow
0208883fa1 OPL and OPLL vol map 2023-12-17 14:54:38 -05:00
Kagamiin~
a25bc61ff2 Reverting back to linear 2023-12-17 16:46:20 -03:00
tildearrow
8d30ac4d3b OPN: proper vol map for SSG/ADPCM/CSM/DAC parts 2023-12-17 14:41:25 -05:00
Kagamiin~
b6d632bc9c Adding text export fixtures for ESFM instruments 2023-12-17 10:40:59 -03:00
Kagamiin~
71841aaf4f Updated mapVelocity; also changed back to MIDI standard 2023-12-17 09:05:46 -03:00
Kagamiin~
13e45cfce2 Merge branch 'master' into feature/esfm 2023-12-17 08:31:16 -03:00
tildearrow
87fc987800 remove debug message 2023-12-17 03:47:52 -05:00
tildearrow
51b385a1ef apply volExp on velocity input - PLEASE READ
DivDispatch::mapVelocity() now takes a float instead of an unsigned char
2023-12-16 19:52:37 -05:00
tildearrow
99dd85bcb4 MIDI velocity mapping, part 1 2023-12-16 19:37:14 -05:00
Kagamiin~
e32b45a1eb Changing mapVelocity to linear mapping 2023-12-15 14:57:12 -03:00
Kagamiin~
403799d1a3 Updating sysDef; implementing mapVelocity 2023-12-15 14:20:56 -03:00
Kagamiin~
f42332f2c0 Merge branch 'master' into feature/esfm 2023-12-15 09:15:05 -03:00
cam900
7f706b9761 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-12-14 19:04:28 +09:00
tildearrow
69998e2c7e prepare for MIDI velocity mapping 2023-12-13 20:44:32 -05:00
Daniel Konar
45fb9378eb
Matches preview playback with midi volume input when enabled (#1636)
* Uncomment line which enables midi input preview playback
Tested with various chip and logged, the results match what goes to the column

* Revert operator spacing

* Move midi input processing from playback to gui to allow correct input volume playback

* Revert "Move midi input processing from playback to gui to allow correct input volume playback"

This reverts commit 6f8f6ccde3.
2023-12-13 20:07:55 -05:00
cam900
ea4d4a0b70 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-12-11 19:00:49 +09:00
tildearrow
342a2174d5 fix silent song after playing past loop point
issue #1537
2023-12-10 17:52:32 -05:00
tildearrow
f5b41d5ac3 dev189 - Merge branch 'chanoscchecklist' of https://github.com/Eknous-P/furnace 2023-12-06 12:21:24 -05:00
Eknous-P
5063504378 change the defaults 2023-12-06 16:21:21 +04:00
MooingLemur
2938a9b8af move lastCenterRate=-1 from constructor to reset(), set lastCenterRate even if OOB 2023-12-06 02:52:08 -05:00
MooingLemur
69363b4db9 code cleanup 2023-12-06 02:52:08 -05:00
MooingLemur
b83cc98eb1 VERA/ZSM: remember last sample played so that async pitch changes work on ZSM export 2023-12-06 02:52:08 -05:00
tildearrow
6ac348bbba dev188 - Merge branch 'linear_volume_rounding' of https://github.com/zeta0134/furnace 2023-12-05 16:36:00 -05:00
tildearrow
8aabaf0e01 Virtual Boy: fix the fix 2023-12-04 15:29:09 -05:00
tildearrow
bd3f6765f4 early text export
incomplete
2023-12-04 15:22:29 -05:00
tildearrow
643e5d5d5b prepare for text export 2023-12-04 04:17:30 -05:00
tildearrow
1dc6ac5b20 Virtual Boy: write noise mode in forceIns 2023-12-02 03:55:39 -05:00
tildearrow
25a832f9fc Virtual Boy: fix forceIns in static wave mode 2023-12-02 03:39:18 -05:00
cam900
35f8a92741 Reduce duplication 2023-12-01 20:19:35 +09:00
cam900
32f0113a39 Fix VGM output 2023-12-01 20:12:09 +09:00
cam900
b427bab4b6 Merge branch 'master' of https://github.com/tildearrow/furnace into nmk112 2023-12-01 20:07:35 +09:00
tildearrow
f646e5383f prepare for automatic wave size detection - READ
if you added a chip to Furnace, or have a pull request in progress,
edit your system definition in sysDef.cpp.
2023-11-28 18:36:52 -05:00
tildearrow
5ab70ff91f PCM DAC: fix possible overflow in linear interpola 2023-11-26 18:50:22 -05:00
tildearrow
0c727ff6b7 YM2612: YMF276-LLE, part 1 2023-11-25 18:02:21 -05:00
tildearrow
a7be3e9514 VERA: fix possible PCM crash 2023-11-25 17:28:30 -05:00
tildearrow
e741c6a393 OPL: reduce YMF262-LLE write delay 2023-11-25 03:13:14 -05:00
tildearrow
2558da9418 OPL: YMF262-LLE, part 1 2023-11-25 02:26:59 -05:00
tildearrow
32030d6742 OPL: YM3812-LLE, part 4
Y8950
2023-11-24 15:29:00 -05:00
tildearrow
8500b1b435 OPL: YM3812-LLE, part 3
per-chan osc
2023-11-24 15:16:00 -05:00
tildearrow
817d066a57 OPL: YM3812-LLE, part 2 2023-11-24 04:19:58 -05:00
tildearrow
c5f441a83a OPL: YM3812-LLE?! part 1 2023-11-23 18:28:39 -05:00
tildearrow
a75a99a808 OPL: ymfm core, part 2 2023-11-23 15:12:22 -05:00
tildearrow
955682b240 OPL: ymfm core, part 1 2023-11-22 19:28:36 -05:00
tildearrow
1bcdedda3e prepare the addition of more OPL emulation cores 2023-11-22 16:35:02 -05:00
tildearrow
a9dd2ee6b5 ES5506: remove 8-bit sample format flag
issue #1601
2023-11-20 18:54:11 -05:00
tildearrow
c59e2e6e87 Virtual Boy: add static wave storage mode 2023-11-20 18:32:17 -05:00
tildearrow
cf84be0b71 Virtual Boy: this works?! 2023-11-20 17:32:33 -05:00
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