Compare commits

...

1907 Commits

Author SHA1 Message Date
tildearrow ec4063641a GUI: fix sample preview needle visible when switch
ing samples
2023-09-05 15:38:02 -05:00
tildearrow 803c8b0582 GUI: update intro
ticket #1453
2023-09-05 15:31:27 -05:00
tildearrow fc760eed43 GUI: fix cut off text in settings 2023-09-05 15:30:53 -05:00
tildearrow eb18b28928 workPool: improvements 2023-09-05 06:02:58 -05:00
tildearrow d42b503e81 GUI: update credits 2023-09-05 05:33:23 -05:00
tildearrow 2c0ae7c8bb reduce intro volume, part 1 2023-09-05 04:55:22 -05:00
tildearrow 5f0fe2c8f7
READY! DOWN! HUT HUT HUT HUT HUT HUT HUT HUT HUT
****** CHANGE SIDES ******
NEXT DEFENSE      NEXT OFFENSE
2023-09-05 04:42:35 -05:00
tildearrow 1da000b00c GUI: per-chan osc multi-threading! 2023-09-05 04:38:57 -05:00
tildearrow c99899a002 GUI: re-organize chan osc code
prepare for possible multi-threading
2023-09-04 18:54:33 -05:00
tildearrow 55eeb241cf this won't build 2023-09-04 18:35:18 -05:00
tildearrow ad7b4f61b5 YM2612: fix missing 30xx effect 2023-09-04 15:02:19 -05:00
tildearrow 2ca5856800 a fix 2023-09-04 04:25:21 -05:00
tildearrow 60df7e26f4 GUI: even more chan osc improvements 2023-09-04 04:14:47 -05:00
tildearrow ab7b26a2e7 GUI: improve chan osc wave centering 2023-09-04 01:18:48 -05:00
tildearrow 7a78ec1b60 GUI: optimize chan osc
don't process FFT if not loud enough
don't process DFT if we couldn't determine wave length
2023-09-03 20:09:03 -05:00
tildearrow 90980a3062 GUI: center chan osc 2023-09-03 19:08:30 -05:00
tildearrow 83c64aa4b4 fix the crash
the hell? one double and suddenly it crashes on Android?
2023-09-03 17:18:31 -05:00
thacuber2a03 25a83bf1b9 add sweatsmile bossfight 2023-09-03 14:12:56 -04:00
tildearrow 7ea5f2de07 remove some debug info 2023-09-03 04:22:17 -05:00
tildearrow f6db75fae1 GUI: massive chan osc improvements 2023-09-03 04:22:00 -05:00
tildearrow 19d0ed617a what? 2023-09-02 23:57:55 -05:00
tildearrow 20ed22d6e8 Revert "."
This reverts commit b26a76f343.
2023-09-02 23:07:09 -05:00
tildearrow b26a76f343 . 2023-09-02 22:46:46 -05:00
tildearrow ef23b88ad3 NES: fix chan osc (noise, NSFplay) 2023-09-02 03:58:11 -05:00
tildearrow 716d42ee6d IGFD: fix .* filter with label 2023-09-01 19:59:43 -05:00
tildearrow 1c171ed7bd GUI: de-duplicate file dialog filters
untested. may not work...
2023-09-01 18:33:32 -05:00
tildearrow c21f880e3e GUI: update credits 2023-09-01 18:33:08 -05:00
tildearrow 4f02f1f90b update settings.md 2023-09-01 16:43:08 -05:00
tildearrow 65cd433ac7 fix hang detection (DirectSound) 2023-08-31 04:46:52 -05:00
tildearrow 5a9402abcd fix build 2023-08-31 04:39:19 -05:00
tildearrow fa7405090e add WASAPI exclusive mode flag to PortAudio backen
d
2023-08-31 04:30:49 -05:00
tildearrow be38b992e3
Merge pull request #1446 from Eknous-P/partnums
update part numbers
2023-08-31 03:24:30 -05:00
tildearrow addbc986f0 ExtCh: fix forceIns
why KVS
2023-08-31 03:23:15 -05:00
Eknous 914855d751
Merge branch 'tildearrow:master' into partnums 2023-08-31 12:16:16 +04:00
Eknous-P 2a370dbb1f update part numbers
fix opl/opll cases
rm "MOS" from sids
c219 case
2023-08-31 12:15:29 +04:00
tildearrow b315b84e31 GUI: clear out audio dev when changing backend 2023-08-31 03:01:38 -05:00
tildearrow 35aeb51b79 ugh why 2023-08-31 02:31:33 -05:00
tildearrow 05d5eb5ca3 asd 2023-08-31 02:19:27 -05:00
tildearrow 879e770e58 and again 2023-08-31 02:09:54 -05:00
tildearrow 7f35d06ccb why does this happen 2023-08-31 01:59:37 -05:00
tildearrow 43ef57390a GUI: clamp CWSliders 2023-08-31 01:52:11 -05:00
tildearrow 4ad1ae78fa ASDFGHJKL 2023-08-31 01:43:19 -05:00
tildearrow a882d7bcf2 GUI: detect UI scale factor when moving window 2023-08-31 01:24:06 -05:00
tildearrow 9caa2f38f4 SoundUnit: fix getPan() 2023-08-31 00:42:25 -05:00
tildearrow 5140acd51f
Merge pull request #1443 from tildearrow/doc-general
Small documentation fixes and improvements.
2023-08-31 00:20:18 -05:00
tildearrow 9aacc706f1 Merge branch 'master' into doc-general 2023-08-31 00:20:05 -05:00
Electric Keet fb3a3890d5 And the rest of the fixes. 2023-08-30 22:18:15 -07:00
Electric Keet 29c2879397 Small correction. 2023-08-30 22:07:06 -07:00
tildearrow 8b3fc84b51 don't show JACK/PA backends if not available 2023-08-30 23:23:27 -05:00
tildearrow 922800d864 oh crap 2023-08-30 23:14:47 -05:00
tildearrow 274ce8a646 remove many TODOs 2023-08-30 19:21:38 -05:00
tildearrow d1b78f787b update credits 2023-08-30 17:38:45 -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
Electric Keet 1ebf828743 A couple more slight edits.
Typo fix and update for new macro props indicator, just to show what that looks like.
2023-08-30 14:13:06 -07:00
tildearrow 7d605c9d76 GUI: why do I see a 0.5 reference 2023-08-30 14:27:29 -05:00
tildearrow 80013089a2 GUI: colorize macro speed/delay button if used 2023-08-30 14:06:04 -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 426d4b44f0 dang it let me freeze 2023-08-30 13:12:25 -05:00
tildearrow 6ac4529f3b possibly fix HiDPI input problem on macOS/Wayland
issue #1425
2023-08-30 05:21:33 -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 da259a33b7 GUI: fix orders scroll 2023-08-30 01:31:25 -05:00
tildearrow 5da54a7678 update ImGui to 1.89.8
commit f8704cd085c4347f835c21dc12a3951924143872
with Furnace patches
2023-08-30 00:42:51 -05:00
tildearrow 23a1fd4796
Merge pull request #1438 from tildearrow/ui-settings-keyboard
Complete keyboard settings.
2023-08-29 18:58:32 -05:00
tildearrow 015899a43f GUI: fix cursor inconsistency after stop
issue #1424
2023-08-29 18:54:08 -05:00
Electric Keet 6fb738294a Don't need the default note keys table. 2023-08-29 16:33:47 -07:00
tildearrow d38ff59cb8 GUI: fix pattern play flicker 2023-08-29 18:13:01 -05:00
tildearrow f9237dc69c GUI: fix input pad flickering
issue #1436
2023-08-29 17:16:10 -05:00
tildearrow d7f3be70c6 GUI: fix wrong cursor pos on step row 2023-08-29 17:06:40 -05:00
tildearrow de34b5c9c4 K053260: implement ADPCM 2023-08-29 16:43:37 -05:00
Electric Keet e65e79f192 Complete keyboard settings.
All* the settings are here now!

* minus the one that shouldn't be
2023-08-29 11:24:47 -07:00
Electric Keet da5d110e73 Doc update for new features. 2023-08-29 10:52:07 -07: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 fccb6aff6e GUI: C219 in sample editor 2023-08-29 03:33:34 -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
tildearrow 87ae995ff9 MSM5232: fix chan osc again
issue #1435
2023-08-29 02:14:55 -05:00
tildearrow 8d887058ec YESSSSSSSSS
disable SSE on the 32-bit Windows builds
2023-08-29 02:01:56 -05:00
tildearrow a5f351c232 C219: new sample format (work in progress) 2023-08-28 20:31:22 -05:00
tildearrow 9cb239438e C219: chip config and proper clock rate 2023-08-28 18:37:35 -05:00
tildearrow 35faa8c23c C219: presets and VGM export 2023-08-28 18:21:49 -05:00
tildearrow 2fddd9e4d4 C219: noise/invert/surround effects/macro 2023-08-28 17:59:34 -05:00
tildearrow 980c93aac4 CRAP 2023-08-28 17:01:22 -05:00
tildearrow 044859f6d1 GUI: add option to choose between chip menus and
chip manager in File menu
2023-08-28 17:00:39 -05:00
Electric Keet 2813e8e3b3 Merge branch 'master' into doc-general 2023-08-28 14:51:17 -07:00
tildearrow cfd5131081
Merge pull request #1434 from tildearrow/doc-general
Docs update for 0.6pre9.
2023-08-28 16:50:00 -05:00
tildearrow decd2fde0f MSM5232: work around possible chip quirk
when changing control, it seemingly retriggers all channels
issue #1433
2023-08-28 16:36:26 -05:00
tildearrow f07ad0044b Merge branch 'master' of github.com:tildearrow/furnace 2023-08-28 16:02:56 -05:00
tildearrow 281598812c fix FFxx and "reset channels" loop modality
issue #1427
2023-08-28 16:02:29 -05:00
Electric Keet 0b5afcb8d6 Docs update for 0.6pre9. 2023-08-28 13:58:33 -07:00
tildearrow 74bd071873
Merge pull request #1415 from tildearrow/ui-chanosc-rearrange
Move chanOsc "Center waveform" option to next line.
2023-08-28 14:42:36 -05:00
tildearrow 2ea43329a2
Merge pull request #1432 from tildearrow/letter-icons
Adding C219 to letter icons (again).
2023-08-28 14:42:11 -05:00
Electric Keet ed05c16d95 Adding the missing TableNextRow. 2023-08-28 10:39:40 -07:00
tildearrow 684633aa1e GUI: preview sample button in unified assets
issue #1430
2023-08-28 06:37:13 -05:00
tildearrow f5ac9b13b6 GUI: fix crash inducing typo
issue #1429
2023-08-28 06:17:42 -05:00
tildearrow 2357093bc8 GUI: fix image loading (big endian) 2023-08-28 05:58:46 -05:00
tildearrow bd730cbeec GUI: furIcon big endian fix 2023-08-28 05:44:38 -05:00
tildearrow 347b3cf2b1 fix missing big endian writeI_BE 2023-08-28 05:32:09 -05:00
tildearrow 628ddc91ca fix void pointer 2023-08-28 05:09:48 -05:00
tildearrow bcf877b7ca C219: fix out of bounds access 2023-08-28 04:12:09 -05:00
tildearrow 4e3de466ce C219: looooooool 2023-08-28 04:10:48 -05:00
tildearrow 23a70381c6 fix type limits, part 2 2023-08-28 04:06:25 -05:00
tildearrow 0e7dbf7b4a fix type limits, part 1? 2023-08-28 04:03:32 -05:00
tildearrow 7ea7f72b45
Merge pull request #1422 from Eknous-P/guimprove
Numerous GUI improvements
2023-08-28 03:02:50 -05:00
tildearrow 284a4f39ad :< 2023-08-28 03:02:35 -05:00
Electric Keet d65df2facd Adding C219 to letter icons.
This time for real.
2023-08-28 00:38:52 -07:00
Eknous-P cd2d60ac58 table stuff into if 2023-08-28 10:37:51 +04:00
Electric Keet ac7e05550a Merge branch 'master' into letter-icons 2023-08-27 23:23:21 -07:00
Electric Keet 7a6cbcc00d Adding C219 to letter icons. 2023-08-27 23:18:37 -07:00
Eknous 06f2595861
formatting 2023-08-28 10:00:32 +04:00
Eknous 4078da6685
Merge branch 'tildearrow:master' into guimprove 2023-08-28 09:42:30 +04:00
tildearrow 288441617b C219: more updates 2023-08-27 23:04:40 -05:00
tildearrow 26f6f22ef5 C219: more updates
to-do:
- VGM export
- presets
- noise/invert toggles
2023-08-27 20:05:08 -05:00
tildearrow 859182bb08 C219: initial work 2023-08-27 18:46:59 -05:00
tildearrow 80961354f7 prepare for C219 2023-08-27 18:46:59 -05:00
tildearrow 886e311c0d
Merge pull request #1416 from tildearrow/doc-general
Assorted documentation upkeep.
2023-08-27 16:27:22 -05:00
tildearrow 17a88fda70 C140: update emulator
with the one from C219 branch
2023-08-27 15:52:54 -05:00
Electric Keet ba25910d48 Requested fixes. 2023-08-27 08:55:06 -07:00
Eknous 7a87702518
Merge branch 'tildearrow:master' into guimprove 2023-08-27 15:05:50 +04:00
tildearrow 440cbff5e4 GUI: update credits 2023-08-27 04:14:50 -05:00
tildearrow 64e6cf12c2 GUI: re-apply UI settings when displays are connec 2023-08-27 03:58:01 -05:00
Eknous-P 65fbdba831 wavetable list selectable sizing fix 2023-08-27 12:49:53 +04:00
tildearrow 0e19716dcd GUI: auto-detect scale factor on settings change 2023-08-27 03:31:26 -05:00
tildearrow f53bc88242 ES5506: make chan osc louder 2023-08-27 03:26:32 -05:00
tildearrow 2d5fcf8aca how could I not expose this compat flag 2023-08-27 03:19:00 -05:00
Eknous-P 4eda4aeb39 revert icon changes 2023-08-27 10:18:39 +04:00
Eknous-P fdd9b598a7 revert additive hint 2023-08-27 10:15:28 +04:00
Eknous 8192a8e0f6
Merge branch 'tildearrow:master' into guimprove 2023-08-27 10:03:06 +04:00
tildearrow dee7a1820d OPZ: fix ALG/FB macro keying off 2023-08-27 00:35:56 -05:00
tildearrow 76746dcb28 what is going on 2023-08-26 19:18:39 -05:00
tildearrow bd92347950 fix the release scripts 2023-08-26 13:09:01 -05:00
tildearrow 962943185d split 32-bit Windows release 2023-08-26 12:55:32 -05:00
tildearrow 338b67da9c Revert "re-enable DX11 on 32-bit Windows build"
This reverts commit 510bcfb56d.
2023-08-26 12:47:02 -05:00
tildearrow 2c99bc9593 Revert "oh no there's a problem"
This reverts commit 29651aabfd.
2023-08-26 12:45:06 -05:00
Electric Keet 9a9b69c319 Merge branch 'master' into doc-general 2023-08-26 10:33:01 -07:00
tildearrow b6448e8c0d disable Werror on 32-bit build 2023-08-26 12:30:19 -05:00
tildearrow 29651aabfd oh no there's a problem
why did I not remove this before? now Yuzu is mad at me
2023-08-26 11:54:25 -05:00
Eknous-P 6fa746f04d uncolor grooves remove tooltip 2023-08-26 16:30:17 +04:00
Eknous-P a6b08b5449 Merge branch 'guimprove' of github.com:Eknous-P/furnace into guimprove 2023-08-26 16:16:00 +04:00
Eknous-P a7eb62a5d6 add sample add add color 2023-08-26 16:15:40 +04:00
Eknous fb67357cf8
Merge branch 'tildearrow:master' into guimprove 2023-08-26 16:09:55 +04:00
Eknous-P 19f7376337 the rest of the add colors 2023-08-26 16:09:27 +04:00
Eknous-P 0dbe1b401f some pushaddcolor's and improve grooves 2023-08-26 16:01:56 +04:00
Eknous-P 9e405e86fa improve find/replace 2023-08-26 15:49:06 +04:00
Eknous-P 3c38a79801 more pushdestcolor 2023-08-26 15:37:28 +04:00
Eknous-P f0bcb1c06a add color push/pop 2023-08-26 15:24:32 +04:00
Eknous-P ccdd5693c6 additive hint 2023-08-26 15:16:38 +04:00
freq-mod b5d6971f93
Update sms.md
Noise mode descrption
2023-08-26 13:10:05 +02:00
Eknous-P 6250dd970f improve font settings 2023-08-26 14:20:53 +04:00
Eknous-P eef3dacc78 indent 2023-08-26 14:03:34 +04:00
Eknous-P b993d4b58d improve audio settings 2023-08-26 14:01:39 +04:00
Eknous-P 89921b1ff3 improve inital sys steeings 2023-08-26 13:53:01 +04:00
Eknous-P a832adeac5 chanosc gradient point remove is red 2023-08-26 13:35:26 +04:00
tildearrow 3dd4f3e7e8 release v0.6pre9
also fix a bug in TL macro compat
2023-08-26 03:36:28 -05:00
tildearrow 29fa249227 GUI: really fix wave synth display issues
issue #1417
2023-08-26 03:13:17 -05:00
tildearrow a17f7249d6 update settings doc
with clarifications
2023-08-25 20:41:50 -05:00
tildearrow 324fce3b1c GUI: hide sample ROMs option
OPL4 won't make it to 0.6
2023-08-25 20:41:13 -05:00
tildearrow 16bc35d75b manual system recent file tracking
issue #1406
2023-08-25 18:32:34 -05:00
tildearrow 2b0feefe28 don't add to recent
issue #1406
2023-08-25 18:13:00 -05:00
tildearrow bd95a76a48 fix nextOrder still happening after FFxx
issue #1408
2023-08-25 17:51:10 -05:00
tildearrow 41316860a5 GUI: fix wave synth display issues
issue #1417
2023-08-25 17:36:47 -05:00
tildearrow 6c5ea4b950 fix step length in macroInt 2023-08-25 17:22:04 -05:00
tildearrow c4b23e8643 K007232: fix (?) loop marker being output
issue #1409
2023-08-25 16:28:20 -05:00
tildearrow 55d7a5e9bc K007232: oscBuf was too fast 2023-08-25 04:18:22 -05:00
tildearrow 91c3c04082 fix again.... 2023-08-25 03:47:09 -05:00
tildearrow c3b5004e66 fix TL macro compat for ADSR/LFO 2023-08-25 03:38:17 -05:00
Electric Keet f4c778d90e A few more small edits.
Right-clicking every widget to see what happens....
2023-08-24 23:33:32 -07:00
Electric Keet 98a95e83c6 Assorted documentation upkeep. 2023-08-24 23:14:06 -07:00
tildearrow 06840de4c7 fix the macroInt fixes 2023-08-24 20:22:41 -05:00
tildearrow 8a1ba5a544 NFD click callback should return S_OK on OK 2023-08-24 15:34:16 -05:00
tildearrow 2b007a03e0 code style 2023-08-24 15:33:53 -05:00
tildearrow 4999d9a387
Merge pull request #1410 from GermanAizek/master
More optimize inserts using reserve()
2023-08-24 15:32:28 -05:00
tildearrow f5f1a29486 macroInt fixes
issue #1412
2023-08-24 15:28:04 -05:00
tildearrow a31b847f32 GUI: don't show wave macro for beeper ins 2023-08-24 14:59:17 -05:00
tildearrow 9bf736a513 GUI: tweak SNES ins editor 2023-08-24 14:52:18 -05:00
tildearrow 6e28a8b01c WaveSynth: fix distorted sound
issue #1411
2023-08-24 14:23:00 -05:00
Герман Семенов 1cbb61ec27 More optimize inserts using reserve()
Signed-off-by: German Semenov <GermanAizek@yandex.ru>
2023-08-24 19:08:06 +03:00
tildearrow d4e60e0c03
Merge pull request #1403 from tildearrow/macro-values-fix
Fix macro mode changes resetting Bottom and Top.
2023-08-24 04:32:17 -05:00
tildearrow cb0a8396c4 improve 2023-08-24 04:31:32 -05:00
tildearrow 95b0b25011 Merge branch 'master' into macro-values-fix 2023-08-24 03:43:56 -05:00
tildearrow 009b9f74df Merge branch 'master' of github.com:tildearrow/furnace 2023-08-24 03:39:17 -05:00
tildearrow d36b43415f fix getPan() on VERA and MSM6258 2023-08-24 03:39:05 -05:00
tildearrow 972c66812b
Merge pull request #1407 from tildearrow/doc-general
Cleaning up the AY envelope guide.
2023-08-24 03:26:45 -05:00
tildearrow d240066df8 fix issue #1371 2023-08-24 03:25:38 -05:00
tildearrow 31335b95c9 finish it 2023-08-24 03:05:25 -05:00
Electric Keet 01a5c6c4f9 Cleaning up the AY envelope guide.
Lots of formatting, small corrections, and edits for clarity.
2023-08-23 23:33:17 -07:00
tildearrow c9cbf133d6 Eknous please HELP ME 2023-08-23 17:25:05 -05:00
tildearrow 62a1a383ee dev168 - new behavior for porta in C64 2023-08-23 12:50:22 -05:00
tildearrow b946c35fa7 GUI: don't update FM/wave synth preview twice
issue #1404
2023-08-23 12:21:39 -05:00
Electric Keet 92773adb37 Correcting an ampersand.
Little things like this make a difference.
2023-08-23 09:47:31 -07:00
tildearrow e4e92f9af3 too many buttons 2023-08-23 04:29:17 -05:00
tildearrow 7e63692f60 improve demo song 2023-08-23 02:22:49 -05:00
tildearrow 5c71b64195 GUI: improve wavetable tab in ins edit 2023-08-23 02:19:36 -05:00
tildearrow f22910d8e2 Merge branch 'master' of github.com:tildearrow/furnace 2023-08-22 20:23:57 -05:00
tildearrow 577d6fd4d4 GUI: fix expand selection upwards 2023-08-22 20:23:21 -05:00
Electric Keet cae3fa43b2 Move chanOsc "Center waveform" option to next line. 2023-08-22 15:15:49 -07:00
Electric Keet ab76546f7a Fixing the fix.
This checks for both values being set to zero (their freshly-initialized state, which shouldn't happen in normal use) and sets them to proper defaults if so. Otherwise, it uses what was already there.
2023-08-22 14:23:32 -07:00
Electric Keet 4a9bf44b56 Fix macro mode changes resetting Bottom and Top. 2023-08-22 13:24:45 -07:00
tildearrow 5d3aedbbc1
Merge pull request #1390 from tildearrow/doc-general
Minor updates and cleanup of docs.
2023-08-22 05:38:45 -05:00
tildearrow cc8c79375d add demo song
by tildearrow
2023-08-22 04:14:35 -05:00
tildearrow e79f0b652a prepare to add release texts 2023-08-22 04:13:38 -05:00
tildearrow 7ba5b172d5 GUI: finally fix scroll changes order 2023-08-22 02:30:33 -05:00
tildearrow 251893c5f8 Lynx: fix sample mode switching glitch
issue #1372
2023-08-22 00:25:23 -05:00
tildearrow 54934dcfc9 dev167 - fix TL macro
previously, 127 mapped to TL 0
but now 127 maps to TL 127

yeah, the graph will look inverted I know...
2023-08-21 23:57:07 -05:00
tildearrow b35235b82e GUI: OPZ preview
it's complete
2023-08-21 22:41:35 -05:00
tildearrow 97b6b39049 GUI: OPL preview 2023-08-21 22:20:31 -05:00
tildearrow 70f774312b GUI: OPLL preview 2023-08-21 19:56:22 -05:00
tildearrow e1140c5015 GUI: OPM preview 2023-08-21 19:27:19 -05:00
tildearrow bcb8fdbf06 no longer crashes 2023-08-21 17:41:41 -05:00
tildearrow 617ee5e324 THIS CRASHES 2023-08-21 17:24:41 -05:00
tildearrow 18dc353392 GUI: why are there DPCM settings on FDS... 2023-08-21 16:16:50 -05:00
tildearrow f3c438eee5 GUI: use less video memory
don't oversample icons, big font and header font
2023-08-21 16:03:16 -05:00
Electric Keet ce9a023993 Exorcising two newlines.
Extra vertical space above a level 1 header is evil. _Evil._
2023-08-21 13:16:04 -07:00
tildearrow bb874d9415 move use math defines to top 2023-08-21 15:07:28 -05:00
tildearrow 2bf5392f7b split sample loading functions 2023-08-21 14:56:10 -05:00
tildearrow 4776eaed68 split audio/command stream export functions
into two other source files
2023-08-21 14:49:31 -05:00
Electric Keet c4f3930e3c Merge branch 'doc-general' of https://github.com/tildearrow/furnace into doc-general 2023-08-21 12:35:22 -07:00
Electric Keet ef410b7d73 Losing disclaimer. 2023-08-21 12:35:15 -07:00
Electric Keet f4726190b7
Merge branch 'master' into doc-general 2023-08-21 12:34:51 -07:00
tildearrow 510bcfb56d re-enable DX11 on 32-bit Windows build 2023-08-21 14:30:08 -05:00
tildearrow 94d8076a58 fix hang 2023-08-21 14:25:22 -05:00
tildearrow f5a881917f fix 2023-08-21 14:18:04 -05:00
tildearrow 6ba8527cb6 fix some threading issues 2023-08-21 14:18:04 -05:00
freq-mod d0f498189c
Add AY hw env tutorial 2023-08-21 16:02:44 +02:00
tildearrow 33d932f548 PCM DAC: fix osc buf
issue #1393
2023-08-21 04:30:49 -05:00
tildearrow d74172680f GUI: prepare FM preview for the other OPs 2023-08-20 20:18:27 -05:00
tildearrow 80a9677b0e update readme again 2023-08-20 19:11:02 -05:00
tildearrow 91d7157b5d GUI: Amiga rate limit 2023-08-20 19:07:38 -05:00
tildearrow 6faf80b5c6 update readme 2023-08-20 19:07:29 -05:00
tildearrow 2efbf93853
Merge pull request #1389 from tildearrow/ui-pretty
Vertical label alignment for macros.
2023-08-20 18:56:27 -05:00
Electric Keet 4cf58b158e Gotta update these images too. 2023-08-20 14:48:47 -07:00
Electric Keet 9397f95499 Vertical label alignment for macros.
I don't know how I missed these. I use them constantly!
2023-08-20 14:39:03 -07:00
Electric Keet 46a078d62a More tweaks, fixes.
Getting rid of a bunch of unused images, replacing one that was supposed to be updated already, and a touch of added documentation on the instrument editor.
2023-08-20 14:23:24 -07:00
Electric Keet 13bb256075 Adding link to FM patch tutorial. 2023-08-20 12:33:19 -07:00
Electric Keet 036aac3b80 Updating docs to 0.6pre8. 2023-08-20 12:24:51 -07:00
tildearrow 9814d7dd88 GUI: why isn't there a wave reverse option yet 2023-08-20 01:41:01 -05:00
tildearrow 5720e5670d AAAAAAAAAAAA 2023-08-20 00:46:17 -05:00
tildearrow 7479296d54 UPDATE FMT TO 10.1.0 -> **PLEASE READ!** <-
after pulling this commit, type:

```
git submodule update extern/fmt
```
2023-08-20 00:25:01 -05:00
tildearrow e3eea680d5 ExtCh: panning macro
issue #1382
2023-08-19 23:52:13 -05:00
tildearrow f3167d2fc9 C140: fix possible overflow 2023-08-19 23:39:27 -05:00
tildearrow 993c5904e2 C140: fix possible crash 2023-08-19 23:30:35 -05:00
tildearrow 396f51c75f ExtCh: fix 18xx being a post effect 2023-08-19 19:19:14 -05:00
tildearrow 6fe98f1502 damn it 2023-08-19 18:54:35 -05:00
tildearrow 1dd02dd389 fix samples going away during audio export
issue #1387
2023-08-19 18:52:08 -05:00
tildearrow d68de019d6
Merge pull request #1385 from tildearrow/ui-pretty
Vertically centering labels.
2023-08-19 18:38:13 -05:00
tildearrow 75549bdd22
Merge pull request #1386 from tildearrow/doc-general
General docs updates.
2023-08-19 18:38:02 -05:00
Electric Keet 3075a58d0d Minor doc image updates.
With all the newly aligned labels, and a few things I noticed could use slight improvement...
2023-08-19 16:34:14 -07:00
Electric Keet 10ea584857 Vertically centering labels.
Oops, missed two!
2023-08-19 16:09:22 -07:00
tildearrow dba96812aa add more raw sample import options 2023-08-19 18:01:12 -05:00
Electric Keet 6ac9fd3d91 Documentation updates. 2023-08-19 15:55:33 -07:00
tildearrow c8222fd491 handle non-BMP characters
issue #1376
2023-08-19 16:50:21 -05:00
tildearrow 14d3baae56 GUI: invert cursor follows wheel
issue #1374
2023-08-19 16:25:08 -05:00
tildearrow 487065478d GUI: mark modified in channel list 2023-08-19 15:54:49 -05:00
tildearrow f352162151 GUI: make it clear
continuous vibrato
2023-08-19 15:47:49 -05:00
tildearrow 44781e9cac release v0.6pre8
hopefully the final "pre-release" before the freeze
2023-08-19 04:48:27 -05:00
tildearrow b384367aa8 Namco 163: fix compiler error 2023-08-19 04:38:13 -05:00
tildearrow c045fb5c26 update Linux release script 2023-08-19 04:35:37 -05:00
tildearrow 23dc1353ec change default render cores 2023-08-19 04:34:42 -05:00
tildearrow d10c3dca4d patch GetTickCount64 out from 32-bit Win release 2023-08-19 04:18:19 -05:00
tildearrow ffe8b5ed9c ExtCh: fix forceIns after 1800 2023-08-19 02:54:19 -05:00
tildearrow 6dd682b9fc IGFD: align text to frame padding 2023-08-19 02:30:04 -05:00
tildearrow cfaa220243 IGFD: fix tooltip not appearing 2023-08-19 02:29:23 -05:00
tildearrow 77fd6d6cd7
Merge pull request #1368 from Eknous-P/multicore
Options for separate emulation cores for real-time playback and exporting
2023-08-19 01:54:53 -05:00
Eknous-P f8a497e549 Merge branch 'multicore' of github.com:Eknous-P/furnace into multicore 2023-08-19 10:33:06 +04:00
Eknous-P eab7978556 tablesetcolumnindex -> tablenextcolumn 2023-08-19 10:32:36 +04:00
Eknous cbbf766ae5
Merge branch 'tildearrow:master' into multicore 2023-08-19 10:02:48 +04:00
tildearrow c38b3ed399 GUI: play around with oversample setting 2023-08-18 23:39:09 -05:00
tildearrow 6d5b313973 now the other OPNs 2023-08-18 04:10:16 -05:00
Eknous-P 3926c4276e oopsie 2023-08-18 12:44:50 +04:00
tildearrow 2f08407a73 GUI: custom sample editor icons, part 2 2023-08-18 03:39:08 -05:00
Eknous-P eb820eb9af make table 2023-08-18 11:34:08 +04:00
Eknous-P 74e803d4e9 redo core switching 2023-08-18 10:40:18 +04:00
Eknous-P 12d7911d1a Merge branch 'master' into multicore 2023-08-18 08:59:06 +04:00
tildearrow f2dd169e3d Game Boy: fix soft env volume after note off 2023-08-17 18:28:48 -05:00
tildearrow d32829b9e9 GUI: update credits 2023-08-17 17:38:18 -05:00
Background b023028117
OPL3 demo song (#1365)
* Add files via upload

* Add files via upload

A cover of song Dash from mobile gaame Rider.
2023-08-17 17:33:21 -05:00
tildearrow 075795e837 update .gitignore 2023-08-17 17:31:49 -05:00
tildearrow ee743adf96 create .gitattributes 2023-08-17 16:59:58 -05:00
tildearrow 0aabfe52d8 YM2612: fix ExtCh muting
issue #1366
2023-08-17 16:37:27 -05:00
Eknous-P 36e2444b11 add logs 2023-08-17 22:48:46 +04:00
Eknous-P 8da1085809 separate cores + selection for playback and export 2023-08-17 22:28:17 +04:00
tildearrow edad084e5d
Merge pull request #1364 from tildearrow/doc-general
Interface docs work.
2023-08-16 21:53:04 -05:00
Electric Keet 4985a4b5d0 Various work on the icon font.
Cleaned up leftover guides, added actually useful ones in the guide character (E0F0), tweaked VRC6 saw.
2023-08-16 21:50:31 -05:00
tildearrow 22f92aafe4 new demo songs
by PichuMario and Weeppiko
2023-08-16 16:42:41 -05:00
tildearrow 5f5d1c2189 new demo song
by ifrit05
2023-08-16 16:14:28 -05:00
Electric Keet 8ca918bbc8 ...one more tweak. 2023-08-16 13:13:08 -07:00
Electric Keet d6d6282675 Revert "New sample editor images."
This reverts commit cfd9b716c6.
2023-08-16 12:14:14 -07:00
Electric Keet cfd9b716c6 New sample editor images.
New icons! Also, better example of chip selector and 8-bit dither option.
2023-08-16 10:57:42 -07:00
freq-mod c862764ad1
wsg ins editor 2023-08-16 19:23:39 +02:00
Electric Keet 1a207bf4a1 More little adjustments. 2023-08-16 09:44:28 -07:00
Electric Keet 7054bea9be Interface docs work.
Rearranged a couple things for clarity (folks should read about UI components before they get too much further into playing with stuff) and added info about Ctrl-scrollwheel on sliders.
2023-08-16 09:29:47 -07:00
tildearrow 6c44614279 GUI: custom sample editor icons, part 1 2023-08-16 04:16:31 -05:00
tildearrow a1bc1a66a3 fix macro pos indicator not appearing in freelance 2023-08-16 01:03:56 -05:00
tildearrow c05efedee0 GUI: improve single macro view 2023-08-16 00:43:15 -05:00
tildearrow f3c2f1a965
Merge pull request #1359 from tildearrow/instr-editor-wrap
Break "no instrument selected" lines.
2023-08-15 22:25:49 -05:00
tildearrow 4707ef6979 GUI: center it 2023-08-15 22:25:01 -05:00
tildearrow d8a069c360 Merge branch 'master' into instr-editor-wrap 2023-08-15 22:16:57 -05:00
Electric Keet cb5f59d02b Select the correct amount of vertical space.
Tested in both occurring situations.
2023-08-15 16:55:53 -07:00
Electric Keet 02ef1549dd Fixed vertical centering. 2023-08-15 14:58:50 -07:00
tildearrow a008059b54 Merge branch 'letter-icons' 2023-08-15 16:24:59 -05:00
Electric Keet 520b772f35 Small changes to letter icons.
MultiPCM is now `MUL PCM`.
VRC 6 saw now has a little sawtooth icon.
2023-08-15 16:23:32 -05:00
tildearrow 10177ec43e three new demo songs
by Weeppiko and Electric Keet
2023-08-15 16:14:35 -05:00
tildearrow fccef9f0e3 two demo songs
by Weeppiko
2023-08-15 16:05:18 -05:00
tildearrow 823d64e68c GUI: fix 0.5-pixel error in unified assets 2023-08-15 15:52:32 -05:00
tildearrow 363bc4be68 GUI: fix no ins icon 2023-08-15 14:50:54 -05:00
Electric Keet f09ef69da1 Break "no instrument selected" lines.
In the instrument editor, when instruments are loaded but no instrument is selected, there's a dropdown to select a type and then "or Open or Create New"... but on one line, they're too long for the window's width. With this, they're on two lines.
2023-08-15 11:58:05 -07:00
tildearrow 09540a2d53
Merge pull request #1358 from mooinglemur/20230815-zsmopt
ZSM: optimize: skip PWM write on non-pulse, change delay flush logic
2023-08-15 03:01:39 -05:00
MooingLemur 1d882b0ca7 minor style fix 2023-08-15 00:58:56 -07:00
MooingLemur 5d63b253ce potential flush needed here too 2023-08-15 00:47:08 -07:00
MooingLemur fd2c17e4f9 ZSM: optimize: skip PWM write on non-pulse, change delay flush logic 2023-08-15 00:16:33 -07:00
tildearrow ddb0add67e GUI: fix insIconsStyle not saving 2023-08-15 01:57:43 -05:00
tildearrow f328e33bbc
Merge pull request #1357 from tildearrow/letter-icons
Adjusting height of letter icons.
2023-08-15 00:57:37 -05:00
tildearrow c49161e26c ... 2023-08-15 00:56:59 -05:00
Electric Keet c89ddb3804 Settings doc update.
Not that it's much.
2023-08-14 21:34:04 -07:00
Electric Keet aeb26d3136 Updated letter icon font instructions. 2023-08-14 21:24:06 -07:00
Electric Keet 2ef2416587 Adjusting height of letter icons.
They were too high before. Now they line up right!
2023-08-14 21:20:59 -07:00
tildearrow b46dd7b7eb GUI: update credits 2023-08-14 20:02:48 -05:00
tildearrow 6ae8f615d9 we got custom icons 2023-08-14 20:02:10 -05:00
tildearrow 1848484831 prepare for loading the icon font 2023-08-14 19:19:18 -05:00
tildearrow 741d350fe2 possible fix to #1356 2023-08-14 16:28:43 -05:00
freq-mod a79c82033c
improve saa ins edit doc 2023-08-14 19:37:14 +02:00
freq-mod 08d57e3ad5
OPLL ins editor doc 2023-08-14 19:26:56 +02:00
freq-mod c4892410fd
opl instr editor 2023-08-14 19:19:13 +02:00
freq-mod 35652b72fd
oops 2023-08-14 18:52:58 +02:00
freq-mod 36b375b363
Update psg.md 2023-08-14 18:52:27 +02:00
freq-mod 371d2196ab
fix dead link
if there are any differences between two and you have to make separate docs for k0394830238442 ins editor, feel free
2023-08-14 14:08:37 +02:00
tildearrow c127fd0928 GUI: prepare for sample rate warnings 2023-08-13 20:34:03 -05:00
tildearrow 4f6cf877cd make the issue template more clear 2023-08-13 20:33:45 -05:00
tildearrow 85f74fedb2 Merge branch 'master' of github.com:tildearrow/furnace 2023-08-13 17:39:09 -05:00
tildearrow 625ef6c2cf IGFD: prevent using invalid file names 2023-08-13 17:38:39 -05:00
tildearrow 4e8a647d3c
Merge pull request #1351 from tildearrow/letter-icons
Full letter icons font.
2023-08-13 16:22:12 -05:00
Electric Keet 4b81116359 Better home for icons.md. 2023-08-13 13:28:00 -07:00
tildearrow 83d5e28abe fix typo 2023-08-13 14:35:59 -05:00
tildearrow 205faed6dd
Merge pull request #1353 from tildearrow/doc-general
C140 instrument docs completed.
2023-08-13 14:34:56 -05:00
Electric Keet 4eaa999cd8 C140 instrument docs completed.
Also, a couple tweaks to the generic PCM instrument.
2023-08-13 12:03:46 -07:00
Electric Keet 7f3fcbf288 Full letter icons font.
Also, the FontForge SFD source.

Also also, a Markdown doc explaining how to add new icons. (This info is also in the SFD's Comments.)
2023-08-13 11:07:33 -07:00
freq-mod bb1d71f975
preeliminary c140 doc 2023-08-13 15:45:53 +02:00
cam900 c49bd177e9 fix muting for C140 VGM output 2023-08-13 17:31:33 +09:00
tildearrow 511e3315a8
Merge pull request #1203 from bbbradsmith/force-critical-input-trickle
Force ImGui event trickling for sparse but critical input events
2023-08-13 03:00:36 -05:00
tildearrow bbeb3df9f6 Merge branch 'master' into force-critical-input-trickle 2023-08-12 21:52:12 -05:00
tildearrow bc136c94c8 update format.md 2023-08-12 19:18:28 -05:00
tildearrow cd0c8cfca9 C140: fix chan osc 2023-08-12 17:28:54 -05:00
tildearrow 987ca3ad11 C140: VGM volume 2023-08-12 17:08:01 -05:00
tildearrow d7de177d26 VGM export: new ripper name 2023-08-12 16:55:23 -05:00
tildearrow 4214bdee71 C140: ?!?!?! 2023-08-12 16:46:35 -05:00
tildearrow fc16164dbd
Merge pull request #1342 from tildearrow/c140
Chicken ice cream
2023-08-12 16:29:49 -05:00
tildearrow 393af54938 GUI: bring the combo box back 2023-08-12 16:21:24 -05:00
tildearrow 908ecf411d C140: partially working VGM export 2023-08-12 04:33:33 -05:00
tildearrow 1f10c31414 update ins type 2023-08-12 04:19:20 -05:00
tildearrow 1e580d6936 C140: comment 2023-08-12 04:12:22 -05:00
tildearrow 6d1df99254 GUI: remove debug 2023-08-12 04:12:10 -05:00
tildearrow 984a3b7450 YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2023-08-12 04:07:14 -05:00
tildearrow f12d601234 C140: fix key off 2023-08-12 03:45:08 -05:00
tildearrow 320d965f78 fix µ-law encoding 2023-08-12 03:42:10 -05:00
tildearrow 06243c9d9d asdfasdf 2023-08-12 02:53:05 -05:00
tildearrow 94cb733c60 fix build error
hopefully
2023-08-12 02:52:50 -05:00
tildearrow 27e454e7aa C140: help µ-law ISN'T WORKING 2023-08-12 01:54:12 -05:00
tildearrow f2af2fbe76 GUI: fix crash on big endian
I hope
issue #649
2023-08-12 00:16:06 -05:00
tildearrow 5f2cfd4854 AY: don't use bit arrays
issue #649
2023-08-11 23:58:44 -05:00
tildearrow 7be0079c62
Merge pull request #825 from tildearrow/ymf289b
Prepare to YMF289B OPL3-L support
2023-08-11 23:38:27 -05:00
tildearrow b58fe36356 Merge branch 'master' into ymf289b 2023-08-11 22:25:39 -05:00
tildearrow 3317866a00 update wave/sample dirs when adding ins 2023-08-11 19:32:08 -05:00
tildearrow 9b91584d13 Merge branch 'master' of github.com:tildearrow/furnace 2023-08-11 19:27:17 -05:00
tildearrow d531b714a9 GUI: fix curOrder when pat view is not visible 2023-08-11 19:26:42 -05:00
MooingLemur 681c1d9fd7 implement requested changes 2023-08-11 19:13:16 -05:00
MooingLemur a1d74e7dc1 ZSM: add optimize for size toggle 2023-08-11 19:13:16 -05:00
tildearrow fe8f94b2b2 OPN/2/A/B: fix ExtCh muting on 18xx 2023-08-11 16:35:18 -05:00
tildearrow 6324a2a952 OPN/2/A/B: fix ExtCh instrument
issue #1053
2023-08-11 16:14:06 -05:00
tildearrow a917c2f532
Merge pull request #1346 from tildearrow/doc-general
Slight update and tweaks to effects doc.
2023-08-11 04:10:20 -05:00
tildearrow 0073357cb7
Merge pull request #1347 from mooinglemur/20230811-zsmtuning
ZSM: include song tuning in export
2023-08-11 03:32:19 -05:00
MooingLemur 94383fae63 clarify comment 2023-08-11 01:31:53 -07:00
MooingLemur 2365321d46 make clear the tuningoffset is okay to overflow 2023-08-11 01:30:45 -07:00
MooingLemur 245fe1c092 fix cast 2023-08-11 01:19:25 -07:00
MooingLemur 8006e40e26 ZSM: include song tuning in export 2023-08-11 01:02:18 -07:00
Electric Keet d65c9f9345 Updating settings doc. 2023-08-10 23:28:20 -07:00
Electric Keet e6bfc9e4db Dunno why this is in here.
Finally getting rid of it. I hope?
2023-08-10 17:33:35 -07:00
Electric Keet 9f53463ec2 Merge branch 'master' into doc-general 2023-08-10 16:51:01 -07:00
Electric Keet 760ffee16f Groupings in effects page.
Smaller groupings of similar effects may help with comprehension.

Horizontal rules are used because the only ways to get plain vertical space between lists are:
- an empty HTML comment tag (ugly);
- two line-break tags (uglier);
- an unusual Unicode space character (not happening).

Say the word and we can use one of those instead.
2023-08-10 16:47:03 -07:00
Electric Keet 73f8744a01 Slight update and tweaks to effects doc.
Trying to clarify portamento a little.
2023-08-10 16:37:09 -07:00
cam900 0311d712b1 Fix audPos 2023-08-10 22:16:19 +09:00
cam900 e0ca653462 I forgot 2023-08-10 22:13:13 +09:00
cam900 139ef4be29 Remove unused variable 2023-08-10 20:42:57 +09:00
cam900 882b1c0aae Add C140 status debug window 2023-08-10 20:27:30 +09:00
cam900 4d7d610f8c C140 fixes and optimizations
Minor optimization
Move output shift function to dispatch
Fix loop
Fix pan scaling if using INS_AMIGA
correct about
2023-08-10 20:24:10 +09:00
tildearrow a59b5753bb GUI: add center pop-up setting 2023-08-10 02:42:42 -05:00
tildearrow d9cdb787ae
Merge pull request #1236 from YohananDiamond/dialog-nitpicks
Dialog nitpick: properly centering modal popups
2023-08-10 02:41:57 -05:00
tildearrow cc60dcf534 GUI: enable 32-bit ImDrawIdx 2023-08-10 01:06:23 -05:00
tildearrow be06fe2400 GUI: why is the range wrong 2023-08-10 00:31:29 -05:00
tildearrow 2a0d76563d GUI: fix oversight in sample invert 2023-08-10 00:30:35 -05:00
tildearrow 7f75b642da
Merge pull request #1336 from tildearrow/gui-pretty
Vertically centering text labels.
2023-08-10 00:22:24 -05:00
tildearrow 457fb785b0 Merge branch 'master' into gui-pretty 2023-08-10 00:18:16 -05:00
tildearrow d5776e02bb OPLL: add option to apply fixed frequency to all d
issue #289
2023-08-10 00:15:44 -05:00
tildearrow 805c3ba7ac OPLL: more fixes
issue #289
2023-08-09 23:32:29 -05:00
tildearrow e46fa7d88e OPLL: remove some debug messages 2023-08-09 23:22:43 -05:00
tildearrow c6857b56f2 OPLL: now add a partial fix to issue #289
does not fulfill "apply pitch to all channels" suggestion yet though
2023-08-09 23:22:08 -05:00
tildearrow dd0d6b940a OPLL: drums mode work 4 2023-08-09 23:16:53 -05:00
tildearrow acc74df293 GUI: add option to capitalize menu bar 2023-08-09 22:47:06 -05:00
tildearrow 21d1dfefa1 many changes 2023-08-09 22:00:03 -05:00
tildearrow 903fb33350
Merge pull request #1344 from tildearrow/gui-lettericons
Test font for instrument "letter icons".
2023-08-09 21:16:57 -05:00
tildearrow 7bb59e77cc OPLL: drums mode work 3 2023-08-09 18:02:51 -05:00
tildearrow d5324e8897 OPLL: drums mode work 2 2023-08-09 17:53:48 -05:00
tildearrow 3de0ee4e25 OPLL: drums mode work 2023-08-09 17:29:42 -05:00
tildearrow 7d3b823996 GUI: fix blank ins
issue #1343
2023-08-09 16:06:38 -05:00
Electric Keet 2e585e0ca6 Font rename. 2023-08-09 14:03:02 -07:00
Electric Keet 6c4f128185 Renaming files. 2023-08-09 13:03:45 -07:00
Electric Keet 81dc0539f3 And here's the FontForge file.
The "W" icons are for testing width and such, and can be safely ignored for now.
2023-08-09 13:01:34 -07:00
Electric Keet 3d2ae77708 Test font for instrument "letter icons".
Here's a test version of the font, to make sure I have the metrics right and all that. Only six (useful) codepoints are implemented right now:
- `F004`: Generic Sample
- `F015`: Beeper
- `F016`: WonderSwan
- `F01A`: VRC6 (saw)
- `F01E`: Sound Unit
- `F028`: QSound
Note that their codepoints are the instrument ID's plus 0xF000. Convenient!

Once implemented so I can test, I can refine things and work up the rest of the "icons".
2023-08-09 12:50:18 -07:00
cam900 72d04777c0 Less silent output 2023-08-09 20:38:17 +09:00
cam900 46b83833e1 Less louder output 2023-08-09 20:36:59 +09:00
cam900 85aa3736ad oops 2023-08-09 20:34:57 +09:00
cam900 1e2cd8282a Change Mulaw algorithm 2023-08-09 20:33:42 +09:00
cam900 14c5d94499 C140 Part 2 2023-08-09 20:30:00 +09:00
tildearrow 07abd1fd85 evom 2023-08-09 05:26:50 -05:00
cam900 54cd69aabf Merge branch 'master' of https://github.com/tildearrow/furnace into c140 2023-08-09 19:18:18 +09:00
tildearrow 3b42abcf26 move 2023-08-09 03:49:27 -05:00
tildearrow bc3b98da99 let 2023-08-09 03:48:38 -05:00
tildearrow e561a90615 add another demo song 2023-08-09 03:47:11 -05:00
freq-mod d441356211
Merge pull request #1339 from freq-mod/demo53260
add N163 + konami pcm demo song
2023-08-09 10:36:34 +02:00
tildearrow fb4bb3e2d4
Merge pull request #1329 from tildearrow/doc-settings
Settings doc updates.
2023-08-09 00:05:14 -05:00
freq-mod de1dd96785
add N163 + konami pcm demo song 2023-08-08 20:10:59 +02:00
cam900 c34233cf4f Prepare for C140 2023-08-08 21:27:12 +09:00
tildearrow cc8b5d28a8 GUI: add option to show ins type menu when adding 2023-08-08 00:03:56 -05:00
Electric Keet 8db16af621 Switching to non-imperative tone. 2023-08-07 18:04:01 -07:00
tildearrow 3af2f8d2a4 let's add more 2023-08-07 19:52:15 -05:00
tildearrow 0e5d11f9cd fix system file picker ins preview 2023-08-07 19:12:24 -05:00
tildearrow 9d410dfe9c add isVolGlobal to DivDispatch
do not key release on pendingNotes if so
issue #1325
2023-08-07 18:05:31 -05:00
Lunathir 10ecc71a60 Remove commas in flags 2023-08-07 14:03:15 -05:00
Lunathir 9ae28a67bf Update presets.cpp 2023-08-07 14:03:15 -05:00
Electric Keet 0a7d957142 Last label tweak. 2023-08-07 10:17:48 -07:00
Electric Keet 3effd9e506 Yet more vertical centering of labels. 2023-08-06 22:47:17 -07:00
Electric Keet 1ea4452e9b More vertical centering of labels.
chanOsc, debugWindow, editControls, findReplace, gui
2023-08-06 20:51:51 -07:00
tildearrow 9ba1eb2541 one more 2023-08-06 22:48:23 -05:00
Electric Keet f66dd6e70b Vertical centering of labels.
Just the settings dialog, this commit.
2023-08-06 20:28:11 -07:00
tildearrow 8ba6c4cf42 GUI: finish some more TODOs 2023-08-06 17:35:45 -05:00
tildearrow a6ad79f686
Merge pull request #1330 from tildearrow/gui-radiobuttons
Radio button group indents everywhere.
2023-08-06 04:26:34 -05:00
tildearrow 4c158f0cd6 fix auto patchbay setting not being loaded 2023-08-06 04:20:07 -05:00
tildearrow 515a657b91 GUI: don't show pan effects if can't pan
issue #1331
2023-08-06 04:15:02 -05:00
Electric Keet 5ba51df566 Radio button group indents everywhere.
This should be all of them.

Except, of course, the find/replace dialog. Those have a specific layout already.
2023-08-05 19:18:53 -07:00
tildearrow 10615b9b5b GUI: finish some TODOs 2023-08-05 18:29:46 -05:00
Electric Keet aee459d8d3 Merge branch 'master' into doc-general
Cleaning up after previous merged PR.
2023-08-05 13:28:26 -07:00
Eknous aa39a041b5
new demo song and small updates to my previous ones (#1327)
* chanOsc note name

* chanOsc auto cols

* lowercase c for consistency

* fix chan note text

* change int to short

* simplify

* visible chan count for calculation

* cleanup

* cleanup 2 (not removing the comma yet)

* remove extra spaces

* add id

* rename and shrink physicsexam

* fix tiny error at the end

* ted demo

* add author
2023-08-05 15:25:32 -05:00
tildearrow 49e799d576 GUI: indent play on load setting 2023-08-05 15:12:14 -05:00
tildearrow b7f7c362d2
Merge pull request #1328 from tildearrow/settings-ui
Settings and chip config UI: Indent radio buttons.
2023-08-05 15:11:28 -05:00
Electric Keet 7c53d330e6 ...the rest of the tiny edits. 2023-08-05 12:44:49 -07:00
tildearrow 86c1104529 GUI: add setting to play on load 2023-08-05 14:43:29 -05:00
Electric Keet b7a751ccfa Slight edits. 2023-08-05 12:42:43 -07:00
Electric Keet 543d18b8d5 Chip config UI: Indent radio buttons.
Similarly, stuff is indented for clarity. This includes the chip clock rate selector.
2023-08-05 11:50:17 -07:00
Electric Keet 3f80231f24 Settings window: Indent radio button groups.
All radio button groups are indented for visual clarity. Also, font path and size selectors.
2023-08-05 11:18:50 -07:00
Electric Keet 9340358eac Add new settings to doc, other small edits. 2023-08-05 10:32:14 -07:00
tildearrow 03383cff80 discourage use of legacy sample mode 2023-08-05 03:45:00 -05:00
tildearrow b0ce681875 GUI: drop a mention of legacy 2023-08-05 03:39:40 -05:00
tildearrow 2b78ea7abe GUI: add setting to remove ins/vol val on OFF/REL 2023-08-05 03:37:03 -05:00
tildearrow 1983529bdb GUI: add non-mono mode to osc 2023-08-05 03:26:36 -05:00
tildearrow bf77b95ec9 GUI: wake up on osc 2023-08-05 02:54:09 -05:00
tildearrow 1d4a1c8337 GUI: higher quality oscilloscope
issue #1324
2023-08-05 02:52:02 -05:00
tildearrow 673ff6ebb6 GUI: fix header font not saving at all 2023-08-04 22:43:26 -05:00
Electric Keet 211a67e0bb Merge branch 'master' into doc-general 2023-08-04 20:39:23 -07:00
tildearrow 13cfef02a7 asdf 2023-08-04 22:16:53 -05:00
Electric Keet 2444d2f58a Minor adjustments. 2023-08-04 22:16:02 -05:00
Electric Keet 20dc44b800 Teensy formatting change.
None of these should be list items. It was a bad idea.
2023-08-04 22:16:02 -05:00
Electric Keet b5161a8fe6 Documentation stuff!
New page for the effect list, updates to chanOsc, and links to instrument types from every "system" page.
2023-08-04 22:16:02 -05:00
Electric Keet 3a93ebd21d Minor adjustments. 2023-08-04 16:24:42 -07:00
tildearrow 4d476c0588 YM2612: fix direct stream 2023-08-04 17:48:34 -05:00
tildearrow 77e708dc57 YM2612: better DAC write scheduling
issue #1300
2023-08-04 17:36:36 -05:00
Electric Keet ce0b6b454d Teensy formatting change.
None of these should be list items. It was a bad idea.
2023-08-04 09:38:05 -07:00
Electric Keet ee4afa0da7 Documentation stuff!
New page for the effect list, updates to chanOsc, and links to instrument types from every "system" page.
2023-08-04 09:11:53 -07:00
freq-mod 297334e882
Update README.md
add ga20 link
2023-08-04 14:42:04 +02:00
freq-mod d9ba33abbf
Create ga20.md 2023-08-04 14:41:17 +02:00
freq-mod d0330291ce
pitch res of k053260 2023-08-04 14:31:44 +02:00
tildearrow 2060f8e9eb OPN: fix ExtCh alg/fb/fms/ams/lfo macros 2023-08-04 03:33:45 -05:00
tildearrow 2211f9cb71 fix sys list in doc 2023-08-04 03:01:18 -05:00
tildearrow a54dd664e6
Merge pull request #1292 from tildearrow/doc-general
New systems README.md.
2023-08-04 01:42:07 -05:00
Electric Keet e7b4d46e03 Removing duplicate link. 2023-08-03 20:17:00 -07:00
Electric Keet 4693b10b88 Last round of edits. 2023-08-03 20:02:52 -07:00
Electric Keet 9b6ce68a22 Edits as requested. 2023-08-03 19:45:00 -07:00
tildearrow 358118f1f9 sorry
respect my formatting style
2023-08-03 21:32:57 -05:00
Electric Keet 5db924835b Revised list of featured systems. 2023-08-03 14:46:10 -07:00
tildearrow cf1f741769 GUI: fix SNES chip config out of bounds
issue #1319
2023-08-03 14:55:30 -05:00
Electric Keet 235a58d110 Reformat for conciseness. (Not done yet.)
Instead of a full list of systems, we'll choose a few highlight systems and then have a full list of chips for reference. (Everything else is commented out for now. for convenience.) What systems should be added or removed?

Oh, and the little empty comment lines provide list grouping while keeping the lists more compact, at least for GitHub's Markdown reader.
2023-08-03 10:40:16 -07:00
tildearrow a192274e29
Merge pull request #1312 from tildearrow/settings-bigfont
Big font configuration options!
2023-08-03 05:35:33 -05:00
tildearrow eb9bd913e2 and one more fix 2023-08-03 05:34:49 -05:00
tildearrow fcba244c84 fix 2023-08-03 05:31:55 -05:00
tildearrow 629d73f421 address review comments 2023-08-03 05:27:20 -05:00
Eknous cafc6f391d
chanOsc automatic columns + fix chanOsc channel note text (#1305)
* chanOsc note name

* chanOsc auto cols

* lowercase c for consistency

* fix chan note text

* change int to short

* simplify

* visible chan count for calculation

* cleanup

* cleanup 2 (not removing the comma yet)

* remove extra spaces

* add id
2023-08-03 05:25:26 -05:00
tildearrow 69c4c58cc5 ARREGLAR 2023-08-03 04:11:36 -05:00
tildearrow c58eec5753 do not reset the timer (and remove intro monitor) 2023-08-03 03:54:06 -05:00
Electric Keet 3ca687553f At least it's fixed now. 2023-08-02 23:20:59 -07:00
tildearrow 3837fe59fb SN: fix key off 2023-08-03 01:10:25 -05:00
Electric Keet 06d3e8a4b3 Initializing variables, font size change. 2023-08-02 22:59:45 -07:00
tildearrow 23daabf5b9 Game Boy: remove debug message 2023-08-03 00:45:03 -05:00
tildearrow 747b5d19bd NES: whoops!
issue #1313
2023-08-03 00:40:53 -05:00
tildearrow 7d8c1b6efc NES: fix DPCM samples having wrong size 2023-08-03 00:32:50 -05:00
Electric Keet ebf8ebf7c0 Restoring old bigFont, making new headFont instead.
Now we'll see the original font for the credits and the clock.
2023-08-02 20:49:01 -07:00
Electric Keet 14d1e83cd6 Oh, and it'd be good to load the big font setting.
Can't believe I missed this!
2023-08-02 14:22:21 -07:00
Electric Keet bf9f37e8d9 Fixed up about screen.
Inter-line spacing didn't scale with font size. Oops!
2023-08-02 14:05:36 -07:00
Electric Keet 0f4f1a1cf5 Big font configuration options! 2023-08-02 13:48:07 -07:00
Electric Keet 11836ad079 Doc `0Dxx` better, add tutorial link.
...because I can never seem to do one thing at a time?
2023-08-02 15:11:47 -05:00
tildearrow 537f90c3f1 fix again 2023-08-02 14:58:10 -05:00
tildearrow cf80eca19f FIX build 2023-08-02 01:27:29 -05:00
tildearrow 411e138440 GUI: fix note trigger chan osc mode
when channel not visible in pattern
2023-08-01 20:22:44 -05:00
tildearrow 85d90b78ea Furnace CAN TOO!!!!!!!!!!!!!!!!!!!!!!111111 2023-08-01 20:13:34 -05:00
tildearrow f1b560cce9 PC speaker: fix cut freq
issue #1307
2023-08-01 16:00:13 -05:00
tildearrow 0c606103e3 GUI: fix pushNibble in orders
issue #1309
2023-08-01 13:30:57 -05:00
tildearrow ed56fc274f update the_best-1990.fur 2023-08-01 04:25:21 -05:00
Electric Keet ff51f97606 Document new chanOsc parameter. 2023-07-31 16:43:24 -05:00
Electric Keet bafb78cb67 Spacing for clarity, tiny fix.
Added spacing to make it easier to work with the document.

Also, I keep doing that thing with the SNES where I put "SPC700" but really should just put "SNES". Bad habit. (The real reason for the commit.)
2023-07-31 10:44:30 -07:00
cam900 71b76e3e88 Fix K053260 sample offset 2023-07-31 20:06:07 +09:00
Eknous-P 20ea5827cf chanOsc note name 2023-07-30 15:05:47 -05:00
Electric Keet 24e7d4b9ce Updating settings docs to match new arrangement. 2023-07-30 15:04:45 -05:00
tildearrow 4c13fe08d2 YM2612: prioritize urgentWrite() on hard reset 2023-07-30 14:53:26 -05:00
tildearrow 9420bbe058 GUI: mark modified when swapping channels 2023-07-30 14:43:25 -05:00
tildearrow e9af48cf8b GUI: update credits 2023-07-30 04:34:24 -05:00
tildearrow 308af5a34e GUI: new settings layout 2023-07-30 04:33:25 -05:00
freq-mod 41f6a6e0a3
links aligned properly 2023-07-30 11:08:27 +02:00
freq-mod 036ba996d5
OPLL patch swiching guide
feel free to improve it as you wish
2023-07-30 11:06:38 +02:00
tildearrow 954d91d073 OPLL: asdfasfd 2023-07-30 02:20:19 -05:00
tildearrow c29106aa3d Merge branch 'master' of github.com:tildearrow/furnace 2023-07-29 17:13:19 -05:00
tildearrow 1325664d25 SNES: fix possible sample corruption
when toggling echo
2023-07-29 17:12:46 -05:00
freq-mod 873889fee0
improve table 2023-07-29 23:12:41 +02:00
tildearrow 423f2f5069 OPN/A/B: implement 30xx on ExtCh
issue #1113
2023-07-29 16:05:34 -05:00
freq-mod 41c41859ed
remove redundant SNES entry 2023-07-29 23:04:55 +02:00
tildearrow 233431c2cc YM2612: implement 30xx on ExtCh 2023-07-29 14:17:04 -05:00
tildearrow 97d44d9a26 GUI: Namco 163 offset -> position 2023-07-29 13:43:49 -05:00
tildearrow bc7e267a85 GUI: BeginPopupContextItem fix 2023-07-29 13:22:05 -05:00
tildearrow b83d8f3198 fix system fmt, part 3 2023-07-29 13:10:59 -05:00
tildearrow 98a6080ca1 fix system fmt, part 2
thanks r-c-f
2023-07-29 13:09:35 -05:00
Electric Keet 79d8639075 Visual clarity!
It's so much easier to parse (and a bit less intimidating) when only the first system in any set is bolded.
2023-07-29 10:56:19 -07:00
tildearrow ac011a0fa1 GUI: fix sort button in effect list 2023-07-29 05:39:28 -05:00
tildearrow 9b1e137851
Merge pull request #1287 from Eknous-P/master
Effect Sorting
2023-07-29 05:24:08 -05:00
Eknous 1d04bb360a
Merge branch 'tildearrow:master' into master 2023-07-29 13:34:54 +04:00
tildearrow 92493485a3 GUI: prepare for new settings layout 2023-07-29 04:21:27 -05:00
Eknous-P 0671df9916 sameline 2023-07-29 13:11:52 +04:00
tildearrow 1aef0079d1 the first step to deprecating Defle compat
Furnace will support .dmf loading/saving
however in a far future, compatibility may not be guaranteed... I am not sure

this setting is off by default (for now)
2023-07-29 03:17:26 -05:00
Eknous-P 5fa4674826 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-29 11:07:36 +04:00
Eknous-P 2c3bacbd3b colored text, arrays instead of many vars 2023-07-29 11:07:20 +04:00
Eknous 7822c53469
Merge branch 'tildearrow:master' into master 2023-07-29 11:06:18 +04:00
Electric Keet 8901098cb8 Systems broken into groups.
Turned out to be super easy.
2023-07-28 19:29:38 -07:00
tildearrow 9d567d8cca fix system fmt, part 1 2023-07-28 16:07:01 -05:00
Electric Keet 3e3f582afb New systems README.md.
The idea: list all the systems shown in the "new file" dialog, link to their chips.
Also, moved all the important info out of genesis.md and removed it, finally!
Also also, fixed the tiniest issue in the credits. 😊
2023-07-28 13:51:24 -07:00
Eknous-P 5c5ccbeb72 change to beginpopupcontextitem 2023-07-28 20:38:13 +04:00
Eknous-P dedcff3ec2 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-28 18:39:47 +04:00
Eknous-P dd00d3bc66 cleanup 2023-07-28 18:39:40 +04:00
Eknous 9f5a924259
Merge branch 'tildearrow:master' into master 2023-07-28 18:26:53 +04:00
Eknous-P c6458efbbb Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-28 18:25:03 +04:00
Eknous-P d5b18ab080 is this "the button" 2023-07-28 18:24:56 +04:00
tildearrow a7e9218562 Namco WSG: fix custom clock 2023-07-28 04:27:53 -05:00
MooingLemur 9dcd5d1a89 comment grammar 2023-07-28 03:55:08 -05:00
MooingLemur 7aa3aec20e ZSM export: handle Virtual Tempo quantization 2023-07-28 03:55:08 -05:00
cam900 8ad7a5bf7d Remove global rendersamples 2023-07-27 21:10:45 +09:00
Eknous c9447dbff2
Merge branch 'tildearrow:master' into master 2023-07-27 15:27:28 +04:00
Eknous-P 0d33273a2e useless newline removed 2023-07-27 15:22:20 +04:00
Eknous-P 620fc82247 'all' checkbox to 'all'/'none' buttons 2023-07-27 14:44:41 +04:00
tildearrow b41d8fe208 TIA: fix custom clock
but it changes pitch of everything
2023-07-27 02:20:22 -05:00
tildearrow c2f83a3aef GUI: remove ability to save legacy .fui 2023-07-27 01:35:28 -05:00
tildearrow b186576e14 really fix Windows build 2023-07-27 01:28:03 -05:00
tildearrow 501d8da7af NES: optimize NSFplay 2023-07-27 01:24:18 -05:00
tildearrow 3fac80dad4 new demo song
by Teuthida
2023-07-27 01:12:50 -05:00
Lunathir 348b158e4b Adjust preset name to be in line with other presets 2023-07-27 01:10:02 -05:00
tildearrow a08a23fd13 fix Windows build 2023-07-27 01:07:57 -05:00
tildearrow 1fa92c63d0 Merge branch 'master' into force-critical-input-trickle 2023-07-27 00:39:29 -05:00
tildearrow afe703faf2 Merge branch 'force-critical-input-trickle' of https://github.com/bbbradsmith/furnace into force-critical-input-trickle 2023-07-27 00:39:20 -05:00
tildearrow cdbba2a6fc IGFD: finally fix sorting crash 2023-07-27 00:33:28 -05:00
bbbradsmith fd27a41c08 relocate pattern mouse release handling to FurnaceGui::Loop 2023-07-27 01:04:48 -04:00
tildearrow 1511b66015 MSM6258: fix missing type/outbits init 2023-07-26 19:33:49 -05:00
tildearrow 677f7fe682 ES5506: some cleanup
and fix sample map... ugh

issue #1282
2023-07-26 19:16:57 -05:00
tildearrow 05d101e42e fix unrecognized system ID error always being 0 2023-07-26 18:48:26 -05:00
tildearrow 5c861ca36e compensate for sample movement/deletion 2023-07-26 17:58:57 -05:00
tildearrow ec52eb524d
Merge pull request #1288 from tildearrow/doc-general
General docs refinement.
2023-07-26 17:24:31 -05:00
tildearrow 6878e424c4 fix typo 2023-07-26 17:23:55 -05:00
Eknous-P 60006dc862 typo 2023-07-26 19:51:28 +04:00
Electric Keet 934f0b53e6 General docs refinement.
You know, updated images, minor text tweaks.
2023-07-26 08:41:07 -07:00
Eknous-P d19214045c reorder fix 2023-07-26 19:28:42 +04:00
Eknous-P 9fb5e4f17f Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-26 18:53:46 +04:00
Eknous-P 54d4097146 put sorting checkboxes in a treenode 2023-07-26 18:53:39 +04:00
Eknous eab1cbee39
Merge branch 'tildearrow:master' into master 2023-07-26 18:41:37 +04:00
Eknous-P 1c94975a0a primitive effect sorting 2023-07-26 18:41:17 +04:00
cam900 e0dc22a6f1 Remove unnecessary functions 2023-07-26 19:39:13 +09:00
cam900 a3d54ca933 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-07-26 19:28:39 +09:00
Electric Keet 1bd315b683 Moved to /papers! Makes sense.
Why didn't this occur to me in the first place?
2023-07-25 15:01:02 -05:00
Electric Keet fe66d4da82 Clipboard format guide.
With help from @ltva via Discord!
2023-07-25 15:01:02 -05:00
Electric Keet a99fb1ce45 Oops! Botched the TIA pitch tables. All good now.
Always double-check your regexes and their results. Triple-check, maybe.
2023-07-25 14:12:43 -05:00
Electric Keet afb0dafe2d TIA frequency tables. 2023-07-25 14:12:43 -05:00
Electric Keet 8f1c1ee751 Refresh of pattern docs.
New graphics with consistent style, removal of unneeded graphics, and many edits for clarity and completeness.

Oh, and the credit for the old keyboard image has been removed. This version is fully redrawn.
2023-07-25 14:12:43 -05:00
tildearrow a3a004477d Game Boy: fix hw seq in low latency mode 2023-07-25 01:51:22 -05:00
tildearrow d12c061393 PET: fix not working 2023-07-25 01:26:41 -05:00
tildearrow 4161dcd786 fix crash when exporting audio (per chip)
also fix two misc issues in ES5506 and Sound Unit
2023-07-24 22:34:39 -05:00
tildearrow 68a2c5f2f0 GUI: update credits 2023-07-24 17:48:05 -05:00
tildearrow b519713222 don't use exceptions in maps
succeeds #801
2023-07-24 17:39:09 -05:00
tildearrow 8aa0813bb9
Merge pull request #1281 from railzen7/railzen7-patch-1
ay-3-8910 demo song request
2023-07-24 17:38:52 -05:00
railzen7 e2e3370fe8
Add files via upload 2023-07-24 23:28:54 +02:00
tildearrow 85666a9d70 GUI: update credits 2023-07-24 14:52:27 -05:00
tildearrow 6694659695 formatting 2023-07-24 14:51:41 -05:00
tildearrow 3b60eace02
Merge pull request #1266 from Eknous-P/master
Added flat notes and some text changes
2023-07-24 14:51:14 -05:00
Electric Keet 0fe1a9d4c8 General doc cleanup.
Marked items only available in advanced mode, fixed up images with accidental green borders, other nitpicks.
2023-07-24 14:43:11 -05:00
Eknous-P ceadf7a6c8 revert text changes 2023-07-24 21:16:59 +04:00
Eknous 695afcfc88
Merge branch 'tildearrow:master' into master 2023-07-24 14:21:30 +04:00
tildearrow ad4f5bee91 add demo song
by brickblock369

also update Maximum Overdrive
2023-07-24 04:57:45 -05:00
tildearrow 8e40901baa Merge branch 'master' of github.com:tildearrow/furnace 2023-07-23 22:36:55 -05:00
tildearrow c702922144 OPLL: how am I going to do this 2023-07-23 22:36:27 -05:00
tildearrow d66985fae2
Merge pull request #1276 from tranzystorek-io/void-readme
mention Void Linux package in readme
2023-07-23 17:00:21 -05:00
tildearrow 90264bb63e MSM5232: fix chan osc
issue #1269
2023-07-23 16:40:45 -05:00
tildearrow ee07eafc12 is it Italian or French? renaming 2023-07-23 16:27:14 -05:00
tildearrow eff0a20741 reorganize TIA demos
remove Coconut Mall (the meme is over)
move the other two to misc (too few to merit its own category)
2023-07-23 16:20:37 -05:00
NyaongI e4e299fd8c
[Re-Opened] New 2 Demo songs and Fixed A demo song (#1263)
* 2149 2413

* Five_Two_Three_Two

* Delete PlayingOnTheStairs.fur

I'll upload fixed version

* Fixed a demo song

Fixed Demo song 'Playing on the Stairs'

* Delete FiveTwoThreeTwo.fur

* rename

* Delete PlayingOnTheStairs_.fur

* Delete joyful_.fur

* rename 2
2023-07-23 16:03:57 -05:00
tildearrow 5bcde48978
Merge pull request #1274 from tildearrow/doc-general
Refreshing FM instrument docs.
2023-07-23 16:02:57 -05:00
Marcin Puc 6e2df831c7 mention Void Linux package in readme 2023-07-23 23:00:31 +02:00
tildearrow 859b7118d5
Merge pull request #1275 from tildearrow/revert-1271-patch-5
Revert "add TED chip to readme.md"
2023-07-23 15:59:22 -05:00
tildearrow 2342160e9b Revert "add TED to readme (#1271)"
This reverts commit 27530034db.
2023-07-23 15:59:15 -05:00
tildearrow d3781451d2 Merge branch 'master' of github.com:tildearrow/furnace 2023-07-23 15:58:32 -05:00
tildearrow e52e2da68b dev165 - Namco 163: do not scale pitch by default 2023-07-23 15:57:25 -05:00
Electric Keet 58fdd84fde Making the macros match. 2023-07-23 13:17:31 -07:00
nicco1690 27530034db
add TED to readme (#1271) 2023-07-23 21:38:44 +02:00
Eknous-P 3a950619b0 settings apply button 2023-07-23 22:35:24 +04:00
Electric Keet f419f1b378 FM ADSR chart and tutorial link.
Also several minor text and formatting tweaks.
2023-07-23 11:33:30 -07:00
Eknous-P 6cb6cc2c41 ted part number 2023-07-23 16:57:54 +04:00
Eknous 1e770d52b6
Merge branch 'tildearrow:master' into master 2023-07-23 16:44:05 +04:00
tildearrow 2321e7913c 4-instrument/ted.md 2023-07-23 05:29:30 -05:00
tildearrow 05a9496189 update credits 2023-07-23 05:26:25 -05:00
tildearrow 3936089c32 update ted.md 2023-07-23 05:26:18 -05:00
freq-mod 90dd0361f0
Create ted.md
wip
2023-07-23 12:23:32 +02:00
tildearrow 5c6aa5dc50 Merge branch 'master' of github.com:tildearrow/furnace 2023-07-23 04:44:38 -05:00
tildearrow 20418bb490 add TED to Furnace
#855 #873
2023-07-23 04:42:38 -05:00
cam900 3bafd4f6c0 update via PR comments 2023-07-23 17:39:38 +09:00
tildearrow 8b63459c5f
Merge pull request #1267 from ElectricKeet/doc-general
New guide on emulation cores.
2023-07-22 22:23:49 -05:00
Electric Keet 4d7c0e48cb Little text tweaks.
As requested!
2023-07-22 18:41:27 -07:00
Electric Keet 3a9f2803d2 New guide on emulation cores. 2023-07-22 16:03:18 -07:00
tildearrow 895921f257 GUI: orders now respect push nibble setting
issue #1260
2023-07-22 17:48:13 -05:00
tildearrow 0d2b7427a6 MSM6258: only one output 2023-07-22 17:32:16 -05:00
Eknous-P 7c5db82ab8 remove duplicate cases 2023-07-22 21:43:23 +04:00
Eknous-P f274f88c42 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-22 20:44:11 +04:00
Eknous-P 093df41ef9 flat note names 2023-07-22 20:44:02 +04:00
Eknous 6cdfccec94
Merge branch 'tildearrow:master' into master 2023-07-22 19:49:34 +04:00
Eknous-P d0404c9e10 more part numbers 2023-07-22 18:58:24 +04:00
Eknous-P 4ef6acfab7 add scc/scc+ and qsound part numbers 2023-07-22 18:00:49 +04:00
tildearrow cb825ca938 GUI: add ImGuiTableFlags_NoScrollWithMouse 2023-07-22 05:27:46 -05:00
Eknous-P 4d2c388a69 change "piezo" to "moving iron" 2023-07-22 12:17:04 +04:00
tildearrow 2abe76d000 Amiga: fix custom clock 2023-07-22 01:42:05 -05:00
cam900 a675494fc2 Add part number for OPL3-L 2023-07-22 10:43:21 +09:00
cam900 0889a8fe92 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-07-22 10:39:28 +09:00
tildearrow 12a8abdf95
Merge pull request #1243 from Eknous-P/master
"chip part number" text label option for per-channel scope
2023-07-21 20:06:08 -05:00
tildearrow e3e7ef7310 Namco 163: update doc 2023-07-21 20:00:39 -05:00
tildearrow ad88ce46ab dev164 - Namco 163: improvements, part 4
- per-channel wave offset/length
- wave load position/length effects
- global wave load effects that actually make sense
- update doc
2023-07-21 19:54:35 -05:00
tildearrow d411c9caba GUI: add "cursor follows wheel" option
needs testing
2023-07-21 17:25:49 -05:00
tildearrow 2f0f30f2f4 GUI: options to wrap around song
both for order change on scroll and vertical cursor wrap
2023-07-21 16:15:20 -05:00
tildearrow 9f9b946522 Namco 163: improvements, part 3
revive the wave length macro
2023-07-20 19:17:00 -05:00
tildearrow 7cc166beb0 Namco 163: improvements, part 2 2023-07-20 18:23:58 -05:00
tildearrow f2e978a5a7
Merge pull request #1259 from ElectricKeet/doc-general
New "guides" section!
2023-07-20 16:55:04 -05:00
tildearrow b087b28325 remove Namco 163 name setting 2023-07-20 16:50:19 -05:00
Electric Keet 5ba14cbfef Link to guides from intro doc. 2023-07-20 11:05:01 -07:00
Eknous-P 2c09b0c872 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-20 20:48:27 +04:00
Eknous-P 0f5cf4a043 update chanosc doc 2023-07-20 20:48:20 +04:00
Eknous f1399aab84
Merge branch 'tildearrow:master' into master 2023-07-20 20:41:44 +04:00
Electric Keet d0a71f8162 New "guides" section!
Also, some tiny fixes to other docs I noticed along the way.
2023-07-19 20:34:48 -07:00
tildearrow 08bd036193 Namco 163: improvements, part 1 2023-07-19 21:27:48 -05:00
tildearrow b941f58720
Merge pull request #1257 from ElectricKeet/doc-k056320
Initial K056320 documentation.
2023-07-19 21:24:29 -05:00
tildearrow 53f1f23ed8
Merge pull request #1254 from ElectricKeet/doc-general
Expanded wavetable info.
2023-07-19 21:15:32 -05:00
Electric Keet 0c48d67ef6 Much better NES DPCM pitch table! 2023-07-19 18:35:08 -07:00
Electric Keet 197c0a2cdc Initial K056320 documentation. 2023-07-19 13:09:07 -07:00
tildearrow d779b4c516 Namco 163: get rid of wave load
part of some serious work... the global wave load feature will be improved
2023-07-19 14:29:38 -05:00
Eknous-P caf4ab5d7a add k053260 case 2023-07-19 23:20:28 +04:00
Electric Keet aac1d272e3 NES DPCM pitch/note table. 2023-07-19 09:50:49 -07:00
tildearrow b42614189f Namco 163: dang 2023-07-19 01:43:41 -05:00
tildearrow 01c33260bc this commit sucks 2023-07-19 00:16:44 -05:00
tildearrow 63a50745ac Namco 163: #1250, part 1 2023-07-18 19:29:02 -05:00
Electric Keet 993452226a Oops! Another little detail. 2023-07-18 15:09:40 -07:00
tildearrow df544e0b59 GUI: fix glitch in new song
issue #1253
2023-07-18 15:07:48 -05:00
Eknous-P 407f916311 add chipType change detect 2023-07-18 22:30:22 +04:00
Electric Keet 4bab158eb9 Correcting some info.
Still need to know which systems don't play well with wavetable synthesis.
2023-07-18 11:05:49 -07:00
Electric Keet 42d98fdd70 Expanded wavetable info.
Also a fix to the "groove" graphic (how did I miss it before?) and a typo fix elsewhere.
2023-07-18 10:08:28 -07:00
cam900 1873a2a708 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-07-18 20:17:28 +09:00
Eknous 6daf9b3d18
Merge branch 'tildearrow:master' into master 2023-07-18 14:16:15 +04:00
tildearrow 9d3b8621c5 GUI: fix undo in select and type order change mode 2023-07-17 16:42:07 -05:00
tildearrow 09d226a9aa GUI: fix replace raw 2023-07-17 16:31:55 -05:00
tildearrow ec9a3180b2
Merge pull request #1047 from tildearrow/k053260
Add K053260 support
2023-07-17 15:10:07 -05:00
Electric Keet f0d51323af Add percent sign in replace dialog.
It's not clear that the "scale" option in the find/replace dialog is meant to be a percentage. This'll fix that!
2023-07-17 14:20:40 -05:00
tildearrow 64aad1bbb6
Merge pull request #1247 from ElectricKeet/doc-general
General documentation fixes and additions.
2023-07-17 14:19:56 -05:00
Electric Keet c995f98fe7 Terminology tweaks.
As requested.
2023-07-16 13:37:29 -07:00
Electric Keet e160fccd2a And a hex table because why not.
I'm just tickled that we have a page about hexadecimal!
2023-07-16 11:28:02 -07:00
Electric Keet b2d3f979d7 A bit more about the menu bar. 2023-07-16 11:14:47 -07:00
Electric Keet 7dd36c3d5b Relinking and new stuff. 2023-07-16 11:00:20 -07:00
Eknous-P c396c79ae0 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-16 15:10:15 +04:00
Eknous-P 2d68b6a316 update tooltip 2023-07-16 15:10:09 +04:00
Eknous 67de26fb68
Merge branch 'tildearrow:master' into master 2023-07-16 11:51:45 +04:00
Eknous-P 1fcbc603e1 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-16 11:50:20 +04:00
Eknous-P 30c41942a4 move to separate file + regular name on default 2023-07-16 11:48:36 +04:00
Electric Keet 49dbea2d88 Documenting find/replace.
I might revisit all of this later to try and improve clarity. Suggestions welcome!
2023-07-16 00:30:20 -05:00
tildearrow e07f9cd3f4 does not work 2023-07-15 20:29:49 -05:00
tildearrow 7cb1504215 GUI: update newSong.cpp 2023-07-15 18:49:28 -05:00
June d6a24cd32a
add chip description tooltip for systems in new song dialog (#1242)
* add chip description tooltip for systems in new song dialog

* give BeginTooltip() for chip descriptions its own line in code
2023-07-15 18:23:52 -05:00
tildearrow 1c567224bf update contributing guidelines 2023-07-15 17:43:14 -05:00
tildearrow 8543d327b5
Merge pull request #1234 from ElectricKeet/system-info
Amiga info.
2023-07-15 15:12:18 -05:00
tildearrow 175e4cd7b8
Merge pull request #1241 from ElectricKeet/doc-chanosc
Doc update for per-chan oscs.
2023-07-15 15:11:34 -05:00
tildearrow 8f71c4f5cd
Merge pull request #1219 from freq-mod/freq-mod-docs
expand docs
2023-07-15 15:10:41 -05:00
freq-mod 22ceb93297
Update msm6295.md 2023-07-15 21:48:33 +02:00
freq-mod 26d7babc49
Update msm6258.md 2023-07-15 21:48:11 +02:00
Eknous edefb05a56
Merge branch 'tildearrow:master' into master 2023-07-15 22:10:19 +04:00
tildearrow c3d6d9c440 don't start engine on autoNoteOff
it's unnecessary. issue #1187
2023-07-15 02:59:06 -05:00
tildearrow 99e55136f3 GUI: prevent lag when drawing on wave editor 2023-07-15 02:50:49 -05:00
tildearrow d096d5eb3c GUI: fix scrolling when stepping rows 2023-07-14 19:24:57 -05:00
Eknous ce1444965a
Merge branch 'tildearrow:master' into master 2023-07-14 20:09:34 +04:00
Electric Keet e544e47446 Doc update for per-chan oscs.
When did that amplitude slider arrive? (Also, minor text edits for consistency.)
2023-07-14 08:47:07 -07:00
Electric Keet 77019ae9b5 Removing some detail.
Nixing this addition for now; we'll come back to the idea later.
2023-07-14 07:52:54 -07:00
freq-mod 007b99ac97
Update ay8910.md 2023-07-14 11:16:36 +02:00
freq-mod 0093e5b9bc
Update ym2612.md 2023-07-14 11:14:39 +02:00
freq-mod f7b456e67c
Update ay8930.md 2023-07-14 11:13:21 +02:00
freq-mod fd9691e5da
Update msm6295.md 2023-07-14 11:12:51 +02:00
freq-mod 0d36abf3fc
Update msm6258.md 2023-07-14 11:11:56 +02:00
tildearrow 0461d220b8
Merge pull request #1239 from mooinglemur/20230712-demosong
Add cover song to demos/x16
2023-07-14 03:15:40 -05:00
freq-mod 7b2ae23a00
Update sms.md 2023-07-14 09:31:13 +02:00
freq-mod 2d6ef5394c
Update msm6258.md
table
2023-07-14 09:30:46 +02:00
freq-mod 163d607cf3
Update msm6295.md 2023-07-14 09:28:46 +02:00
freq-mod cc8b91e1bb
Update msm6258.md 2023-07-14 09:27:57 +02:00
tildearrow b807c51028
Merge pull request #1240 from ElectricKeet/doc-instr-sms
Document standard instr. noise modes.
2023-07-14 02:10:46 -05:00
freq-mod ce92fde2bf
Update msm6295.md
table
2023-07-14 09:06:32 +02:00
Electric Keet 573f8d5b3b
Deleting old NES.PSG instrument doc. 2023-07-13 17:19:56 -07:00
Electric Keet 7cfdad6367
Split NES and PSG instrument docs. 2023-07-13 17:19:00 -07:00
Electric Keet ed7265645d Document standard instr. noise modes. 2023-07-13 16:35:55 -07:00
tildearrow 9c97291e9c MSM6258: don't use auto 2023-07-13 16:03:47 -05:00
cam900 7148f99b88 Merge branches 'master' and 'k053260' of https://github.com/tildearrow/furnace into k053260 2023-07-13 20:15:40 +09:00
tildearrow e93f649bfb FixedQueue, part 3 2023-07-13 04:23:01 -05:00
tildearrow 708c363635 FixedQueue, part 2 2023-07-13 04:09:20 -05:00
MooingLemur 01ba81cbcc Add cover song to demos/x16 2023-07-12 21:34:59 -07:00
tildearrow 99be9cb337 FixedQueue, part 1 2023-07-12 19:54:37 -05:00
tildearrow dbd200c279 prepare to use FixedQueue
avoiding allocations in real-time code
2023-07-12 19:43:15 -05:00
YohananDiamond 7a3319b87a Merge branch 'master' of https://github.com/tildearrow/furnace into dialog-nitpicks 2023-07-12 10:16:59 -03:00
YohananDiamond f416bb3048 dialog nitpick: centering modal popups 2023-07-12 10:16:39 -03:00
cam900 3adacff028 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-12 20:11:13 +09:00
tildearrow 90b76d20e3 C64: fix reSIDfp muting 2023-07-12 06:04:37 -05:00
Eknous-P 1fcf72b912 chip short name for per-chan scope 2023-07-12 14:17:08 +04:00
bbbradsmith a37260bcaa Move pattern finishSelection out of SDL-triggered pointUp, and replace with ImGui release trigger in drawPattern. This prevents down/up events from being processed out of order by two separate event systems, causing selection to be stuck on if the up event is recieved within 1 frame of the down event. 2023-07-12 05:45:30 -04:00
bbbradsmith edb48d47be only force trickle text if interacting with mouse button or key events 2023-07-12 04:06:03 -04:00
tildearrow 09a3da50eb Merge branch 'master' into force-critical-input-trickle 2023-07-12 00:04:03 -05:00
NyaongI 86739649d0
New 2 Demo songs (#1235)
* New T6W28 Demo song

* Delete RunningOnThePlayground_2xT6W28.fur

Not here

* New T6W28 Demo song

* New OPLL Demo song

* Adding 18 New OPLL Instruments

* New AY8930 Demo song

* New SMS (SN7 only) Demo song
2023-07-11 23:00:13 -05:00
tildearrow f2b1e00df7 Merge branch 'master' of github.com:tildearrow/furnace 2023-07-11 19:30:43 -05:00
tildearrow 4bc2a28760 GUI: fix memory leak in backup task
issue #1233
2023-07-11 19:30:13 -05:00
Electric Keet 189a6f8e1a Losing the thousands separators. 2023-07-11 17:27:05 -07:00
tildearrow 641327634e
Merge pull request #1232 from YohananDiamond/dialog-nitpicks
More dialog nitpicks: cancel popups with ESC
2023-07-11 19:16:32 -05:00
Electric Keet dcb2460064 Amiga info.
Adding useful Amiga info to docs and chip selector.
2023-07-11 16:47:11 -07:00
tildearrow 6ce45593cf C64: per-chan osc filters and volume 2023-07-11 18:11:48 -05:00
tildearrow e8130caa52 C64: fix dSID multi-chip 2023-07-11 17:21:51 -05:00
freq-mod d213514bf2
Update sms.md 2023-07-11 20:30:17 +02:00
freq-mod 39963bb607
Update msm6295.md 2023-07-11 20:29:11 +02:00
freq-mod 0b0e2ac7c6
Update msm6295.md 2023-07-11 20:28:08 +02:00
freq-mod 66a801eb8f
Update ay8910.md 2023-07-11 20:27:21 +02:00
freq-mod 1b93a28540
Update ay8910.md 2023-07-11 20:26:43 +02:00
YohananDiamond f0e7be79d5 dialog nitpicks: more close-with-esc 2023-07-11 11:14:35 -03:00
YohananDiamond 5fa2164ed5 Merge branch 'master' of https://github.com/tildearrow/furnace into dialog-nitpicks 2023-07-11 10:58:04 -03:00
cam900 b07ba72aa3 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-11 20:35:31 +09:00
tildearrow 6bbb407863
Merge pull request #1227 from lunathir/patch-1
Forgot to end code block table - multiplayer.md
2023-07-10 21:50:59 -05:00
tildearrow d93a3d17a9 not recommended 2023-07-10 21:48:41 -05:00
tildearrow b7b4177251 why 2023-07-10 15:47:20 -05:00
tildearrow 9662653aac let's fix 2023-07-10 15:44:50 -05:00
tildearrow f45df351a8 let's debug GL problem 2023-07-10 15:28:09 -05:00
tildearrow 7524b42564 GUI: again
issue #1228
2023-07-10 14:38:26 -05:00
tildearrow 5619ae36c8 GUI: set bigFont on font loading failure
issue #1228
2023-07-10 14:36:44 -05:00
tildearrow 7d8a61d6dc don't use IMGUI_USER_CONFIG
apparently a specific build of GCC 11.2.0 has a bug which prevents using
defines in #include
2023-07-10 14:27:24 -05:00
Lunathir 6f53436388
Update multiplayer.md 2023-07-10 11:30:41 -07:00
cam900 5e0fb78a90 Use allocated ID 2023-07-10 19:57:45 +09:00
cam900 7aaa52297e Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-10 19:56:29 +09:00
tildearrow a32c706c8f Merge branch 'master' of github.com:tildearrow/furnace 2023-07-10 04:33:09 -05:00
tildearrow 4c77eaba80 GUI: fix watermark position 2023-07-10 04:32:56 -05:00
tildearrow 90e37d6d25
Merge pull request #1225 from lunathir/master
Small formatting fix in multiplayer.md
2023-07-10 03:33:42 -05:00
Lunathir 6dae432279
Update multiplayer.md
Fix formatting
2023-07-10 01:31:00 -07:00
tildearrow 39ca56bf28 oops wrong category 2023-07-10 03:17:16 -05:00
tildearrow 47110d3492 noooooooooooooo 2023-07-10 02:08:52 -05:00
freq-mod 9410d2ea41
Update sms.md 2023-07-10 08:41:33 +02:00
freq-mod 6e7c84cd49
Update ym2612.md
i hate english
2023-07-10 08:23:02 +02:00
freq-mod 78af8fb92e
Update msm6258.md
capitalization
2023-07-10 08:22:07 +02:00
freq-mod 86b82b21a8
Update ym2608.md
copy/paste fail fix
2023-07-10 08:21:17 +02:00
freq-mod 26946508e5
Update ay8910.md
typo fix
2023-07-10 08:20:26 +02:00
tildearrow 5a9de0f3e6 dev163 - GUI: add watermark to identify unstable 2023-07-09 20:34:44 -05:00
tildearrow ecb9f6fbeb PV-1000: fix chan osc 2023-07-09 19:32:24 -05:00
tildearrow 50dda44880 GUI: handle SIGTERM correctly
issue #1143
2023-07-09 19:19:37 -05:00
tildearrow 319ed04946 GUI: add amplitude setting to per-chan osc
issue #1135
2023-07-09 18:59:58 -05:00
tildearrow 46ede984a7 VGM export: fix RF5C68 memory being wrong
issue #1078
2023-07-09 18:46:24 -05:00
tildearrow cf2c63caf7 YM2612: implement 9xxx, part 2
VGM export
2023-07-09 17:41:24 -05:00
tildearrow 0c5e58fa3e YM2612: implement 9xxx, part 1
does not work on VGM export yet
2023-07-09 15:12:45 -05:00
tildearrow 0b2de3b933 YM2612: fix DAC mute not respecting queue, part 2 2023-07-09 14:17:52 -05:00
freq-mod 952578f15a
Update ay8910.md 2023-07-09 14:42:48 +02:00
freq-mod 251cf9f5ff
Update zxbeep.md 2023-07-09 14:21:12 +02:00
freq-mod 74e441c7c5
Update ym2610.md 2023-07-09 14:18:31 +02:00
freq-mod 07a7abed30
Update ym2610b.md 2023-07-09 14:16:19 +02:00
freq-mod 208528720b
Update ym2608.md 2023-07-09 14:15:54 +02:00
freq-mod 1313f098c6
Update ym2203.md 2023-07-09 14:14:54 +02:00
freq-mod 659ca97876
Update genesis.md 2023-07-09 14:13:37 +02:00
freq-mod 6f6007e1be
Update ym2612.md
decreasing redundancy
2023-07-09 14:12:12 +02:00
freq-mod fb0cdc1255
Update ay8930.md 2023-07-09 14:07:57 +02:00
freq-mod f1bdde2193
Update ay8910.md 2023-07-09 14:07:19 +02:00
freq-mod e399626e4e
Update msm6295.md 2023-07-09 14:03:27 +02:00
freq-mod 7e983059f1
Update msm6295.md 2023-07-09 14:01:59 +02:00
freq-mod 8d1909a435
Update msm6258.md 2023-07-09 13:37:45 +02:00
tildearrow 494572e4e5 GUI: display correct OPLL preset for chip type 2023-07-09 05:35:49 -05:00
tildearrow 62c5ec83f4 GUI: fix OPLL FB/DC/DM preview for preset patches 2023-07-09 05:28:14 -05:00
tildearrow 39b7e82e8a Warpdrive Engage
by SuperJet Spade
2023-07-09 05:07:16 -05:00
tildearrow 3c79fe9db0 update format.md 2023-07-09 04:12:17 -05:00
tildearrow 68f517eb04 release v0.6pre7 (hotfixes) 2023-07-09 03:40:45 -05:00
tildearrow 18eaef4eba GUI: for real
set render backend to SDL if it fails
2023-07-09 03:32:38 -05:00
tildearrow 0072fa3293 Mini 2023-07-09 03:31:12 -05:00
tildearrow 2474ccdfe3
Merge pull request #1212 from ElectricKeet/doc-general
Doc updates for 0.6pre6.
2023-07-09 03:30:37 -05:00
tildearrow 6dbc33dc2a renderGL: fix unusable when font tex fails to load 2023-07-09 03:29:32 -05:00
tildearrow e2540bf789 renderDX11: fix crash when font tex fails to load
issue #1217
2023-07-09 03:18:23 -05:00
MooingLemur 73ea490fdb ZSM export: fix two bugs w/ looped sample export 2023-07-09 01:56:26 -05:00
cam900 2a4e7267aa Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-09 13:11:53 +09:00
tildearrow e600747152 GUI: actually fall back to SDL_Renderer if other b
ackend fails to start
2023-07-08 22:26:51 -05:00
tildearrow a500dcda49 release v0.6pre6 2023-07-08 20:22:03 -05:00
tildearrow 83219cefc7 GUI: implement chan osc volume label 2023-07-08 20:02:05 -05:00
tildearrow e1cf040b33 clarify profanity rating 2023-07-08 18:52:28 -05:00
tildearrow 3765294cd3 TODO: implement 30xx on ExtCh for pre7 2023-07-08 18:06:19 -05:00
tildearrow 9d0a95e228 Game Boy: fix zombie mode on first note 2023-07-08 17:08:08 -05:00
tildearrow 2786b307e3 YM2612: fix DAC mute not respecting queue limits 2023-07-08 16:19:50 -05:00
Electric Keet 38e22ab6fd Docs for Pokémon mini, other bits.
Renamed the Pokémon mini doc to match internal name.
2023-07-08 13:40:53 -07:00
tildearrow 8be2f0adc8 renderDX11: don't wrap textures 2023-07-08 15:17:31 -05:00
tildearrow 34502f218c WonderSwan: fix custom clock setting
issue #1211
2023-07-08 14:40:35 -05:00
tildearrow c1ff3c38aa Game Boy: fix memory leak 2023-07-08 14:40:14 -05:00
tildearrow 3f668a59e5 update credits 2023-07-08 05:48:22 -05:00
tildearrow d8381a21ea SegaPCM: fix volume not being reset after macro 2023-07-08 03:02:55 -05:00
cam900 e38c50bbb1 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-08 16:57:17 +09:00
tildearrow f91ddb6224
Merge pull request #1201 from Eknous-P/master
Add some demo songs and change gitignore to not include Android Studio files
2023-07-08 02:23:35 -05:00
Eknous-P 6f105a1ec3 fix corrupted file 2023-07-08 10:56:11 +04:00
Eknous-P a3300049d8 Merge branch 'master' of https://github.com/Eknous-P/furnace 2023-07-08 00:49:44 +04:00
Eknous c214b7b221
Merge branch 'tildearrow:master' into master 2023-07-08 00:48:33 +04:00
Eknous-P 012d5d50ca reduce file size 2023-07-08 00:47:23 +04:00
tildearrow 5d97a3ba04 GUI: update credits 2023-07-07 15:01:19 -05:00
MooingLemur d722cc33d4 ZSM export: support for looped samples, fix error dispatching ZSM sync events 2023-07-07 14:56:59 -05:00
Electric Keet 73346d6964
Merge branch 'tildearrow:master' into doc-general 2023-07-07 08:05:17 -07:00
cam900 79a082c5d2 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-07 20:41:52 +09:00
Electric Keet dfa663a500 Teensy fix.
I cannot believe I did this.
2023-07-07 05:21:59 -05:00
Electric Keet 2413514a63 Added links to other docs as needed. 2023-07-07 05:21:59 -05:00
Electric Keet 87de9ca64e Removing commented stuff.
I'll put these bits back in when 0.6pre6 launches.
2023-07-07 05:21:59 -05:00
Electric Keet 20a6785f12 More refinements to settings.md 2023-07-07 05:21:59 -05:00
Electric Keet ff40729b18 Create settings.md
Everything* from `settings.cpp` is in here! I think.

Some things are present but commented out because I didn't see them in 0.6pre5 on Win10.
2023-07-07 05:21:59 -05:00
tildearrow 06aa738782 GUI: fix pitch indicators in visualizer not aligni
ng with channels when the pattern view scroll X is not 0

issue #1184
2023-07-07 03:25:34 -05:00
tildearrow 97fec35b00 GUI: fix hidden channels breaking visualizer 2023-07-07 03:15:09 -05:00
tildearrow aececf352f Game Boy: fix 10xx turning wave channel on
when it's off
2023-07-07 02:25:32 -05:00
tildearrow f841025ce6 Game Boy: fix wave corruption
this time for real
thanks jvsTSX
2023-07-07 02:21:13 -05:00
tildearrow 5c97f9981a add option to change SDL audio driver 2023-07-06 21:14:25 -05:00
tildearrow ce2661df66 audio issue debugging 2023-07-06 18:29:29 -05:00
bbbradsmith 0444588cca ImGui trickle is critical for MouseButton, Key and Text events, otherwise fast (but sparse) inputs can be lost. This should not cause performance problems for high-poll-rate mouse devices. 2023-07-06 18:54:35 -04:00
Electric Keet 997da3e8a0 Adding the Pokémon mini. 2023-07-06 08:54:17 -07:00
Eknous 00031c4658
Merge branch 'tildearrow:master' into master 2023-07-06 17:47:44 +04:00
cam900 ac8db58cbf Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-07-06 20:00:20 +09:00
tildearrow a267901b18 GUI: default to non-SDL render backend if availabl 2023-07-06 04:04:33 -05:00
tildearrow 3d79827d55
Merge pull request #1199 from mooinglemur/20230705-zsmsync
VERA, ZSM Export: Add EExx event as synchronization message, add sync message support in ZSM export
2023-07-06 03:41:06 -05:00
tildearrow 61335fb09b C64: fix overlord
after more than one year
2023-07-06 02:20:22 -05:00
tildearrow 3b151a78a5 tiny playback optimization 2023-07-06 02:12:45 -05:00
tildearrow 2dde6159a1 C64: fix dSID filters 2023-07-06 02:12:34 -05:00
tildearrow 59e93892dd fix MIDI clock/time using too much CPU 2023-07-05 23:55:50 -05:00
tildearrow 5d015ae0ed update credits 2023-07-05 20:38:31 -05:00
tildearrow 7375d2e6fb C64: faster startup 2023-07-05 20:31:31 -05:00
tildearrow 073bc8d8b5 C64: faster 2023-07-05 20:12:08 -05:00
tildearrow 7b14e0cb81 WARNINGS_ARE_ERRORS shouldn't produce a warning
it's what we use at work
2023-07-05 19:41:31 -05:00
tildearrow 9d5e544695 C64: fix memory corruption 2023-07-05 19:36:40 -05:00
tildearrow 432f36ffcb Merge branch 'dSID' 2023-07-05 19:11:28 -05:00
tildearrow bcd5bfdb42 C64: dSID core, part 2 2023-07-05 17:37:25 -05:00
MooingLemur a8a02b9ebb Changed EFxx to EExx at request of tildearrow 2023-07-05 15:29:11 -07:00
tildearrow 621616ae25 C64: dSID core, part 1 2023-07-05 17:09:02 -05:00
MooingLemur fba48149a5 VERA, ZSM Export: Add EFxx event as synchronization message, add sync message support in ZSM export 2023-07-05 15:07:44 -07:00
Eknous-P 85207ea89d add demo songs + ignore android studio files 2023-07-05 22:06:58 +04:00
Electric Keet 5b8ccd1f32 Merge branch 'doc-general' of https://github.com/ElectricKeet/furnace into doc-general 2023-07-05 09:55:52 -07:00
Electric Keet 4a66a5e827
Merge branch 'tildearrow:master' into doc-general 2023-07-05 09:54:40 -07:00
Electric Keet 064aec95ba Nevermind those HR's.
We don't need horizontal rules to have a good time.
2023-07-05 09:50:03 -07:00
tildearrow 56b786f55e asd;klfj 2023-07-05 02:32:01 -05:00
Electric Keet b42f868f6d Strategic horizontal rules.
A few HR's to match the menu bar...
A few HR's to clearly separate effect groupings...

Keep or scrap?
2023-07-04 10:25:21 -07:00
tildearrow 23b65c61ce C64: fix reSIDfp envelope reset being inconsistent 2023-07-04 01:34:39 -05:00
tildearrow f1b30c01a4 dev160 - C64: add key priority system
and options to change hard reset envelope

issue #1115
2023-07-04 00:23:28 -05:00
tildearrow 7e6ffd7e12 fix wave synth ignoring wave set in wave macro
when wave did not change

issue #1194
2023-07-03 22:49:59 -05:00
tildearrow 5c07ecb52c
Merge pull request #1196 from ElectricKeet/doc-general
Grab bag of added documentation.
2023-07-03 22:28:14 -05:00
mooinglemur 93097b40e5
ZSM export: Update format, implement PCM export support (#1191)
* ZSM export: suppress the extra tick before the loop

* ZSM: initial PCM export support

* Docs: update zsm-format.md with PCM format

* applied requested style changes from PR
2023-07-03 22:24:49 -05:00
Electric Keet faf2d10dca Slash fix.
But... but... it worked fine in VSCode!
2023-07-03 19:23:32 -07:00
Yohanan a3a8dd7f0d
Exit with ESC (#1195) 2023-07-03 20:32:54 -05:00
Electric Keet 6b9043e129 Updated sample editor image and doc.
Forgot to get the "Chips" section in there!
2023-07-03 17:58:49 -07:00
Electric Keet fc3167d610 Grab bag of added documentation.
Casio PV-1000 added, Genesis expanded, sample editor added.
2023-07-03 14:06:00 -07:00
tildearrow 4fe0e1d06a GUI: make sample edit filter settings be input box 2023-07-03 15:47:07 -05:00
YohananDiamond 7efc84592b Exit with ESC 2023-07-03 17:43:00 -03:00
YohananDiamond c887362a6f Merge branch 'master' of https://github.com/tildearrow/furnace into dialog-nitpicks 2023-07-03 17:35:44 -03:00
tildearrow b0c683fee5 Game Boy: fix wave corruption I think 2023-07-03 04:06:42 -05:00
tildearrow d7d4038c51 use rate instead of compat rate when saving sample 2023-07-02 22:06:52 -05:00
tildearrow 7505915479 GUI: render backend recovery, part 6
untested OpenGL implementation
2023-07-02 15:10:26 -05:00
tildearrow c49c052ca0 GUI: render backend recovery, part 5 2023-07-02 05:41:51 -05:00
tildearrow 7eadc465c2 one more demo song
by SuperJet Spade
2023-07-02 03:12:42 -05:00
tildearrow 8da3f56de6 and of course.
fix Windows, and Linux breaks.
2023-07-02 02:17:52 -05:00
tildearrow d4c136c525 renderDX11: don't error on DXGI_STATUS_OCCLUDED 2023-07-02 02:13:50 -05:00
tildearrow c40cc8283f IGFD: fix files with non-ASCII chars not have type
on Windows
2023-07-02 02:12:26 -05:00
tildearrow dc28284cce GUI: render backend recovery, part 4
confirmed to work
2023-07-02 01:08:57 -05:00
tildearrow 4c59aab179 GUI: render backend recovery, part 3 2023-07-02 00:46:16 -05:00
tildearrow 8d21948431 Game Boy: fix custom clock 2023-07-02 00:39:50 -05:00
tildearrow 2a4eb1e2be GUI: render backend recovery, part 2 2023-07-02 00:27:47 -05:00
tildearrow 72ed5deeb1 VERA: fix custom clock 2023-07-02 00:26:57 -05:00
tildearrow f67faf9f23 GUI: get rid of debug message 2023-07-02 00:09:49 -05:00
tildearrow 5fde2e7e30 GUI: render backend recovery, part 1 2023-07-02 00:09:39 -05:00
tildearrow 87f80cae1d Cosmic Warehouse
by SuperJet Spade
2023-07-01 18:19:57 -05:00
tildearrow ecff10b407 GUI: prepare for handling render backend deaths 2023-07-01 18:10:58 -05:00
tildearrow c83948209a one additional demo song
by SuperJet Spade
2023-07-01 18:10:32 -05:00
tildearrow 8a23d39cdd several new demo songs
Some Creatures by TheDuccinator
Shovel Knight Title by Bernie
Fly to the Leaden Sky by SuperJet Spade
2023-07-01 17:07:45 -05:00
tildearrow 3f8430b0d6 add ability to duplicate sub-songs 2023-06-30 23:37:22 -05:00
tildearrow 747d94ad5f
Merge pull request #1189 from ElectricKeet/doc-info
SNES and some other documentation.
2023-06-30 23:29:20 -05:00
Electric Keet 51facaff8e Trying again, no spaces this time. 2023-06-30 21:27:46 -07:00
Electric Keet f64aeda9ec Abbreviating the abbreviations.
Shortening to `msec` and `sec` to `ms` and `s` respectively.
2023-06-30 21:23:55 -07:00
tildearrow e5a5bb0154 GUI: add setting to see mem usage in bytes 2023-06-30 22:44:08 -05:00
Electric Keet ab67d30132 Merge branch 'doc-info' of https://github.com/ElectricKeet/furnace into doc-info 2023-06-30 20:41:39 -07:00
Electric Keet a9d4bf1fdc Accurate number!
Well, accurate enough.
2023-06-30 20:41:16 -07:00
Electric Keet 8760584ead
Merge branch 'tildearrow:master' into doc-info 2023-06-30 20:31:56 -07:00
Electric Keet 0d43a1a572 More little stuff. 2023-06-30 20:25:12 -07:00
tildearrow a69b02f525 GUI: add patch number to OPLL patches 2023-06-30 17:31:23 -05:00
tildearrow 933af321b6 Merge branch 'master' of github.com:tildearrow/furnace 2023-06-30 16:42:53 -05:00
tildearrow 012d43b331 GUI: compact sample editor
automatic button layout depending on available width
2023-06-30 16:31:34 -05:00
tildearrow 7d42192d54
Merge pull request #1183 from brickblock369/master
Adding a power snare for OPM
2023-06-30 15:19:01 -05:00
tildearrow c020af7a36
Merge pull request #1180 from ElectricKeet/doc-general
More sweeping formatting changes.
2023-06-30 15:17:07 -05:00
Waverider 7c328cfeed
add 2 songs and fix 010 editor (#1179)
* add 1 song and fix 010 editor

* add song

* fix key 19
2023-06-30 15:13:56 -05:00
tildearrow 69e3515757 SegaPCM: real limit is 2MB 2023-06-30 06:09:42 -05:00
Electric Keet bbcf4c34ed Making requested fixes.
Fixed those dashes and that pesky semicolon.
2023-06-29 12:42:36 -07:00
cam900 b1e2e33f2d Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-06-29 21:36:29 +09:00
cam900 d33d487ab9 Add warning 2023-06-29 21:35:53 +09:00
cam900 4f061db5a7 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-06-29 21:34:56 +09:00
tildearrow 379b19a102 GUI: sample editor warnings, part 3 2023-06-29 02:27:11 -05:00
brickblock369 55fc4bd695
Adding AY drums 2023-06-29 15:24:46 +09:00
cam900 6639bf2112 Loop point ignored in K053260 2023-06-28 20:05:53 +09:00
Electric Keet 6ede173d2c SNES docs (and other tweaks) 2023-06-27 14:06:23 -07:00
brickblock369 a5b4baf1b3
Adding a power snare for OPM 2023-06-27 17:25:10 +09:00
cam900 8c4477c6dd Fix offset 2023-06-26 20:00:29 +09:00
cam900 4efd3591d2 Add silence to avoid popping noise 2023-06-26 19:59:57 +09:00
cam900 7b49b4b8e0 Merge branches 'master' and 'k053260' of https://github.com/tildearrow/furnace into k053260 2023-06-26 19:47:25 +09:00
Electric Keet 0ec451726c The teeniest adjustment. 2023-06-25 09:43:24 -07:00
tildearrow feef9234b6 MIDI output: don't spam logs on error 2023-06-25 04:57:04 -05:00
Electric Keet 81ab2acb2c Lots of little cleanup.
Trying for more consistency and clarity, especially for quick reference.
2023-06-25 00:05:30 -07:00
tildearrow 7beb1271ae GUI: add option to disable preset selector 2023-06-24 18:55:55 -05:00
tildearrow e0de6e0847 update TODO.md 2023-06-24 18:09:46 -05:00
tildearrow ecfb0c7136 GUI: sample editor warnings, part 2 2023-06-24 18:06:55 -05:00
tildearrow 598e8ddf03 don't handle a buffer of size 0 2023-06-24 17:45:43 -05:00
Electric Keet 7ec6040674
Rearranged effects list (and recovered concepts doc). 2023-06-24 14:19:46 -07:00
tildearrow ba0d6903f6 YM2612: add forceIns heuristics 2023-06-24 16:00:55 -05:00
tildearrow 952c05406c GUI: wrong sample loop end 2023-06-24 03:18:27 -05:00
tildearrow 2dc3ce9e8c
Merge pull request #1177 from ElectricKeet/doc-brackets
Docs formatting for clarity and such.
2023-06-23 23:28:05 -05:00
tildearrow a7b306a097 Merge branch 'master' into doc-brackets 2023-06-23 23:25:43 -05:00
tildearrow 0b7ebb7e7a Merge branch 'master' into doc-brackets 2023-06-23 23:24:33 -05:00
Electric Keet 6fc0c3a750
A zillion new images for docs. (#1176)
* A whole mess of redone graphics.

* Minor adjustments and new ADSR chart.

* Android: warnings are errors

* GUI: sample editor warnings, part 1

* optimize images

---------

Co-authored-by: tildearrow <me@tildearrow.org>
2023-06-23 23:23:28 -05:00
Electric Keet a8b51400b5
Oops, tiny update. 2023-06-23 18:38:47 -07:00
Chrysi Planitoskopion ba99cfd4f3 Revert "Initial "concepts and terms" doc."
This reverts commit d0871fd3d9.
2023-06-23 18:17:55 -07:00
Electric Keet 4748e185a7 Fixing something I botched.
Hey, all those files I thought I clobbered!
2023-06-23 18:13:37 -07:00
tildearrow f15bc78a96 GUI: sample editor warnings, part 1 2023-06-23 18:31:05 -05:00
tildearrow 5af69aafba Android: warnings are errors 2023-06-23 18:30:48 -05:00
Electric Keet d0871fd3d9 Initial "concepts and terms" doc. 2023-06-22 23:03:30 -05:00
tildearrow a9e9a7649a
Merge pull request #1165 from ElectricKeet/master
Links for advanced docs.
2023-06-22 22:57:36 -05:00
tildearrow 7b184fe321 GUI: prepare for sample warnings 2023-06-22 20:03:39 -05:00
tildearrow 937c3f1c27 GUI: move delete button to end in sample list 2023-06-22 19:52:07 -05:00
tildearrow aeeaa9ca1d GUI: change color of destructive actions 2023-06-22 19:49:45 -05:00
tildearrow 6c36fb6e40 wrong color 2023-06-22 18:17:49 -05:00
tildearrow 955de31758 GitHub please disable your hot loading feature NOW
if it's not gonna work, why have it?
2023-06-22 18:09:10 -05:00
tildearrow 8fd1a9667c GUI: prepare for destructive/warning/error color h
ints
2023-06-22 18:05:17 -05:00
tildearrow 06a2d10ba1 VGM export: cap streams to 44100Hz
VGMPlay doesn't like higher frequencies
2023-06-22 16:45:31 -05:00
tildearrow 95b51e6307 VGM export: NES DPCM, part 3
dual chip
2023-06-22 15:45:27 -05:00
tildearrow b9514bb98e VGM export: NES DPCM, part 2
now it works
issue #1163
2023-06-22 15:40:50 -05:00
tildearrow 317aca0564 VGM export: NES DPCM, part 1
still does not work
2023-06-22 15:20:48 -05:00
tildearrow 0bcd1b74ac VGM export: prepare for NES DPCM 2023-06-22 04:55:12 -05:00
tildearrow ef57ad531d oh crap I did not commit 2023-06-22 03:24:39 -05:00
tildearrow b31024847f GUI: add presets for QuadTone engine
issue #1172
2023-06-21 14:39:49 -05:00
cam900 a413868fcb Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-06-21 20:06:09 +09:00
tildearrow 61fd9d05a0 IGFD: change default sorting order 2023-06-21 04:27:31 -05:00
tildearrow 75948304ab UPDATE SDL TO 2.28.0 -> **PLEASE READ!** <-
after pulling this commit, type:

```
git submodule update extern/SDL
```

if building on Android, you **will** have to delete the android/app/.cxx
directory, and do gradlew clean.

only tested in the Android build - there may or may not be another commit
which fixes building for other platforms.
2023-06-20 15:11:55 -05:00
tildearrow c777d699d2 POKEY: implement two-tone mode effect 2023-06-20 14:43:20 -05:00
tildearrow 4521cbfb4f asdf 2023-06-20 04:26:23 -05:00
tildearrow 6e61343ad8 playSub optimization
MAY CAUSE REGRESSIONS but I don't know
2023-06-20 01:20:48 -05:00
tildearrow 443535a54c fix possible hang in runMidiClock
issue #1167
2023-06-20 01:08:51 -05:00
tildearrow 9851f5cc87 YM2612: fix a couple DAC chan osc problems
issue #1168
2023-06-20 00:41:17 -05:00
tildearrow c7da358376 fix .dmf PAL/NTSC thing 2023-06-20 00:29:47 -05:00
tildearrow 2e469396b1 fix inability to save 1.1.8 .dmf 2023-06-19 23:29:06 -05:00
tildearrow b8e3e7858e add Revolt link 2023-06-19 14:11:25 -05:00
tildearrow ae6e68b976 chan osc volume balancing, part 2
TODO: maybe change the range again?
2023-06-18 21:07:00 -05:00
Electric Keet 2b6c70a4e3
Merge branch 'tildearrow:master' into master 2023-06-18 19:00:16 -07:00
Electric Keet 8afe77db6f
Links to advanced docs. 2023-06-18 18:56:11 -07:00
tildearrow 9cb1fbcc45 chan osc volume balancing, part 1 2023-06-18 20:00:20 -05:00
tildearrow e7b69b27e6 YM2151: fix Nuked chan osc 2023-06-18 13:55:55 -05:00
tildearrow 0e029def51 YM2612: fix chan osc again 2023-06-18 13:40:29 -05:00
tildearrow 4776020d05 GUI: per-chan osc improvements 2023-06-18 04:27:22 -05:00
tildearrow b9414de49d OPLL: fix vol macro for drums 2023-06-18 03:14:06 -05:00
tildearrow e246501b3a YM2612: fix DAC chan osc 2023-06-18 02:55:45 -05:00
cam900 7402575d11 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-06-17 10:41:56 +09:00
tildearrow d35fa6f1bc new demo song
by Xan
2023-06-16 18:43:33 -05:00
tildearrow 29dfeccfe7 change chan osc range - PLEASE READ
as of now the range is ~32768, either from -16384 to 16383, or 0 to 32767.
it previously was -32768 to 32767 (~65536).

this change was made to better suit chips that only output a positive value.
if you are working on a new chip, update your code and shift right by one if necessary.
2023-06-16 17:30:11 -05:00
tildearrow ad9981fdea IGFD: tabs to spaces... 2023-06-16 16:26:22 -05:00
tildearrow 9b1fea5c36 IGFD: remove std::filesystem support
it is unused in Furnace
2023-06-16 16:12:20 -05:00
tildearrow 7b30cfb1b7 IGFD: some changes 2023-06-16 15:43:41 -05:00
tildearrow fe2da0019a YM2612: fix DualPCM chan osc sustain
issue #1162
2023-06-16 13:34:03 -05:00
tildearrow d0d3094c62 KDCHTA;!5' 2023-06-15 15:46:23 -05:00
tildearrow e089c3940d fix atari breakbeat
issue #1157
2023-06-15 15:45:53 -05:00
freq-mod 2658f4cfdc typo 2023-06-15 15:11:44 -05:00
freq-mod 3e7710651a Update ym2612.md
src: genny vst and sonic.exe vs fnf
2023-06-15 15:11:44 -05:00
freq-mod 72b654f708 Update opl.md
ditto
2023-06-15 15:11:44 -05:00
freq-mod f8346f5588 Update opll.md
drum mode internals
2023-06-15 15:11:44 -05:00
freq-mod baf2964faa Update README.md
wavetable
2023-06-15 15:11:44 -05:00
freq-mod 65a81d67b9 Update sample doc 2023-06-15 15:11:44 -05:00
tildearrow 89f8c8fa19 OPLL: try to fix vol macro for drums 2023-06-14 17:35:17 -05:00
tildearrow cca84dea00 fix 2023-06-14 17:21:02 -05:00
tildearrow c2369f57a7 and that's the DirectX 11 backend
now let's see whether CI likes that
2023-06-14 16:27:15 -05:00
tildearrow 83ad6e0894 GUI: DirectX 11 render backend, part 8
updateTexture for dynamic textures
2023-06-14 14:50:39 -05:00
tildearrow 6933446d8a GUI: DirectX 11 render backend, part 7
now with texture workaround
2023-06-13 05:45:36 -05:00
tildearrow 1ffa80e845 and one more piece of code 2023-06-13 04:38:13 -05:00
tildearrow 8ee4734eab DISCARD 2023-06-13 04:24:34 -05:00
tildearrow db14ce602d why are you not showing me the return value
I want to see what's going on
2023-06-13 04:16:19 -05:00
tildearrow d85dd7071a GUI: DirectX 11 render backend, part 6
nice I probably found a new DXVK bug
2023-06-13 04:06:03 -05:00
tildearrow 4f39e6ee31 GUI: DirectX 11 render backend, part 5
nope, not yet
2023-06-13 03:54:55 -05:00
tildearrow ad8082a921 GUI: DirectX 11 render backend, part 4
ready to merge?
2023-06-13 03:12:12 -05:00
tildearrow 852f61b7fc GUI: DirectX 11 render backend, part 3 2023-06-12 23:43:15 -05:00
tildearrow 686a684490 add demos/msx/OPLL_High_and_Rising.fur
see ticket #1084
2023-06-12 22:36:27 -05:00
tildearrow d066b5b5a7
Merge pull request #1130 from YohananDiamond/piano-nitpicks
Add option to prevent piano input
2023-06-12 22:34:20 -05:00
Electric Keet f73d831d11 Expanding interface docs. 2023-06-12 22:33:18 -05:00
Electric Keet cd163cd9a0
Expanding interface docs. 2023-06-12 19:31:24 -07:00
tildearrow cf144f4fe9 GUI: DirectX 11 render backend, part 2 2023-06-12 19:43:26 -05:00
tildearrow 2c912da89a GUI: DirectX 11 render backend, part 1 2023-06-12 19:17:46 -05:00
tildearrow 48f8e9153f
Merge pull request #1156 from ElectricKeet/master
Document macros, update instrument macro listings.
2023-06-12 17:30:29 -05:00
tildearrow f605ae9f65 GUI: prepare for DirectX 11 render backend 2023-06-12 16:47:54 -05:00
tildearrow 91a7132e79 GUI: add a draw metric 2023-06-12 15:58:16 -05:00
Electric Keet e5f7f28cd8
Typo fix. 2023-06-12 13:34:19 -07:00
Electric Keet 686012382d
A whole mess of "advanced" docs. 2023-06-12 13:25:17 -07:00
tildearrow 16adc1fb1b GUI: fix intro carry-over in specific situations
issue #1149
2023-06-12 02:18:50 -05:00
tildearrow 54e7bd295d GUI: give debug menu a default key bind 2023-06-12 00:18:20 -05:00
tildearrow 3410eb8b9e GUI: make Window Debug tab on by default 2023-06-12 00:17:51 -05:00
tildearrow 6f6128cae7 GUI: fix Wayland scaling factor detection
when full-screen is on
2023-06-12 00:12:02 -05:00
tildearrow c83232f8da get rid of some custom tempo legacy 2023-06-11 18:57:32 -05:00
tildearrow 7f0dc576d8 GUI: possibly fix asset name carry-over issue
issue #1155
2023-06-11 18:20:07 -05:00
tildearrow c51413fe37 GUI: I can just use ClipRect... 2023-06-11 17:23:20 -05:00
tildearrow c89b733188 fix possible division by zero 2023-06-11 15:28:01 -05:00
tildearrow d6f986abb1 fix the chan osc 2023-06-11 14:33:58 -05:00
Electric Keet 013d7c8936
Merge branch 'tildearrow:master' into master 2023-06-11 11:16:48 -07:00
Electric Keet 6ac0aea231
Two more tweaks. 2023-06-11 11:15:09 -07:00
Electric Keet b6f37efe55
A little more instrument docs cleanup. 2023-06-10 23:14:45 -07:00
Electric Keet 7012cd36ab
Instrument macro docs & images. 2023-06-10 23:00:11 -07:00
tildearrow 8264449c7a GUI: remove double semicolon 2023-06-10 19:22:44 -05:00
tildearrow 7c2803fae9 update doc authors 2023-06-10 19:22:26 -05:00
tildearrow 6f0914644b
Merge pull request #1153 from ElectricKeet/master
documenting grooves
2023-06-10 19:10:21 -05:00
Electric Keet 52d184cbf2
documenting grooves 2023-06-10 16:05:07 -07:00
tildearrow 6bc4877417 PC speaker: fix volume macro
issue #1147
2023-06-10 17:34:30 -05:00
tildearrow e532118381 IGFD: wow memory corruption right there 2023-06-10 16:13:24 -05:00
tildearrow accec6d865 GUI: and now for backspace too 2023-06-10 15:50:08 -05:00
tildearrow 02f6a0f217 GUI: add very useful setting
push entire channel when inserting
2023-06-10 15:26:36 -05:00
tildearrow 2fe315e5d7 IGFD: finally fix sorting 2023-06-10 14:37:08 -05:00
tildearrow 599244e1bc VERA: fix PCM vol macro
issue #1142
2023-06-10 01:42:31 -05:00
tildearrow 181f5bd65e possibly fix Windows XP support for real 2023-06-10 01:42:19 -05:00
tildearrow 53d2d35463 get rid of some warnings on Android 2023-06-09 17:38:08 -05:00
tildearrow c5eaa4c716 fix force mono audio 2023-06-09 14:57:14 -05:00
tildearrow 402c520276 GUI: add option for late clear 2023-06-08 04:15:57 -05:00
tildearrow 32c300ff41 GUI: ellipsis char count 2023-06-08 01:04:28 -05:00
tildearrow 6ae9f8e083 fix build 2023-06-08 01:00:47 -05:00
tildearrow a5abe19b2a update ImGui to 1.89
commit 8fd0a041355e3cfc6556bbe1e00f262d9a897946
with Furnace patches
2023-06-08 00:29:16 -05:00
tildearrow f7d2b81e91 GUI: don't hide chan osc title bar 2023-06-07 17:45:08 -05:00
tildearrow 05cff9afb5 GUI: fix chan osc overflow, part 1 2023-06-07 17:41:08 -05:00
tildearrow b3b1f3abc6 renderGL: don't glFinish 2023-06-07 04:36:33 -05:00
tildearrow a02853b561 fix 2023-06-06 16:46:12 -05:00
tildearrow 62c8b7d56b GUI: draw per-chan osc on mobile 2023-06-06 16:24:15 -05:00
tildearrow d6c91a688a Tremolo is broken. part 2. 2023-06-06 15:54:24 -05:00
tildearrow 540af1e2ef Tremolo is broken. 2023-06-06 14:58:02 -05:00
tildearrow 2f45f59906 ZSM: variable set but not used 2023-06-06 03:31:05 -05:00
tildearrow 6b89dec812 ZSM: code style 2023-06-05 23:24:34 -05:00
tildearrow 982678eff3 GUI: fix one digit effect when it is 10xx
issue #1141
2023-06-05 18:59:27 -05:00
tildearrow 5e0eb9aa23 dev159 - add 8-bit dither option 2023-06-05 04:28:07 -05:00
tildearrow 8d07441d2e update QSound_smile
tiny additional fixes
2023-06-05 01:05:19 -05:00
tildearrow 17464b6446 move documentation out of papers 2023-06-05 00:08:37 -05:00
tildearrow 7560b9c10e GUI: more debug info 2023-06-04 23:55:57 -05:00
tildearrow 63f5e6e3be use -O3 for Linux releases 2023-06-04 23:55:50 -05:00
tildearrow 8cd6554659 GUI: do not initialize haptic if not mobile
too slow
2023-06-04 22:37:32 -05:00
tildearrow d3aed5a06e more doc updates 2023-06-04 17:28:29 -05:00
tildearrow 0c43900922 GUI: make it work with SDL 2.0.8
which openSUSE Leap uses
2023-06-04 17:09:18 -05:00
tildearrow 59062cbe40
Merge pull request #1139 from YohananDiamond/pattern-editor-focus-fix
Fix pattern editor focus when selecting instrument
2023-06-04 12:45:27 -05:00
freq-mod 07bebe67e8
Add QSound demo module (#1137)
* Add QSound demo module

* fix echo

and lower the filesize

* feat. tildearrow
2023-06-04 12:44:03 -05:00
tildearrow 10a62b6816 wow 2023-06-04 02:13:30 -05:00
tildearrow e10dc2d2c2 update doc 2023-06-04 00:53:15 -05:00
tildearrow fe5b96bb05 update doc
hopefully I don't get bored and start doing something else
2023-06-03 20:20:59 -05:00
tildearrow 08511475dc asfdkljakl;sfdj 2023-06-03 19:03:36 -05:00
tildearrow c1367beeb9 update again 2023-06-03 19:02:01 -05:00
tildearrow a0b426eec8 update doc 2023-06-03 19:01:03 -05:00
tildearrow 9c4a7cd6d4 renderGL: fix OpenGL ES stuff 2023-06-03 17:08:20 -05:00
tildearrow b2cf64c117 GUI: GL render backend now supports ES 2023-06-03 15:05:55 -05:00
YohananDiamond 169b664837 please work 2023-06-03 16:54:52 -03:00
tildearrow 20b4ad5cbd PFFFFFFFFFFFFFFFFFF 2023-06-03 02:27:37 -05:00
tildearrow 398a896d6e opengl32.lib doesn't provide glActiveTexture 2023-06-03 02:10:28 -05:00
tildearrow bfd7a94660 Merge branch 'master' of github.com:tildearrow/furnace 2023-06-03 01:42:06 -05:00
tildearrow 541985bd87 GUI: add an OpenGL render backend
enable by adding `renderBackend=OpenGL` to furnace.cfg
2023-06-03 01:41:34 -05:00
YohananDiamond 02c316f9d1 Part 2 2023-06-03 02:27:35 -03:00
tildearrow 55c2be8cec GUI: prepare for multiple render backends
I want to see whether I can bind OpenGL to this thing
2023-06-02 20:21:37 -05:00
YohananDiamond 81e53f39f0 Fix pattern editor focus when selecting instrument 2023-06-02 19:21:50 -03:00
YohananDiamond a099c313ab Merge branch 'master' into dialog-nitpicks 2023-06-02 18:46:27 -03:00
tildearrow b56be59344 GUI: check SDL_Init status 2023-06-02 14:11:47 -05:00
tildearrow 8c10c7ed5d GUI: fix possible division by zero 2023-06-02 14:06:25 -05:00
tildearrow 827a0074ba another demo song
by niffuM
2023-06-01 15:55:01 -05:00
tildearrow fdf0f9d073 new demo song
by Hortus
2023-06-01 15:51:39 -05:00
tildearrow 2b49dc15bb SuperJet Spade demo song updates 2023-06-01 15:47:00 -05:00
tildearrow 2abdb17490
Merge pull request #1136 from Clingojam/master
New Game.com demo song: "mushroomhill_SM8521.fur"
2023-05-30 00:13:19 -05:00
Clingojam cd52e86769
Add files via upload 2023-05-29 19:45:43 -04:00
Clingojam e36814ba74
Delete mushroomhillgmc.fur 2023-05-29 19:43:55 -04:00
Clingojam 91b5d45ce2
Add files via upload 2023-05-29 15:49:29 -04:00
tildearrow aaebdf3e5e POKEY: E5xx fix? 2023-05-28 04:51:38 -05:00
tildearrow 831598b1aa FIXED 2023-05-27 22:02:06 -05:00
tildearrow 5d2562a4d7 FIX LATER 2023-05-27 18:51:33 -05:00
tildearrow c4bde3bcb1 158 is pre5
and it does not have effects yet
2023-05-26 15:16:07 -05:00
tildearrow f4b72ae699 I don't know 2023-05-26 02:32:43 -05:00
tildearrow 1958bad077 CI: FIX IT FOR ONCE
TAR
2023-05-26 01:32:13 -05:00
tildearrow 4947d02c68 allow saving patterns in old format 2023-05-26 01:30:01 -05:00
tildearrow c3ccd74a15 again 2023-05-25 18:08:10 -05:00
tildearrow df5138ffab whoops 2023-05-25 17:23:52 -05:00
tildearrow 0f9b6da3c9 CI: don't use AppImage format 2023-05-25 14:36:30 -05:00
tildearrow 3f2bbc3dbb do not include demos/ins/waves in AppImage 2023-05-25 13:57:32 -05:00
tildearrow 46d86ff335 update readme 2023-05-25 04:10:42 -05:00
tildearrow 2cd8085f34 update release scripts to strip before packing
instead of after build
this way I at least hope I can use addr2line to retrieve the address
of a call in case of crash
2023-05-24 22:15:49 -05:00
tildearrow 1cdca76336 stop reading config if there's a zero
most likely corrupt file
2023-05-24 22:14:36 -05:00
tildearrow 4d36bd2336 VGM export; fix loop trail when loop is off 2023-05-24 14:25:30 -05:00
YohananDiamond e07c14db81 Add option to prevent piano input 2023-05-24 12:47:20 -03:00
tildearrow 61b9a88f8c update readme 2023-05-24 07:19:41 -05:00
tildearrow b24b22dfd9 release v0.6pre5
the thousand-star release
2023-05-24 04:22:15 -05:00
tildearrow 4c069178e7 fix secret arp speed parameter 2023-05-24 04:08:28 -05:00
tildearrow 6d0f6bf50f move loop when trimming in sample editor 2023-05-24 04:05:14 -05:00
tildearrow 3b688774fe move loop when deleting in sample editor 2023-05-24 03:33:51 -05:00
tildearrow c7b24f706f GUI: improve sample type conversion 2023-05-24 02:54:36 -05:00
tildearrow 0fd5483b59 SNES: fix BRR once again 2023-05-24 02:38:43 -05:00
tildearrow 4b12f440fa variable set but not used 2023-05-24 02:12:42 -05:00
tildearrow da16494f7f Revert "a"
This reverts commit 40c4632879.
2023-05-24 02:10:39 -05:00
tildearrow ab29b82e78 GUI: prevent exit from being clicked by accident
issue #361
2023-05-24 01:58:12 -05:00
tildearrow 0c0efaea50 make use of sample loop flag
issue #1109

this MAY BREAK THINGS
if any problems, REVERT THIS ONE
2023-05-24 01:51:27 -05:00
tildearrow f55dbc7376 AY: fix 5B per-chan osc 2023-05-24 01:34:01 -05:00
tildearrow 00108a04f5 PCM DAC: wave interpolation 2023-05-24 01:24:45 -05:00
tildearrow d7a3cc3049 QSound: fix forceIns 2023-05-24 01:17:06 -05:00
tildearrow 40c4632879 a 2023-05-23 19:40:42 -05:00
tildearrow a7ac0f46ae
Merge pull request #1125 from TheDuccinator/master
Add "Flat Wave Society" to demo songs
2023-05-22 01:58:25 -05:00
TheDuccinator d997a56624
Add "Flat Wave Society" to demo songs
yea
2023-05-21 16:36:40 -07:00
tildearrow 827485be18 fix 2023-05-21 15:24:41 -05:00
tildearrow 8988b52062 The first letter of description shall not upperca 2023-05-21 05:40:10 -05:00
tildearrow 2da1fe8821 prepare for patchbay effects 2023-05-21 04:39:36 -05:00
tildearrow 85ef486949 GUI: update credits 2023-05-20 23:20:39 -05:00
tildearrow 4cc1f930e8
Merge pull request #1122 from ElectricKeet/night_market_ti994a
Add Night Market for TI-99/4A to Demo Songs
2023-05-20 23:20:23 -05:00
Electric Keet 948f948aa4
Add Night Market for TI-99/4A to Demo Songs 2023-05-20 20:12:12 -07:00
tildearrow 095e0a764e k;asgdjhlkfsjadglgksafjd 2023-05-20 22:05:34 -05:00
tildearrow fda24cd9d1 update doc authors 2023-05-20 21:49:37 -05:00
tildearrow 4e4152ccb5
Merge pull request #1121 from polluks/master
Fixed typos
2023-05-20 21:49:14 -05:00
tildearrow 73986db1ff no more AppImage (on next release) 2023-05-20 19:12:46 -05:00
polluks 49b4ff9c5d Fixed typos 2023-05-21 00:21:51 +02:00
tildearrow 5c7b467223 prepare a format for patchbay effects 2023-05-20 17:21:37 -05:00
tildearrow d644189201 C64: prevent multiple write to filter reg
issue #1114
2023-05-20 15:19:45 -05:00
tildearrow 61a15835db pattern pointers shall be unsigned 2023-05-20 14:58:57 -05:00
tildearrow 31a4e6efdc GUI: fix crash in asset dir
when moving incompatible types
2023-05-19 13:46:24 -05:00
tildearrow eaa82d49eb add a -subsong parameter 2023-05-19 00:49:05 -05:00
tildearrow 90d1fd60d8 dev157 - new pattern format 2023-05-18 19:50:36 -05:00
tildearrow 02553390ac prepare for a new pattern format 2023-05-18 17:53:13 -05:00
tildearrow 347d35be19 GUI: add option to toggle save compression 2023-05-18 15:52:48 -05:00
tildearrow dae87a4980 GUI: prevent unified view from bricking mobile 2023-05-18 02:34:19 -05:00
tildearrow c05557b59d OPLL: fix compilation 2023-05-17 14:37:43 -05:00
tildearrow fba1743655 maybe uninitialized 2023-05-17 05:45:22 -05:00
tildearrow aa9d07d655 dev156 - Merge branch 'dir' 2023-05-17 04:11:41 -05:00
tildearrow 1c3ad94b59 asset directories, part 12 2023-05-17 04:08:17 -05:00
tildearrow bd8e8fbaff asset directories, part 11 2023-05-16 19:00:05 -05:00
tildearrow 4195046283 asset directories, part 10 2023-05-16 13:41:08 -05:00
tildearrow b1e2d76ce6 asset directories, part 9 2023-05-16 04:29:26 -05:00
tildearrow 92cf966a36 asset directories, part 8 2023-05-16 03:04:16 -05:00
tildearrow 160753243d asset directories, part 7 2023-05-16 02:44:46 -05:00
tildearrow 22638d5199 asset directories, part 6 2023-05-16 00:04:26 -05:00
tildearrow 442ccd0e09 asset directories, part 5 2023-05-15 23:27:45 -05:00
tildearrow 1f5b08e09e asset directories, part 4
partially working
2023-05-15 19:11:50 -05:00
tildearrow c523d80fc3 asset directories, part 3 - DO NOT USE
IT CRASHES
2023-05-15 17:43:27 -05:00
tildearrow 51b4492746 asset directories, part 2 2023-05-15 04:25:23 -05:00
tildearrow e1b5842728 asset directories, part 1 2023-05-15 01:36:02 -05:00
cam900 0c5a6d9760 Just resample rather than reset 2023-05-13 18:54:05 +09:00
cam900 967cc86ec9 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-05-13 18:53:50 +09:00
tildearrow 4211dad692 sample resample now uses selected rate
rather than compat rate
2023-05-11 17:46:22 -05:00
tildearrow 25eb720631 Merge branch 'master' into ymf289b 2023-05-11 16:59:38 -05:00
NyaongI 15ca7a671e
New Demo Songs And Instruments (#1103)
* New T6W28 Demo song

* Delete RunningOnThePlayground_2xT6W28.fur

Not here

* New T6W28 Demo song

* New OPLL Demo song

* Adding 18 New OPLL Instruments
2023-05-11 16:40:54 -05:00
SnugglyBun c0b8bc74f9
Updated version of my Tor cover (#1099)
* Delete old version of iji_tor_segaxboard.fur

* New version of iji_tor_segaxboard.fur

Basically some small changes to this cover of mine like making the guitars at some part sound less grating, making the song a bit more accurate to the original in certain parts, etc.
2023-05-11 16:37:48 -05:00
tildearrow 2c508a947b GUI: allow long hold on mobile for sample raw 2023-05-10 22:03:40 -05:00
tildearrow 29688d1cc5 fix MTC/MIDI clock on playSub 2023-05-10 03:30:05 -05:00
tildearrow 826538e41b implement MIDI timecode output 2023-05-10 02:57:59 -05:00
tildearrow eb521a6dac fix MIDI clock, part 2 2023-05-09 22:12:14 -05:00
tildearrow 1d3c89aa51 fix MIDI clock, part 1 2023-05-09 05:33:26 -05:00
tildearrow bdcbab0921 prepare to fix MIDI clock 2023-05-09 05:05:53 -05:00
tildearrow 3b10cd9ce1 SegaPCM: fix custom clock
issue #1107
2023-05-09 03:56:16 -05:00
tildearrow 2c18d1ebd4 fix out of range effect value crash 2023-05-09 03:36:05 -05:00
tildearrow 54049508bc update Super_Space_Invaders_Title.fur 2023-05-08 14:44:47 -05:00
tildearrow 931cae03c0 finally fix Ridiculous Game 2023-05-06 03:01:10 -05:00
tildearrow 36b5d456f6 reduce the size of m7 vibe 2023-05-06 02:57:09 -05:00
tildearrow 3722b2db9d lower the size of UT99_Run_TaitoArcade.fur 2023-05-06 02:54:49 -05:00
tildearrow 623b366e87 reduce the size of some demo songs 2023-05-06 02:52:00 -05:00
tildearrow c07fd34dd2 move 2023-05-06 02:38:08 -05:00
tildearrow 4daaaa4f2f S S G P C M
issue #1098
2023-05-05 15:34:19 -05:00
tildearrow 6b6320b961
Merge pull request #1097 from Curly68/master
Add a ES5506 demo module
2023-05-05 04:03:43 -05:00
SnugglyBun d88e221ac7
Add a ES5506 demo module 2023-05-05 06:00:07 -03:00
tildearrow 3cdeb02adb rename PCM to DMC 2023-05-05 02:58:18 -05:00
tildearrow 51414203b9 GUI: allow pulling selection in sample editor 2023-05-05 02:56:52 -05:00
tildearrow 565f67dd0f dev155 - fix broken macro after note off in some
FM chips

issue #1017
2023-05-05 02:14:53 -05:00
tildearrow 2ad258823f update NES doc with mention of linear counter effe 2023-05-05 01:29:54 -05:00
tildearrow 8a5ae4434a GUI: update credits 2023-05-05 01:26:12 -05:00
tildearrow aff5823cac new demo songs from #1091
by gtr3qq
2023-05-05 01:25:07 -05:00
tildearrow 596fd3c93f
Merge pull request #1093 from freq-mod/ottopapers
add es5506 docs
2023-05-05 01:16:15 -05:00
tildearrow e759200ac6 NES: add L I N E A R C O U N T E R effect 2023-05-05 01:10:03 -05:00
tildearrow 0c0472ce76 NES: add 20xx effect for changing DPCM freq 2023-05-05 00:59:55 -05:00
tildearrow bd53c57658 dev154 - NES: DPCM mode is now default 2023-05-05 00:17:59 -05:00
tildearrow f42c689f97 fix tall .dmw loading 2023-05-04 23:11:44 -05:00
tildearrow b037b07c30 SNES: add global volume control effects 2023-05-04 16:49:47 -05:00
tildearrow 1e5163c738 Game Boy: add an option to select wave ch invert 2023-05-04 02:18:56 -05:00
tildearrow bf95a358bc VGM export: fix direct stream delay>16 2023-05-03 04:18:47 -05:00
tildearrow 64145166ba Game Boy: fix wave being offset by 1 2023-05-03 02:30:39 -05:00
tildearrow 05b10bb50a GUI: no more rectangles
when font fails to load
2023-05-03 01:22:54 -05:00
tildearrow c98f21f1e2 GUI: fix glitch when deleting sample 2023-05-03 00:53:14 -05:00
tildearrow e3967c1f0a proper BRR raw export 2023-05-02 18:57:40 -05:00
tildearrow b6ffcc8cf2 GUI: color Future Composer file in built-in picker 2023-05-02 04:03:15 -05:00
tildearrow de3f73f7e4 GUI: fix a glitch 2023-05-02 03:59:26 -05:00
tildearrow ffdff26792 GUi: add save sample as raw data 2023-05-02 03:57:25 -05:00
tildearrow 27935cec11 GUI: add option to copy WaveSynth out to new wave 2023-05-02 01:53:39 -05:00
cam900 0e072b62b3 Fix sample cutoff with looping 2023-05-02 15:14:46 +09:00
cam900 523e08ed5c Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-05-02 13:46:56 +09:00
cam900 b326087721 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-05-02 13:46:23 +09:00
freq-mod c6e045dd22
add es5506 doc 2023-05-01 21:26:06 +02:00
tildearrow d4b77bc3dc GUI: WHAT?! 2023-05-01 01:36:47 -05:00
tildearrow c006a09c54 Merge branch 'master' of github.com:tildearrow/furnace 2023-04-30 19:46:29 -05:00
tildearrow 09bace3726 get rid of two debug messages 2023-04-30 19:45:54 -05:00
LovelyA72 39cb12ccf9
implement midi panic (#1036)
* implement midi panic

* do it the right way

* only send all notes off for now

* remove cc names at TAMidiMessageTypes

* Update engine.cpp
2023-04-30 17:22:35 -05:00
tildearrow 896941e4a8
Merge pull request #1063 from tildearrow/pv1000_xor
pv1000: Add ring modulation support
2023-04-30 16:54:42 -05:00
freq-mod 10c352a24a
Add MMC5 + N163 + FDS demo (#1085)
* Add MMC5 + N163 + FDS demo

* Add copyright info
2023-04-30 16:52:57 -05:00
tildearrow 672c440d4e GUI: prevent window from being too big
issue #942
2023-04-30 16:07:46 -05:00
tildearrow 4cb9970fa1 fix crash 2023-04-30 15:59:50 -05:00
tildearrow 8bc0781f59 implement 05xy/06xy
issue #1044
2023-04-30 13:46:09 -05:00
tildearrow 78b7049d81 GUI: optimize sample editor 2023-04-30 13:06:23 -05:00
tildearrow 5af7d67718 GUI: optimize sample editor? 2023-04-30 12:24:14 -05:00
tildearrow 744ba06626 AY: fix #1079 2023-04-27 12:32:25 -05:00
tildearrow 93c49d2f1e Merge branch 'master' of github.com:tildearrow/furnace 2023-04-27 04:32:14 -05:00
tildearrow ff6a7c2f89 GUI: allow binding collapse/expand pat/song 2023-04-27 04:31:51 -05:00
NyaongI cbc059f745
New AY8930 Demo song (#1082)
* New AY8930 Demo song

* Delete joyful.fur

file change

* reuploading demo

lowered clock rate from 10Mhz to 5Mhz, and changed noise frequency
2023-04-27 04:10:31 -05:00
tildearrow 24487936de GUI: collapse/expand pattern/song 2023-04-27 01:23:54 -05:00
tildearrow f3a71c6eba loooool 2023-04-24 05:25:56 -05:00
tildearrow c8df7084f4 VGM export: write Hz when appropriate 2023-04-20 04:16:56 -05:00
tildearrow 6ec9696a50 GUI: allow right-clicking vertical sliders! 2023-04-20 04:01:00 -05:00
tildearrow 381147fc1f GUI: fix some sliders not being right-clickable
issue #1065
2023-04-20 03:43:35 -05:00
tildearrow dab3a95734 but QSound ADPCM is already there... 2023-04-20 02:41:41 -05:00
tildearrow 8b39f00d73 fix crash when resampling using BLEP algo
if data16 had nothing
2023-04-20 02:32:20 -05:00
cam900 213d613534 Fix regression 2023-04-20 10:02:29 +09:00
cam900 36f542972c Fix possible issue when bank flag is changed 2023-04-20 08:54:40 +09:00
cam900 c69318b222 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-04-20 08:47:24 +09:00
tildearrow c0c3d03dd1 understand EDxx in one tick gap
issue #1071
2023-04-17 19:08:14 -05:00
tildearrow b661a6f9cf disable console now 2023-04-17 00:22:37 -05:00
tildearrow c6553f11e8 Revert "Merge branch 'blipWork'"
This reverts commit 41cbdf7924, reversing
changes made to 149d4ce99c.
2023-04-16 17:29:01 -05:00
tildearrow 7880c33d9c Revert "crash"
This reverts commit 7e6a96deb5.
2023-04-16 15:12:51 -05:00
tildearrow 6dc88143f3 RF5C68: 32
issue #1067
2023-04-16 14:54:58 -05:00
tildearrow 41cbdf7924 Merge branch 'blipWork' 2023-04-16 14:52:38 -05:00
tildearrow ef7e16baaa opti 2023-04-16 14:50:53 -05:00
tildearrow 670c681a71 remove debug messages 2023-04-16 14:45:05 -05:00
tildearrow a10d5cb96b blip_buf clock<rate bug workaround, part 3
issue #1055
2023-04-16 14:41:12 -05:00
Waverider 149d4ce99c
add 1 new c64 song (#1073)
* 2 songz

* add artist

* whoops

* that ones multichip

* whoops!

* Delete colab.fur

* fix bass and drums

* Delete collab.fur

* add final (???) revision of song

* Delete collab.fur

* this is official (final version)

* epic c64
2023-04-16 13:08:04 -05:00
tildearrow 6c63ff1a71
Merge pull request #1075 from freq-mod/wavedoc
Update the documentation of the wavetable editor
2023-04-16 12:59:34 -05:00
freq-mod 082ea94ca9
update the wavedoc a little
welp
2023-04-16 17:04:35 +02:00
tildearrow eeffb47ab7 X1-010: why is the per-chan osc so quiet? 2023-04-16 02:22:16 -05:00
tildearrow af64f9c141 Y8950: fix missing ADPCM chan osc 2023-04-16 02:10:22 -05:00
tildearrow 73204b5378 blip_buf clock<rate bug workaround, part 2? 2023-04-16 01:11:20 -05:00
tildearrow f7f1734c7d GUI: rename a few things 2023-04-15 16:08:38 -05:00
tildearrow 3542a6c22f GUI: settings window size constraints 2023-04-15 15:31:02 -05:00
cam900 e1dbc16d96 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-04-15 21:24:00 +09:00
tildearrow eee0999cd6 GUI: add performance metrics 2023-04-13 19:43:48 -05:00
tildearrow f1c6cd5097 blip_buf clock<rate bug workaround, part 1
issue #1055
now I gotta think of a strategy for dispatch
2023-04-13 18:11:10 -05:00
tildearrow 5b154c2ddf SegaPCM: really fix it this time 2023-04-13 17:27:27 -05:00
tildearrow eaafc16eb3 dev153 - fix SegaPCM slides
issue #1060
2023-04-13 17:21:06 -05:00
cam900 f2ae73aee9 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-04-13 12:04:31 +09:00
cam900 1f60d6bdc6 Simplify 2023-04-13 12:03:30 +09:00
cam900 a56d5aae9b Merge branch 'master' of https://github.com/tildearrow/furnace into pv1000_xor 2023-04-13 11:58:17 +09:00
cam900 52e6246570 Add notes for ring modulation (XORing) 2023-04-13 11:56:34 +09:00
tildearrow ea172ea6ff
Merge pull request #1048 from YohananDiamond/dialog-nitpicks
New song dialog: auto focus on pop up + reset search box
2023-04-12 02:09:17 -05:00
tildearrow b9b121efdf GUI: new sample map UI, part 4
right click menu
2023-04-12 01:38:44 -05:00
tildearrow e4bfcd9850 GUI: new sample map UI, part 3
keyboard input
2023-04-12 00:50:31 -05:00
tildearrow 7af514a658 GUI: new sample map UI, part 2
next commit will introduce keyboard input
2023-04-11 19:41:20 -05:00
tildearrow f90ca2410f GUI: new sample map UI, part 1
keyboard/MIDI missing
2023-04-11 18:17:30 -05:00
YohananDiamond 95e2d30f14 Merge branch 'master' of https://github.com/tildearrow/furnace into dialog-nitpicks 2023-04-11 15:31:25 -03:00
cam900 fe0ba4e530 Fix muting 2023-04-11 13:11:54 +09:00
cam900 f66b703a81 Fix compile again 2023-04-11 12:55:09 +09:00
cam900 cb34054473 Fix compile 2023-04-11 12:50:24 +09:00
tildearrow 8d4fa6e0cc prepare for new sample map UI 2023-04-10 19:49:14 -05:00
cam900 f13cea6a8e pv1000: Add XORing features 2023-04-11 09:19:12 +09:00
tildearrow ad2af793ba work around NFD crash 2023-04-10 13:12:01 -05:00
tildearrow 7e6a96deb5 crash 2023-04-10 05:31:08 -05:00
tildearrow cd48dd2767 add two demo songs
by TakuikaNinja
2023-04-10 03:14:18 -05:00
tildearrow 40da2c5234 correct two demo songs
corrections by Yuzu4K
2023-04-10 03:12:35 -05:00
tildearrow 9789f89a39 two demo songs
by TheDuccinator
2023-04-10 03:10:44 -05:00
tildearrow 9e615bb3aa fix .dmf loading..... again (I think) 2023-04-10 01:09:58 -05:00
tildearrow 8375256ff7 debug dmf not loading again 2023-04-10 00:31:55 -05:00
tildearrow e755f1bbd0 GUI: possibly fix MIDI note hang
issue #815
2023-04-09 15:27:17 -05:00
tildearrow 7a137fcdd1 QuadTone: fix PCM muting 2023-04-09 13:44:47 -05:00
tildearrow 8dfe0bc021 OPN: fix ExtCh muting 2023-04-09 13:20:28 -05:00
tildearrow 5466b26c75 GUI: fix osc out of bounds mode 2023-04-09 01:13:45 -05:00
freq-mod 90829a8a95 add c15+bubsys wsg + k007232 demo song 2023-04-09 01:07:07 -05:00
cam900 385f7af664 ES5506: Fix frequency for note map 2023-04-09 10:29:51 +09:00
tildearrow 84eadd7aac dev152 - sample map notes, part 2
Sound Unit
2023-04-08 14:23:44 -05:00
cam900 a8d1f0ca16 Possibly fix k007232 stereo setting 2023-04-08 20:45:58 +09:00
cam900 74958c59fa Sync with master 2023-04-08 08:52:16 +09:00
cam900 548aa5e6ac Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-04-08 08:51:00 +09:00
tildearrow 76e583e5ce Merge branch 'master' of github.com:tildearrow/furnace 2023-04-07 16:54:45 -05:00
tildearrow 99d2199db6 dev152 - sample map notes, part 1 2023-04-07 16:54:05 -05:00
Waverider eedc1638b6
Add final version of collab song (#1031)
* 2 songz

* add artist

* whoops

* that ones multichip

* whoops!

* Delete colab.fur

* fix bass and drums

* Delete collab.fur

* add final (???) revision of song

* Delete collab.fur

* this is official (final version)
2023-04-07 13:28:40 -05:00
tildearrow dce8c3bbac remove some log spam 2023-04-07 02:13:52 -05:00
tildearrow 0151fff2d4 actually fix build 2023-04-06 18:10:30 -05:00
tildearrow 439931d988 fix build 2023-04-06 17:54:08 -05:00
tildearrow 6a30aaeb0c dev151 - new backup system 2023-04-06 17:14:37 -05:00
tildearrow c6f1ec5756 enable virtual terminal processing on Windows 2023-04-06 17:13:51 -05:00
tildearrow 829d51411a fix makeDir on Windows 2023-04-06 17:08:45 -05:00
tildearrow fe10683a70 backup thread data race prevention 2023-04-06 16:24:44 -05:00
tildearrow b8667fc29a fix backup behavior when backup is open 2023-04-06 16:08:06 -05:00
tildearrow f80e070178 fix restore backup option 2023-04-06 15:51:12 -05:00
tildearrow 4fea3fd8f2 dang it 2023-04-06 15:17:15 -05:00
tildearrow 8c55076177 restore backup opens the backup dir 2023-04-06 15:16:52 -05:00
tildearrow 02450b8683 fix Windows build 2023-04-06 15:07:11 -05:00
tildearrow 8cd49eaa5a strip non-alphanumeric chars from backup name 2023-04-06 14:48:13 -05:00
tildearrow e599248614 Windows implementation 2023-04-06 06:30:43 -05:00
tildearrow a8baad78f5 excess backup deletion 2023-04-06 06:15:47 -05:00
tildearrow 79a317723a prepare for new backup system 2023-04-06 04:22:43 -05:00
tildearrow 72b81914b7 get rid of one debug message 2023-04-06 02:22:59 -05:00
tildearrow bc4191dbe4 GUI: fix crash 2023-04-06 02:20:48 -05:00
tildearrow fa51bf1e5d GUI: update Commander X16 presets 2023-04-06 02:03:14 -05:00
tildearrow 4e55368787 GUI: fix per-chan osc visual glitch when stopping 2023-04-06 01:42:52 -05:00
tildearrow eb63d62181 fix 1.1.7-1.1.9 .dmf loading 2023-04-06 01:25:06 -05:00
tildearrow c1f8bb0eb9 dev150 - again 2023-04-06 00:08:23 -05:00
tildearrow 17f9eb0c16 dev149 - crap 2023-04-05 23:59:39 -05:00
tildearrow 8e0a28f06e bump version 2023-04-05 23:43:33 -05:00
tildearrow f87460cbc9 implement log rotation 2023-04-05 19:16:00 -05:00
tildearrow 6f2c9535bc config rotation + redundancy for layout
also load default layout if it fails to load
2023-04-05 19:08:04 -05:00
tildearrow e16fdf0626 config rotation + redundancy prototype 2023-04-05 17:35:01 -05:00
tildearrow e6bac16a7a prepare for config resiliency 2023-04-05 04:44:21 -05:00
tildearrow 79b418c031 SegaPCM: fix possible crash 2023-04-04 22:20:22 -05:00
tildearrow 8c5659b5d0 CI: move to Ubuntu 20.04 2023-04-04 16:36:12 -05:00
tildearrow d1b1206ea3 GitHub let me work please <--- THIS COMMIT IS FOR REAL 2023-04-04 16:30:26 -05:00
tildearrow d44f5f0fc8 this one THIS ONE THIS ONE FOR REAL REAL REAL 2023-04-04 16:24:08 -05:00
tildearrow 9855166371 THIS IS IT -> FOR REAL!!! <- 2023-04-04 16:16:34 -05:00
tildearrow ffe8b41d01 THIS IS IT 2023-04-04 16:01:45 -05:00
tildearrow 34a15adc7f r 2023-04-04 15:40:01 -05:00
tildearrow 3a84512486 half-assed work 2023-04-04 15:27:36 -05:00
YohananDiamond c3654a4d52 Applying corrections 2023-04-03 11:11:26 -03:00
YohananDiamond 72ef39db60 New song dialog: auto focus on pop up + reset search box 2023-04-03 00:05:25 -03:00
tildearrow 5026f62713 add TODO.md 2023-04-02 18:39:35 -05:00
tildearrow 53e36abdee add config facilities for loading/storing int list 2023-04-02 17:32:21 -05:00
cam900 5ab21f79a6 Fix Mac compile 2023-04-03 07:02:56 +09:00
cam900 2ebb8fc251 Minor optimize 2023-04-03 06:44:00 +09:00
cam900 e8203f453b Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-04-03 06:43:23 +09:00
cam900 d9c64e7c8c Fix typecasting 2023-04-03 06:42:37 +09:00
tildearrow 54c1a8171f GUI: add "new" action 2023-04-02 16:39:06 -05:00
cam900 04f208c535 Fix build again 2023-04-03 06:34:05 +09:00
cam900 40f3455357 Fix build 2023-04-03 00:35:02 +09:00
cam900 048728b496 Add reverse playback support 2023-04-03 00:34:09 +09:00
cam900 9b877764c4 Fix build 2023-04-02 23:33:34 +09:00
cam900 f7768dafe3 Fix K053260 VGM output 2023-04-02 23:01:57 +09:00
tildearrow 9bc2657965 dev147 - april fools' 2023-04-02 02:32:04 -05:00
tildearrow 76deb82665 Revert "prepare for Furnace Pro"
This reverts commit 6fe8bea50e.
2023-04-02 02:31:37 -05:00
tildearrow fc4397f644 Revert "release Furnace Pro"
This reverts commit 2255bdf6c7.
2023-04-02 02:31:36 -05:00
tildearrow aefe4938fd Revert "fix Windows log"
This reverts commit cc697ab5ac.
2023-04-02 02:31:35 -05:00
cam900 f56e09606a More fixes 2023-04-02 15:49:12 +09:00
cam900 8f783e604a Minor fix 2023-04-02 15:48:30 +09:00
cam900 dee28d218e Implement sample playback
Fix register viewer
Minor optimize
2023-04-02 14:55:10 +09:00
cam900 09726e6290 Fix pitch 2023-04-02 14:34:10 +09:00
cam900 9c56c3d01b [WIP] K063260 skeleton 2023-04-02 14:32:47 +09:00
tildearrow cc697ab5ac fix Windows log 2023-04-01 17:20:31 -05:00
tildearrow 2255bdf6c7 release Furnace Pro 2023-04-01 17:00:51 -05:00
tildearrow 6fe8bea50e prepare for Furnace Pro 2023-04-01 05:06:13 -05:00
cam900 fe7ba3c56b Fix build 2023-03-29 16:23:54 +09:00
cam900 60e3768a66 Fix sample map issue in ES5506 2023-03-29 16:17:50 +09:00
tildearrow ed548c98c4 Namco WSG: ROM mode should be off by default!!! 2023-03-29 01:55:21 -05:00
freq-mod 82b81c6a16 Add OPL3 + Irem GA20 demo 2023-03-27 13:50:37 -05:00
tildearrow b26e4424ff fix build 2023-03-27 13:15:28 -05:00
tildearrow 88654e26fc command stream arps 2023-03-27 03:29:43 -05:00
cam900 2a43272c66 Spacing 2023-03-27 15:08:37 +09:00
cam900 2a881c9f66 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-03-27 15:07:45 +09:00
cam900 90fa977d23 Fix seta2 preset 2023-03-27 15:07:35 +09:00
tildearrow da7d67fa85 more command stream playback work 2023-03-27 00:40:54 -05:00
Plide 84e13cc91e
Some Instruments I made (#1041)
* instruments

* Delete Single Clap.fui

* Delete Slow Strings.fui

* Delete Slap Bass.fui

* Delete Finger Bass.fui

* Delete 4-7 Snare.fui

* Add files via upload

* Add files via upload

* Add files via upload
2023-03-26 22:30:55 -05:00
tildearrow c4510e16e0 add experimental command stream player
for verification

after that I am going to write optimization code
2023-03-26 18:48:16 -05:00
tildearrow 24c39c7819 GUI: separate text/binary command stream buttons 2023-03-26 13:19:57 -05:00
Natt Akuma d67be98468 Add sample instrument to AY SysDefs
It was not possible to select sampple instrument for these chips
even though the engine has a PCM driver
2023-03-26 16:50:03 +07:00
tildearrow 8d89abb60e GUI: add order button pos setting 2023-03-25 18:43:21 -05:00
tildearrow 16174c041a GUI: orders view with dynamic icons 2023-03-25 18:13:22 -05:00
tildearrow f20da6b202 FT
-----____
|        -----____
|  FFFFF          -----____
|  FFFFFFFFF  TTTTTTT     |
|  FF           TTTTTTTT  |
|  FF             TT      |
|  FF             TT      |
|  FFFFFFFFF      TT      |
|  FFFFFFFFF      TT      |
|  FF             TT      |
|  FF             TT      |
|  FF             TT      |
|  FF             TT      |
|  FF     __________------|
|---------
2023-03-25 03:55:42 -05:00
tildearrow d8471ce937 GUI: remove use of Columns() in orders 2023-03-24 19:17:28 -05:00
tildearrow 6f8cfa42ea GUI: fix IGFD glitch when opening empty dir 2023-03-24 00:52:11 -05:00
tildearrow caa2a71d39
Merge pull request #1032 from LovelyA72/midi-out-stuff
Init support for setting program change
2023-03-23 23:18:18 -05:00
KMoene 913d22fd57 init support for setting program change 2023-03-22 00:51:54 -04:00
tildearrow 5af3804195 GA20: implement getSamplePos() 2023-03-21 03:56:17 -05:00
tildearrow 5f5617fc2c GUI: fix some chips not having custom clocks 2023-03-21 03:39:20 -05:00
tildearrow 6125ff7c0a new demo songs
by Yuzu4K
2023-03-20 21:51:21 -05:00
tildearrow 7bfdad8361 new demo song 2023-03-20 21:50:22 -05:00
tildearrow 699d49b220 Merge branch 'master' of github.com:tildearrow/furnace 2023-03-20 15:10:28 -05:00
tildearrow d92bbcf2ee GUI: fix cur order out of bounds when undo/redo 2023-03-20 15:09:52 -05:00
tildearrow c27dbdab96 VIC-20: get rid of debug message 2023-03-20 03:55:12 -05:00
tildearrow 1dc05f0777 GUI: use ClipRect instead of clamp in sample edit 2023-03-19 19:51:26 -05:00
tildearrow 591cd633d7 SegaPCM: implement getSamplePos() 2023-03-19 16:49:31 -05:00
tildearrow 62b9b98300 SNES: implement getSamplePos()
but gotta fix one thing
2023-03-19 04:18:57 -05:00
tildearrow 6cd24a8008 implement getSamplePos() on some chips
Amiga, AY, Lynx, PCE, PCM DAC and VRC6
2023-03-19 03:56:13 -05:00
tildearrow f80a2b8864 GUI: make playing needles in sample editor work
currently only for YM2612 but I will implement more soon
2023-03-19 03:12:08 -05:00
tildearrow 2e9bc14459 PV-1000: DC offset correction required 2023-03-18 18:22:54 -05:00
tildearrow 293d2b8775 PV-1000: more accurate emulation 2023-03-18 17:15:13 -05:00
tildearrow 09a30570de GUI: add an FM preview
currently for OPN only
2023-03-18 04:22:50 -05:00
tildearrow 57f4cc8561 GUI: prepare for FM preview 2023-03-17 19:12:09 -05:00
tildearrow d58270efed fix some macroInt issues with volume 2023-03-17 18:16:04 -05:00
tildearrow 69c3700ab4 VIC-20: fix MSVC 2023-03-17 18:00:38 -05:00
tildearrow de2a6c418b VIC-20: add on/off macro 2023-03-17 16:50:42 -05:00
tildearrow 49c47087e5 GUI: C64 macro mode usability fix
reset macro zoom when changing macro modes
2023-03-17 14:54:00 -05:00
tildearrow 5fc36b1d4c PCM DAC: fix muting 2023-03-17 14:32:39 -05:00
tildearrow 6985b85c09 YM2612: YMF276 clipping 2023-03-17 14:11:55 -05:00
tildearrow d6d57b6d11
Merge pull request #1019 from freq-mod/n163-easy
n163: macro removal part 2
2023-03-17 04:23:22 -05:00
tildearrow 165d0809df Namco 163: fix weird waveform on first note on
issue #1021
2023-03-16 18:52:20 -05:00
tildearrow 6436919974 i don't know 2023-03-16 05:52:29 -05:00
tildearrow 8fd26289a2 Namco WSG: add ROM mode 2023-03-16 05:27:43 -05:00
tildearrow 9a672196fd TODO: Diagnosis of 163 2023-03-16 04:21:52 -05:00
tildearrow f8e5afc2bf RF5C68: fix forceIns() panning 2023-03-16 03:53:02 -05:00
tildearrow c7d625c820 Amiga: validation export is finished 2023-03-16 03:52:54 -05:00
tildearrow 527f962c1b Amiga: validation export sample/wave book
tiny optimization
2023-03-16 03:33:55 -05:00
tildearrow 262eaa19c1 Amiga: validation export wave support 2023-03-16 01:44:35 -05:00
tildearrow 03f6268336 GUI: AY-3-8914 VGM disclaimer 2023-03-15 22:08:18 -05:00
tildearrow b9cddb21d0 Amiga: DMACON coalescing fix 2023-03-15 18:51:42 -05:00
tildearrow 3ff3a9952a Amiga: DMACON coalescing 2023-03-15 18:45:32 -05:00
tildearrow 4b708e98cf Amiga: validation "export"
only for testing purposes!
wavetables are missing but I might add that at some point
2023-03-15 18:16:47 -05:00
tildearrow 32298f6ab3 nothing 2023-03-15 04:23:47 -05:00
tildearrow 557f77c3c6 asdfgklj 2023-03-15 02:13:10 -05:00
tildearrow ed3b0610d3 GUI: remember extraChannelButtons' state 2023-03-14 23:04:57 -05:00
tildearrow 4a225c9c64 asdf 2023-03-14 04:19:13 -05:00
tildearrow e5ab3413cb oh wow 2023-03-14 01:27:45 -05:00
tildearrow 5a8a29f5f2 Please enter the commit message for your changes. 2023-03-14 01:09:53 -05:00
tildearrow ced4fd8ee1 more 2023-03-13 20:01:01 -05:00
tildearrow 07ed76a63b add ROM export framework, part 1 2023-03-13 14:17:05 -05:00
tildearrow 6663fc274d prepare to add ROM export framework 2023-03-13 04:20:54 -05:00
tildearrow ad960697dc really fix build 2023-03-13 03:18:52 -05:00
tildearrow 5acb6daef6 prepare to add some code 2023-03-13 03:12:03 -05:00
tildearrow d73c2346c4 fix 2023-03-12 20:28:13 -05:00
tildearrow 854698cd75 S3M import? no, it's not there yet 2023-03-12 19:11:05 -05:00
tildearrow bc95fb0181 the unsorted dir has blank name 2023-03-12 16:13:00 -05:00
cam900 d84d678929 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-03-12 21:10:00 +09:00
freq-mod f29867a655 Revert "fix the legendary chiptune moment"
This reverts commit c2761e4f41.
2023-03-12 13:07:21 +01:00
freq-mod 0db4dc0179 Revert "fix this for real"
This reverts commit 9b92b118c6.
2023-03-12 13:07:14 +01:00
freq-mod c33d587622 Revert "fix offset"
This reverts commit b289d4ac1d.
2023-03-12 13:06:34 +01:00
cam900 d9211b2a97 Add NTSC clockbase for X1-010
reference: https://github.com/mamedev/mame/blob/master/src/mame/taito/champbwl.cpp#L620
2023-03-12 21:03:11 +09:00
cam900 b1070f531a Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010_bank 2023-03-12 20:59:50 +09:00
tildearrow 40e153300f prepare to add asset directories 2023-03-12 04:10:46 -05:00
tildearrow 2c66e2d1d6 Amiga: fix interrupt on useWave 2023-03-12 03:31:33 -05:00
tildearrow b768d46ef1 GUI: fix IGFD path reset if it is "/" 2023-03-12 02:06:02 -05:00
tildearrow 43d330831a GUI: fix / appearing as file name in IGFD
every time the dialog is opened
2023-03-12 01:55:29 -05:00
tildearrow 7cd4c9535a GUI: fix IGFD parent dir being sorted 2023-03-12 01:48:01 -05:00
cam900 c8c2704a99 Revert unnecessary change 2023-03-12 11:56:19 +09:00
cam900 e6b84280aa Add Seta 2 Bankswitch support 2023-03-11 18:55:32 +09:00
tildearrow 5ebee2bb2b Amiga: better emulation, part 10 2023-03-11 03:47:33 -05:00
tildearrow a9c703df3e Amiga: better emulation, part 9 2023-03-11 03:37:23 -05:00
tildearrow 60766326fb Amiga: better emulation, part 8 2023-03-11 03:16:18 -05:00
tildearrow 698726174d Amiga: better emulation, part 7 2023-03-11 02:54:57 -05:00
tildearrow 1a80fb262d Amiga: better emulation, part 6 2023-03-11 01:42:13 -05:00
tildearrow 8fc6a71882 Amiga: better emulation, part 5 2023-03-10 18:51:00 -05:00
freq-mod b289d4ac1d
fix offset
beyond that point, i can't improve
2023-03-10 23:33:50 +01:00
freq-mod 9b92b118c6
fix this for real
sorry for indentation
2023-03-10 22:54:09 +01:00
tildearrow 452846936f Amiga: better emulation, part 4 2023-03-10 13:45:46 -05:00
tildearrow 12a1d2ff3d Amiga: fix per-chan osc 2023-03-10 12:44:45 -05:00
freq-mod c2761e4f41
fix the legendary chiptune moment
it still distorts on the first key on, but not later on
2023-03-10 15:42:58 +01:00
tildearrow e18caaca1d Amiga: better emulation, part 3 2023-03-10 05:29:20 -05:00
tildearrow dca18dc726 Amiga: better emulation, part 2 2023-03-10 04:22:21 -05:00
tildearrow 6d33fadbc5 finish this later 2023-03-09 20:00:15 -05:00
tildearrow c0b4cc0d63 Amiga: better emulation, part 1
prepare to actually emulate DMA operation
eventually poke() and register view will work
2023-03-09 17:46:45 -05:00
freq-mod 708c0e359a
n163: macro removal part 2 2023-03-09 21:39:32 +01:00
tildearrow 0f08c6e702
Merge pull request #1018 from freq-mod/n163-easy
Hide some N163 macros
2023-03-09 13:55:39 -05:00
freq-mod 5e75239e38
hide pointless n163 macros
hopefully it works
2023-03-09 17:17:08 +01:00
tildearrow 377dc8dd0f one more reference 2023-03-09 04:11:08 -05:00
tildearrow 5069cf65e3 Amiga: more accurate emulation
https://www.youtube.com/watch?v=xyQlmsD7PAg&t=403s

thanks TakuikaNinja for the info!
2023-03-09 03:37:14 -05:00
tildearrow 8c706f71a9 dev145 - Namco WSG: new noise strategy for C30 2023-03-09 02:55:22 -05:00
tildearrow 3cede1c2fd GUI: Namco WSG noise macro 2023-03-09 02:37:22 -05:00
tildearrow c90152b425 GUI: fix adding orders 2023-03-09 00:36:18 -05:00
tildearrow 9fc3a8afed GUI: order increase key oversight 2023-03-08 19:32:53 -05:00
tildearrow 4bfda2242f GUI: disable tutorial for now
moving to a branch
2023-03-08 18:22:40 -05:00
tildearrow 7f7a579b80 GUI: tutorial, part 11 - DO NOT USE 2023-03-08 04:19:00 -05:00
tildearrow 58f73d6284
Merge pull request #1015 from ZoomTen/move-cursor-with-order
Option to move the cursor along with order upon moving order up/down
2023-03-08 02:24:28 -05:00
tildearrow 528117ba9e another demo song
by NyaongI
2023-03-08 01:41:26 -05:00
tildearrow 7955c2120d add new demo song
by The Beesh-Spweesh!
2023-03-08 01:35:33 -05:00
Zumi Daxuya 2fc8399a65 Clamp new setting 2023-03-08 11:51:03 +07:00
tildearrow ab2d4e6b36 GUI: tutorial, part 10 - DO NOT USE 2023-03-07 19:23:17 -05:00
tildearrow 515cab23a7 GUI: tutorial, part 9 - DO NOT USE 2023-03-07 04:14:23 -05:00
tildearrow 21cadbda58 GUI: add function to highlight window - DO NOT USE 2023-03-07 01:32:57 -05:00
Zumi Daxuya 495604bd18 cursor follows order by default 2023-03-06 16:54:26 +07:00
tildearrow 3651325940 SN: register view? 2023-03-06 04:21:10 -05:00
tildearrow b4a1dd6663 QuadTone: 2023 2023-03-06 04:05:38 -05:00
tildearrow ee37b78339 QuadTone: use Pokémon Mini ins type 2023-03-06 04:02:28 -05:00
tildearrow fe053fd91a GUI: update credits 2023-03-06 03:44:11 -05:00
tildearrow e396f7753b two new demo songs
by Yuzu
2023-03-06 03:40:52 -05:00
tildearrow 74988df204
Merge pull request #1008 from akumanatt/quadtone
Alternative ZX Spectrum beeper sound engine
2023-03-06 03:37:47 -05:00
tildearrow 9fc04718d9
Merge pull request #1000 from Korbaux/master
Add demo song
2023-03-06 03:22:21 -05:00
tildearrow c2b2cade94
Merge pull request #1014 from tildearrow/pv1000
Add NEC D65010G031 support
2023-03-06 03:16:44 -05:00
tildearrow 969ebe9d27 not placeholder 2023-03-06 03:16:23 -05:00
cam900 1e8ad16a68 More simpler 2023-03-06 12:26:31 +09:00
cam900 34131e52d5 Remove unnecessary value 2023-03-06 12:21:57 +09:00
cam900 c3e6163794 Add debug status support for PV1000 2023-03-06 08:40:49 +09:00
cam900 46bce25a34 Merge branch 'master' of https://github.com/tildearrow/furnace into pv1000 2023-03-06 08:39:02 +09:00
cam900 1436da8a66 Add debug status support for SM8521 2023-03-06 08:38:41 +09:00
cam900 c21d596ca4 Fix default instrument for SM8521 2023-03-06 08:32:51 +09:00
cam900 dd2d267ce1 Fix default instrument 2023-03-06 08:31:16 +09:00
cam900 6d5328beb3 Add volume (2 levels) 2023-03-06 08:02:31 +09:00
tildearrow 30448dd09c GUI: PV-1000 ought to have a vol macro at least 2023-03-05 16:48:19 -05:00
tildearrow 77f1ca3339 rename D65784221391491G18414119492 to PV1000
it probably was only used there anyway
2023-03-05 14:01:21 -05:00
tildearrow 59d9900a9e apply new chip ID 2023-03-05 13:38:19 -05:00
tildearrow 604a0f6a61 Merge branch 'master' into pv1000 2023-03-05 13:37:29 -05:00
tildearrow a52eb8706c allocate PV-1000 chip ID 2023-03-05 13:36:39 -05:00
Natt Akuma fc2db92d4f Rename QT to QuadTone 2023-03-06 00:58:27 +07:00
Natt Akuma c7b42f8551
Change X16's mixing to match the latest hardware
This has been verified with the latest Developer Board. Previous values are also incorrect as the test program used has a YM2151 patch configured incorrectly.
2023-03-05 23:20:34 +07:00
tildearrow 787479e735 GUI: don't allow tutorial window to be docked 2023-03-05 04:22:46 -05:00
Zumi Daxuya 8e3a7df8cd add option to move the cursor along with order 2023-03-05 16:05:19 +07:00
cam900 0d6153beb6
Merge branch 'master' into pv1000 2023-03-05 14:06:21 +09:00
cam900 eacfbd6e3e Add game.com preset 2023-03-05 14:05:59 +09:00
cam900 c7bff6b24e Add preset for game.com and casio pv-1000 2023-03-05 14:05:22 +09:00
cam900 a1c18d5df0 Merge branch 'master' of https://github.com/tildearrow/furnace into pv1000 2023-03-05 14:02:04 +09:00
cam900 dbd1f56a10 Add NEC D65010G031 support
chip flag and instrument color is placeholder
2023-03-05 14:01:44 +09:00
cam900 8ce3718518
Fix SM8521 effect list 2023-03-05 13:42:54 +09:00
tildearrow aa5c3ec28a a wavetable chip that breaks Furnace limits?! 2023-03-03 19:31:51 -05:00
tildearrow 223a00884e M114S? what's that? 2023-03-03 14:13:33 -05:00
tildearrow 16b4f4f33f fuck FUCK 2023-03-03 02:32:18 -05:00
tildearrow bf2932f161 GUI: tutorial, part 8 - DO NOT USE 2023-03-03 02:08:28 -05:00
tildearrow 5c1f34aefe GUI: tutorial, part 7 - DO NOT USE 2023-03-02 04:11:11 -05:00
tildearrow d3c6d53819 SegaPCM: truly fix sample loop
issue #1005
2023-03-02 01:11:02 -05:00
tildearrow a05686aa04 GUI: tutorial, part 6 - DO NOT USE 2023-03-01 19:19:09 -05:00
tildearrow cc69f0495c randomize
issue #1004
2023-03-01 15:26:05 -05:00
tildearrow 6c76515ff9 Game Boy: don't use rand() 2023-03-01 15:23:20 -05:00
tildearrow 68c88aea02 NES: don't use rand() in NSFplay 2023-03-01 15:21:55 -05:00
tildearrow 814907c0a7 SM8521: don't use rand()
issue #1004
2023-03-01 15:15:17 -05:00
Natt Akuma 359d9c268c Fix sample frequency range 2023-03-01 13:56:28 +07:00
Natt Akuma fd7200b3b3 Use temporary sys ID for now 2023-03-01 13:36:02 +07:00
Natt Akuma e0803d9bb1 Merge branch 'master' of https://github.com/tildearrow/furnace into quadtone 2023-03-01 12:58:27 +07:00
tildearrow 9a439c248a GASDF;HJKLAGDSK;JOLSDAGFJ;KO
DEMO
2023-02-28 04:22:17 -05:00
tildearrow 41ea0584a6 GUI: tutorial, part 5 - DO NOT USE! 2023-02-28 02:06:39 -05:00
tildearrow 6cddf45957 GUI: or should it be like this - DO NOT USE 2023-02-27 04:19:25 -05:00
tildearrow c86113c84e GUI: tutorial, part 3 - DO NOT USE 2023-02-26 21:44:30 -05:00
tildearrow 672f387e6a GUI: tutorial, part 2 - DO NOT USE 2023-02-26 04:21:27 -05:00
tildearrow b01c2d08af GUI: tutorial, part 1 - DO NOT USE
this version is not usable!
2023-02-25 20:01:33 -05:00
Korbo 8d649df4bb
Add files via upload 2023-02-25 17:14:54 -06:00
tildearrow e236d41ba7 GUI: prepare tutorial 2023-02-25 18:04:17 -05:00
tildearrow bcd62fc46d OPZ: fix panning effect 2023-02-25 14:39:48 -05:00
tildearrow 212968b925 OPZ: fix panning effect 2023-02-25 14:39:25 -05:00
tildearrow 6e3352e052
Merge pull request #998 from djtuBIG-MaliceX/bugfix/#643-win32-console-vs-gui-strategy
Issue #643 - Rewrite CLI vs GUI strategy (this matches another tracker)
2023-02-25 03:36:29 -05:00
James Alan Nguyen 16ccd4f8fe typo 2023-02-25 19:26:27 +11:00
James Alan Nguyen f9cbf17a07 Issue #643 - Rewrite CLI vs GUI strategy (this matches DefleMask) 2023-02-25 19:20:51 +11:00
tildearrow 9c4016b86c GUI: add intro tune credits 2023-02-25 01:54:51 -05:00
tildearrow c139d7d7fa oh crap - this is the real pre4-hotfix 2023-02-25 01:48:51 -05:00
tildearrow e3bebdca08 release v0.6pre4-hotfix 2023-02-25 01:47:53 -05:00
tildearrow c04f123344 fix critical bug that breaks initial system
it was caused by the intro...
2023-02-25 00:43:27 -05:00
tildearrow b0f0fa8a05 optimize logo 2023-02-24 14:33:38 -05:00
tildearrow 61abb25437 fix release script 2023-02-24 14:05:41 -05:00
tildearrow 0d8049353b GUI: welcome typo fix 2023-02-24 13:05:53 -05:00
tildearrow 34c66a4464 FIRE!! (release v0.6pre4) 2023-02-24 05:15:19 -05:00
tildearrow eba1191ef2 1 2023-02-24 05:09:29 -05:00
tildearrow 4b101145c7 2 2023-02-24 04:26:17 -05:00
tildearrow 534cc501db 3 2023-02-24 04:19:39 -05:00
tildearrow 5261cf97fe GUI: honor basic mode poll 2023-02-24 03:47:53 -05:00
tildearrow 5dec6debba GUI: blue 2023-02-24 03:29:23 -05:00
tildearrow c3daf6d37f GUI: change intro bg color 2023-02-24 03:28:17 -05:00
tildearrow f3e4e42d52 GUI: bring back the old mixer 2023-02-24 03:24:17 -05:00
tildearrow c164185601 GUI: fix intro tune
smaller and fit animation to it
2023-02-24 02:03:43 -05:00
tildearrow 7525a07936 SegaPCM: fix loop 2023-02-24 01:23:46 -05:00
tildearrow f20da3e7e4 TIA: fix regression 2023-02-24 01:01:16 -05:00
tildearrow 013a651dd8 Merge branch 'master' of github.com:tildearrow/furnace 2023-02-24 00:57:59 -05:00
tildearrow a6bb3a639f GUI: fix serious SERIOUS bug with warn/error pops 2023-02-24 00:57:47 -05:00
tildearrow 0712dbecd2
Merge pull request #981 from Kagamiin/module/memories-of-triumph
Adding 'Memories_of_Triumph.fur' module
2023-02-24 00:51:50 -05:00
tildearrow 34cc78519d add intro tune, part 4 2023-02-24 00:43:58 -05:00
tildearrow b3c3c038ad add intro tune, part 3 2023-02-24 00:38:32 -05:00
tildearrow 234ef5c9b4 tklhjgsdakjl;asdgkfjl; 2023-02-23 23:54:47 -05:00
tildearrow aacc742e0e
Merge pull request #975 from nicco1690/patch-4
Create SM8521 docs
2023-02-23 23:54:25 -05:00
brickblock369 b8785325db
Completely redid Yamaha MU Synth Bass 2 instrument (#989)
* Adding another OPL instrument

* Adding another OPL instrument

Updated the SL from 6 to 5.

* Updated the OP1's ML macro to improve the slap

* Completely redid Yamaha MU Synth Bass 2 instrument

I found a much, much better way of imitating that instrument patch in FM, so I'm updating this.
(Yes, the original submission of these files *has* been my submission, in case you don't remember)
2023-02-23 23:53:50 -05:00
tildearrow c85a14409e
Merge pull request #993 from tildearrow/sm8521_anticlick
Temporary ignore SM8521 anti-click flag for now
2023-02-23 23:53:22 -05:00
cam900 a2f9c75724 Remove unused flag 2023-02-23 21:16:28 +09:00
cam900 e694687fff Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-02-23 21:15:49 +09:00
cam900 84566844ca Temporary ignore SM8521 anti-click flag for now 2023-02-23 20:57:02 +09:00
tildearrow 658428d68d add intro tune, part 2 2023-02-23 05:56:48 -05:00
tildearrow 2f8a69646e add intro tune, part 1
by A M 4 N
2023-02-23 04:21:15 -05:00
tildearrow 69ab2a0b50 USE THIS ONE 2023-02-21 22:55:07 -05:00
tildearrow 8309c0d279 GUI: fix pattern once again 2023-02-21 03:15:35 -05:00
tildearrow ff7110cb05 GUI: possibly fix particles going out of bounds 2023-02-20 16:35:02 -05:00
tildearrow a8c04e80e3 GUI: mobile button for piano 2023-02-19 19:11:31 -05:00
tildearrow 5d6a338f41 dev142 - get rid of TE stuff 2023-02-19 17:40:34 -05:00
tildearrow a249f40716 CI: don't bundle demo songs/instruments
to save space
2023-02-19 17:36:51 -05:00
tildearrow 8605690430 update install scripts to add wavetables 2023-02-19 17:36:14 -05:00
tildearrow f691531924 Windows build hotfix 2023-02-19 16:52:51 -05:00
tildearrow b3bc244858 GUI: intro monitor hotfix 2023-02-19 16:32:15 -05:00
tildearrow a144ca75b4 release for intro tune contest 2023-02-19 15:58:56 -05:00
tildearrow fc8095f53c GUI: don't allow input when intro is playing 2023-02-19 00:51:36 -05:00
tildearrow 61beb8c4df GUI: intro is ready for review 2023-02-19 00:08:37 -05:00
tildearrow 3de621796e GUI: add modulation table string for FDS/VB 2023-02-18 22:40:15 -05:00
tildearrow a0922c67e4 GUI: intro, part 9 - DO NOT USE 2023-02-18 19:43:23 -05:00
Natt Akuma 5a15721ab7 Add QuadTone beeper engine 2023-02-18 22:43:29 +07:00
tildearrow f92b208bb7 GUI: intro, part 8 - DO NOT USE 2023-02-18 04:19:37 -05:00
SirForte 784b7403d1
Boomer Kuwanger (#985)
* Add files via upload

* Add files via upload

* New Demo song

but this time i'm not removing the old one

* Delete Redbull MegaMan and WildCherry Triton - MM2 - Alien.fur
2023-02-18 00:26:48 -05:00
tildearrow 474f6c7ebf GUI: intro, part 7 - DO NOT USE 2023-02-17 19:40:18 -05:00
tildearrow 92f4e48228 add intro background - DO NOT USE 2023-02-17 17:32:59 -05:00
tildearrow 2a3580618d GUI: intro, part 6 - DO NOT USE 2023-02-17 16:30:24 -05:00
tildearrow 4d67c5978e fix wordmark - DO NOT USE 2023-02-17 15:26:53 -05:00
tildearrow fdaa221372 GUI: intro, part 5 - DO NOT USE 2023-02-17 04:23:27 -05:00
tildearrow ef6b601037 GUI: intro, part 4 - DO NOT USE 2023-02-16 19:15:52 -05:00
freq-mod d8c085a8a0
add wavetable examples (#980)
* add wavetable examples

* rename
2023-02-16 17:31:28 -05:00
tildearrow 6fb23ab04b GUI: add option to disable fade-in during startup 2023-02-16 05:54:46 -05:00
tildearrow 25e4da919d GUI: intro, part 3
you can use this one as I disabled the intro for now
2023-02-16 05:40:06 -05:00
tildearrow ef79a94163 GUI: intro, part 2 - DO NOT USE 2023-02-16 04:13:43 -05:00
tildearrow b8d7845644 GUI: intro, part 1 - DO NOT USE
these builds are all about the intro
so you will have to stand a boring splash screen for 7 seconds
when I finish the intro your pain will be over
2023-02-15 22:19:26 -05:00
tildearrow aa7e1da95e GUI: fix THE ICON 2023-02-15 22:04:14 -05:00
tildearrow 8e1bedbb3b GUI: it's all work in progress 2023-02-15 19:07:32 -05:00
tildearrow 61e579a10a but why 2023-02-15 18:59:49 -05:00
tildearrow 0585d127a6 use stb_image for image support 2023-02-15 18:32:31 -05:00
tildearrow 7d191b3db9 GUI: experiments 2023-02-15 16:25:35 -05:00
tildearrow 10e4c2106a GUI: prepare for intro/tutorial 2023-02-15 04:06:17 -05:00
tildearrow fd58fae25c Revert "MinGW test"
This reverts commit ce67771a9a.
2023-02-15 00:51:43 -05:00
tildearrow 5a7f299d20 Revert "..."
This reverts commit 26914310c0.
2023-02-15 00:51:40 -05:00
tildearrow 26914310c0 ... 2023-02-14 23:37:22 -05:00
tildearrow ce67771a9a MinGW test 2023-02-14 19:22:22 -05:00
Kagamiin~ 8cadccd001 Adding 'Memories of Triumph' module 2023-02-14 16:06:52 -03:00
tildearrow 8313d0f518 let's try console 2023-02-14 01:02:35 -05:00
tildearrow 9cdc330a48 try to fix console mode on Windows
issue #643
2023-02-13 19:26:37 -05:00
tildearrow 9f48bda59a GUI: fix effect replace
issue #652
2023-02-13 18:34:15 -05:00
cam900 5dcb0097f1 Add ES5506 debug value 2023-02-13 07:59:03 +09:00
cam900 97bb0572b6 Possibly fix ES5506 sample offset command 2023-02-13 07:52:52 +09:00
Zumi 21d6f4f6d6
Document the basic mode (2) (#977)
* Create basic-mode.md

* Update README.md
2023-02-12 02:33:18 -05:00
tildearrow e2e0afd18a ES5506: add a volume scale parameter 2023-02-12 02:11:03 -05:00
tildearrow 30ce6e9ed7 ughhhhhhhhhhhhhhhhhhhhhhhhhhh 2023-02-12 02:02:54 -05:00
tildearrow 11154923b0 ES5506: I am blowing up now 2023-02-12 02:02:22 -05:00
tildearrow c9eb4482b0 ES5506: new vol/pan range is 4095 2023-02-12 01:48:02 -05:00
tildearrow ede47cbf97 asdfgh 2023-02-12 01:25:28 -05:00
tildearrow b62f0cd465 Revert "ES5506:Fixes?"
This reverts commit da6d0b1702.
2023-02-12 01:23:14 -05:00
tildearrow 2acc1b7de4 Revert "Reduce duplicates"
This reverts commit a1d83e869d.
2023-02-12 01:22:54 -05:00
tildearrow d67339a791 Revert "Change to int"
This reverts commit 799d54106f.
2023-02-12 01:21:52 -05:00
tildearrow cace96f445 Revert "Fix volume effect"
This reverts commit fc4b2718c0.
2023-02-12 01:21:34 -05:00
tildearrow c980fc0986 Revert "cam WAIT"
This reverts commit a7843f5cdc.
2023-02-12 01:18:32 -05:00
tildearrow 5c95d7f513 Revert "VOL_CALC"
This reverts commit a0f1f98b2d.
2023-02-12 01:18:26 -05:00
tildearrow a0f1f98b2d VOL_CALC 2023-02-12 01:13:55 -05:00
tildearrow a7843f5cdc cam WAIT 2023-02-12 01:13:28 -05:00
tildearrow 8bc927430f cam WAIT 2023-02-12 01:12:18 -05:00
tildearrow 0427c01f31 ES5506: fix volume slides 2023-02-12 01:08:52 -05:00
cam900 fc4b2718c0 Fix volume effect 2023-02-12 14:53:44 +09:00
cam900 799d54106f Change to int 2023-02-12 14:45:29 +09:00
cam900 a1d83e869d Reduce duplicates 2023-02-12 14:36:24 +09:00
cam900 da6d0b1702 ES5506:Fixes? 2023-02-12 14:33:04 +09:00
tildearrow 78d3f9d97f ES5506: one more percent off 2023-02-11 23:43:19 -05:00
tildearrow 50431b08b0 VRC6: 14 to 13 2023-02-11 22:49:07 -05:00
tildearrow 3eba7721a4 VRC6: 19 to 14 2023-02-11 22:45:37 -05:00
tildearrow 4cf4635e85 VRC6: 26 to 19 2023-02-11 22:40:29 -05:00
tildearrow d1245624ef VRC6: optimize 2023-02-11 22:33:54 -05:00
tildearrow 989743152a SCC: optimize 2023-02-11 22:20:47 -05:00
nicco1690 e40eec68d3
Refactoring + add DAC channel 2023-02-11 22:09:59 -05:00
nicco1690 85f3a33765
I type too fast for my own good
SM8512 -> SM8521
2023-02-11 21:54:14 -05:00
nicco1690 043a79736b
Rename to be lowercase
this is what I get for not sleeping in despite being sleepy
2023-02-11 21:51:18 -05:00
nicco1690 22c8d8cb25
Address feedback
invert topic from Game.com to SM8521
2023-02-11 21:42:33 -05:00
nicco1690 ce2a761754
Create Game.com docs 2023-02-11 21:06:19 -05:00
tildearrow 0dcdce2c6d GUI: new colors for SM8521 2023-02-11 19:15:14 -05:00
tildearrow 7a04c2685c
Merge pull request #969 from tildearrow/sm8521
Add SM8521 chip support
2023-02-11 19:02:17 -05:00
tildearrow 2d7a4b6f5f is this optimization, or DE-optimization?! 2023-02-11 18:51:35 -05:00
tildearrow aa7ebae3db rename 2023-02-11 18:40:26 -05:00
tildearrow 30b4cf7a46
Merge pull request #971 from LoKiToon/master
New demo song: Lotus III: The Ultimate Challenge - Miami Ice (Sharp X1 Cover)
2023-02-11 18:39:46 -05:00
tildearrow 5abf5df74f minor fix 2 2023-02-11 18:37:36 -05:00
tildearrow 437e705b1a Merge branch 'master' of github.com:tildearrow/furnace 2023-02-11 18:35:59 -05:00
tildearrow 17a8362e8e GUI: re-enable ES5506 2023-02-11 18:35:36 -05:00
cam900 2dea822e38 Minor fix 2023-02-12 08:27:46 +09:00
tildearrow d12d62721a add demo song
by Zaxolotl
2023-02-11 18:14:38 -05:00
tildearrow 72668155ca ES5506: oeathohteakvtsavegkbrsgdthnlrbh 2023-02-11 18:11:01 -05:00
tildearrow b1edc39a40 ES5506: noitazimitpo 2023-02-11 17:50:28 -05:00
tildearrow 1f8bc8e0ed update format 2023-02-11 17:42:02 -05:00
tildearrow 5b52d9111b Merge branch 'master' into sm8521 2023-02-11 17:11:39 -05:00
tildearrow 055132a104 update doc authors 2023-02-11 17:07:12 -05:00
tildearrow 79f6b9f5ec ES5506: ... 2023-02-11 17:06:14 -05:00
WindowxDeveloper c11fc669ad
Will be utilized in the X16 (#972)
* Will be utilized in the X16

Alongside VERA, the YM2151 will be used in Commander X16. 

Source:
https://www.commanderx16.com/faq.html

* Boards already shipped.

Since the 8-Bit Guy already ships X16 boards to the customers, I guess the YM2151 should be considered as an official part of the X16 sound system (albeit in the FPGA).
2023-02-11 17:04:01 -05:00
tildearrow b6f6ed0f67 ES5506: even more. 2023-02-11 16:43:04 -05:00
tildearrow 3555c521e1 ES5506: AAAAAAAAA 2023-02-11 16:25:50 -05:00
tildearrow 0533f10ef4 ES5506: and more optimization... 2023-02-11 16:11:39 -05:00
nk 02e11fa789
Add files via upload 2023-02-11 21:04:09 +03:00
cam900 598fdb46b2 Add anti-click config 2023-02-11 23:10:48 +09:00
cam900 c38ed5f5ad Add clock divider note 2023-02-11 23:09:01 +09:00
cam900 13691c5482 Fix base clock 2023-02-11 23:08:01 +09:00
cam900 9d47582fbd Remove unused variable 2023-02-11 22:18:47 +09:00
cam900 0cd77c4ca7 Fix sign 2023-02-11 22:12:32 +09:00
cam900 d26f2149e7 Fix newline 2023-02-11 22:03:24 +09:00
cam900 28c6b1dc60 Fix copyright year 2023-02-11 22:02:00 +09:00
cam900 5c06470145 Add SM8521 instrument type 2023-02-11 21:56:41 +09:00
cam900 98b34ab7ce Output fix 2023-02-11 21:50:44 +09:00
cam900 07a1c57a5a Fix compile, Add SM8521 to list 2023-02-11 21:37:11 +09:00
cam900 0cb36206c4 anti-click 2023-02-11 21:11:32 +09:00
cam900 6c5e806fb2 Prepare for SM8521 2023-02-11 21:06:17 +09:00
tildearrow c0190b81cb ES5506: optimize more 2023-02-11 04:21:15 -05:00
tildearrow 6a9c2d6c77 ES5506: more optimization... 2023-02-11 03:39:06 -05:00
tildearrow efba4e29f9 come on ES5506 gotta move 2023-02-10 19:56:26 -05:00
tildearrow 9cd6c397f3 ES5506: strip away rRead 2023-02-10 19:27:11 -05:00
tildearrow e38e8fcc5f GUI: make sure to focus when double-click wave/smp
issue #817
2023-02-10 19:20:05 -05:00
tildearrow 66f09e8d8f GUI: re-organize compatibility flags window 2023-02-10 19:07:58 -05:00
tildearrow 9cd609e738 YM2612: fix per-chan osc overflow in 276 2023-02-10 18:47:31 -05:00
tildearrow ece7e4460a YM2612: possibly fix per-chan osc in YMF276 mode 2023-02-10 18:22:34 -05:00
tildearrow aa5b8795ed dev140 - YM2612: add YMF276 mode 2023-02-10 17:55:44 -05:00
tildearrow 6a01c83a9a PCM DAC: fix reverse interpolation 2023-02-10 17:19:05 -05:00
tildearrow 0165a19630 SoundUnit: change 1-bit PDM mode to 8-bit TDM 2023-02-10 16:25:51 -05:00
tildearrow 9ba9b7b4f5 SegaPCM: per-chan osc 2023-02-10 03:12:18 -05:00
tildearrow e994f1a84d SegaPCM: fix VGM export 2023-02-10 02:47:26 -05:00
tildearrow 6036366f38 SegaPCM: new real emulation core 2023-02-10 02:01:23 -05:00
tildearrow 0d424c7962 SegaPCM: prepare to actually emulate it 2023-02-09 19:11:27 -05:00
tildearrow 00b329b896 OPN/2/A/B: implement new op enable 2023-02-09 17:36:33 -05:00
tildearrow 932963af34 CI: re-enable Linux builds 2023-02-09 16:08:58 -05:00
tildearrow 782fee380f Merge branch 'master' of github.com:tildearrow/furnace 2023-02-09 14:03:29 -05:00
tildearrow 2542a10620 YM2612: change strategy for operator toggle 2023-02-09 14:02:54 -05:00
tildearrow eb3914b849 GA20: fix mute again 2023-02-09 01:16:15 -05:00
cam900 ffe5ced7b9 Fix GA20 mute 2023-02-09 10:20:36 +09:00
tildearrow 2343cdecc5 VGM export: add "trailing ticks" option
issue #695
2023-02-08 19:25:03 -05:00
tildearrow 0a63399dcf PCE: reset wave on VGM export reset 2023-02-08 18:04:09 -05:00
tildearrow baf5b06b62 prepare to fix VGM export when hard reset is off 2023-02-08 04:14:11 -05:00
tildearrow 1a0e30453b Amiga: fix yet another crash? 2023-02-08 04:10:30 -05:00
cam900 4137650bdb Partially fix frequency with note map 2023-02-07 11:14:32 +09:00
cam900 575fc03b2e Fix compile 2023-02-07 10:55:11 +09:00
cam900 84cca17140 Remove unused variable 2023-02-07 10:29:50 +09:00
cam900 c0f950a169 Fix frequency offset 2023-02-07 10:27:32 +09:00
cam900 6a0a05c127 Fix loop 2023-02-07 10:20:38 +09:00
cam900 badd13e854 forgot this 2023-02-07 10:14:06 +09:00
cam900 29638cb5b0 Remove reversed loop support in ES5506 via driver complexity
Fix per-channel OSC
2023-02-07 10:09:33 +09:00
tildearrow 6d6b431bc9 GUI: new default FM layout 2023-02-06 18:53:39 -05:00
tildearrow ea0d7cd420 GUI: prepare to add a "basic mode" 2023-02-06 18:52:51 -05:00
tildearrow 79ede020cf TIA: finally fix negative octaves
issue #44
2023-02-06 15:24:37 -05:00
tildearrow 0ab448350b SAA1099: big endian panning fix?
issue #649
2023-02-06 14:23:44 -05:00
tildearrow 0b2df4f7d4 SoundUnit: enough of bitfields, part 2 2023-02-06 14:14:50 -05:00
tildearrow 63d0eb46a9 SoundUnit: enough of bitfields 2023-02-06 14:02:20 -05:00
cam900 4874f2e7f3 Newline issue 2023-02-06 21:19:19 +09:00
cam900 d6a9b3d86a Update vgsound_emu modification disclaimer 2023-02-06 21:19:00 +09:00
tildearrow f160ecba17 temporarily hide ES5506
until emulation core is optimized
2023-02-06 06:23:24 -05:00
tildearrow bcde1d532f ES5506: remove envelope macros 2023-02-06 05:06:54 -05:00
tildearrow 0954fc7932 CI: disable Linux builds again
yeah it's failing
2023-02-06 04:17:25 -05:00
tildearrow ab4bc4dfda GUI: more intuitive wave height number 2023-02-06 04:02:29 -05:00
tildearrow c7d75f45f1 GUI: fix wave edit right pane going off bounds 2023-02-06 03:57:46 -05:00
tildearrow c4121ccfd6 ES5506: more optimization 2023-02-06 03:44:03 -05:00
tildearrow bf0f424cca ES5506: fix mute 2 2023-02-06 03:22:11 -05:00
tildearrow 82c53da498 ES5506: fix mute 2023-02-06 03:20:45 -05:00
tildearrow 3a4057ece3 ES5506: optimize, part 1
man this core is so CPU heavy...
accuracy for what?
2023-02-06 03:00:25 -05:00
tildearrow 4c39de927b code style
and the fix
2023-02-06 01:36:19 -05:00
System64 056c895c69
Some improvements to the FM Wavetable editor (More waveforms, full modulation matrix) (Take 495, I hope SDL is fine now) (#935)
* Added more waveforms to the FM wavetable editor (Finally Sine isn't the only option anymore!)

* fixed quarter waveforms

* Complete modulation matrix with cross modulation. Also, now X axis modulates Y axis (it was Y modulating X before)

* I really hope it will work this time bruh

* Update gui.cpp

Fixed a programming error that can potentially lead to a SEGFAULT (Core dumped) because I was writing out of bounds of an array

---------

Co-authored-by: System64MC <nicolas1811.jans@gmail.com>
2023-02-06 01:29:01 -05:00
tildearrow cdc472dace and fix IT AGAIN
I hate tabs
2023-02-06 01:25:59 -05:00
tildearrow e7a95d4822 fix the pull request - again 2023-02-06 01:15:13 -05:00
tildearrow 8c2af08e5a fix the pull request
also what did that force push do? did I lose commits now?
2023-02-06 01:08:31 -05:00
tildearrow 4f33f9d815
Merge pull request #399 from cam900/es5506_alt
Add ES5506 support and Various enhancement for sample, etc
2023-02-06 01:01:07 -05:00
cam900 0029e7fe85 typecasting 2023-02-06 12:40:33 +09:00
cam900 a15f1755d0 Fix per-channel OSC (again) 2023-02-06 12:39:42 +09:00
cam900 8beb46d8f6 Fix per-channel OSC 2023-02-06 09:40:12 +09:00
cam900 2c5dc0875a Address comments 2023-02-06 09:16:28 +09:00
tildearrow 53c579064f GUI: add presets for VRC6 and MMC5 alone
and move PET to specialized. issue #724
2023-02-05 19:11:14 -05:00
tildearrow 8d13ec078c fix order edit buttons when follow pattern is off 2023-02-05 19:06:13 -05:00
cam900 03e0c8d8ee Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-02-06 08:56:14 +09:00
tildearrow 56d4950fad GUI: highlight cur display & play order separately
issue #932
2023-02-05 18:50:17 -05:00
tildearrow 26739bba11 YM2612: fix CSM on ymfm
finally
2023-02-05 17:42:48 -05:00
tildearrow c665326b2d GUI: add option to select render backend 2023-02-05 15:24:11 -05:00
tildearrow e32a8dda8f
Merge pull request #827 from tildearrow/opn_volbalance
Add SSG and FM/ADPCM volume mixer config for OPN/A/B
2023-02-05 05:13:05 -05:00
tildearrow b4df0b923b Merge branch 'master' into opn_volbalance 2023-02-05 04:58:03 -05:00
tildearrow fda333a76b default SSG vol is now 128
to eliminate one shift
2023-02-05 04:57:09 -05:00
tildearrow 1fa45ec57d YM2612: why 2023-02-05 04:09:47 -05:00
tildearrow 3cacbe4434 TIA: fix non-working arp macro 2023-02-05 03:54:30 -05:00
tildearrow 1a24fbe35f GUI: add ability to change sub-song comment 2023-02-05 03:50:32 -05:00
tildearrow 71e1f21a8f Merge branch 'master' of github.com:tildearrow/furnace 2023-02-05 02:57:19 -05:00
cam900 7e1acaf9d5 Add define value for number of chip defines 2023-02-05 12:46:23 +09:00
cam900 f8b9901e4b Fix command order 2023-02-05 10:04:31 +09:00
cam900 dd79ae401b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-02-05 10:00:27 +09:00
cam900 9577303451 Update copyright years 2023-01-24 08:16:56 +09:00
cam900 3403e10b0b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-24 08:14:29 +09:00
cam900 7340d029ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-19 16:51:27 +09:00
cam900 9ae12241a4 Fix downsampled rate accuracy 2023-01-16 10:25:59 +09:00
cam900 371c82338f Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-01-16 10:17:19 +09:00
cam900 16da587dec Possibly fix reversed loop with reversed playback 2023-01-16 10:08:10 +09:00
cam900 46865b3adb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-16 10:07:13 +09:00
cam900 f6f5353987 Fix volume 2023-01-15 08:15:12 +09:00
cam900 5cea63753c Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-01-15 08:04:24 +09:00
cam900 3d345af1b8 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-01-14 12:11:26 +09:00
cam900 fcc5b6e5eb Replace divider to shift 2023-01-14 11:55:40 +09:00
cam900 a8e388091a Merge branch 'master' of https://github.com/tildearrow/furnace into opn_volbalance 2023-01-14 11:51:46 +09:00
cam900 a50465496c Addressing commits 2023-01-14 11:51:10 +09:00
cam900 c995a52835 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-14 11:50:33 +09:00
cam900 ab46b8e080 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 14:24:43 +09:00
cam900 b64c089c56 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 09:48:52 +09:00
cam900 880ea5632d Fix presets 2023-01-12 23:32:05 +09:00
cam900 536c345763 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-12 23:31:56 +09:00
cam900 96983e3d48 Add SSG and FM/ADPCM volume mixer config for OPN/A/B 2023-01-05 09:49:21 +09:00
cam900 68964e384f Spacing 2023-01-05 08:51:44 +09:00
cam900 74e429fae2 Fix pitch 2023-01-05 08:51:25 +09:00
cam900 f5c1273c2d Clock preset fix 2023-01-05 08:47:24 +09:00
cam900 e5d81bd694 Prepare to YMF289B OPL3-L support 2023-01-05 08:40:44 +09:00
cam900 8a71a81ffb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-02 09:26:05 +09:00
cam900 ff937604c7
Merge branch 'master' into es5506_alt 2022-12-29 16:18:24 +09:00
cam900 0b948086d6 Remove accidentally added thing 2022-12-25 19:05:16 +09:00
cam900 f992346772 Addressing comments 2022-12-25 18:51:23 +09:00
cam900 96c0bea63b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-25 18:48:29 +09:00
cam900 a793bed56d
Merge branch 'master' into es5506_alt 2022-12-24 12:01:03 +09:00
cam900 2725024106 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-18 06:54:57 +09:00
cam900 b88970ff95 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-18 06:43:16 +09:00
cam900 7e9d429326 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-18 06:28:14 +09:00
cam900 d4defdf4c0 Fix build 2022-12-18 06:27:49 +09:00
cam900 f80a686cf5 Fix build 2022-12-17 18:37:08 +09:00
cam900 a32ade061f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-17 16:53:53 +09:00
cam900 80fd78dcdd Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-17 16:53:19 +09:00
cam900 e53efe2bcb sync with master 2022-12-17 15:00:58 +09:00
cam900 429aed0ab1 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-17 15:00:44 +09:00
cam900 2e7a0c37e3 Add DIV_CMD_SAMPLE_DIR command and macro 2022-12-15 17:35:01 +09:00
cam900 8365d1c977
Merge branch 'master' into es5506_alt 2022-12-15 16:06:59 +09:00
cam900 e454fdb3d5 Reduce debug duplication 2022-12-14 14:16:01 +09:00
cam900 1c4138dcff Sync with master 2022-12-14 14:13:17 +09:00
cam900 105e863a53 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-14 14:11:33 +09:00
cam900 f6cfc72b39 Sync with master 2022-12-13 14:53:00 +09:00
cam900 b2e15a5967
Merge branch 'master' into es5506_alt 2022-12-13 14:48:50 +09:00
cam900 37e83c0905 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-10 14:29:13 +09:00
cam900 ef08e9b0c2 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-08 11:38:08 +09:00
cam900 9ce00f18e6 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-06 10:08:06 +09:00
cam900 5672590cdc Fix again 2022-12-04 17:00:29 +09:00
cam900 317e9d01e2 Fix crash 2022-12-04 16:59:21 +09:00
cam900 35b2de8037 Sync with master 2022-12-04 16:58:54 +09:00
cam900 2ec35d903f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-04 16:53:54 +09:00
cam900 7867b59580 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-30 17:39:43 +09:00
cam900 46880634b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-15 11:52:30 +09:00
cam900 dce48d2703 Merge branch 'es5506_alt' of https://github.com/cam900/furnace; branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-07 09:48:22 +09:00
cam900 7a803f1e73 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-07 09:45:54 +09:00
cam900 bf6487b8bd
Merge branch 'master' into es5506_alt 2022-11-03 13:44:07 +09:00
cam900 5cc8f7163b Add notes for silent 2022-10-30 18:47:52 +09:00
cam900 893582fc68 Fix overwrite condition 2022-10-30 03:06:47 +09:00
cam900 ec6460da70 Actually fixes overwrite command 2022-10-30 03:00:33 +09:00
cam900 ae3d0bf019 Add some comments 2022-10-29 22:29:14 +09:00
cam900 1dd217de21 Fix sample position command 2022-10-29 22:07:48 +09:00
cam900 72594d978b Fix ES5506 command before keyon, Fix freqOffs change behavior, Fix initializing behavior, Reduce unnecessary variable 2022-10-29 21:49:31 +09:00
cam900 792beeb409 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-29 20:33:36 +09:00
cam900 9378a1043f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-28 13:23:32 +09:00
cam900 13b2a72a01 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-26 12:28:24 +09:00
cam900 2e3aee08d6 Spelling fix 2022-10-26 12:27:25 +09:00
cam900 9a41cff290 Remove unused variable 2022-10-22 17:57:44 +09:00
cam900 b6cdaa81e3 Fix compile 2022-10-22 17:36:33 +09:00
cam900 87cb3c49a4 Update ES5506:
Remove transwave for now
- It consumes high CPU usage, so possibly little headroom for anything else.
Fix per-voice OSC via git master
Fix default channel for ES5506
Fix macro order - Filter macro must be executed after key on
Add SSV preset
2022-10-22 17:19:39 +09:00
cam900 683abd8c69 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-22 16:57:38 +09:00
cam900 bb17f4636d Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-22 16:29:39 +09:00
cam900 487607b6ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-22 10:17:00 +09:00
cam900 081773b2da
Merge branch 'master' into es5506_alt 2022-10-12 15:31:38 +09:00
cam900 f8c494e1dd
Merge branch 'master' into es5506_alt 2022-10-09 20:05:15 +09:00
cam900 66f7ab688b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-02 10:52:14 +09:00
cam900 930369b797 Make macOS happy 2022-10-01 17:22:18 +09:00
cam900 c83d919fbc Sync to master 2022-09-30 20:01:31 +09:00
cam900 987cc113b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-30 20:01:21 +09:00
cam900 fdd53c1587 Fix crash, enum-ise reverse mode 2022-09-30 19:54:13 +09:00
cam900 8b934aa4a1 Fix ES5506 sysDef 2022-09-29 23:05:03 +09:00
cam900 5248f30fb4 Add ES5506 configs at format.md
Fix code format
2022-09-29 22:40:28 +09:00
cam900 62f1ba73eb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-29 22:05:41 +09:00
cam900 4f71214887 code style 2022-09-27 04:54:04 +09:00
cam900 013c7b92fb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-27 00:01:10 +09:00
cam900 45462be5dd Don't mess around with SDL 2022-09-26 07:54:52 +09:00
cam900 d87aebf47a Revert "Fix SDL"
This reverts commit b474b065bd.
2022-09-26 07:49:22 +09:00
cam900 b42d5b7c1b
Merge branch 'master' into es5506_alt 2022-09-26 07:31:06 +09:00
cam900 682aa0ad23 Unused variable 2022-09-25 22:23:56 +09:00
cam900 a0745e80b5 Accidentally removed this 2022-09-25 20:25:05 +09:00
cam900 a11440ac0f Fix cmdName 2022-09-25 20:22:22 +09:00
cam900 b0b729201a Remove duplicate 2022-09-25 19:23:23 +09:00
cam900 81bebc5112 Reduce unnecessary changes, Volume macro fixes, calcArp 2022-09-25 19:21:49 +09:00
cam900 bd08fc0193 Removed from master 2022-09-25 19:00:01 +09:00
cam900 b474b065bd Fix SDL 2022-09-25 18:57:42 +09:00
cam900 23e29fe57e Sync with master 2022-09-25 18:44:38 +09:00
cam900 5a6cde65ed Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:34:36 +09:00
cam900 8e1ce1abb1 Sync to master 2022-09-25 18:32:34 +09:00
cam900 0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
cam900 b449e3812d Fix compile 2022-09-22 22:49:54 +09:00
cam900 f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
cam900 8ae1d36ab6 Typecasting here 2022-06-26 09:56:07 +09:00
cam900 5e72274c5c I forgot here 2022-06-26 09:29:35 +09:00
cam900 04af689ae9 Fix typecasting(again) 2022-06-26 09:28:18 +09:00
cam900 a647a2599f Fix typecasting 2022-06-26 09:06:13 +09:00
cam900 3119ed8cc5 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-06-26 00:47:34 +09:00
cam900 2b5bb91237 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (55 commits)
  GUI: get rid of these stupid icons
  update to-do list
  MSM6258: the final bits
  MSM6258: clock/rate selection
  MSM6258: prepare for rate changing
  Update n163.md
  YM2612: DualPCM per-channel osc
  YM2612: more DualPCM muting fixes
  YM2612: fix DualPCM muting
  GUI: finish the blank ins up
  GUI: add "blank new instrument" option
  GUI: add mono/poly note preview button
  PC speaker: don't use printf/perror
  YM2612: CSM arpeggio and slides
  YM2612: - C   S   M -
  YM2612: half-working CSM
  YM2612: earliest completely untested CSM work
  delay collapse/expand pattern/song feature :<
  GUI: much more stable osc view
  YM2612: fix DAC output not visible in per-chan osc
  ...

# Conflicts:
#	src/engine/platform/genesis.cpp
#	src/engine/platform/genesis.h
#	src/ta-utils.h
2022-06-26 00:36:36 +09:00
cam900 0e1e1f33ec Fix compile 2022-06-06 00:36:52 +09:00
cam900 e8c672f91e Fix preview 2022-05-31 14:20:15 +09:00
cam900 0f414f17d7 Add Modifier and Contributor disclaimer 2022-05-31 14:18:40 +09:00
cam900 53d9ffd804 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 14:18:00 +09:00
cam900 3ab3774f92 Don't trim when set loop point 2022-05-31 14:15:47 +09:00
cam900 3b411cd14f Fix dead link, Frequency, Instrument editor related issue 2022-05-31 13:48:35 +09:00
cam900 a3bca9efa7 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 12:18:46 +09:00
cam900 02dbafb728 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-30 22:20:24 +09:00
cam900 d509f1ded3 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix major extended op macro corruption
2022-05-30 12:07:36 +09:00
cam900 0788e519d7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  MSM6295: fallback rate
  MSM6295: add more rates
2022-05-30 08:14:00 +09:00
cam900 4f6f13e938 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: improve unified data view
  GUI: sample editor preview in selection
  finally
  Revert "fudge and bread"
  Revert "fire!"
  Revert "temporarily kill MSVC"
  Revert "MSVC: ughh, f**k you, you d**khead."
  MSVC: ughh, f**k you, you d**khead.
  temporarily kill MSVC
  fire!

# Conflicts:
#	src/engine/engine.h
#	src/engine/playback.cpp
2022-05-30 08:13:27 +09:00
cam900 131081a030 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fudge and bread
  what?!
2022-05-29 13:50:09 +09:00
cam900 32152fd89b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (53 commits)
  prepare for better backward writing
  VGM export: fix oops
  GUI: drag-and-drop ins/wave/sample loading
  GUI: add "set loop" to sample editor
  MSM6295: VGM export!
  oops
  MSM6295: add rate select effect (20xx)
  update meteor shower
  MSVC is better than GCC right?
  update to-do list
  door into summer
  GUI: implement input for touch events
  GUI: update SDL hints
  fix Termux build
  add another demo song
  add demos/ecolove.fur
  update to-do list
  update demos/README.md
  add new demo songs
  dev99 - major Fractal system change
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/genesis.cpp
#	src/engine/playback.cpp
#	src/engine/song.h
#	src/engine/vgmOps.cpp
2022-05-29 13:47:39 +09:00
cam900 cbf20c6320 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (58 commits)
  SMS: early Nuked-PSG modding
  SMS: add modified Nuked-PSG core
  build release and don't strip
  strip MinGW builds
  FDS: a bit more
  FDS: set a post-amp value
  FDS: fix NSFplay core low pass filter precision
  fix .dmf saving
  fix compilation on GCC 12
  Fix multithreading on CI
  Lynx: why did I not commit this
  Lynx: more sample improvements
  Lynx: sample improvements
  Lynx: add sample support!
  GUI: fix wavetable list oversight
  WaveSynth: fix phase modulation - again
  GUI: fix possible wave editor crash
  WaveSynth: fix phase modulation
  Lynx: add phase reset macro
  fix another fucking IGFD crash bug
  ...

# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/presets.cpp
2022-05-27 13:01:06 +09:00
cam900 17881837ab Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (64 commits)
  finish wave synth!
  update contributing guidelines
  Namco WSG: make non-linear slides faster
  wave synth work
  SoundUnit: fix order of filter bits
  GUI: add Namco arcade presets
  implement some dual wave synth effects
  Y8950: fix ADPCM VGM export
  Namco WSG: finish it up
  Namco WSG: 8 channel WSG (CUS30) now works
  Namco WSG: muting
  Namco WSG: 8 channel WSG (15xx) now works
  Namco WSG: 3 channel WSG now works
  YM2612: change key on/off strategy
  GUI: fix scrollbars not working
  Please enter the commit message for your changes.
  shhhhhhhhhhhh
  update to-do list
  Whoops
  it doesn't work (yet)
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/su.cpp
#	src/engine/playback.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/song.h
#	src/engine/vgmOps.cpp
#	src/gui/presets.cpp
2022-05-25 00:52:00 +09:00
cam900 f7ba60bfa9 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (46 commits)
  PCE: fix two issues
  SegaPCM: fix samples bigger than 64KB
  SCC: implement VGM soft reset
  GUI: add option to clear orders
  GUI: implement "clear all subsongs"
  GUI: fix crash when deleting current subsong
  CI: only 1 core for MinGW
  Fix AY8910 envelope hangs
  OPL: fix fixed frequency drums
  pick nits: the sequel
  pick nits
  AY: fix possible hang
  hide .ftm format
  Add x2 icon variations as well
  Install more size variations on Linux
  OPLL: fix fixed drums freq
  GUI: make backupTimer atomic
  Have OPN* platforms set the correct YM2149 chip type.
  update to-do list
  ZX beeper: clarify effects (will be done later)
  ...

# Conflicts:
#	src/engine/platform/segapcm.cpp
2022-05-22 18:24:17 +09:00
cam900 028adf2c8e Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (70 commits)
  whoops
  GUI: AY8930 credits
  GUI: fix inability to close subsongs
  BANK
  OPN: wire up ExtCh system
  fix build failure
  dev95 - multiple songs in a single file (READ)
  DO NOT USE - THIS FAILS - WORK IN PROGRESS
  enforce asset limits
  old .dmf loading improvements
  add AICA and YMZ ADPCM formats
  allocate ID for YMZ280B
  harden .fur file saver
  Fix AY VGM output, Fix presets
  preparations for UI improvements
  GUI: add more presets
  prepare for ExtCh OPN/OPNA
  GUI: clarify that lock layout doesn't work yet
  GUI: remember last state of order edit mode
  GUI: store edit/followOrders/followPattern state
  ...

# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610b.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/sysDef.cpp
#	src/gui/doAction.cpp
#	src/gui/sysConf.cpp
2022-05-18 03:09:55 +09:00
cam900 2a19834e14 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  full linear pitch is now the default
  add a full linear pitch mode, part 7
  X1-010: implement linear pitch (part 6)
  VERA: implement full linear pitch (part 5)
  YM2610(B): implement full linear pitch (part 4)
  add a full linear pitch mode, part 3
  YM2612: implement full linear pitch (part 2)
  update readme
  re-enable warnings are errors on MSVC
  YM2612: early full linear pitch experiment
  GUI: window movement only by clicking on title bar
  Fix GCC errors 2
  Fix GCC errors
  Remove SCC from TODO.md
  SCC has no config flags currently
  Add SCC and SCC+ support

# Conflicts:
#	CMakeLists.txt
#	src/engine/dispatchContainer.cpp
#	src/gui/guiConst.cpp
2022-05-16 00:37:07 +09:00
cam900 23f086fda6 Allow 8 bit filter write, Linear pitch support 2022-05-11 15:10:21 +09:00
cam900 54e78699a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev94 - add a full linear pitch mode, part 1
  YM2610(B): use f-num/block baseFreq calculation
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
2022-05-11 00:55:03 +09:00
cam900 4efa711a2b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (44 commits)
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  Fix outdated calling convention in SAASound (maybe fix MinGW)
  GUI: macro UI refactor, part 3
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Maybe just enforce for C++
  Forbid standard extensions
  .ftm loading progress (incomplete, not working)
  ...

# Conflicts:
#	src/engine/instrument.h
#	src/gui/insEdit.cpp

Transwave Checkpoint
2022-05-11 00:16:20 +09:00
cam900 ab1ac51d68 Fix build, Transwave Checkpoint 2022-05-08 17:56:52 +09:00
cam900 0ab1f69c7c Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix sample saving
  add extra FM effects to effect post handler
  dev91 - it's a breaking change
  aaaaaa
  AY8930: Fix tone and noise period in expanded mode.
  OPL: fix possible crash
2022-05-04 10:31:15 +09:00
cam900 4595e18aea Oops 2022-05-04 10:28:30 +09:00
cam900 4021abe495 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  YM2610: optimize oscilloscope fetch CPU usage
  GUI: add audio load meter to statistics
  GUI: put "OK" and "Cancel" buttons in the bottom
  better FM chip names
  sysDef refactor, part 3 - PLEASE READ
  NO
  Reduce unnecessary line
  Debug improvements
  AY8930: Fix VGM output.

# Conflicts:
#	.gitignore
#	src/engine/playback.cpp
#	src/gui/debugWindow.cpp
2022-05-04 03:32:26 +09:00
cam900 317c4b4f82 Prepare for transwave 2022-05-04 03:09:58 +09:00
cam900 83e58e0205 Fix GCC 2022-05-03 12:55:36 +09:00
cam900 a601d0eea5 Match previous filter coefficient value to current value in debug menu
Progress state:
Filter slide up/down, both for K1, K2
2022-05-03 12:39:17 +09:00
cam900 ec5069ad21 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  document (NON-WORKING) extended op param effects
  FDS: add NSFPlay core
  NES: fix Furnace-style DPCM
  SoundUnit: fix PCM pitch
  SoundUnit: PCM support

# Conflicts:
#	src/engine/sample.h
#	src/gui/debugWindow.cpp
2022-05-03 11:11:43 +09:00
cam900 e136db6d7a Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (26 commits)
  prepare for #38
  NES: DPCM work!
  fix bug caused by new renderSamples approach
  NES: prepare for DPCM
  OPZ: more fixed frequency mode fixes
  OPZ: possibly fix fixed freq emulation
  OPZ: fix muting
  OPL: fix panning
  damn it
  per-channel oscilloscope, part 10
  NES: NSFPlay per-channel osc
  NES: NSFPlay muting
  NES: now fix tri_mute
  NES: finally
  fix typo in playback engine
  NES: wire up NSFplay
  now fix it damn it
  now move these files
  add readme
  convertir de Shift-JIS a UTF-8
  ...

# Conflicts:
#	src/engine/engine.cpp
#	src/engine/engine.h
#	src/engine/platform/nes.cpp
#	src/engine/vgmOps.cpp
#	src/gui/stats.cpp
2022-05-03 11:07:50 +09:00
cam900 8283d46e7d Disable reversed playback checkbox when using sample map
Clamp per-channel OSC output, Reduce warning
2022-05-02 21:19:10 +09:00
cam900 e246697928 Prepare for per-channel osc view, ES550X core update 2022-05-01 21:26:10 +09:00
cam900 329048bf6c Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  Clang you are so arrogant
  ok so screw you
  let's hope this works
  attempt to fix CI
  per-channel oscilloscope, part 8
  per-channel oscilloscope, part 7
  per-channel oscilloscope, part 6
  per-channel oscilloscope, part 5
  but PCE supports samples!
  per-channel oscilloscope, part 4
  YM2612: fix Furnace DAC mode glitching slides
  per-channel oscilloscope, part 3
  GUI: add missing actions to settings
  per-channel oscilloscope, part 2
  Revert PC speaker presets
  Have host sound chip appear before expansions
2022-05-01 19:59:03 +09:00
cam900 83405dcb4f Sync with master
* Add boundary for system enum
* Add ES5506 VGM version (not support yet)
2022-05-01 00:44:29 +09:00
cam900 5414213710 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  maybe uninitialized
  GUI: prepare for a per-channel oscilloscope?
  GUI: add backdrop if system file picker is open
  GUI: add ability to customize startup system
  GUI: finally implement "don't scroll when moving c ursor" setting
  new panning effects (80/81/82)
  GUI: fix sample paste crash
  GUI: implement sample scroll with mouse wheel
  sysDef oopsie

# Conflicts:
#	src/gui/guiConst.cpp
2022-05-01 00:25:21 +09:00
cam900 53a52788e2 Add per-note map reversed playback support
Prepare for pcm changed flag, 8 bit panning command
Reduce register spamming in volume update routine

Progress report:
* Emulation core update, Dispatch update:
  * Volume is unsigned like original chip, for reduce overflow.
* Add multi-mode macro support for radio button
2022-04-30 23:45:05 +09:00
cam900 72e8bb89a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: sample/macro zoom with ctrl-wheel
  GUI: prevent division by zero
  GUI: possibly fix an instrument saving issue
  GUI: add chip randomizer button
  update to-do list
  oops
  NES: add DMC write effect
  SoundUnit: implement panning
  QSound: implement panning macro - PLEASE READ
  further improve channel allocation
  update format.md for eventual ExtCh extra systems
  improvements to swap/stomp channel

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-30 02:32:55 +09:00
cam900 ee7633ba7a Add dummy sample for reduce phase accumulator wraparound related issue 2022-04-30 02:06:16 +09:00
cam900 d0c55e4951 Fix build 2022-04-28 23:58:35 +09:00
cam900 eb3baabc1d Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  OPL 4-op note preview possible fix
  better channel allocation strategy
2022-04-28 23:33:12 +09:00
cam900 cdb3a51766 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  implement channel swapping
  implement relative pitch macro mode
  prepare for relative pitch macro

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 23:30:50 +09:00
cam900 3956b2cd30 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev90 - linear pitch macro option
  dev89 - C64: add test/gate macro
  YMU759: update system definition
  more changes to autoNoteOn
  SoundUnit: ring modulation
  GUI: improve the maximize auto-detection a bit
  GUI: possibly remember maximized state
  NES: fix audio resolution being too low
  update to-do list
  SoundUnit: more stuff
  SoundUnit: max cutoff 16383
  effectRows -> effectCols
  GUI: rename Amiga/Sample to Sample
  This is not a sample properties table
  Define the compact wave editor
  Menu option, settings file

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 16:05:01 +09:00
cam900 8c214d40e1 Fix build, Core update 2022-04-27 22:08:18 +09:00
cam900 37216e323f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix MSVC oh my
  improvements to sysDef and UX changes

# Conflicts:
#	src/engine/dispatchContainer.cpp
#	src/gui/insEdit.cpp
2022-04-27 21:21:08 +09:00
cam900 0209ebda03 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  sysDef refactor, part 2
  sysDef refactor, part 1 - PLEASE READ NOTE
  prepare for macroInt preview in instrument editor
  GUI: fix #400
  fix metronome in low-latency mode

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/instrument.h
#	src/engine/song.h
#	src/engine/sysDef.cpp
#	src/gui/dataList.cpp
#	src/gui/gui.h
#	src/gui/guiConst.cpp
2022-04-27 19:52:04 +09:00
cam900 482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
cam900 7fbd239b85 emulation core related fix, reversed loop and volume 2022-04-27 00:47:01 +09:00
cam900 97d2bddf1f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:54:11 +09:00
cam900 49a41ff862 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (77 commits)
  GUI: use pattern font for input latch
  GUI: partially implement note input latch UI
  GUI: transpose value does not transpose effect ID
  GUI: prepare for note input latch UI
  GUI: min ins selector width fix
  GUI: separate operation masks
  GUI: add missing FDS preset
  GUI: prepare for separate operation mask
  GUI: "none" instrument should not remove inscolumn
  GUI: fix ins 0 being inserted on blank song
  GUI: add a "none" option to instrument list
  update to-do list
  GUI: add "absorb" instrument input mode
  use good default instrument when adding ins
  better default instrument for OPL/OPLL
  GUI: fix selection being visible in dummy row area
  Further fix looped sample preview
  GUI: fix about screen in power saving mode
  VRC6: saw volume 63
  GUI: add an effect list window
  ...

# Conflicts:
#	src/engine/platform/amiga.cpp
#	src/engine/vgmOps.cpp
#	src/gui/dataList.cpp
#	src/gui/guiConst.cpp
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:04:23 +09:00
cam900 29ea6dc360 Partially ES5506 support (not working yet!)
Add sample related enums
Add support for backward/pingpong loop, loop end position
Structize Notemap in sample instrument
2022-04-21 01:52:37 +09:00
896 changed files with 184425 additions and 27952 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
*.sfd text

View File

@ -1 +1,39 @@
<!-- NOTICE: if you are going to write a suggestion, see the Discussions section instead. any suggestions posted in Issues will be closed. -->
# IMPORTANT NOTICE
1. this section is exclusively for ISSUES related to Furnace (bugs, major annoyances and others).
2. this section is NOT for Suggestions, Questions, Showcase or any other Discussions that do not meet the criteria and definition of an ISSUE.
- see the Discussions section if you wish to submit these.
3. check whether your issue has been reported already.
- go to the Issues section, and use the search bar that appears on top of the Issues list.
4. include the following information:
- version of Furnace (help > about)
- operating system (and version)
- whether you have downloaded Furnace, or built it from source.
5. provide these details if you believe the issue is operating system and/or computer-specific:
- CPU model
- Windows: go to Control Panel > System.
- macOS: go to the Apple menu and select About This Mac...
- Linux: use `lscpu` or `cat /proc/cpuinfo`.
- graphics card (and driver version)
- Windows: open `dxdiag` and observe the Render tab.
- macOS: go to the Apple menu and select About This Mac...
- this information is not always shown.
- this information is not necessary if you use an Apple silicon Mac.
- Linux: use `glxinfo | grep OpenGL`.
6. if your issue is an abnormal program termination (a "Crash"), you must provide additional details:
- the furnace_crash.txt file that is created by Furnace after a Crash. this file is located in the following paths:
- Windows: `C:\Users\<username>\furnace_crash.txt`
- Linux/other: `/tmp/furnace_crash.txt`
- on macOS this file is not generated. you may retrieve information about the Crash by clicking on "Report..." or "Show Details" in the "quit unexpectedly" dialog that appears following the Crash.
- make sure to remove any personal information for privacy reasons.
- be sure to select "Don't Send" afterwards.
- the furnace.log file located in:
- Windows: `C:\Users\<username>\AppData\Roaming\furnace\furnace.log`
- macOS: `~/Library/Application Support/furnace/furnace.log`
- Linux: `~/.config/furnace/furnace.log`
- make sure to remove any personal information for privacy reasons.
BY SUBMITTING A TICKET, YOU HEREBY AGREE TO COMPLY WITH THESE TERMS.
FAILURE TO DO SO MAY RESULT IN YOUR TICKET BEING DECLARED VOID.
***END OF NOTICE*** --- REMOVE THIS NOTICE AFTER READING!

View File

@ -24,7 +24,7 @@ jobs:
#- { name: 'Windows MinGW x86_64', os: ubuntu-20.04, compiler: mingw, arch: x86_64 }
- { name: 'macOS x86_64', os: macos-latest, arch: x86_64 }
- { name: 'macOS ARM', os: macos-latest, arch: arm64 }
- { name: 'Linux x86_64', os: ubuntu-18.04, arch: x86_64 }
- { name: 'Linux x86_64', os: ubuntu-20.04, arch: x86_64 }
#- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf }
fail-fast: false
@ -82,7 +82,7 @@ jobs:
package_ext=".dmg"
else
package_name="${package_name}-Linux-${{ matrix.config.arch }}"
package_ext=".AppImage"
package_ext=".tar.gz"
fi
echo "Package identifier: ${package_name}"
@ -128,10 +128,7 @@ jobs:
librtmidi-dev \
libsndfile1-dev \
zlib1g-dev \
libjack-jackd2-dev \
appstream
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" || wget "https://tildearrow.org/storage/furnace/ci/appimagetool-x86_64.AppImage"
chmod +x appimagetool-x86_64.AppImage
libjack-jackd2-dev
- name: Install Dependencies [Linux armhf]
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'armhf' }}
@ -151,9 +148,6 @@ jobs:
libsndfile1-dev:armhf \
zlib1g-dev:armhf \
libjack-jackd2-dev:armhf
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" || wget "https://tildearrow.org/storage/furnace/ci/appimagetool-x86_64.AppImage"
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/runtime-armhf" || wget "https://tildearrow.org/storage/furnace/ci/runtime-armhf"
chmod +x appimagetool-x86_64.AppImage
ls /usr/arm-linux-gnueabihf/lib
- name: Configure (System Libraries)
@ -243,6 +237,7 @@ jobs:
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DWARNINGS_ARE_ERRORS=${USE_WAE} \
-DWITH_DEMOS=OFF -DWITH_INSTRUMENTS=OFF -DWITH_WAVETABLES=OFF \
"${CMAKE_EXTRA_ARGS[@]}"
- name: Build
@ -277,7 +272,7 @@ jobs:
cp -v ../LICENSE LICENSE.txt
cp -v ../README.md README.txt
cp -vr ../{papers,demos,instruments} ../${binPath}/furnace.exe ./
cp -vr ../papers ../${binPath}/furnace.exe ./
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
cp -v ../${binPath}/furnace.pdb ./
fi
@ -300,24 +295,37 @@ jobs:
# strip -s build/furnace
#fi
mkdir -p target/furnace.AppDir
make -C ${PWD}/build DESTDIR=${PWD}/target/furnace.AppDir install
pushd target
mkdir -p target/furnace
make -C ${PWD}/build DESTDIR=${PWD}/target/furnace install
pushd target/furnace
cp -v ../../res/logo.png .DirIcon
cd usr
mv bin/furnace ..
rmdir bin
rm -r share/applications
rm -r share/doc
rm -r share/icons
rm -r share/licenses
rm -r share/metainfo
rmdir share
cd ..
cp ../../LICENSE .
cp ../../README.md .
cp -r ../../papers papers
rmdir usr
pushd furnace.AppDir
cp -v usr/share/{icons/hicolor/1024x1024/apps/furnace.png,applications/furnace.desktop} ./
ln -s furnace.png .DirIcon
mv -v usr/share/metainfo/{furnace.appdata,org.tildearrow.furnace.metainfo}.xml
cp -v ../../res/AppRun ./
popd
if [ '${{ matrix.config.arch }}' == 'armhf' ]; then
../appimagetool-x86_64.AppImage --runtime-file=../runtime-armhf furnace.AppDir
else
../appimagetool-x86_64.AppImage furnace.AppDir
fi
mv Furnace-*.AppImage ../${{ steps.package-identify.outputs.filename }}
popd
cd target
tar -zcv -f ../${{ steps.package-identify.outputs.filename }} furnace
- name: Upload artifact
if: ${{ github.repository == 'tildearrow/furnace' && github.ref_name == 'master' }}

7
.gitignore vendored
View File

@ -6,6 +6,7 @@ release/
t/
winbuild/
win32build/
xpbuild/
macbuild/
linuxbuild/
*.swp
@ -15,6 +16,8 @@ test/songs/
test/delta/
test/result/
test/assert_delta
android/local.properties
android/.idea/
android/.gradle/
android/app/build/
android/app/.cxx/
@ -22,3 +25,7 @@ android/app/.cxx/
CMakeSettings.json
CMakePresets.json
extern/imgui_patched/examples/
src/asm/68k/amigatest/*.bin
src/asm/68k/amigatest/player
res/binary_to_compressed_c
res/binary_to_compressed_c.exe

4
.gitmodules vendored
View File

@ -1,6 +1,7 @@
[submodule "extern/SDL"]
path = extern/SDL
url = https://github.com/libsdl-org/SDL.git
branch = release-2.28.x
[submodule "extern/libsndfile"]
path = extern/libsndfile
url = https://github.com/libsndfile/libsndfile.git
@ -11,3 +12,6 @@
[submodule "extern/adpcm"]
path = extern/adpcm
url = https://github.com/superctr/adpcm
[submodule "extern/portaudio"]
path = extern/portaudio
url = https://github.com/PortAudio/portaudio.git

View File

@ -27,6 +27,7 @@ include(TestBigEndian)
if (ANDROID)
set(USE_RTMIDI_DEFAULT OFF)
set(WITH_PORTAUDIO_DEFAULT OFF)
set(USE_BACKWARD_DEFAULT OFF)
find_library(TERMUX rt)
if (TERMUX)
@ -34,6 +35,7 @@ if (ANDROID)
endif()
else()
set(USE_RTMIDI_DEFAULT ON)
set(WITH_PORTAUDIO_DEFAULT ON)
if (WIN32 OR APPLE)
set(USE_BACKWARD_DEFAULT ON)
else()
@ -54,15 +56,39 @@ else()
set(WITH_JACK_DEFAULT OFF)
endif()
set(WITH_RENDER_SDL_DEFAULT ON)
if (APPLE)
set(WITH_RENDER_OPENGL_DEFAULT OFF)
else()
set(WITH_RENDER_OPENGL_DEFAULT ON)
endif()
if (WIN32)
set(WITH_RENDER_DX11_DEFAULT ON)
else()
set(WITH_RENDER_DX11_DEFAULT OFF)
endif()
if (ANDROID)
set(USE_GLES_DEFAULT ON)
else()
set(USE_GLES_DEFAULT OFF)
endif()
option(BUILD_GUI "Build the tracker (disable to build only a headless player)" ${BUILD_GUI_DEFAULT})
option(USE_RTMIDI "Build with MIDI support using RtMidi." ${USE_RTMIDI_DEFAULT})
option(USE_SDL2 "Build with SDL2. Required to build with GUI." ${USE_SDL2_DEFAULT})
option(USE_SNDFILE "Build with libsndfile. Required in order to work with audio files." ${USE_SNDFILE_DEFAULT})
option(USE_BACKWARD "Use backward-cpp to print a backtrace on crash/abort." ${USE_BACKWARD_DEFAULT})
option(WITH_JACK "Whether to build with JACK support. Auto-detects if JACK is available" ${WITH_JACK_DEFAULT})
option(WITH_PORTAUDIO "Whether to build with PortAudio for audio output." ${WITH_PORTAUDIO_DEFAULT})
option(WITH_RENDER_SDL "Whether to build with the SDL_Renderer render backend." ${WITH_RENDER_SDL_DEFAULT})
option(WITH_RENDER_OPENGL "Whether to build with the OpenGL render backend." ${WITH_RENDER_OPENGL_DEFAULT})
option(WITH_RENDER_DX11 "Whether to build with the DirectX 11 render backend." ${WITH_RENDER_DX11_DEFAULT})
option(USE_GLES "Use OpenGL ES for the OpenGL render backend." ${USE_GLES_DEFAULT})
option(SYSTEM_FFTW "Use a system-installed version of FFTW instead of the vendored one" OFF)
option(SYSTEM_FMT "Use a system-installed version of fmt instead of the vendored one" OFF)
option(SYSTEM_LIBSNDFILE "Use a system-installed version of libsndfile instead of the vendored one" OFF)
option(SYSTEM_PORTAUDIO "Use a system-installed version of PortAudio instead of the vendored one" OFF)
option(SYSTEM_RTMIDI "Use a system-installed version of RtMidi instead of the vendored one" OFF)
option(SYSTEM_ZLIB "Use a system-installed version of zlib instead of the vendored one" OFF)
option(SYSTEM_SDL2 "Use a system-installed version of SDL2 instead of the vendored one" ${SYSTEM_SDL2_DEFAULT})
@ -70,6 +96,7 @@ option(SUPPORT_XP "Build a Windows XP-compatible binary" OFF)
option(WARNINGS_ARE_ERRORS "Whether warnings in furnace's C++ code should be treated as errors" OFF)
option(WITH_DEMOS "Install demo songs" ON)
option(WITH_INSTRUMENTS "Install instruments" ON)
option(WITH_WAVETABLES "Install wavetables" ON)
set(DEPENDENCIES_INCLUDE_DIRS "")
@ -91,12 +118,19 @@ set(DEPENDENCIES_LIBRARY_DIRS "")
set(DEPENDENCIES_LINK_OPTIONS "")
set(DEPENDENCIES_LEGACY_LDFLAGS "")
if (BUILD_GUI)
if (BUILD_GUI AND WITH_RENDER_SDL)
set(SYSTEM_SDL_MIN_VER 2.0.18)
else()
set(SYSTEM_SDL_MIN_VER 2.0.0)
endif()
if (WIN32)
# support Windows XP
if (SUPPORT_XP)
add_compile_definitions("_WIN32_WINNT=0x0501")
endif()
endif()
list(APPEND DEPENDENCIES_INCLUDE_DIRS "extern/SAASound/include")
list(APPEND DEPENDENCIES_INCLUDE_DIRS "extern/vgsound_emu-modified")
@ -174,6 +208,27 @@ else()
message(STATUS "Not using libsndfile")
endif()
if (WITH_PORTAUDIO)
if (SYSTEM_PORTAUDIO)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PORTAUDIO REQUIRED portaudio)
list(APPEND DEPENDENCIES_INCLUDE_DIRS ${PORTAUDIO_INCLUDE_DIRS})
list(APPEND DEPENDENCIES_COMPILE_OPTIONS ${PORTAUDIO_CFLAGS_OTHER})
list(APPEND DEPENDENCIES_LIBRARIES ${PORTAUDIO_LIBRARIES})
list(APPEND DEPENDENCIES_LIBRARY_DIRS ${PORTAUDIO_LIBRARY_DIRS})
list(APPEND DEPENDENCIES_LINK_OPTIONS ${PORTAUDIO_LDFLAGS_OTHER})
list(APPEND DEPENDENCIES_LEGACY_LDFLAGS ${PORTAUDIO_LDFLAGS})
message(STATUS "Using system-installed PortAudio")
else()
set(PA_BUILD_SHARED_LIBS OFF CACHE BOOL "Build dynamic library" FORCE)
# don't - Furnace has its own implementation
set(PA_USE_JACK OFF CACHE BOOL "Enable support for JACK Audio Connection Kit" FORCE)
add_subdirectory(extern/portaudio EXCLUDE_FROM_ALL)
list(APPEND DEPENDENCIES_LIBRARIES PortAudio)
message(STATUS "Using vendored PortAudio")
endif()
endif()
if (USE_RTMIDI)
if (SYSTEM_RTMIDI)
find_package(PkgConfig REQUIRED)
@ -253,6 +308,13 @@ if (USE_SDL2)
# If you link SDL statically, you also need to define HAVE_LIBC so it builds with the C runtime that your application uses.
# This should probably go in a FAQ.
set(SDL_LIBC ON CACHE BOOL "Tell SDL that we want it to use our C runtime (required for proper static linking)" FORCE)
# https://github.com/tildearrow/furnace/issues/1237
# enabling this will result in SDL finding the Direct3D headers, forcing _WIN32_WINNT to an undesirable value (which makes the Wine headers define GetTickCount64)
if (SUPPORT_XP)
set(SDL_RENDER_D3D OFF CACHE BOOL "Enable the Direct3D render driver" FORCE)
endif()
add_subdirectory(extern/SDL EXCLUDE_FROM_ALL)
list(APPEND DEPENDENCIES_DEFINES HAVE_SDL2)
list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/SDL/include)
@ -277,6 +339,12 @@ else()
endif()
endif()
if (BUILD_GUI)
if (NOT WITH_RENDER_SDL AND NOT WITH_RENDER_OPENGL AND NOT WITH_RENDER_DX11)
message(FATAL_ERROR "No render backends selected!")
endif()
endif()
set(AUDIO_SOURCES
src/audio/abstract.cpp
src/audio/midi.cpp
@ -302,6 +370,14 @@ else()
message(STATUS "Building without JACK support")
endif()
if (WITH_PORTAUDIO)
list(APPEND AUDIO_SOURCES src/audio/pa.cpp)
message(STATUS "Building with PortAudio")
list(APPEND DEPENDENCIES_DEFINES HAVE_PA)
else()
message(STATUS "Building without PortAudio")
endif()
if (USE_RTMIDI)
list(APPEND AUDIO_SOURCES src/audio/rtmidi.cpp)
message(STATUS "Building with RtMidi")
@ -365,6 +441,7 @@ src/engine/platform/sound/sn76496.cpp
src/engine/platform/sound/ay8910.cpp
src/engine/platform/sound/saa1099.cpp
src/engine/platform/sound/namco.cpp
src/engine/platform/sound/segapcm.cpp
src/engine/platform/sound/gb/apu.c
src/engine/platform/sound/gb/timing.c
src/engine/platform/sound/pce_psg.cpp
@ -399,6 +476,7 @@ src/engine/platform/sound/c64/wave8580_PST.cc
src/engine/platform/sound/c64/wave8580_P_T.cc
src/engine/platform/sound/c64/wave8580__ST.cc
src/engine/platform/sound/c64_fp/array.cpp
src/engine/platform/sound/c64_fp/Dac.cpp
src/engine/platform/sound/c64_fp/EnvelopeGenerator.cpp
src/engine/platform/sound/c64_fp/ExternalFilter.cpp
@ -417,6 +495,8 @@ src/engine/platform/sound/c64_fp/WaveformCalculator.cpp
src/engine/platform/sound/c64_fp/WaveformGenerator.cpp
src/engine/platform/sound/c64_fp/resample/SincResampler.cpp
src/engine/platform/sound/c64_d/dsid.c
src/engine/platform/sound/tia/AudioChannel.cpp
src/engine/platform/sound/tia/Audio.cpp
@ -454,6 +534,14 @@ src/engine/platform/sound/snes/SPC_DSP.cpp
src/engine/platform/sound/ga20/iremga20.cpp
src/engine/platform/sound/sm8521.c
src/engine/platform/sound/d65modified.c
src/engine/platform/sound/ted-sound.c
src/engine/platform/sound/c140_c219.c
src/engine/platform/oplAInterface.cpp
src/engine/platform/ym2608Interface.cpp
src/engine/platform/ym2610Interface.cpp
@ -462,12 +550,17 @@ src/engine/blip_buf.c
src/engine/brrUtils.c
src/engine/safeReader.cpp
src/engine/safeWriter.cpp
src/engine/workPool.cpp
src/engine/cmdStream.cpp
src/engine/cmdStreamOps.cpp
src/engine/config.cpp
src/engine/configEngine.cpp
src/engine/dispatchContainer.cpp
src/engine/engine.cpp
src/engine/export.cpp
src/engine/fileOps.cpp
src/engine/fileOpsIns.cpp
src/engine/fileOpsSample.cpp
src/engine/filter.cpp
src/engine/instrument.cpp
src/engine/macroInt.cpp
@ -478,9 +571,11 @@ src/engine/song.cpp
src/engine/sysDef.cpp
src/engine/wavetable.cpp
src/engine/waveSynth.cpp
src/engine/wavOps.cpp
src/engine/vgmOps.cpp
src/engine/zsmOps.cpp
src/engine/zsm.cpp
src/engine/platform/abstract.cpp
src/engine/platform/genesis.cpp
src/engine/platform/genesisext.cpp
@ -523,6 +618,7 @@ src/engine/platform/t6w28.cpp
src/engine/platform/vb.cpp
src/engine/platform/vera.cpp
src/engine/platform/zxbeeper.cpp
src/engine/platform/zxbeeperquadtone.cpp
src/engine/platform/bubsyswsg.cpp
src/engine/platform/n163.cpp
src/engine/platform/pet.cpp
@ -530,6 +626,7 @@ src/engine/platform/pokemini.cpp
src/engine/platform/pong.cpp
src/engine/platform/vic20.cpp
src/engine/platform/vrc6.cpp
src/engine/platform/es5506.cpp
src/engine/platform/scc.cpp
src/engine/platform/ymz280b.cpp
src/engine/platform/namcowsg.cpp
@ -537,8 +634,19 @@ src/engine/platform/rf5c68.cpp
src/engine/platform/snes.cpp
src/engine/platform/k007232.cpp
src/engine/platform/ga20.cpp
src/engine/platform/sm8521.cpp
src/engine/platform/pv1000.cpp
src/engine/platform/k053260.cpp
src/engine/platform/ted.cpp
src/engine/platform/c140.cpp
src/engine/platform/pcmdac.cpp
src/engine/platform/dummy.cpp
src/engine/export/abstract.cpp
src/engine/export/amigaValidation.cpp
src/engine/effect/abstract.cpp
src/engine/effect/dummy.cpp
)
if (USE_SNDFILE)
@ -560,12 +668,15 @@ extern/imgui_patched/imgui.cpp
extern/imgui_patched/imgui_draw.cpp
extern/imgui_patched/imgui_tables.cpp
extern/imgui_patched/imgui_widgets.cpp
extern/imgui_patched/backends/imgui_impl_sdlrenderer.cpp
extern/imgui_patched/backends/imgui_impl_sdl.cpp
extern/imgui_patched/backends/imgui_impl_sdl2.cpp
extern/imgui_patched/misc/cpp/imgui_stdlib.cpp
extern/igfd/ImGuiFileDialog.cpp
src/gui/plot_nolerp.cpp
src/gui/render.cpp
src/gui/render/abstract.cpp
src/gui/font_exo.cpp
src/gui/font_liberationSans.cpp
src/gui/font_mononoki.cpp
@ -575,13 +686,26 @@ src/gui/font_proggyClean.cpp
src/gui/font_ptMono.cpp
src/gui/font_unifont.cpp
src/gui/font_icon.cpp
src/gui/font_furicon.cpp
src/gui/fonts.cpp
src/gui/image_icon.cpp
src/gui/image_talogo.cpp
src/gui/image_tachip.cpp
src/gui/image_logo.cpp
src/gui/image_wordmark.cpp
src/gui/image_introbg.cpp
src/gui/image_pat.cpp
src/gui/image.cpp
src/gui/debug.cpp
src/gui/fileDialog.cpp
src/gui/intConst.cpp
src/gui/guiConst.cpp
src/gui/introTune.cpp
src/gui/about.cpp
src/gui/channels.cpp
src/gui/chanOsc.cpp
@ -595,9 +719,11 @@ src/gui/editing.cpp
src/gui/editControls.cpp
src/gui/effectList.cpp
src/gui/findReplace.cpp
src/gui/fmPreview.cpp
src/gui/gradient.cpp
src/gui/grooves.cpp
src/gui/insEdit.cpp
src/gui/intro.cpp
src/gui/log.cpp
src/gui/mixer.cpp
src/gui/midiMap.cpp
@ -621,7 +747,9 @@ src/gui/subSongs.cpp
src/gui/sysConf.cpp
src/gui/sysEx.cpp
src/gui/sysManager.cpp
src/gui/sysPartNumber.cpp
src/gui/sysPicker.cpp
src/gui/tutorial.cpp
src/gui/util.cpp
src/gui/waveEdit.cpp
src/gui/volMeter.cpp
@ -639,9 +767,48 @@ if (APPLE)
list(APPEND GUI_SOURCES extern/nfd-modified/src/nfd_cocoa.mm)
endif()
if (NOT WIN32 AND NOT APPLE)
list(APPEND GUI_SOURCES src/gui/icon.c)
if (WITH_RENDER_SDL)
list(APPEND GUI_SOURCES src/gui/render/renderSDL.cpp)
list(APPEND GUI_SOURCES extern/imgui_patched/backends/imgui_impl_sdlrenderer2.cpp)
list(APPEND DEPENDENCIES_DEFINES HAVE_RENDER_SDL)
message(STATUS "UI render backend: SDL_Renderer")
endif()
if (WITH_RENDER_OPENGL)
list(APPEND GUI_SOURCES src/gui/render/renderGL.cpp)
list(APPEND GUI_SOURCES extern/imgui_patched/backends/imgui_impl_opengl3.cpp)
list(APPEND DEPENDENCIES_DEFINES HAVE_RENDER_GL)
if (USE_GLES)
list(APPEND DEPENDENCIES_DEFINES USE_GLES)
list(APPEND DEPENDENCIES_DEFINES IMGUI_IMPL_OPENGL_ES2)
endif()
if (WIN32)
list(APPEND DEPENDENCIES_LIBRARIES opengl32)
elseif(USE_GLES)
list(APPEND DEPENDENCIES_LIBRARIES GLESv2)
else()
list(APPEND DEPENDENCIES_LIBRARIES GL)
endif()
message(STATUS "UI render backend: OpenGL")
endif()
if (WITH_RENDER_DX11)
if (WIN32)
if (SUPPORT_XP)
message(FATAL_ERROR "SUPPORT_XP is on. cannot enable DirectX 11 backend.")
else()
list(APPEND GUI_SOURCES src/gui/render/renderDX11.cpp)
list(APPEND GUI_SOURCES extern/imgui_patched/backends/imgui_impl_dx11.cpp)
list(APPEND DEPENDENCIES_DEFINES HAVE_RENDER_DX11)
list(APPEND DEPENDENCIES_LIBRARIES d3d11)
message(STATUS "UI render backend: DirectX 11")
endif()
else()
message(FATAL_ERROR "DirectX 11 render backend only for Windows!")
endif()
endif()
if (NOT WIN32 AND NOT APPLE)
CHECK_INCLUDE_FILE(sys/io.h SYS_IO_FOUND)
CHECK_INCLUDE_FILE(linux/input.h LINUX_INPUT_FOUND)
CHECK_INCLUDE_FILE(linux/kd.h LINUX_KD_FOUND)
@ -691,7 +858,6 @@ if (BUILD_GUI)
list(APPEND USED_SOURCES ${GUI_SOURCES})
list(APPEND DEPENDENCIES_INCLUDE_DIRS
extern/imgui_patched
extern/imgui_conf
extern/imgui_patched/backends
extern/IconFontCppHeaders
extern/igfd
@ -712,10 +878,6 @@ if (WIN32)
if (NOT MSVC)
list(APPEND DEPENDENCIES_LIBRARIES -static)
endif()
# support Windows XP
if (SUPPORT_XP)
list(APPEND DEPENDENCIES_DEFINES "_WIN32_WINNT=0x0501")
endif()
elseif (APPLE)
find_library(COCOA Cocoa REQUIRED)
list(APPEND DEPENDENCIES_LIBRARIES ${COCOA})
@ -752,22 +914,22 @@ endif()
string(REPLACE ";" " " WARNING_FLAGS_STRING "${WARNING_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS_STRING}")
if (WARNINGS_ARE_ERRORS)
message(WARNING
message(STATUS
"Treating all warnings in furnace's C++ code as errors! "
"Please report any errors you encounter on the bug tracker."
)
endif()
if (WIN32)
add_executable(furnace WIN32 ${USED_SOURCES})
elseif(ANDROID AND NOT TERMUX)
if(ANDROID AND NOT TERMUX)
add_library(furnace SHARED ${USED_SOURCES})
elseif(WIN32)
add_executable(furnace WIN32 ${USED_SOURCES})
else()
add_executable(furnace ${USED_SOURCES})
endif()
target_include_directories(furnace SYSTEM PRIVATE ${DEPENDENCIES_INCLUDE_DIRS})
target_compile_definitions(furnace PRIVATE ${DEPENDENCIES_DEFINES} IMGUI_USER_CONFIG="imconfig_fur.h")
target_compile_definitions(furnace PRIVATE ${DEPENDENCIES_DEFINES})
target_compile_options(furnace PRIVATE ${DEPENDENCIES_COMPILE_OPTIONS})
target_link_libraries(furnace PRIVATE ${DEPENDENCIES_LIBRARIES})
if (PKG_CONFIG_FOUND AND (SYSTEM_FMT OR SYSTEM_LIBSNDFILE OR SYSTEM_ZLIB OR SYSTEM_SDL2 OR SYSTEM_RTMIDI OR WITH_JACK))
@ -789,7 +951,8 @@ if (NOT ANDROID OR TERMUX)
install(TARGETS furnace RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES res/furnace.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES res/furnace.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(DIRECTORY doc DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(DIRECTORY papers DESTINATION ${CMAKE_INSTALL_DOCDIR}/other)
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/licenses/furnace)
if (WITH_DEMOS)
install(DIRECTORY demos DESTINATION ${CMAKE_INSTALL_DATADIR}/furnace)
@ -797,6 +960,9 @@ if (NOT ANDROID OR TERMUX)
if (WITH_INSTRUMENTS)
install(DIRECTORY instruments DESTINATION ${CMAKE_INSTALL_DATADIR}/furnace)
endif()
if (WITH_WAVETABLES)
install(DIRECTORY wavetables DESTINATION ${CMAKE_INSTALL_DATADIR}/furnace)
endif()
foreach(num 16 32 64 128 256 512)
set(res ${num}x${num})
install(FILES res/icon.iconset/icon_${res}.png RENAME furnace.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/${res}/apps)

View File

@ -81,6 +81,10 @@ additional guidelines:
- on a switch block, **always** put `default` last and not in any other position.
- I have fear of some C/C++ compilers ignoring the rest of cases upon hitting default.
## Do NOT Force-Push after submitting Pull Request
if you do so, your pull request will be closed.
## Demo Songs
just put your demo song in `demos/`! be noted there are some guidelines:

143
README.md
View File

@ -1,17 +1,19 @@
# Furnace (chiptune tracker)
![screenshot](papers/screenshot2.png)
![screenshot](papers/screenshot3.png)
the biggest multi-system chiptune tracker ever made!
[downloads](#downloads) | [discussion/help](#quick-references) | [developer info](#developer-info) | [unofficial packages](#unofficial-packages) | [FAQ](#frequently-asked-questions)
[downloads](#downloads) | [discussion/help](#quick-references) | [developer info](#developer-info) | [Unix/Linux packages](#packages) | [FAQ](#frequently-asked-questions)
---
## downloads
check out the [Releases](https://github.com/tildearrow/furnace/releases) page. available for Windows, macOS and Linux (AppImage).
check out the [Releases](https://github.com/tildearrow/furnace/releases) page. available for Windows, macOS and Linux.
[see here](https://nightly.link/tildearrow/furnace/workflows/build/master) for unstable developer builds.
for other operating systems, you may [build the source](#developer-info).
[see here](https://nightly.link/tildearrow/furnace/workflows/build/master) for the latest unstable build.
## features
@ -46,7 +48,10 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a
- Ricoh RF5C68 used in Sega CD and FM Towns
- OKI MSM6258 and MSM6295
- Konami K007232
- Konami K053260
- Irem GA20
- Ensoniq ES5506
- Namco C140
- wavetable chips:
- HuC6280 used in PC Engine
- Konami Bubble System WSG
@ -54,6 +59,7 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a
- Namco arcade chips (WSG/C15/C30)
- WonderSwan
- Seta/Allumer X1-010
- Sharp SM8521 used in Tiger Game.com
- NES (Ricoh 2A03/2A07), with additional expansion sound support:
- Konami VRC6
- Konami VRC7
@ -64,9 +70,13 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a
- Family Noraebang (OPLL)
- SID (6581/8580) used in Commodore 64
- Mikey used in Atari Lynx
- ZX Spectrum beeper (SFX-like engine)
- ZX Spectrum beeper
- SFX-like engine
- QuadTone engine
- Pokémon Mini
- Commodore PET
- TED used in Commodore Plus/4
- Casio PV-1000
- TIA used in Atari 2600
- POKEY used in Atari 8-bit computers
- Game Boy
@ -74,17 +84,19 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a
- modern/fantasy:
- Commander X16 VERA
- tildearrow Sound Unit
- Generic PCM DAC
- mix and match sound chips!
- over 200 ready to use presets from computers, game consoles and arcade boards...
- ...or create your own - up to 32 of them or a total of 128 channels!
- DefleMask compatibility
- loads .dmf modules from all versions (beta 1 to 1.1.5)
- loads .dmf modules from all versions (beta 1 to 1.1.9)
- saves .dmf modules - both modern and legacy
- Furnace doubles as a module downgrader
- loads/saves .dmp instruments and .dmw wavetables as well
- clean-room design (guesswork and ABX tests only, no decompilation involved)
- some bug/quirk implementation for increased playback accuracy through compatibility flags
- VGM export
- ZSM export for Commander X16
- modular layout that you may adapt to your needs
- audio file export - entire song, per chip or per channel
- quality emulation cores (Nuked, MAME, SameBoy, Mednafen PCE, NSFplay, puNES, reSID, Stella, SAASound, vgsound_emu and ymfm)
@ -114,18 +126,20 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a
---
# quick references
- **discussion**: see the [Discussions](https://github.com/tildearrow/furnace/discussions) section, or (preferably) the [official Discord server](https://discord.gg/EfrwT2wq7z).
- **help**: check out the [documentation](papers/doc/README.md). it's mostly incomplete, but has details on effects.
- **discussion**: see the [Discussions](https://github.com/tildearrow/furnace/discussions) section, the [official Revolt](https://rvlt.gg/GRPS6tmc) or the [official Discord server](https://discord.gg/EfrwT2wq7z).
- **help**: check out the [documentation](doc/README.md). it's about 90% complete.
## unofficial packages
## packages
[![Packaging status](https://repology.org/badge/tiny-repos/furnace.svg)](https://repology.org/project/furnace/versions)
[![Packaging status](https://repology.org/badge/vertical-allrepos/furnace.svg)](https://repology.org/project/furnace/versions)
some people have provided packages for Unix/Unix-like distributions. here's a list.
- **Arch Linux**: [furnace](https://archlinux.org/packages/community/x86_64/furnace/) is now in the community repo!
- **FreeBSD**: [a package in ports](https://www.freshports.org/audio/furnace/) is available courtesy of ehaupt.
- **Nix**: [package](https://search.nixos.org/packages?channel=unstable&show=furnace&from=0&size=50&sort=relevance&type=packages&query=furnace) thanks to OPNA2608.
- **openSUSE**: [a package](https://software.opensuse.org/package/furnace) is available, courtesy of fpesari.
- **Arch Linux**: [furnace](https://archlinux.org/packages/extra/x86_64/furnace/) is in the official repositories.
- **FreeBSD**: [a package in ports](https://www.freshports.org/audio/furnace/) is available courtesy of ehaupt (warning: 0.5.8!).
- **Nix**: [package](https://search.nixos.org/packages?channel=unstable&show=furnace&from=0&size=50&sort=relevance&type=packages&query=furnace) thanks to OPNA2608.
- **openSUSE**: [a package](https://software.opensuse.org/package/furnace) is available, courtesy of fpesari.
- **Void Linux**: [furnace](https://github.com/void-linux/void-packages/tree/master/srcpkgs/furnace) is available in the official repository.
---
# developer info
@ -139,7 +153,9 @@ if you can't download these artifacts (because GitHub requires you to be logged
## dependencies
- CMake
- Git (for cloning the repository)
- JACK (optional, macOS/Linux only)
- a C/C++ compiler (e.g. Visual Studio or MinGW on Windows, Xcode (the command-line tools are enough) on macOS or GCC on Linux)
if building under Windows or macOS, no additional dependencies are required.
otherwise, you may also need the following:
@ -148,6 +164,7 @@ otherwise, you may also need the following:
- libx11
- libasound
- libGL
- any other libraries which may be used by SDL
some Linux distributions (e.g. Ubuntu or openSUSE) will require you to install the `-dev` versions of these.
@ -176,10 +193,32 @@ from the developer tools command prompt:
mkdir build
cd build
cmake ..
```
then open the solution file in Visual Studio and build.
alternatively, do:
```
msbuild ALL_BUILD.vcxproj
```
### macOS and Linux
### Windows using MinGW
setting up MinGW is a bit more complicated. two benefits are a faster, hotter Furnace, and Windows XP support.
however, one huge drawback is lack of backtrace support, so you'll have to use gdb when diagnosing a crash.
```
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make
```
you may use "MSYS Makefiles" instead, depending on how you installed MinGW.
### macOS, Linux and other Unix/Unix-like
```
mkdir build
@ -187,7 +226,16 @@ cd build
cmake ..
make
```
Alternatively, build scripts are provided in the `scripts/` folder in the root of the repository.
on macOS you may do the following instead:
```
mkdir build
cd build
cmake -G Xcode ..
```
...and then load the project on Xcode or type `xcodebuild`.
### CMake options
@ -204,6 +252,7 @@ Available options:
| `USE_SNDFILE` | `ON` | Build with libsndfile (required in order to work with audio files) |
| `USE_BACKWARD` | `ON` | Use backward-cpp to print a backtrace on crash/abort |
| `WITH_JACK` | `ON` if system-installed JACK detected, otherwise `OFF` | Whether to build with JACK support. Auto-detects if JACK is available |
| `WITH_PORTAUDIO` | `ON` | Whether to build with PortAudio. |
| `SYSTEM_FFTW` | `OFF` | Use a system-installed version of FFTW instead of the vendored one |
| `SYSTEM_FMT` | `OFF` | Use a system-installed version of fmt instead of the vendored one |
| `SYSTEM_LIBSNDFILE` | `OFF` | Use a system-installed version of libsndfile instead of the vendored one |
@ -214,9 +263,23 @@ Available options:
| `WARNINGS_ARE_ERRORS` | `OFF` (but consider enabling this & reporting any errors that arise from it!) | Whether warnings in furnace's C++ code should be treated as errors |
| `WITH_DEMOS` | `ON` | Install demo songs on `make install` |
| `WITH_INSTRUMENTS` | `ON` | Install demo instruments on `make install` |
| `WITH_WAVETABLES` | `ON` | Install wavetables on `make install` |
## CMake Error
if it says something about a missing subdirectory in `extern`, then either:
1. you didn't set up submodules, or
2. you downloaded the source as a .zip or .tar.gz. don't do this.
if 1, you may run `git submodule update --init --recursive`. this will initialize submodules.
if 2, clone this repo.
## console usage
(note: if on Windows, type `furnace.exe` instead, or `Debug\furnace.exe` on MSVC)
```
./furnace
```
@ -235,25 +298,19 @@ this will play a compatible file.
this will play a compatible file and enable the commands view.
**note that these commands only actually work in Linux environments. on other command lines, such as Windows' Command Prompt, or MacOS Terminal, it may not work correctly.**
**note that console mode may not work correctly on Windows. you may have to quit using the Task Manager.**
---
# frequently asked questions
> woah! 50 sound chips?! I can't believe it!
yup, it's real.
> where's the manual?
see [papers/](papers/doc/README.md). it's kind of incomplete, but at least the sound chips section is there.
> it doesn't open under macOS!
this is due to Apple's application signing policy. a workaround is to right click on the Furnace app icon and select Open.
> it says "Furnace" is damaged and can't be opened!
**as of Monterey, this workaround no longer works (especially on ARM).** yeah, Apple has decided to be strict on the matter.
if you happen to be on that version, use this workaround instead (on a Terminal):
if you happen to be on that version (or later), use this workaround instead (on a Terminal):
```
xattr -d com.apple.quarantine /path/to/Furnace.app
@ -263,24 +320,25 @@ xattr -d com.apple.quarantine /path/to/Furnace.app
you may need to log out and/or reboot after doing this.
> where's the manual?
it is in [doc/](doc/README.md).
> is there a tutorial?
sadly, the in-program tutorial isn't ready yet. however, [a video tutorial is available on YouTube](https://youtube.com/playlist?list=PLCELB6AsTZUnwv0PC5AAGHjvg47F44YQ1), made by Spinning Square Waves.
> I've lost my song!
Furnace keeps backups of the songs you've worked on before. go to **file > restore backup**.
> .spc export?
**not yet!** coming in 0.7 though, eventually...
> how do I use C64 absolute filter/duty?
> ROM export?
on Instrument Editor in the C64 tab there are two options to toggle these.
also provided are two effects:
- `3xxx`: set fine duty.
- `4xxx`: set fine cutoff. `xxx` range is 000-7ff.
additionally, you can change the cutoff and/or duty as a macro inside an instrument by clicking the `absolute cutoff macro` and/or `absolute duty macro` checkbox at the bottom of the instrument. (for the filter, you also need to click the checkbox that says `volume macro is cutoff macro`.)
> how do I use PCM on a PCM-capable chip?
two possibilities:
- the recommended way is by creating the "Sample" type instrument and assigning a sample to it.
- otherwise you may employ the DefleMask-compatible method, using `17xx` effect.
**not yet!** coming in 0.7 though, eventually...
> my .dmf song sounds odd at a certain point
@ -290,10 +348,6 @@ Furnace's .dmf compatibility isn't perfect and it's mostly because DefleMask doe
you should only save as .dmf if you're really sure, because the DefleMask format has several limitations. save in Furnace song format instead (.fur).
> how do I solo channels?
right click on the channel name.
---
# footnotes
@ -306,4 +360,5 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
despite the fact this program works with the .dmf, .dmp and .dmw file formats (besides its native .fur format), it is NOT affiliated with Delek or DefleMask in any way, nor it is a replacement for the original program.
Furnace is NOT affiliated with Delek or DefleMask in any form, regardless of its ability to load and save the .dmf, .dmp and .dmw file formats.
additionally, Furnace does not intend to replace DefleMask, nor any other program.

12
TODO.md Normal file
View File

@ -0,0 +1,12 @@
# to-do for 0.6pre7
- tutorial?
- ease-of-use improvements... ideas:
- preset compat flags
- maybe reduced set of presets for the sake of simplicity
- a more preferable highlight/drag system
- some speed/intuitive workflow improvements that go a long way
- make .pdf manual out of doc/
- break compatibility if it relieves complexity
- multi-key binds
- bug fixes

View File

@ -15,11 +15,11 @@ android {
}
minSdkVersion 21
targetSdkVersion 26
versionCode 136
versionName "dev136"
versionCode 169
versionName "0.6pre9"
externalNativeBuild {
cmake {
arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static"
arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON"
// abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
abiFilters 'arm64-v8a'
}

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.tildearrow.furnace"
android:versionCode="133"
android:versionName="0.6pre3"
android:versionCode="169"
android:versionName="0.6pre9"
android:installLocation="auto">
<!-- OpenGL ES 2.0 -->

View File

@ -186,7 +186,7 @@ class HIDDeviceBLESteamController extends BluetoothGattCallback implements HIDDe
// Because on Chromebooks we show up as a dual-mode device, it will attempt to connect TRANSPORT_AUTO, which will use TRANSPORT_BREDR instead
// of TRANSPORT_LE. Let's force ourselves to connect low energy.
private BluetoothGatt connectGatt(boolean managed) {
if (Build.VERSION.SDK_INT >= 23) {
if (Build.VERSION.SDK_INT >= 23 /* Android 6.0 (M) */) {
try {
return mDevice.connectGatt(mManager.getContext(), managed, this, TRANSPORT_LE);
} catch (Exception e) {
@ -429,7 +429,7 @@ class HIDDeviceBLESteamController extends BluetoothGattCallback implements HIDDe
}
});
}
}
}
else if (newState == 0) {
mIsConnected = false;
}

View File

@ -170,7 +170,7 @@ public class HIDDeviceManager {
Log.i(TAG," Interface protocol: " + mUsbInterface.getInterfaceProtocol());
Log.i(TAG," Endpoint count: " + mUsbInterface.getEndpointCount());
// Get endpoint details
// Get endpoint details
for (int epi = 0; epi < mUsbInterface.getEndpointCount(); epi++)
{
UsbEndpoint mEndpoint = mUsbInterface.getEndpoint(epi);
@ -251,6 +251,8 @@ public class HIDDeviceManager {
0x20d6, // PowerA
0x24c6, // PowerA
0x2c22, // Qanba
0x2dc8, // 8BitDo
0x9886, // ASTRO Gaming
};
if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC &&
@ -271,14 +273,16 @@ public class HIDDeviceManager {
final int XB1_IFACE_SUBCLASS = 71;
final int XB1_IFACE_PROTOCOL = 208;
final int[] SUPPORTED_VENDORS = {
0x044f, // Thrustmaster
0x045e, // Microsoft
0x0738, // Mad Catz
0x0e6f, // PDP
0x0f0d, // Hori
0x10f5, // Turtle Beach
0x1532, // Razer Wildcat
0x20d6, // PowerA
0x24c6, // PowerA
0x2dc8, /* 8BitDo */
0x2dc8, // 8BitDo
0x2e24, // Hyperkin
};
@ -353,13 +357,13 @@ public class HIDDeviceManager {
private void initializeBluetooth() {
Log.d(TAG, "Initializing Bluetooth");
if (Build.VERSION.SDK_INT <= 30 &&
if (Build.VERSION.SDK_INT <= 30 /* Android 11.0 (R) */ &&
mContext.getPackageManager().checkPermission(android.Manifest.permission.BLUETOOTH, mContext.getPackageName()) != PackageManager.PERMISSION_GRANTED) {
Log.d(TAG, "Couldn't initialize Bluetooth, missing android.permission.BLUETOOTH");
return;
}
if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE) || (Build.VERSION.SDK_INT < 18)) {
if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE) || (Build.VERSION.SDK_INT < 18 /* Android 4.3 (JELLY_BEAN_MR2) */)) {
Log.d(TAG, "Couldn't initialize Bluetooth, this version of Android does not support Bluetooth LE");
return;
}
@ -524,7 +528,7 @@ public class HIDDeviceManager {
for (HIDDevice device : mDevicesById.values()) {
device.setFrozen(frozen);
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
@ -573,7 +577,7 @@ public class HIDDeviceManager {
try {
final int FLAG_MUTABLE = 0x02000000; // PendingIntent.FLAG_MUTABLE, but don't require SDK 31
int flags;
if (Build.VERSION.SDK_INT >= 31) {
if (Build.VERSION.SDK_INT >= 31 /* Android 12.0 (S) */) {
flags = FLAG_MUTABLE;
} else {
flags = 0;

View File

@ -52,7 +52,7 @@ class HIDDeviceUSB implements HIDDevice {
@Override
public String getSerialNumber() {
String result = null;
if (Build.VERSION.SDK_INT >= 21) {
if (Build.VERSION.SDK_INT >= 21 /* Android 5.0 (LOLLIPOP) */) {
try {
result = mDevice.getSerialNumber();
}
@ -74,7 +74,7 @@ class HIDDeviceUSB implements HIDDevice {
@Override
public String getManufacturerName() {
String result = null;
if (Build.VERSION.SDK_INT >= 21) {
if (Build.VERSION.SDK_INT >= 21 /* Android 5.0 (LOLLIPOP) */) {
result = mDevice.getManufacturerName();
}
if (result == null) {
@ -86,7 +86,7 @@ class HIDDeviceUSB implements HIDDevice {
@Override
public String getProductName() {
String result = null;
if (Build.VERSION.SDK_INT >= 21) {
if (Build.VERSION.SDK_INT >= 21 /* Android 5.0 (LOLLIPOP) */) {
result = mDevice.getProductName();
}
if (result == null) {

View File

@ -29,6 +29,7 @@ public class SDL {
// This function stores the current activity (SDL or not)
public static void setContext(Context context) {
SDLAudioManager.setContext(context);
mContext = context;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,8 @@
package org.libsdl.app;
import android.content.Context;
import android.media.AudioDeviceCallback;
import android.media.AudioDeviceInfo;
import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioRecord;
@ -8,34 +11,67 @@ import android.media.MediaRecorder;
import android.os.Build;
import android.util.Log;
public class SDLAudioManager
{
import java.util.Arrays;
public class SDLAudioManager {
protected static final String TAG = "SDLAudio";
protected static AudioTrack mAudioTrack;
protected static AudioRecord mAudioRecord;
protected static Context mContext;
private static final int[] NO_DEVICES = {};
private static AudioDeviceCallback mAudioDeviceCallback;
public static void initialize() {
mAudioTrack = null;
mAudioRecord = null;
mAudioDeviceCallback = null;
if(Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */)
{
mAudioDeviceCallback = new AudioDeviceCallback() {
@Override
public void onAudioDevicesAdded(AudioDeviceInfo[] addedDevices) {
Arrays.stream(addedDevices).forEach(deviceInfo -> addAudioDevice(deviceInfo.isSink(), deviceInfo.getId()));
}
@Override
public void onAudioDevicesRemoved(AudioDeviceInfo[] removedDevices) {
Arrays.stream(removedDevices).forEach(deviceInfo -> removeAudioDevice(deviceInfo.isSink(), deviceInfo.getId()));
}
};
}
}
public static void setContext(Context context) {
mContext = context;
if (context != null) {
registerAudioDeviceCallback();
}
}
public static void release(Context context) {
unregisterAudioDeviceCallback(context);
}
// Audio
protected static String getAudioFormatString(int audioFormat) {
switch (audioFormat) {
case AudioFormat.ENCODING_PCM_8BIT:
return "8-bit";
case AudioFormat.ENCODING_PCM_16BIT:
return "16-bit";
case AudioFormat.ENCODING_PCM_FLOAT:
return "float";
default:
return Integer.toString(audioFormat);
case AudioFormat.ENCODING_PCM_8BIT:
return "8-bit";
case AudioFormat.ENCODING_PCM_16BIT:
return "16-bit";
case AudioFormat.ENCODING_PCM_FLOAT:
return "float";
default:
return Integer.toString(audioFormat);
}
}
protected static int[] open(boolean isCapture, int sampleRate, int audioFormat, int desiredChannels, int desiredFrames) {
protected static int[] open(boolean isCapture, int sampleRate, int audioFormat, int desiredChannels, int desiredFrames, int deviceId) {
int channelConfig;
int sampleSize;
int frameSize;
@ -43,14 +79,14 @@ public class SDLAudioManager
Log.v(TAG, "Opening " + (isCapture ? "capture" : "playback") + ", requested " + desiredFrames + " frames of " + desiredChannels + " channel " + getAudioFormatString(audioFormat) + " audio at " + sampleRate + " Hz");
/* On older devices let's use known good settings */
if (Build.VERSION.SDK_INT < 21) {
if (Build.VERSION.SDK_INT < 21 /* Android 5.0 (LOLLIPOP) */) {
if (desiredChannels > 2) {
desiredChannels = 2;
}
}
/* AudioTrack has sample rate limitation of 48000 (fixed in 5.0.2) */
if (Build.VERSION.SDK_INT < 22) {
if (Build.VERSION.SDK_INT < 22 /* Android 5.1 (LOLLIPOP_MR1) */) {
if (sampleRate < 8000) {
sampleRate = 8000;
} else if (sampleRate > 48000) {
@ -59,7 +95,7 @@ public class SDLAudioManager
}
if (audioFormat == AudioFormat.ENCODING_PCM_FLOAT) {
int minSDKVersion = (isCapture ? 23 : 21);
int minSDKVersion = (isCapture ? 23 /* Android 6.0 (M) */ : 21 /* Android 5.0 (LOLLIPOP) */);
if (Build.VERSION.SDK_INT < minSDKVersion) {
audioFormat = AudioFormat.ENCODING_PCM_16BIT;
}
@ -120,7 +156,7 @@ public class SDLAudioManager
channelConfig = AudioFormat.CHANNEL_OUT_5POINT1 | AudioFormat.CHANNEL_OUT_BACK_CENTER;
break;
case 8:
if (Build.VERSION.SDK_INT >= 23) {
if (Build.VERSION.SDK_INT >= 23 /* Android 6.0 (M) */) {
channelConfig = AudioFormat.CHANNEL_OUT_7POINT1_SURROUND;
} else {
Log.v(TAG, "Requested " + desiredChannels + " channels, getting 5.1 surround");
@ -201,6 +237,10 @@ public class SDLAudioManager
return null;
}
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */ && deviceId != 0) {
mAudioRecord.setPreferredDevice(getOutputAudioDeviceInfo(deviceId));
}
mAudioRecord.startRecording();
}
@ -224,6 +264,10 @@ public class SDLAudioManager
return null;
}
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */ && deviceId != 0) {
mAudioTrack.setPreferredDevice(getInputAudioDeviceInfo(deviceId));
}
mAudioTrack.play();
}
@ -238,11 +282,73 @@ public class SDLAudioManager
return results;
}
private static AudioDeviceInfo getInputAudioDeviceInfo(int deviceId) {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
return Arrays.stream(audioManager.getDevices(AudioManager.GET_DEVICES_INPUTS))
.filter(deviceInfo -> deviceInfo.getId() == deviceId)
.findFirst()
.orElse(null);
} else {
return null;
}
}
private static AudioDeviceInfo getOutputAudioDeviceInfo(int deviceId) {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
return Arrays.stream(audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS))
.filter(deviceInfo -> deviceInfo.getId() == deviceId)
.findFirst()
.orElse(null);
} else {
return null;
}
}
private static void registerAudioDeviceCallback() {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
audioManager.registerAudioDeviceCallback(mAudioDeviceCallback, null);
}
}
private static void unregisterAudioDeviceCallback(Context context) {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.unregisterAudioDeviceCallback(mAudioDeviceCallback);
}
}
/**
* This method is called by SDL using JNI.
*/
public static int[] audioOpen(int sampleRate, int audioFormat, int desiredChannels, int desiredFrames) {
return open(false, sampleRate, audioFormat, desiredChannels, desiredFrames);
public static int[] getAudioOutputDevices() {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
return Arrays.stream(audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS)).mapToInt(AudioDeviceInfo::getId).toArray();
} else {
return NO_DEVICES;
}
}
/**
* This method is called by SDL using JNI.
*/
public static int[] getAudioInputDevices() {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
return Arrays.stream(audioManager.getDevices(AudioManager.GET_DEVICES_INPUTS)).mapToInt(AudioDeviceInfo::getId).toArray();
} else {
return NO_DEVICES;
}
}
/**
* This method is called by SDL using JNI.
*/
public static int[] audioOpen(int sampleRate, int audioFormat, int desiredChannels, int desiredFrames, int deviceId) {
return open(false, sampleRate, audioFormat, desiredChannels, desiredFrames, deviceId);
}
/**
@ -254,6 +360,11 @@ public class SDLAudioManager
return;
}
if (android.os.Build.VERSION.SDK_INT < 21 /* Android 5.0 (LOLLIPOP) */) {
Log.e(TAG, "Attempted to make an incompatible audio call with uninitialized audio! (floating-point output is supported since Android 5.0 Lollipop)");
return;
}
for (int i = 0; i < buffer.length;) {
int result = mAudioTrack.write(buffer, i, buffer.length - i, AudioTrack.WRITE_BLOCKING);
if (result > 0) {
@ -326,18 +437,22 @@ public class SDLAudioManager
/**
* This method is called by SDL using JNI.
*/
public static int[] captureOpen(int sampleRate, int audioFormat, int desiredChannels, int desiredFrames) {
return open(true, sampleRate, audioFormat, desiredChannels, desiredFrames);
public static int[] captureOpen(int sampleRate, int audioFormat, int desiredChannels, int desiredFrames, int deviceId) {
return open(true, sampleRate, audioFormat, desiredChannels, desiredFrames, deviceId);
}
/** This method is called by SDL using JNI. */
public static int captureReadFloatBuffer(float[] buffer, boolean blocking) {
return mAudioRecord.read(buffer, 0, buffer.length, blocking ? AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
if (Build.VERSION.SDK_INT < 23 /* Android 6.0 (M) */) {
return 0;
} else {
return mAudioRecord.read(buffer, 0, buffer.length, blocking ? AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
}
}
/** This method is called by SDL using JNI. */
public static int captureReadShortBuffer(short[] buffer, boolean blocking) {
if (Build.VERSION.SDK_INT < 23) {
if (Build.VERSION.SDK_INT < 23 /* Android 6.0 (M) */) {
return mAudioRecord.read(buffer, 0, buffer.length);
} else {
return mAudioRecord.read(buffer, 0, buffer.length, blocking ? AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
@ -346,7 +461,7 @@ public class SDLAudioManager
/** This method is called by SDL using JNI. */
public static int captureReadByteBuffer(byte[] buffer, boolean blocking) {
if (Build.VERSION.SDK_INT < 23) {
if (Build.VERSION.SDK_INT < 23 /* Android 6.0 (M) */) {
return mAudioRecord.read(buffer, 0, buffer.length);
} else {
return mAudioRecord.read(buffer, 0, buffer.length, blocking ? AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
@ -391,4 +506,9 @@ public class SDLAudioManager
}
public static native int nativeSetupJNI();
public static native void removeAudioDevice(boolean isCapture, int deviceId);
public static native void addAudioDevice(boolean isCapture, int deviceId);
}

View File

@ -24,7 +24,7 @@ public class SDLControllerManager
public static native int nativeAddJoystick(int device_id, String name, String desc,
int vendor_id, int product_id,
boolean is_accelerometer, int button_mask,
int naxes, int nhats, int nballs);
int naxes, int axis_mask, int nhats, int nballs);
public static native int nativeRemoveJoystick(int device_id);
public static native int nativeAddHaptic(int device_id, String name);
public static native int nativeRemoveHaptic(int device_id);
@ -42,7 +42,7 @@ public class SDLControllerManager
public static void initialize() {
if (mJoystickHandler == null) {
if (Build.VERSION.SDK_INT >= 19) {
if (Build.VERSION.SDK_INT >= 19 /* Android 4.4 (KITKAT) */) {
mJoystickHandler = new SDLJoystickHandler_API19();
} else {
mJoystickHandler = new SDLJoystickHandler_API16();
@ -50,7 +50,7 @@ public class SDLControllerManager
}
if (mHapticHandler == null) {
if (Build.VERSION.SDK_INT >= 26) {
if (Build.VERSION.SDK_INT >= 26 /* Android 8.0 (O) */) {
mHapticHandler = new SDLHapticHandler_API26();
} else {
mHapticHandler = new SDLHapticHandler();
@ -168,6 +168,32 @@ class SDLJoystickHandler_API16 extends SDLJoystickHandler {
arg1Axis = MotionEvent.AXIS_GAS;
}
// Make sure the AXIS_Z is sorted between AXIS_RY and AXIS_RZ.
// This is because the usual pairing are:
// - AXIS_X + AXIS_Y (left stick).
// - AXIS_RX, AXIS_RY (sometimes the right stick, sometimes triggers).
// - AXIS_Z, AXIS_RZ (sometimes the right stick, sometimes triggers).
// This sorts the axes in the above order, which tends to be correct
// for Xbox-ish game pads that have the right stick on RX/RY and the
// triggers on Z/RZ.
//
// Gamepads that don't have AXIS_Z/AXIS_RZ but use
// AXIS_LTRIGGER/AXIS_RTRIGGER are unaffected by this.
//
// References:
// - https://developer.android.com/develop/ui/views/touch-and-input/game-controllers/controller-input
// - https://www.kernel.org/doc/html/latest/input/gamepad.html
if (arg0Axis == MotionEvent.AXIS_Z) {
arg0Axis = MotionEvent.AXIS_RZ - 1;
} else if (arg0Axis > MotionEvent.AXIS_Z && arg0Axis < MotionEvent.AXIS_RZ) {
--arg0Axis;
}
if (arg1Axis == MotionEvent.AXIS_Z) {
arg1Axis = MotionEvent.AXIS_RZ - 1;
} else if (arg1Axis > MotionEvent.AXIS_Z && arg1Axis < MotionEvent.AXIS_RZ) {
--arg1Axis;
}
return arg0Axis - arg1Axis;
}
}
@ -210,7 +236,7 @@ class SDLJoystickHandler_API16 extends SDLJoystickHandler {
mJoysticks.add(joystick);
SDLControllerManager.nativeAddJoystick(joystick.device_id, joystick.name, joystick.desc,
getVendorId(joystickDevice), getProductId(joystickDevice), false,
getButtonMask(joystickDevice), joystick.axes.size(), joystick.hats.size()/2, 0);
getButtonMask(joystickDevice), joystick.axes.size(), getAxisMask(joystick.axes), joystick.hats.size()/2, 0);
}
}
}
@ -291,6 +317,9 @@ class SDLJoystickHandler_API16 extends SDLJoystickHandler {
public int getVendorId(InputDevice joystickDevice) {
return 0;
}
public int getAxisMask(List<InputDevice.MotionRange> ranges) {
return -1;
}
public int getButtonMask(InputDevice joystickDevice) {
return -1;
}
@ -308,6 +337,43 @@ class SDLJoystickHandler_API19 extends SDLJoystickHandler_API16 {
return joystickDevice.getVendorId();
}
@Override
public int getAxisMask(List<InputDevice.MotionRange> ranges) {
// For compatibility, keep computing the axis mask like before,
// only really distinguishing 2, 4 and 6 axes.
int axis_mask = 0;
if (ranges.size() >= 2) {
// ((1 << SDL_GAMEPAD_AXIS_LEFTX) | (1 << SDL_GAMEPAD_AXIS_LEFTY))
axis_mask |= 0x0003;
}
if (ranges.size() >= 4) {
// ((1 << SDL_GAMEPAD_AXIS_RIGHTX) | (1 << SDL_GAMEPAD_AXIS_RIGHTY))
axis_mask |= 0x000c;
}
if (ranges.size() >= 6) {
// ((1 << SDL_GAMEPAD_AXIS_LEFT_TRIGGER) | (1 << SDL_GAMEPAD_AXIS_RIGHT_TRIGGER))
axis_mask |= 0x0030;
}
// Also add an indicator bit for whether the sorting order has changed.
// This serves to disable outdated gamecontrollerdb.txt mappings.
boolean have_z = false;
boolean have_past_z_before_rz = false;
for (InputDevice.MotionRange range : ranges) {
int axis = range.getAxis();
if (axis == MotionEvent.AXIS_Z) {
have_z = true;
} else if (axis > MotionEvent.AXIS_Z && axis < MotionEvent.AXIS_RZ) {
have_past_z_before_rz = true;
}
}
if (have_z && have_past_z_before_rz) {
// If both these exist, the compare() function changed sorting order.
// Set a bit to indicate this fact.
axis_mask |= 0x8000;
}
return axis_mask;
}
@Override
public int getButtonMask(InputDevice joystickDevice) {
int button_mask = 0;
@ -743,7 +809,7 @@ class SDLGenericMotionListener_API26 extends SDLGenericMotionListener_API24 {
@Override
public boolean supportsRelativeMouse() {
return (!SDLActivity.isDeXMode() || (Build.VERSION.SDK_INT >= 27));
return (!SDLActivity.isDeXMode() || Build.VERSION.SDK_INT >= 27 /* Android 8.1 (O_MR1) */);
}
@Override
@ -753,7 +819,7 @@ class SDLGenericMotionListener_API26 extends SDLGenericMotionListener_API24 {
@Override
public boolean setRelativeMouseEnabled(boolean enabled) {
if (!SDLActivity.isDeXMode() || (Build.VERSION.SDK_INT >= 27)) {
if (!SDLActivity.isDeXMode() || Build.VERSION.SDK_INT >= 27 /* Android 8.1 (O_MR1) */) {
if (enabled) {
SDLActivity.getContentView().requestPointerCapture();
} else {

View File

@ -0,0 +1,405 @@
package org.libsdl.app;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Build;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.InputDevice;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.WindowManager;
/**
SDLSurface. This is what we draw on, so we need to know when it's created
in order to do anything useful.
Because of this, that's where we set up the SDL thread
*/
public class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
View.OnKeyListener, View.OnTouchListener, SensorEventListener {
// Sensors
protected SensorManager mSensorManager;
protected Display mDisplay;
// Keep track of the surface size to normalize touch events
protected float mWidth, mHeight;
// Is SurfaceView ready for rendering
public boolean mIsSurfaceReady;
// Startup
public SDLSurface(Context context) {
super(context);
getHolder().addCallback(this);
setFocusable(true);
setFocusableInTouchMode(true);
requestFocus();
setOnKeyListener(this);
setOnTouchListener(this);
mDisplay = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
mSensorManager = (SensorManager)context.getSystemService(Context.SENSOR_SERVICE);
setOnGenericMotionListener(SDLActivity.getMotionListener());
// Some arbitrary defaults to avoid a potential division by zero
mWidth = 1.0f;
mHeight = 1.0f;
mIsSurfaceReady = false;
}
public void handlePause() {
enableSensor(Sensor.TYPE_ACCELEROMETER, false);
}
public void handleResume() {
setFocusable(true);
setFocusableInTouchMode(true);
requestFocus();
setOnKeyListener(this);
setOnTouchListener(this);
enableSensor(Sensor.TYPE_ACCELEROMETER, true);
}
public Surface getNativeSurface() {
return getHolder().getSurface();
}
// Called when we have a valid drawing surface
@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.v("SDL", "surfaceCreated()");
SDLActivity.onNativeSurfaceCreated();
}
// Called when we lose the surface
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.v("SDL", "surfaceDestroyed()");
// Transition to pause, if needed
SDLActivity.mNextNativeState = SDLActivity.NativeState.PAUSED;
SDLActivity.handleNativeState();
mIsSurfaceReady = false;
SDLActivity.onNativeSurfaceDestroyed();
}
// Called when the surface is resized
@Override
public void surfaceChanged(SurfaceHolder holder,
int format, int width, int height) {
Log.v("SDL", "surfaceChanged()");
if (SDLActivity.mSingleton == null) {
return;
}
mWidth = width;
mHeight = height;
int nDeviceWidth = width;
int nDeviceHeight = height;
try
{
if (Build.VERSION.SDK_INT >= 17 /* Android 4.2 (JELLY_BEAN_MR1) */) {
DisplayMetrics realMetrics = new DisplayMetrics();
mDisplay.getRealMetrics( realMetrics );
nDeviceWidth = realMetrics.widthPixels;
nDeviceHeight = realMetrics.heightPixels;
}
} catch(Exception ignored) {
}
synchronized(SDLActivity.getContext()) {
// In case we're waiting on a size change after going fullscreen, send a notification.
SDLActivity.getContext().notifyAll();
}
Log.v("SDL", "Window size: " + width + "x" + height);
Log.v("SDL", "Device size: " + nDeviceWidth + "x" + nDeviceHeight);
SDLActivity.nativeSetScreenResolution(width, height, nDeviceWidth, nDeviceHeight, mDisplay.getRefreshRate());
SDLActivity.onNativeResize();
// Prevent a screen distortion glitch,
// for instance when the device is in Landscape and a Portrait App is resumed.
boolean skip = false;
int requestedOrientation = SDLActivity.mSingleton.getRequestedOrientation();
if (requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT) {
if (mWidth > mHeight) {
skip = true;
}
} else if (requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || requestedOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE) {
if (mWidth < mHeight) {
skip = true;
}
}
// Special Patch for Square Resolution: Black Berry Passport
if (skip) {
double min = Math.min(mWidth, mHeight);
double max = Math.max(mWidth, mHeight);
if (max / min < 1.20) {
Log.v("SDL", "Don't skip on such aspect-ratio. Could be a square resolution.");
skip = false;
}
}
// Don't skip in MultiWindow.
if (skip) {
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */) {
if (SDLActivity.mSingleton.isInMultiWindowMode()) {
Log.v("SDL", "Don't skip in Multi-Window");
skip = false;
}
}
}
if (skip) {
Log.v("SDL", "Skip .. Surface is not ready.");
mIsSurfaceReady = false;
return;
}
/* If the surface has been previously destroyed by onNativeSurfaceDestroyed, recreate it here */
SDLActivity.onNativeSurfaceChanged();
/* Surface is ready */
mIsSurfaceReady = true;
SDLActivity.mNextNativeState = SDLActivity.NativeState.RESUMED;
SDLActivity.handleNativeState();
}
// Key events
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
return SDLActivity.handleKeyEvent(v, keyCode, event, null);
}
// Touch events
@Override
public boolean onTouch(View v, MotionEvent event) {
/* Ref: http://developer.android.com/training/gestures/multi.html */
int touchDevId = event.getDeviceId();
final int pointerCount = event.getPointerCount();
int action = event.getActionMasked();
int pointerFingerId;
int i = -1;
float x,y,p;
/*
* Prevent id to be -1, since it's used in SDL internal for synthetic events
* Appears when using Android emulator, eg:
* adb shell input mouse tap 100 100
* adb shell input touchscreen tap 100 100
*/
if (touchDevId < 0) {
touchDevId -= 1;
}
// 12290 = Samsung DeX mode desktop mouse
// 12290 = 0x3002 = 0x2002 | 0x1002 = SOURCE_MOUSE | SOURCE_TOUCHSCREEN
// 0x2 = SOURCE_CLASS_POINTER
if (event.getSource() == InputDevice.SOURCE_MOUSE || event.getSource() == (InputDevice.SOURCE_MOUSE | InputDevice.SOURCE_TOUCHSCREEN)) {
int mouseButton = 1;
try {
Object object = event.getClass().getMethod("getButtonState").invoke(event);
if (object != null) {
mouseButton = (Integer) object;
}
} catch(Exception ignored) {
}
// We need to check if we're in relative mouse mode and get the axis offset rather than the x/y values
// if we are. We'll leverage our existing mouse motion listener
SDLGenericMotionListener_API12 motionListener = SDLActivity.getMotionListener();
x = motionListener.getEventX(event);
y = motionListener.getEventY(event);
SDLActivity.onNativeMouse(mouseButton, action, x, y, motionListener.inRelativeMode());
} else {
switch(action) {
case MotionEvent.ACTION_MOVE:
for (i = 0; i < pointerCount; i++) {
pointerFingerId = event.getPointerId(i);
x = event.getX(i) / mWidth;
y = event.getY(i) / mHeight;
p = event.getPressure(i);
if (p > 1.0f) {
// may be larger than 1.0f on some devices
// see the documentation of getPressure(i)
p = 1.0f;
}
SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, p);
}
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_DOWN:
// Primary pointer up/down, the index is always zero
i = 0;
/* fallthrough */
case MotionEvent.ACTION_POINTER_UP:
case MotionEvent.ACTION_POINTER_DOWN:
// Non primary pointer up/down
if (i == -1) {
i = event.getActionIndex();
}
pointerFingerId = event.getPointerId(i);
x = event.getX(i) / mWidth;
y = event.getY(i) / mHeight;
p = event.getPressure(i);
if (p > 1.0f) {
// may be larger than 1.0f on some devices
// see the documentation of getPressure(i)
p = 1.0f;
}
SDLActivity.onNativeTouch(touchDevId, pointerFingerId, action, x, y, p);
break;
case MotionEvent.ACTION_CANCEL:
for (i = 0; i < pointerCount; i++) {
pointerFingerId = event.getPointerId(i);
x = event.getX(i) / mWidth;
y = event.getY(i) / mHeight;
p = event.getPressure(i);
if (p > 1.0f) {
// may be larger than 1.0f on some devices
// see the documentation of getPressure(i)
p = 1.0f;
}
SDLActivity.onNativeTouch(touchDevId, pointerFingerId, MotionEvent.ACTION_UP, x, y, p);
}
break;
default:
break;
}
}
return true;
}
// Sensor events
public void enableSensor(int sensortype, boolean enabled) {
// TODO: This uses getDefaultSensor - what if we have >1 accels?
if (enabled) {
mSensorManager.registerListener(this,
mSensorManager.getDefaultSensor(sensortype),
SensorManager.SENSOR_DELAY_GAME, null);
} else {
mSensorManager.unregisterListener(this,
mSensorManager.getDefaultSensor(sensortype));
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO
}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
// Since we may have an orientation set, we won't receive onConfigurationChanged events.
// We thus should check here.
int newOrientation;
float x, y;
switch (mDisplay.getRotation()) {
case Surface.ROTATION_90:
x = -event.values[1];
y = event.values[0];
newOrientation = SDLActivity.SDL_ORIENTATION_LANDSCAPE;
break;
case Surface.ROTATION_270:
x = event.values[1];
y = -event.values[0];
newOrientation = SDLActivity.SDL_ORIENTATION_LANDSCAPE_FLIPPED;
break;
case Surface.ROTATION_180:
x = -event.values[0];
y = -event.values[1];
newOrientation = SDLActivity.SDL_ORIENTATION_PORTRAIT_FLIPPED;
break;
case Surface.ROTATION_0:
default:
x = event.values[0];
y = event.values[1];
newOrientation = SDLActivity.SDL_ORIENTATION_PORTRAIT;
break;
}
if (newOrientation != SDLActivity.mCurrentOrientation) {
SDLActivity.mCurrentOrientation = newOrientation;
SDLActivity.onNativeOrientationChanged(newOrientation);
}
SDLActivity.onNativeAccel(-x / SensorManager.GRAVITY_EARTH,
y / SensorManager.GRAVITY_EARTH,
event.values[2] / SensorManager.GRAVITY_EARTH);
}
}
// Captured pointer events for API 26.
public boolean onCapturedPointerEvent(MotionEvent event)
{
int action = event.getActionMasked();
float x, y;
switch (action) {
case MotionEvent.ACTION_SCROLL:
x = event.getAxisValue(MotionEvent.AXIS_HSCROLL, 0);
y = event.getAxisValue(MotionEvent.AXIS_VSCROLL, 0);
SDLActivity.onNativeMouse(0, action, x, y, false);
return true;
case MotionEvent.ACTION_HOVER_MOVE:
case MotionEvent.ACTION_MOVE:
x = event.getX(0);
y = event.getY(0);
SDLActivity.onNativeMouse(0, action, x, y, true);
return true;
case MotionEvent.ACTION_BUTTON_PRESS:
case MotionEvent.ACTION_BUTTON_RELEASE:
// Change our action value to what SDL's code expects.
if (action == MotionEvent.ACTION_BUTTON_PRESS) {
action = MotionEvent.ACTION_DOWN;
} else { /* MotionEvent.ACTION_BUTTON_RELEASE */
action = MotionEvent.ACTION_UP;
}
x = event.getX(0);
y = event.getY(0);
int button = event.getButtonState();
SDLActivity.onNativeMouse(button, action, x, y, true);
return true;
}
return false;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/amiga/serendipid.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/ay8910/vibe_zone.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/ay8930/joyful.fur Normal file

Binary file not shown.

BIN
demos/c64/yeah!.fur Normal file

Binary file not shown.

Binary file not shown.

BIN
demos/gameboy/cheap.fur Normal file

Binary file not shown.

Binary file not shown.

BIN
demos/gameboy/dtect.fur Normal file

Binary file not shown.

BIN
demos/gameboy/finger.fur Normal file

Binary file not shown.

BIN
demos/gameboy/freedom.fur Normal file

Binary file not shown.

Binary file not shown.

BIN
demos/gameboy/lagtrain.fur Normal file

Binary file not shown.

BIN
demos/gameboy/minos.fur Normal file

Binary file not shown.

BIN
demos/gameboy/spreadtro.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/genesis/mm5_boss.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/misc/QSound_smile.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/msx/21492413.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/multichip/collab.fur Normal file

Binary file not shown.

Binary file not shown.

BIN
demos/multichip/one.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/opl/DASH.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
demos/pc98/CT_maintheme.fur Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More