Compare commits

...

6480 Commits
dev8 ... master

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
tildearrow ac5986e44f dev139 - groove patterns! 2023-02-05 02:56:39 -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
tildearrow ace2142286 GUI: shorten title of song info window 2023-02-04 19:09:09 -05:00
tildearrow beed67aaa1 BubSys: optimize 2023-02-04 17:22:16 -05:00
tildearrow 9c673d6e71 GUI: move speed settings to a separate window 2023-02-04 17:01:32 -05:00
tildearrow 8a10b2ed6e TREMOLO MERGE 2023-02-04 16:08:38 -05:00
tildearrow 31ccb58a48 implement tremolo 2023-02-04 16:08:20 -05:00
nk 070c0559cb
Demo song. Cover of Tim_Follin.sid, originally created by Factor6 (#955)
* Add files via upload

* Delete Factor6 Tim Follin TSU.fur

* Add files via upload
2023-02-04 03:48:47 -05:00
tildearrow 43ba2ff8f2 OPZ: implement LFO2
issue #831

untested and I can't test now
2023-02-03 17:00:15 -05:00
tildearrow d546d135b9 GUI: issue #954 2023-02-03 15:31:02 -05:00
tildearrow d49850f67f YM2612: fix per-chan osc overflow on ymfm 2023-02-02 03:16:10 -05:00
tildearrow e6dfeebaee SoundUnit: emulator license
MIT license - I am the only one who wrote this specific piece of code
2023-02-01 14:39:35 -05:00
tildearrow 9bf38e02ca GUI: ins edit disable scroll if no scroll range 2023-02-01 14:33:41 -05:00
tildearrow 1dec8bff40 GUI: prevent user from sliding macros out of view 2023-02-01 14:16:20 -05:00
tildearrow 036bec2b56 Merge branch 'master' of github.com:tildearrow/furnace 2023-01-31 15:11:27 -05:00
tildearrow c31d143783 TIA: consistent pitch macro 2023-01-31 15:11:02 -05:00
tildearrow 1a3648eefd GUI: improve drag-and-drop, part 4 2023-01-31 03:25:27 -05:00
tildearrow d1d92ac018 GUI: improve drag-and-drop, part 3 2023-01-30 15:58:59 -05:00
tildearrow 311c66ff9f GUI: improve drag-and-drop, part 2 - BROKEN 2023-01-30 03:43:46 -05:00
tildearrow 72465cf09a GUI: improve drag-and-drop, part 1 - BROKEN 2023-01-29 19:34:47 -05:00
tildearrow f33564039a SCC: tiny fix 2023-01-29 17:34:50 -05:00
tildearrow a08c343f6d SCC: massive optimization 2023-01-29 17:17:15 -05:00
20Enderdude20 19e3019e4f Added a demo song
Surprised I didn't upload this sooner lol
2023-01-29 03:27:37 -05:00
tildearrow 1b73f18019 GUI: fix all files not working 2023-01-28 18:36:43 -05:00
tildearrow 47293decd3 OPL: fix missing ADPCM channel in per-chan osc 2023-01-28 18:10:25 -05:00
tildearrow dcf06445ba fix volume macro + vol change on delay
issue #946
2023-01-28 17:47:21 -05:00
tildearrow 4445103408 SN: 0x200?!
issue #945
2023-01-27 16:49:42 -05:00
tildearrow d856ce9ad3 SN: possibly fix Game Gear in VGM export 2023-01-27 14:52:11 -05:00
Epictyphlosion 2c368a0ee0
Add a demo song (#949)
* Add a demo song

* Update credits

* Fixed kick from continuously playing

* Some better instruments

Thanks brickblock369
2023-01-26 23:00:39 -05:00
tildearrow c918ed3449 SoundUnit: big-endian again 2023-01-25 15:09:05 -05:00
SnugglyBun 074384af67
New version of my Tor (from the 2008 Iji indie game) cover (#947)
* YM2610B Intelligent DnB song

made in like 3 to 4 hours i guess.

* Melody of Certain Feelings (Rewrite)

basically a new song altogether

* Sky Chaze Zone "32X" cover

Actually it's just Genesis + 4xDACs but i think that the 32x had more than enough power to pull this off

* Delete SnugglyBun - Melody of Certain Feelings (X16 VERA).fur

* renamed Melody of Certain Feelings.fur

renamed the file per Tildearrow's request

* Delete Melody of Certain Feelings.fur

* Renamed the file again

hopefully this should be alright

* New version of my Tor (from Iji) Sega ARCADE cover

Basically greatly revamped my old cover now that i know a lot better, meant to replace the old olne

* Delete the old version of my Tor cover

The new version "iji_tor_segaxboard_cove.furr" shall take it's place

* Delete iji_tor_segaxboard_cover.fur

* Rename the file per request
2023-01-24 14:55:03 -05:00
tildearrow 9b9431d77a GUI: update credits 2023-01-24 13:45:20 -05:00
Mel 956b4252f5
several demo songs (#944)
* several demo songs

i enjoy konami music

* cover by info

i forgot jdfhkj so sorry!!
2023-01-24 13:43:48 -05:00
tildearrow 76eb0ed097 SNES: consider echo buffer size 2023-01-24 04:13:01 -05:00
tildearrow c17a541e93 OPN: fix forceIns() muting wrong ops in ExtCh 2023-01-24 03:44:55 -05:00
tildearrow 68c8a77498 SoundUnit: reset sample memory on reset() 2023-01-24 03:05:23 -05: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
tildearrow 7b2588c176 remove log spam 2023-01-23 16:42:56 -05:00
tildearrow 6f2a655e66 yeah it works 2023-01-23 16:40:56 -05:00
tildearrow c58ff8e37c GUI: don't draw at all when minimized 2023-01-23 16:21:58 -05:00
tildearrow 51883f698a MORE TESTING 2023-01-23 15:52:32 -05:00
tildearrow a878c3a4d5 stop documenting EFxx
it doesn't even work on linear pitch
2023-01-23 15:19:20 -05:00
tildearrow e190c2ca60 GUI: fix "overflow changes ord" whn ctrlclk n sldr 2023-01-23 03:31:50 -05:00
tildearrow f3af1d78ff
Merge pull request #936 from laoo/Mikey_VGM
Mikey vgm export
2023-01-21 05:33:35 -05:00
tildearrow 9f0070e6cd whoops wrong category 2023-01-21 03:14:51 -05:00
tildearrow c0ef83312f new demo song
by Mahbod_Karamoozian
2023-01-21 03:14:18 -05:00
tildearrow 4a6100b658 FIIIIXXXXX 2023-01-20 19:35:17 -05:00
tildearrow 8dadb87d12 CI: try out RelWithDebInfo 2023-01-20 16:47:41 -05:00
tildearrow 56304e9501 disable MinGW builds until I get backtrace working 2023-01-20 16:39:42 -05:00
tildearrow 1b900d6ef5 Revert "- MINIMIZE DEBUG, ATTEMPT 2 -"
This reverts commit cf0ecde293.
2023-01-20 16:39:21 -05:00
tildearrow cf0ecde293 - MINIMIZE DEBUG, ATTEMPT 2 - 2023-01-20 15:47:55 -05:00
tildearrow 9583215d00 Revert "remove minimize debug"
This reverts commit 73b7893c04.
2023-01-20 15:47:37 -05:00
tildearrow 73b7893c04 remove minimize debug 2023-01-20 15:24:43 -05:00
tildearrow fa0e8cb993 - MINIMIZE DEBUG -
issue #803
2023-01-20 15:13:19 -05:00
tildearrow 7bdda990e1 OPL: partially implement new hard reset
it's so late
2023-01-20 04:52:27 -05:00
tildearrow c0d1fe9c65 OPM/OPZ: new hard reset strat
also fix weird envelope after hard reset
2023-01-20 04:28:18 -05:00
tildearrow 7fbc188532 aaaaaaa 2023-01-19 19:20:04 -05:00
tildearrow 45faadd4c8 update copyright year 2023-01-19 19:18:40 -05:00
tildearrow a5a3407d3b who used sprintf! 2023-01-19 19:01:31 -05:00
tildearrow 888af74c07 YM2610B: fix hard reset not working 2023-01-19 18:37:29 -05:00
tildearrow b33ea8f0ac apply new hard reset strategy on all OPN chips 2023-01-19 18:22:48 -05:00
tildearrow 48a1e6a976 YM2612: new experimental hard reset strategy 2023-01-19 14:36:15 -05:00
tildearrow 231b5c3694 WonderSwan: make phase reset work 2023-01-19 03:57:29 -05:00
tildearrow 503e822a33 PCE: better noise frequency handling 2023-01-19 03:38:29 -05:00
tildearrow cac807551f OPN/2/A/B: Seamless Legato Ins Change (ExtCh) 2023-01-19 03:15:41 -05:00
cam900 7340d029ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-19 16:51:27 +09:00
tildearrow 3e43cdacd2 update Nuked-OPLL to latest version 2023-01-19 02:49:55 -05:00
tildearrow 9bbc1e2c82 OPLL/OPL: Seamless Legato Ins Change 2023-01-19 02:45:02 -05:00
tildearrow 6832f92b99 OPM/OPZ: Seamless Legato Ins Change 2023-01-19 02:28:12 -05:00
tildearrow 1b05fe577d OPN/2/A/B: Seamless Legato Ins Change 2023-01-19 02:23:05 -05:00
tildearrow 982b250307 Merge branch 'master' of github.com:tildearrow/furnace 2023-01-19 00:38:01 -05:00
tildearrow c1e26ee749 fix more possible crashes when deleting ins
and added a fatal error if implementation is missing
2023-01-19 00:37:37 -05:00
Clingojam f05ba977b7
updated amalgam.fur (#937) 2023-01-18 22:28:08 -05:00
tildearrow bb4dc21603 GUI: one more 2023-01-18 19:22:43 -05:00
tildearrow 5125e3ebb4 GUI: reset chanOscVol on stop 2023-01-18 19:20:07 -05:00
tildearrow fa6badc865 YM2612: notifyInsDeletion 2023-01-18 17:17:27 -05:00
tildearrow ed2bc592dc do we have a .pdb 2023-01-18 16:29:16 -05:00
tildearrow fd8b7030ae it may be 2023-01-18 14:57:01 -05:00
tildearrow 3032ad515c is it threading? 2023-01-18 14:26:48 -05:00
tildearrow eb1531ac1c Revert "crash test"
This reverts commit 3555ac3907.
2023-01-18 14:22:36 -05:00
tildearrow 3555ac3907 crash test 2023-01-18 13:15:00 -05:00
Waldemar Pawlaszek 75bc994ff6 One more thing: declaring Lynx only for VGM 1.72 or higher (not sure if the way is elegant enough) 2023-01-18 10:32:03 +01:00
Waldemar Pawlaszek b42dd554f2 Merge remote-tracking branch 'origin/master' into Mikey_VGM 2023-01-18 10:21:13 +01:00
tildearrow 72ca76ab7f TIA: whaaaaaaaaaaaaaaaaaaaaaaaaaaat? 2023-01-18 01:17:50 -05:00
tildearrow 58f732d813 update 2023-01-17 18:20:18 -05:00
tildearrow e24963c5ea new demo song
by Clingojam
2023-01-17 18:12:58 -05:00
tildearrow 5cdd04eca8 GUI: catch display connect/dis events 2023-01-17 17:57:42 -05:00
tildearrow 164452c0a4 GUI: it's not like FamiTracker 2023-01-17 13:37:51 -05:00
tildearrow c60aceec8b GUI: add single-digit effects for 00-0F setting 2023-01-17 02:07:29 -05:00
tildearrow 2cfed1336a whoops!!!!!!!! 2023-01-17 02:00:04 -05:00
tildearrow 539b2ec2db dev138 - fix broken porta after legato 2023-01-17 01:58:59 -05:00
tildearrow f7b30771d8 CI: re-enable the rest of platforms 2023-01-17 01:11:44 -05:00
tildearrow 1d446bd56b dev137 - new mixing volumes
YM2612 is now twice as loud
SN76489 and OPLL are 1.5x loud
X1-010 is four times louder
2023-01-17 01:11:08 -05:00
tildearrow 0383b0c50f YM2612: fix one more click... 2023-01-16 23:59:34 -05:00
tildearrow 0d5c7da774 MSVC DEBUG! MSVC DEBUG! MSVC DEBUG!
DO NOT USE! I AM DEBUGGING A CRASH!

ONLY FOR TESTER
2023-01-16 22:38:46 -05:00
brickblock369 39349d2fde
Another update to my OPL3 slap bass (#933)
* 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
2023-01-16 21:51:35 -05:00
tildearrow 13b782c7b1 YM2612: yet another fix 2023-01-16 18:41:56 -05:00
tildearrow bf49b43e7b YM2612: fix another pop 2023-01-16 16:20:10 -05:00
tildearrow 2c528c9ca8 OPN: add LFO speed macro
issue #927
2023-01-16 16:10:34 -05:00
tildearrow 58f789b9eb YM2612: fix forceIns DAC clicking 2023-01-15 23:34:01 -05: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
tildearrow bf2ef2742a YM2612: fix forceIns after sample 2023-01-15 18:05:48 -05:00
tildearrow 3370e91aad MEMORY LEAK 2023-01-15 17:28:47 -05:00
tildearrow 6834b3b7db maybe fix sample corruption when resampling 8-bit 2023-01-15 17:27:16 -05:00
brickblock369 3174638120
Request to add another OPL3 instrument to the repo (#928)
* Adding another OPL instrument

* Adding another OPL instrument

Updated the SL from 6 to 5.
2023-01-15 15:44:34 -05:00
tildearrow 1a27bf3373 GUI: fix KSL values 1/2 being swapped in OPL 2023-01-15 14:12:23 -05:00
Waldemar Pawlaszek e42ab1b847 Experimental Mikey VGM 1.72 export. 2023-01-15 16:27:20 +01:00
tildearrow 1ab80379e1 VGM export: fix wrong loop size 2023-01-15 04:32:47 -05:00
tildearrow 17cb32fe9e VGM export: improve volumes 2023-01-15 03:54:11 -05:00
tildearrow 6c5f9886fb OPL: fix t/hh per-chan osc not being visib in OPL3 2023-01-15 02:10:24 -05:00
tildearrow a3d20ac3fd WonderSwan: why does this not work 2023-01-15 01:46:34 -05:00
tildearrow 9ada18a57a VGM export: always write stream freq first 2023-01-15 01:20:31 -05:00
tildearrow cb11d3f268 strict-aliasing........ 2023-01-15 00:45:31 -05:00
tildearrow be79f80770 SoundUnit: separate flag register
issue #649
2023-01-15 00:40:57 -05:00
tildearrow f4d922822a add PCE demo
by Fragmare
2023-01-15 00:01:54 -05:00
tildearrow cf3e907501 CI: go back to release mode 2023-01-14 23:33:19 -05:00
tildearrow a3be1c9af6 CI: re-enable MinGW/Linux builds 2023-01-14 23:17:09 -05:00
tildearrow 8746d36eac finally fix that Windows 32-bit crash 2023-01-14 23:16:29 -05: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
tildearrow f69917010a use SDL2main 2023-01-14 14:57:03 -05:00
tildearrow b644de1c1f GUI: add setting for double click time 2023-01-14 14:07:50 -05:00
tildearrow 26e424fe9f GUI: use DeltaTime for soloTimeout
issue #846
2023-01-14 13:51:02 -05:00
tildearrow ed11b6cf78 Namco WSG: fix frequency overflow 2023-01-14 13:34:08 -05:00
tildearrow 844db05f10 GUI: fix macro tooltip visual glitch 2023-01-14 13:21:45 -05:00
tildearrow 380f761ee5 add two demo songs
by tildearrow
2023-01-14 03:57:57 -05:00
tildearrow 73b399d00d freaking GCC and your artificial errors 2023-01-14 01:12:16 -05:00
TheDuccinator 7507ca6d8f Adding YET another demo song
-Add OPNA song "Blue Nebula"
-wert8ywf87ey8wyer8y7thwr87tgh90werkg
2023-01-13 22:33:34 -05: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
tildearrow a8eedea925 QSound: prevent negative memory capacity 2023-01-13 14:11:32 -05:00
cam900 ab532cca84
Fix free QSound ADPCM space calculation (#826) 2023-01-13 14:10:33 -05:00
tildearrow b4f3deeb18 Debug....... 2023-01-13 13:35:35 -05:00
Waverider 99d0162c8e
add two songs + artist to about.cpp (#849)
* 2 songz

* add artist

* whoops

* that ones multichip

* whoops!
2023-01-13 12:32:38 -05:00
tildearrow 169929ff9b ZX beeper: fix frequency range 2023-01-13 03:39:59 -05:00
tildearrow ae007b3829 Lynx: fix frequency craziness 2023-01-13 01:22:15 -05:00
tildearrow 8d0090b0f3 X1-010: fix frequency overflow
issue #843
2023-01-13 01:15:55 -05:00
tildearrow 7b14175e45 C64: fix frequency overflow 2023-01-13 01:10:57 -05:00
tildearrow f939878fcb AY8930: always write duty 2023-01-13 00:51:16 -05:00
cam900 ab46b8e080 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 14:24:43 +09:00
tildearrow fe4800f165 AY8930: fix Mag Max and Kyugo clock rates 2023-01-13 00:22:00 -05:00
tildearrow b5a1c13285 CI: temporarily disable Windows MinGW builds 2023-01-13 00:21:50 -05:00
tildearrow bb1a80d1cb CI: temporarily disable Linux builds 2023-01-13 00:16:16 -05:00
tildearrow e560838025 OPL/OPLL: expand relative pitch range...
poor Z80
2023-01-13 00:15:37 -05:00
tildearrow 14e21826c3 don't fail fast 2023-01-13 00:12:14 -05:00
tildearrow 961c977378 OPM/OPZ: custom clocks
finally
2023-01-13 00:07:56 -05:00
tildearrow e1d0c8aa79 fix #920 2023-01-12 23:55:58 -05:00
tildearrow d99f0cd045 T6W28: forceIns() noise mode 2023-01-12 23:19:28 -05:00
tildearrow e3073a22e9 BubSys: fix crash 2023-01-12 23:17:32 -05:00
tildearrow 21ab10c30c N163: fix crash 2023-01-12 23:16:33 -05:00
tildearrow 0c36c0633b VRC6: fix crash 2023-01-12 23:14:57 -05:00
cam900 b64c089c56 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 09:48:52 +09:00
tildearrow bf0c58aedc OPNA/OPNB: implement pitch macro
issue #838
2023-01-12 18:47:02 -05:00
tildearrow 9af1ce84df AY8930: increase pitch macro range to 65535 2023-01-12 18:42:34 -05:00
tildearrow 5df68c2ee8 AY/AY8930: fix period overflow 2023-01-12 18:39:25 -05:00
tildearrow 4724c1ccb1 Game Boy and NES: pitch macro now affects noise 2023-01-12 18:36:13 -05:00
tildearrow 84ae0b31f3 OPZ: pan macro 2023-01-12 18:33:11 -05:00
tildearrow 089f3f3b9b PCE: fix drop 2023-01-12 18:23:04 -05:00
tildearrow 04849d2172 PCE: where is the low period cap 2023-01-12 18:17:31 -05:00
tildearrow b074136094 Game Boy: make pitch macro work on noise 2023-01-12 18:10:17 -05:00
tildearrow f2fdeb9df8 Game Boy: fix period 0 causing overflow
issue #835
2023-01-12 17:59:40 -05:00
tildearrow aea7a67d3e Namco WSG: noise in per-chan osc for real? 2023-01-12 17:45:33 -05:00
tildearrow 15c6ebff0a add a tiny issue template 2023-01-12 17:19:20 -05:00
tildearrow 009b2c080d GUI: hide arp/pitch macros on 6258/6295 ins 2023-01-12 16:23:59 -05:00
tildearrow 51cef18bff AY: optimize 2023-01-12 16:05:03 -05:00
tildearrow b238e9ee6d GUI: update credits 2023-01-12 16:04:18 -05:00
SnugglyBun a0285600ac
3 new demo modules (#847)
* YM2610B Intelligent DnB song

made in like 3 to 4 hours i guess.

* Melody of Certain Feelings (Rewrite)

basically a new song altogether

* Sky Chaze Zone "32X" cover

Actually it's just Genesis + 4xDACs but i think that the 32x had more than enough power to pull this off

* Delete SnugglyBun - Melody of Certain Feelings (X16 VERA).fur

* renamed Melody of Certain Feelings.fur

renamed the file per Tildearrow's request

* Delete Melody of Certain Feelings.fur

* Renamed the file again

hopefully this should be alright
2023-01-12 15:38:51 -05:00
tildearrow db2d7b2ff3 try to fix MinGW console mode 2023-01-12 15:27:41 -05:00
James Alan Nguyen a0191fcbe1 @djtubig-malicex contributing four demo songs to flex. 2023-01-12 15:09:39 -05:00
Trinity Martinez a88c947de7 Adding a demo song (#829)
* tetristhemeA.fur

includes a secret track

* Delete tetristhemeA.fur

need to remove vampire killer

* tetristhemeA.fur

* Uploaded the wrong file again

* okay this is the real one
2023-01-12 14:52:00 -05: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
tildearrow 9b80af3a4e dev136 - Merge branch 'newDispatch' (PLEASE READ!)
the following changes have been made:
- a different strategy for DivDispatch audio output.
  - if you're working on a new chip, be sure to replace isStereo()
    with getOutputCount(). if isStereo() was true, return 2; otherwise
    1.
    do not return 0 or you will melt the oven!
  - additionally, the acquire() function has changed. it's now:
    `acquire(short** buf, size_t len)`
    replace bufL with buf[0] and bufR with buf[1].
    `start` is gone. if you really needed to use it, take a look at
    pcspkr.
    if you write to buf[1] and getOutputCount is 1, the oven will
    melt as well!
- support for more-than-stereo audio, with up to 16 outputs.
- a brand-new patchbay routing feature. arbitrarily route chip outputs
  to system outputs.
2023-01-12 03:59:53 -05:00
tildearrow 93aa84bb27 GUI: patchbay right click menu 2023-01-12 03:56:18 -05:00
tildearrow 01f6e8f963 make patchbay effective on samplepreview/metronome 2023-01-12 03:31:43 -05:00
tildearrow 9d327cacd8 GUI: improve patchbay colors 2023-01-11 13:37:26 -05:00
tildearrow 9f0d8dba20 GUI: populate portPos even when invisible 2023-01-11 00:55:56 -05:00
tildearrow 5a48c85c14 GUI: prevent connection to self 2023-01-11 00:42:30 -05:00
tildearrow 0fd0206cc3 fix build 2023-01-11 00:10:42 -05:00
tildearrow 51802720a6 GUI: more patchbay work 2023-01-10 19:09:26 -05:00
tildearrow a36322ff82 fix possible crash when switching stereo on X1-010 2023-01-10 16:15:37 -05:00
tildearrow 2fbec000d7 dev136 - add auto patchbay toggle 2023-01-10 15:58:15 -05:00
tildearrow 02838e0a07 GUI: prevent patchbay from moving up and down 2023-01-10 14:25:25 -05:00
tildearrow 4bc2418dd6 GUI: patchbay connection
some improvements left to do
2023-01-10 14:17:06 -05:00
tildearrow 9b79bc0e7b GUI: it doesn't work! 2023-01-08 19:23:17 -05:00
tildearrow fc6bc13729 GUI: prepare patchbay view 2023-01-07 19:46:57 -05:00
tildearrow e0785d9f00 fix front/rear being inverted 2023-01-07 16:39:01 -05:00
tildearrow 4b85ec433b GUI: add mobile mixer 2023-01-07 16:26:36 -05:00
tildearrow 784b410fb4
Merge pull request #834 from laoo/pokey_bug
POKEY: audc is set for wrong channel when channels 3 & 4 are paired
2023-01-07 15:45:43 -05:00
Waldemar Pawlaszek 8e009509db POKEY: audc is set for wrong channel when channels 3 & 4 are paired 2023-01-07 18:51:55 +01:00
tildearrow 9e9b0e8e75 fix ear rape 2023-01-07 04:09:01 -05:00
tildearrow 1154a2bda6 implement patchbay-based output 2023-01-06 18:44:20 -05:00
tildearrow 6273275b47 new floating-point volumes and patchbay 2023-01-06 17:43:08 -05:00
tildearrow 7f5cdd6f6b GUI: vol meter fix 2023-01-05 03:36:09 -05:00
tildearrow 707bbb54ea add effects for rear panning 2023-01-05 03:08:57 -05:00
tildearrow 71e40dc015 support more than 2 output channels
up to 16 on JACK
to-do: add more mixer settings
2023-01-05 02:40:17 -05:00
tildearrow e75413c0c7 lagrange_point_2023_opm.fur 2023-01-04 23:38:31 -05:00
tildearrow 77f7fcd555 Merge branch 'master' into newDispatch 2023-01-04 23:03:23 -05:00
tildearrow 8e63257756 GUI: fix possible crash in grid mode 2023-01-04 22:59:21 -05:00
tildearrow 8c70ac8da3 don't detach console on Windows 2023-01-04 20:04:40 -05:00
tildearrow 48bcc6a124 prepare for handling more than 2 channels 2023-01-04 20:04:02 -05:00
cam900 96983e3d48 Add SSG and FM/ADPCM volume mixer config for OPN/A/B 2023-01-05 09:49:21 +09:00
tildearrow abf2461573 OPL: increase range of pan macro 2023-01-04 19:16:37 -05: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
tildearrow fd9b1dd0f5 OPL: quad output
now that we have this new dispatch output method
2023-01-04 18:30:29 -05:00
tildearrow 6c834524aa new dispatch, part 4 2023-01-04 17:01:14 -05:00
tildearrow 9436e2ab55 new dispatch, part 3 2023-01-04 03:11:47 -05:00
tildearrow 3a687eeb45 new dispatch, part 2 2023-01-03 14:39:31 -05:00
tildearrow a29f36a5df new dispatch, part 1 2023-01-03 01:09:46 -05:00
tildearrow 3e0dcbb0ae aaaaaaaa 2023-01-02 04:53:37 -05:00
tildearrow e06b2f6952 Merge branch 'master' into newDispatch 2023-01-02 00:07:02 -05:00
tildearrow 560ec19176 SMS/T6W28: limit upper period 2023-01-02 00:00:23 -05:00
tildearrow 08d2f12dbd prepare new dispatch
will allow for more than 2 outputs
2023-01-01 19:46:08 -05:00
cam900 8a71a81ffb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-02 09:26:05 +09:00
tildearrow 565e8cc314 Revert "..."
This reverts commit 347d834803.
2023-01-01 13:41:10 -05:00
tildearrow 347d834803 ... 2023-01-01 03:53:47 -05:00
tildearrow cf599f8661 Merge branch 'master' of github.com:tildearrow/furnace 2022-12-31 18:51:40 -05:00
tildearrow d8dcaed009 update readme 2022-12-31 18:50:59 -05:00
tildearrow 502d996dff apply SUPPORT_XP flag to x86 Windows builds 2022-12-31 18:40:00 -05:00
tildearrow c57636002a better Windows XP check 2022-12-31 18:36:33 -05:00
tildearrow db690a1e45 release v0.6pre3 2022-12-31 17:00:40 -05:00
tildearrow 15986889ee Merge branch 'master' of github.com:tildearrow/furnace 2022-12-31 16:51:08 -05:00
tildearrow c776bccfda fix MinGW 32-bit build 2022-12-31 16:50:41 -05:00
tildearrow 99059869e8 add more demo songs
sent by Martin Demsky
2022-12-31 16:38:22 -05:00
tildearrow 7523578661
Merge pull request #816 from liaminventions/master
added panning to my demo song
2022-12-31 16:32:52 -05:00
tildearrow 821df80594 Namco WSG: noise in per-chan osc? 2022-12-31 16:19:02 -05:00
tildearrow b07798b805 YM2203: fix non-linear 2022-12-31 14:14:35 -05:00
Waverider 51b3c85b54
a note 2022-12-31 12:50:00 -05:00
Waverider f80773c357
Merge branch 'tildearrow:master' into master 2022-12-31 12:22:25 -05:00
Waverider 6558d8dec4
rename 2022-12-31 12:22:18 -05:00
Waverider 1182f7e6e4
need to rename this 2022-12-31 12:21:56 -05:00
tildearrow 84bb613b42 fuuuuuuu 2022-12-29 16:14:22 -05:00
tildearrow f2fce2fab3 YM2612: phase reset for samples 2022-12-29 15:58:42 -05:00
tildearrow e31f8a2115 SegaPCM: fix new arp strat 2022-12-29 15:42:01 -05:00
tildearrow ae4cb78c2c ... 2022-12-29 15:25:38 -05:00
tildearrow f8bceecebf another update 2022-12-29 14:43:42 -05:00
tildearrow e8d9fd6a15 maybe fix possible crash in low buffer sizes 2022-12-29 14:34:19 -05:00
Waverider 4ae694464a
fix beginning 2022-12-29 14:03:31 -05:00
Waverider a5e8732480
add panning to a song 2022-12-29 14:00:18 -05:00
tildearrow 53b8e013e7 GUI: hide wave macro from RF ins 2022-12-29 05:15:00 -05:00
tildearrow 89995a02be QSound: fix ADPCM
I guess you can say it's complete
2022-12-29 03:31:26 -05:00
tildearrow 7fa5fecd38 possibly fix retrigger with sample map 2022-12-29 03:12:00 -05:00
tildearrow 5bc2ccbe8e fix a tiny bug when saving SNES instruments 2022-12-29 02:22:20 -05:00
cam900 ff937604c7
Merge branch 'master' into es5506_alt 2022-12-29 16:18:24 +09:00
tildearrow 3ad3423542 update readme 2022-12-29 00:31:10 -05:00
tildearrow 286cca3a54 NES: What, what, what, what, what, what, what, what, what, what? 2022-12-28 23:57:06 -05:00
tildearrow f2fb67eba6 GUI: comment out some log spam 2022-12-28 23:43:58 -05:00
tildearrow 85c4086d5a why is this here 2022-12-28 23:11:16 -05:00
tildearrow 37c2ea3097 NES: fix arp macro 2022-12-28 23:04:12 -05:00
tildearrow 893b48b9bb fix SPC_DSP.cpp to work on GCC 5 2022-12-28 21:37:42 -05:00
tildearrow a09ad00e48 prepare for 0.6pre3
OPN: add flag to make ExtCh op 1 be the only one controlling FB
GUI: move Arcade presets to top
GUI: fix YM2612 CSM not having flags
2022-12-28 18:11:30 -05:00
tildearrow 72ff7ad11a MegadriveOverdrive
by Crisps
2022-12-28 18:10:16 -05:00
tildearrow 241289ea31 move Arcade demo songs 2022-12-28 18:02:50 -05:00
tildearrow 2ec2b125af new demo song
by Mahbod_Karamoozian
2022-12-28 17:43:23 -05:00
tildearrow ce89080be7 Untested Crap 2022-12-28 17:41:31 -05:00
tildearrow 9a429e3563 PCE: fix arp macro on noise 2022-12-28 17:23:13 -05:00
tildearrow dd000d9c04 part 6
issue #685
2022-12-28 16:40:22 -05:00
tildearrow 905bb8bf44 part 5
issue #685
2022-12-28 16:23:47 -05:00
tildearrow dc868539ec part 4
issue #685
2022-12-28 16:08:14 -05:00
tildearrow fbb712ddc9 part 3
issue #685
2022-12-28 16:07:01 -05:00
tildearrow cb70759a68 part 2
issue #685
2022-12-28 15:50:10 -05:00
tildearrow 56be377cc2 attempt to support Windows XP
issue #685
2022-12-28 15:40:27 -05:00
tildearrow 6811413afc GUI: fix MSM5232 part labels 2022-12-28 15:31:26 -05:00
tildearrow 0fe8554a5d MSM5232: fix arp macro 2022-12-28 15:27:38 -05:00
tildearrow 735030b026 GUI: add compat flags button to mobile UI 2022-12-28 15:15:19 -05:00
tildearrow 8e4fda542a OPNA: fix rim muting 2022-12-28 14:51:59 -05:00
tildearrow 2c182334d7 OPN: increase range of pitch2 2022-12-28 14:47:50 -05:00
tildearrow 99f2901ed6 update readme 2022-12-28 00:35:47 -05:00
tildearrow 47be21df4d f-num/block range fix 2022-12-26 16:09:38 -05:00
tildearrow 9e47468b53 YM2612: workaround 2022-12-26 13:49:59 -05:00
tildearrow 344fbc06e2 update instrument guidelines 2022-12-25 18:20:04 -05:00
tildearrow 1fae16514c OPLL: freqChanged during note off? 2022-12-25 15:54:40 -05:00
tildearrow 513ab09e7c OPLL: what why 2047 2022-12-25 14:45:07 -05:00
cam900 0b948086d6 Remove accidentally added thing 2022-12-25 19:05:16 +09:00
tildearrow 2923eb6265 SegaPCM: fix per-chan osc when muted 2022-12-25 05:04:32 -05: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
tildearrow ca5d8eeb72 GUI: add missing POKEY preset 2022-12-25 03:38:19 -05:00
tildearrow 4584b8aa82 POKEY: fix setFlags() crash with altASAP 2022-12-25 03:36:30 -05:00
tildearrow d78ffa60cc GUI: fix classic pattern headers 2022-12-25 03:26:44 -05:00
cam900 b8c374977c forgot this 2022-12-25 16:15:36 +09:00
cam900 c754504337 Update previous commit 2022-12-25 16:11:47 +09:00
cam900 9a19a89370 Possibly fix gcc 5.4 2022-12-25 16:11:29 +09:00
cam900 0414b960b8 Fix build 2022-12-25 14:14:32 +09:00
cam900 3034f33ee0 Minor initializer 2022-12-25 14:04:37 +09:00
cam900 21e2b9f568 Try to fix initializer 2022-12-25 14:02:01 +09:00
tildearrow 618ff1d393 release v0.6pre2 2022-12-24 23:39:44 -05:00
tildearrow 8b3afabc2f
Merge pull request #804 from brickblock369/master
Proposal to add another custom instrument and a demo song
2022-12-24 23:14:18 -05:00
tildearrow aa0b14a1f2 try fixing this minimize bug 2022-12-24 19:11:04 -05:00
tildearrow 618865e5a5 Revert "Revert "update Android project template""
This reverts commit 18fed05948.
2022-12-24 18:53:55 -05:00
tildearrow 78fc57b3e8 Revert "Revert "update SDL to 2.24.2""
This reverts commit e78a8a6187.
2022-12-24 18:53:42 -05:00
tildearrow e78a8a6187 Revert "update SDL to 2.24.2"
This reverts commit d53cc32878.
2022-12-24 18:42:14 -05:00
tildearrow 18fed05948 Revert "update Android project template"
This reverts commit 0b66595c0f.
2022-12-24 18:34:27 -05:00
tildearrow 89e057a2ba OPLL: fix possible overflow 2022-12-24 18:29:01 -05:00
tildearrow 1ac19ed61f new demo songs
by SuperJet Spade and FΛDE
2022-12-24 18:06:31 -05:00
tildearrow 0914359063 dev131 - SNES: add more sustain modes and D2 2022-12-24 18:03:57 -05:00
tildearrow 3bea6ee891 GUI: implement time in sample editor 2022-12-24 16:59:04 -05:00
brickblock369 5842aa433b
Add one demo song 2022-12-24 12:17:38 -08:00
brickblock369 a27dc331a5
Add one instrument to the repo 2022-12-24 12:17:01 -08:00
tildearrow 6cce918c02 Nuked-OPN2 + ymfm combo option for all OPN chips
modified Nuked doing FM and ymfm doing SSG/ADPCM
2022-12-24 02:29:37 -05:00
tildearrow 85d43a84a7 make OPN channel offsets common 2022-12-24 00:15:15 -05:00
tildearrow 5ecc79f8b9 fix 2022-12-23 22:54:55 -05:00
tildearrow 19235a19a7 GUI: more window debug messages 2022-12-23 22:36:14 -05:00
cam900 a793bed56d
Merge branch 'master' into es5506_alt 2022-12-24 12:01:03 +09:00
tildearrow 3685772728 GUI: add some CSM presets 2022-12-23 19:31:24 -05:00
tildearrow 81bda09625 update to-do list 2022-12-23 19:27:30 -05:00
tildearrow 37dbc52a68 YM2612: CSM without DualPCM 2022-12-23 19:26:42 -05:00
tildearrow dff3ddeb3a port ExtCh op macro code to OPN family, part 7 2022-12-23 19:06:10 -05:00
tildearrow 75416fc63e port ExtCh op macro code to OPN family, part 6 2022-12-23 19:00:03 -05:00
tildearrow f19472f84a Revert "update readme"
This reverts commit 62b40464f1.
2022-12-23 15:06:44 -05:00
tildearrow 07697bc888 go back to release mode 2022-12-23 14:35:56 -05:00
tildearrow 3f1e9644dd Revert "disable MinGW builds temporarily"
This reverts commit 14e70e2684.
2022-12-23 14:34:43 -05:00
tildearrow e161eb2e20 port ExtCh op macro code to OPN family, part 5 2022-12-23 14:31:00 -05:00
tildearrow da9e64881d port ExtCh op macro code to OPN family, part 4 2022-12-23 13:55:15 -05:00
tildearrow 552040facf fetch_add 2022-12-23 05:14:42 -05:00
tildearrow 66f2b05287
Merge pull request #800 from laoo/ASAP_POKEY
ASAP POKEY small fix and refactorings
2022-12-23 01:52:41 -05:00
Waldemar Pawlaszek 35ac14d35b Applying notes. 2022-12-23 07:43:51 +01:00
Waldemar Pawlaszek e5e3a83302 More refactoring 2022-12-23 07:31:22 +01:00
tildearrow e960b6be30 use assign 2022-12-23 01:15:46 -05:00
Waldemar Pawlaszek 2423ec9bc6 Refactoring 2022-12-23 07:06:17 +01:00
Waldemar Pawlaszek f1c40082d6 Fixing osciloscope volume 2022-12-23 06:27:37 +01:00
tildearrow 45f9aa7261 crash test 2 2022-12-22 23:41:49 -05:00
tildearrow 14e70e2684 disable MinGW builds temporarily 2022-12-22 20:20:14 -05:00
tildearrow 00a0b84aac try to fix log
issue #797
issue #798
2022-12-22 20:17:02 -05:00
tildearrow f3973a5ff5 POKEY: make ASAP core the default 2022-12-22 19:47:13 -05:00
tildearrow 84c4e48fbe POKEY: optimize ASAP core a lot 2022-12-22 19:45:08 -05:00
tildearrow 42367a5601 POKEY: optimize ASAP core a bit 2022-12-22 19:37:10 -05:00
tildearrow 05d389adac update credits 2022-12-22 19:25:11 -05:00
tildearrow af770ec701 code style 2022-12-22 19:15:35 -05:00
tildearrow f587d0dde6
Merge pull request #799 from laoo/ASAP_POKEY
Asap pokey
2022-12-22 19:13:39 -05:00
Waldemar Pawlaszek d66042b9c7 macOS compilation fix 2022-12-22 23:25:14 +01:00
Waldemar Pawlaszek 44a26791c6 Applied code review remarks. 2022-12-22 23:17:38 +01:00
Waldemar Pawlaszek 1b2eb9cacb bugfixes 2022-12-22 23:04:03 +01:00
Waldemar Pawlaszek add1bf603b Merge remote-tracking branch 'origin/master' into ASAP_POKEY 2022-12-22 22:41:15 +01:00
Waldemar Pawlaszek 4a7e76c448 Renaming new POKEY core to AltASAP. Added core selection. 2022-12-22 22:40:29 +01:00
Waldemar Pawlaszek 3a94a7acde Implementation of POKEY core based on ASAP (http://asap.sourceforge.net) 2022-12-22 21:53:29 +01:00
tildearrow 2373884b5e crash test 1 2022-12-22 15:47:05 -05:00
tildearrow e74d7f1922 well I need to discard it?
I am not going to use that variable, you picky MSVC
2022-12-22 15:40:10 -05:00
tildearrow eab679e9d3 GUI: improve system detection algorithm (maybe) 2022-12-22 13:10:08 -05:00
tildearrow c8612b7e8a
Merge pull request #796 from Epictyphlosion/ngp
Add some more presets
2022-12-22 12:06:28 -05:00
tildearrow d47881bf99 new SNES demo song
by BlueElectric05
2022-12-22 03:57:14 -05:00
tildearrow 2c36706d22 port ExtCh op macro code to OPN family, part 3 2022-12-21 21:50:49 -05:00
tildearrow 246048e8ed I didn't push this?!?!? 2022-12-21 21:28:03 -05:00
Epictyphlosion 005aab057f
Wait, you can set custom clock speeds? 2022-12-21 16:12:15 -08:00
tildearrow 0eb2449c57 port ExtCh op macro code to OPN family, part 2 2022-12-21 18:02:00 -05:00
tildearrow 2a65f24b3f port ExtCh op macro code to OPN family, part 1 2022-12-21 17:55:38 -05:00
Epictyphlosion 4cf97bba5e
Fixed typos 2022-12-21 14:37:36 -08:00
tildearrow 44b90b6a10 move 2022-12-21 17:07:12 -05:00
freq-mod e9652af5a9
add RF5C164 demo song (#784)
* add RF5C164 demo song

* fix note cuts

* 8 channels

* move to directory

* aaaaaaaa
2022-12-21 17:06:34 -05:00
Kagamiin 50e6409348
Adding demos/sms/thunderblade-type-ii.fur (#794)
* Adding demos/sms/thunderblade-type-ii.fur

* Adding my name to about.cpp
2022-12-21 16:45:14 -05:00
tildearrow 417a9abfba
Merge pull request #795 from liaminventions/master
Update about.cpp and add two songs
2022-12-21 16:42:51 -05:00
tildearrow dc4ad09903 MSM6295: 127!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2022-12-21 16:33:32 -05:00
tildearrow 2ccc525293 K007232: ???
issue #797
2022-12-21 16:26:06 -05:00
Epictyphlosion 41a21ebb91
A few more for better measure
Some MSM5232 arcades
2022-12-21 12:42:47 -08:00
tildearrow 5ee41c5f5e GUI: fix possible issue when changing sample depth 2022-12-21 13:39:43 -05:00
tildearrow b208d2f32b fix Furnace not exiting after error during startup 2022-12-21 01:20:56 -05:00
Epictyphlosion 5f81ae48d8
As you wish 2022-12-20 20:52:51 -08:00
tildearrow 019b036853 Merge branch 'master' of github.com:tildearrow/furnace 2022-12-20 22:36:57 -05:00
tildearrow 62b40464f1 update readme 2022-12-20 18:55:09 -05:00
Epictyphlosion 8f972daf00
One more for good measure 2022-12-20 15:04:06 -08:00
tildearrow 909c553be3 whoops! 2022-12-20 17:55:05 -05:00
Epictyphlosion fe042b84cd
Wait that's the default clock speed
derp
2022-12-20 14:50:49 -08:00
tildearrow 7a92811fd9 rename some DIV_SYSTEM_ items
OPN -> YM2203
PC98 -> YM2608
FRAC -> DUALPCM
2022-12-20 17:49:53 -05:00
Epictyphlosion a4bfbfe8d9
Fixed missing commas + Atari arcade presets 2022-12-20 14:48:30 -08:00
tildearrow f45fb3fbaf update to-do list 2022-12-20 17:41:32 -05:00
tildearrow 34f6a303a6 prepare for more CSM 2022-12-20 17:40:45 -05:00
tildearrow 2fbcacfbd0 update format.md
change OPN to YM2203 and PC-98 to YM2608
2022-12-20 16:56:44 -05:00
tildearrow 36a62b9d6e Pokémon Mini: register layout 2022-12-20 16:33:57 -05:00
Epictyphlosion 1bd9bca245
Add two presets, removed some dupes
Added a Neo Geo Pocket and Atari 7800 with Ballblazer or Commando preset.
Removed Touchdown Fever presets as they were duplicates of the Triple Z80 presets.
2022-12-20 13:23:53 -08:00
tildearrow 210a002ae4 POKEY: per-chan osc 2022-12-20 15:21:03 -05:00
tildearrow 15dc663a15 POKEY: remove dithering
we only use 16-bit output anyway
2022-12-20 15:07:58 -05:00
tildearrow b7302e0d98 POKEY: VGM export 2022-12-20 14:54:55 -05:00
Waverider 256152c12a
Merge branch 'tildearrow:master' into master 2022-12-20 13:22:48 -05:00
tildearrow be41a2fe5d POKEY: fix forceIns 2022-12-20 03:52:18 -05:00
tildearrow 15afb1da84 add POKEY documentation 2022-12-20 03:19:25 -05:00
tildearrow 0d10b99cf7 POKEY: add AUDCTL macro 2022-12-20 02:59:26 -05:00
tildearrow c46f3a3085 GUI: add POKEY presets 2022-12-20 02:43:53 -05:00
tildearrow 08f42f1ea0 POKEY: it's the opposite 2022-12-20 02:43:37 -05:00
tildearrow f781d63ac2 POKEY: bass period mapping
and effect to change AUDCTL
2022-12-20 02:39:34 -05:00
tildearrow 541360a446 POKEY: louder 2022-12-20 00:34:52 -05:00
tildearrow 4b4a2273d3 YM2151/2414: fix new arp 2022-12-20 00:29:12 -05:00
tildearrow ba674a0329 start work on POKEY
to-do:
- add ability to change AUDCTL
- bass shape frequency and waveform mapping
- easy noise???
2022-12-19 19:45:04 -05:00
tildearrow 4ba8c0513e the final mzpokeysnd change (maybe)
it works! now to work on DivPlatformPOKEY...
2022-12-19 17:10:45 -05:00
tildearrow 112d773544 and more mzpokeysnd changes 2022-12-19 16:46:19 -05:00
tildearrow 139ac97144 more mzpokeysnd changes 2022-12-19 16:39:10 -05:00
Waverider f07f4cf692
Merge branch 'tildearrow:master' into master 2022-12-19 14:28:12 -05:00
Waverider aa2020154b
Add files via upload 2022-12-19 14:28:05 -05:00
tildearrow a8071a3c9f update mzpokeysnd 2022-12-19 14:18:32 -05:00
Waverider 71705123cb
fix 2022-12-19 14:07:31 -05:00
Waverider 920b8d6086
hopefully this is my last demo song 2022-12-19 14:05:33 -05:00
Waverider c23c7ced3d
Merge branch 'tildearrow:master' into master 2022-12-19 14:04:11 -05:00
tildearrow 222abe7e76 don't worry about it 2022-12-19 13:59:24 -05:00
Waverider 8aa5ff099c
Update about.cpp 2022-12-19 13:50:39 -05:00
cam900 300d817795 Update previous commit 2022-12-19 18:11:56 +09:00
cam900 75b0ed7af1 Add some PC-88 presets, with external soundcard(s)
Added AY clock (1.9968MHz) for PC-88
reference:
http://mydocuments.g2.xrea.com/html/p8/soundinfo.html,
https://www.dtmstation.com/archives/52016817.html
2022-12-19 18:07:43 +09:00
tildearrow c4be8c9f5d let's try out mzpokeysnd
to-do:
- de-Atari800ize the core
- remove resampling funcs
- make Update* public
-
-
- DivPlatformPOKEY already!
2022-12-18 20:01:29 -05:00
tildearrow 8309ce8df8 debug... AGAIN 2022-12-18 11:29:21 -05:00
tildearrow 90232f04c1
Merge pull request #792 from TheDuccinator/master
Add Remark Music AY3 Cover
2022-12-18 04:06:02 -05:00
TheDuccinator 4194c2684f
there we go 2022-12-18 01:05:06 -08:00
TheDuccinator cb003e843e
hold up 2022-12-18 01:04:50 -08:00
tildearrow 960e2ba1a7 DAC: fix chan osc 2022-12-18 04:03:49 -05:00
TheDuccinator 0a7d631065
Merge branch 'tildearrow:master' into master 2022-12-18 00:56:35 -08:00
TheDuccinator 83abd39c4e
Add Remark Music AY Cover
Another one to the pile bois.
2022-12-18 00:55:42 -08:00
tildearrow e0723c7485 DAC: add interpolation settings 2022-12-18 03:54:30 -05:00
tildearrow 51ea3cec2a add log file writing 2022-12-18 01:55:21 -05:00
tildearrow d897ac32b0 SegaPCM: what?????????? 2022-12-17 23:16:24 -05:00
tildearrow f407ab9d40 SegaPCM: fix volume/panning regression
issue #786
2022-12-17 23:14:44 -05:00
tildearrow ceb27728d3 add option to swap nibbles on raw sample import
issue #791
2022-12-17 22:45:30 -05:00
tildearrow 4affc48ebd Merge branch 'master' of github.com:tildearrow/furnace 2022-12-17 17:27:54 -05:00
tildearrow e965d1096c RF5C68: fix per-chan osc 2022-12-17 17:27:11 -05:00
cam900 2725024106 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-18 06:54:57 +09:00
cam900 710cf0bdae Remove unused function in MSM6258
MSM6258 has no dedicated sample memory, instead sample data is feeding from CPU or DMA
2022-12-18 06:54:19 +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 a3dacf793b Fix build 2022-12-18 06:42:40 +09:00
cam900 c801227b57 Fix build(again) 2022-12-18 06:40:36 +09:00
cam900 63f67f33b8 Fix build 2022-12-18 06:40:14 +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
tildearrow a367c3b480 Pokémon Mini: fix volume macro 2022-12-17 14:27:03 -05: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
tildearrow dbff00404c fix fix fix 2022-12-17 02:43:07 -05:00
tildearrow e28575f9fd dev130 - merge newArp 2022-12-17 02:25:43 -05:00
tildearrow 2600d4c576 new arp strategy, part 2 2022-12-17 02:10:20 -05:00
tildearrow 6f22ade69a new arp strategy, part 1 2022-12-17 02:07:24 -05:00
tildearrow 3eb3d8a6f1 prepare for new arp strategy 2022-12-17 01:21:08 -05: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
tildearrow 905329e1e4 help 2022-12-17 00:54:56 -05:00
tildearrow 1127688229 prepare for arp+pitch slide on linear pitch
will be a huge change
2022-12-17 00:18:25 -05:00
tildearrow 9da46ee8ba implement macro masking 2022-12-17 00:09:56 -05:00
tildearrow f5667fac1f
Merge pull request #787 from tildearrow/ga20
add (Partial) GA20 support
2022-12-16 22:37:33 -05:00
cam900 d8ed76c550 Fix forceIns 2022-12-16 19:27:40 +09:00
cam900 f627c4728f Merge branch 'master' of https://github.com/tildearrow/furnace into ga20 2022-12-16 19:21:59 +09:00
cam900 be48d15861 Initialize at reset 2022-12-16 19:15:56 +09:00
cam900 ef52c41fb4 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-12-16 19:14:58 +09:00
cam900 41c1b3b786 Uninitialized value 2022-12-16 19:14:45 +09:00
tildearrow 18364ed065 GA20: U N I N I T I A L I Z E D
initialize delay
2022-12-16 04:03:14 -05:00
tildearrow f070b1800e another try to fix 2022-12-16 03:51:02 -05:00
cam900 b800118e8d Minor forceIns fix 2022-12-16 14:19:26 +09:00
tildearrow 1adc0b25cd
Merge pull request #788 from brickblock369/master
Adding one instrument
2022-12-15 23:35:30 -05:00
brickblock369 79216e47e9
Adding one instrument 2022-12-15 20:33:32 -08:00
tildearrow adcf5874f0 Pokémon Mini: instrument type 2022-12-15 22:32:33 -05:00
tildearrow 8cc6fe3782 how to fix this 2022-12-15 22:32:28 -05:00
tildearrow ac207cb050 Merge branch 'master' of github.com:tildearrow/furnace 2022-12-15 22:31:58 -05:00
tildearrow cd671b5f12 what? 2022-12-15 17:18:34 -05:00
tildearrow 38d25bd6c2 update ymfm modification disclaimer 2022-12-15 16:48:03 -05:00
tildearrow 5984383b9d wait!!!! 2022-12-15 15:37:11 -05:00
tildearrow 5d8fa8f55b three more demo songs
by SuperJet Spade
2022-12-15 14:40:14 -05:00
cam900 d7c35f0748 Add VGM support 2022-12-15 21:36:51 +09:00
cam900 62cff511fd Merge branch 'master' of https://github.com/tildearrow/furnace into ga20 2022-12-15 21:22:55 +09:00
cam900 5ba79a9d71 Fix naming, Add M92/M107 preset 2022-12-15 21:21:52 +09:00
cam900 be9a1a17f0 GA20: Fix build and sound output, Add debug 2022-12-15 20:37:19 +09:00
cam900 8a3c40d6f5 Remove unused function 2022-12-15 20:35:26 +09:00
cam900 ee983e47f0 Fix core 2022-12-15 20:26:53 +09:00
cam900 ee849b197f Fix address 2022-12-15 20:17:06 +09:00
cam900 9c05badfef GA20 2022-12-15 20:13:15 +09:00
cam900 e2ea883315 Fix volume, Reduce unnecessary values 2022-12-15 20:12:06 +09:00
cam900 d5f44557c2 add (Partial) GA20 support 2022-12-15 20:03:54 +09:00
cam900 29c74384a2 Fix max volume 2022-12-15 19:09:26 +09:00
tildearrow 3c4373dd79 K007232: fix max volume 2022-12-15 03:54:27 -05:00
cam900 2e7a0c37e3 Add DIV_CMD_SAMPLE_DIR command and macro 2022-12-15 17:35:01 +09:00
cam900 7a91996e3a Actually fix 2022-12-15 17:00:46 +09:00
cam900 5de95e6565 Fix again 2022-12-15 16:46:15 +09:00
cam900 f7e9c4e45c Fix sample loading 2022-12-15 16:29:41 +09:00
cam900 8365d1c977
Merge branch 'master' into es5506_alt 2022-12-15 16:06:59 +09:00
tildearrow 301c473413 Square -> Pulse 2022-12-15 00:48:11 -05:00
tildearrow b619580b4b add ins type for Pokémon Mini and GA20 2022-12-15 00:47:46 -05:00
tildearrow dafa0189a8
Merge pull request #776 from cam900/k007232
Add K007232 support
2022-12-14 23:59:41 -05:00
tildearrow f43363c538 allocate IDs for K00 and GA20
and ins ID for Pokémon Mini
2022-12-14 23:55:29 -05:00
tildearrow 4566068afd SADFGLKJHASHDJLFK 2022-12-14 23:38:38 -05:00
tildearrow 7ef76d0f1c what? 2022-12-14 23:32:02 -05:00
tildearrow 0b66595c0f update Android project template 2022-12-14 23:27:17 -05:00
tildearrow d53cc32878 update SDL to 2.24.2
not updating to 2.26.1 due to build failure
see https://github.com/libsdl-org/SDL/issues/6169
2022-12-14 23:16:24 -05:00
tildearrow 2f8e2f9a5e YM2612: partial, buggy CSM on ymfm 2022-12-14 19:22:34 -05:00
tildearrow f132717502 YM2612: prepare to implement CSM on ymfm 2022-12-14 19:09:50 -05:00
tildearrow 332c6edbed re-initialize dispatch if core settings changed 2022-12-14 17:18:19 -05:00
tildearrow 7732031404 update ymfm 2022-12-14 17:07:46 -05:00
tildearrow 2a068ca046 YM2151: re-enable timer emulation in Nuked-OPM 2022-12-14 16:23:47 -05:00
cam900 a7153f42e9 Reduce debug duplication 2022-12-14 14:16:46 +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 ad6fd1561f Sync with master 2022-12-14 14:11:08 +09:00
cam900 441ad05484 Merge branch 'master' of https://github.com/tildearrow/furnace into k007232 2022-12-14 14:10:11 +09:00
tildearrow 0cf8fcdf35 update to-do list 2022-12-13 13:36:51 -05:00
tildearrow 5f3210ba48 add Pokémon Mini (partially) 2022-12-13 13:32:35 -05:00
tildearrow afb2fb9165
Merge pull request #785 from tildearrow/channel_struct_unify
Unify shared channel struct, De-duplicate channel debug
2022-12-13 13:30:20 -05:00
tildearrow ea849cc255 fix build 2022-12-13 13:27:44 -05:00
tildearrow 778d8d84d1 minor fixes 2022-12-13 13:23:48 -05:00
cam900 c163f70983 Missing ifndef 2022-12-14 02:09:48 +09:00
cam900 406cfb0ddd Revert unnecessary change 2022-12-14 02:06:53 +09:00
cam900 2ccc24920a Fix build 2022-12-13 16:25:38 +09:00
cam900 ce09edef84 Unify shared channel struct, De-duplicate channel debug 2022-12-13 16:22:48 +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 5ff3d910ca Sync with master 2022-12-13 14:47:54 +09:00
cam900 2b7b227539 Merge branch 'master' of https://github.com/tildearrow/furnace into k007232 2022-12-13 14:41:35 +09:00
tildearrow f455d2d942
Merge pull request #771 from tildearrow/duplicate_channel_struct
Reduce duplicates at channel struct
2022-12-13 00:19:03 -05:00
tildearrow 233037f6d2 organize demo songs 2022-12-12 19:18:57 -05:00
tildearrow e58fb42d52 resVol isn't shared 2022-12-12 17:18:13 -05:00
tildearrow b903a4276e volumeChanged isn't shared 2022-12-12 16:57:41 -05:00
tildearrow 1ae1f32574 Merge branch 'master' into duplicate_channel_struct 2022-12-12 16:33:05 -05:00
cam900 9fedb87808
Fix forcing instrument 2022-12-13 03:53:00 +09:00
cam900 82630317b0
Fix K053260 reloading counter 2022-12-12 16:51:01 +09:00
tildearrow 2ff68dad00 GUI: what now 2022-12-12 00:57:47 -05:00
cam900 84990c759e Merge branch 'master' of https://github.com/tildearrow/furnace 2022-12-12 14:42:56 +09:00
cam900 6cfbbe9fa4 Reduce unused variables 2022-12-12 14:42:47 +09:00
tildearrow 9ad3753179 GUI: edit button moves with menu 2022-12-11 18:22:39 -05:00
tildearrow 1fe4230e82 C64: possibly fix write delay issue in reSIDfp 2022-12-11 16:46:25 -05:00
tildearrow 315d7595a5 GUI: mobile edit button only visible in pattern 2022-12-11 16:29:22 -05:00
tildearrow fe4f15fff2 GUI: some inertial scrolling fixes
when moving/resizing
2022-12-11 13:38:44 -05:00
tildearrow 9d02afe0eb fix build 2022-12-11 13:34:58 -05:00
tildearrow a4d8604260 SN: fix easy noise arpeggio macro 2022-12-11 12:42:26 -05:00
tildearrow 6349ebbfad GUI: half working mobile edit options 2022-12-11 12:36:41 -05:00
tildearrow f331e50041 GUI: automatic mobile edit button layout 2022-12-11 04:03:22 -05:00
cam900 2bb0815938 ID conflict 2022-12-11 17:11:44 +09:00
cam900 2339dfe2aa Reduce duplication 2022-12-11 16:49:54 +09:00
tildearrow b8784d93ce
Merge pull request #781 from tildearrow/tooltip_enum
Add tooltips in GUI, enum-ize piano mode/Special notes
2022-12-11 02:38:31 -05:00
cam900 ed779f443a Addressing comments 2022-12-11 16:37:20 +09:00
tildearrow be01c19e3e GUI: no tooltips in mobile 2022-12-10 23:45:12 -05:00
cam900 592bf34bf3 Addressing comments 2022-12-11 11:09:13 +09:00
tildearrow 662a5c5c61 GUI: and here is some animation 2022-12-10 19:24:32 -05:00
cam900 c561ceceaf Add tooltips in GUI, enum-ize piano mode/Special notes 2022-12-11 04:32:51 +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 3f2b2a6a4c Fix build 2022-12-10 14:27:15 +09:00
cam900 793faed447 constant-ize 2022-12-10 14:26:26 +09:00
cam900 bf16f8f59e Reduce register spamming(again) 2022-12-10 13:57:39 +09:00
cam900 07e0577a36 Reduce register spamming 2022-12-10 13:44:24 +09:00
cam900 1e54f2da6c Minor fix 2022-12-10 13:34:48 +09:00
cam900 853ca714d0 Fix click 2022-12-10 13:32:56 +09:00
cam900 507f91f261 Fix delay issue, Add debug view for frequency 2022-12-10 13:25:32 +09:00
cam900 be2b67210d Reduce line width, Add debug view for K007232 2022-12-10 13:22:14 +09:00
cam900 0897029a16 Minor desync fixes 2022-12-10 13:12:03 +09:00
cam900 6ba1f3dfdd Remove condition duplication 2022-12-10 13:06:58 +09:00
cam900 3a4197c464 Merge branch 'master' of https://github.com/tildearrow/furnace into k007232 2022-12-10 13:03:37 +09:00
tildearrow e4ef9f46f7 GUI: mob edit menu work 2022-12-09 18:47:49 -05:00
tildearrow 4cc7a164e3 It looks like you may be committing a merge. 2022-12-09 18:43:00 -05:00
cam900 0f2583c1fb Minor defines 2022-12-10 06:11:46 +09:00
tildearrow 8d8be6cc13 last fix 2022-12-10 06:01:21 +09:00
cam900 39fadd23ac Fix formatting 2022-12-10 06:01:13 +09:00
cam900 677f642d9a Fix build 2022-12-10 06:01:13 +09:00
cam900 8c47f98b07 Minor reverting 2022-12-10 06:01:12 +09:00
cam900 9974d2a1c9 Minor correction 2022-12-10 06:01:12 +09:00
cam900 3c9f61d869 Add define for Effect column, Add description for defines 2022-12-10 06:01:12 +09:00
cam900 2a95e61e9d Add and reorganize constant define includes 2022-12-10 06:01:12 +09:00
tildearrow cff02d3ef0
Merge pull request #778 from tildearrow/defines
Add and reorganize constant define includes
2022-12-09 14:26:11 -05:00
tildearrow 896638df0b last fix 2022-12-09 13:47:10 -05:00
tildearrow 188821074b
Merge pull request #780 from LoKiToon/master
Oh, and one more thing. (Update about.cpp)
2022-12-09 04:35:09 -05:00
cam900 cd25d9985a Fox formatting 2022-12-09 17:56:44 +09:00
tildearrow a512dd3c6b GUI: prepare to add a time bar to sample editor 2022-12-09 03:51:41 -05:00
nk 63e4a6ed89
Update about.cpp 2022-12-09 11:25:49 +03:00
tildearrow 3d191e247b GUI: update credits 2022-12-09 02:37:18 -05:00
tildearrow ab88e707bc
Merge pull request #779 from jimmy-dsi/furnace-master
Added demo song
2022-12-09 02:36:53 -05:00
jimmy-dsi 12ec626765 Added demo song 2022-12-08 23:31:41 -08:00
cam900 05e9b22158 Fix build 2022-12-09 15:20:10 +09:00
cam900 8e57011d49 Minor reverting 2022-12-09 15:19:59 +09:00
cam900 65d45cd9ed Minor correction 2022-12-09 15:06:13 +09:00
cam900 f57bcf7b9c Add define for Effect column, Add description for defines 2022-12-09 15:03:06 +09:00
cam900 2e85e47c48 Add and reorganize constant define includes 2022-12-09 14:30:27 +09:00
cam900 4cb9cf7939 Minor formatting 2022-12-09 11:02:40 +09:00
tildearrow dfdd01b785 update contributing.md 2022-12-08 18:04:32 -05:00
tildearrow 8eca858d70 GUI: UNTESTED STUFF 2022-12-08 18:04:18 -05:00
tildearrow 0afd233bfa fix 2022-12-08 15:41:10 -05:00
tildearrow d05819ba99
Merge pull request #773 from LeviathaninWaves/furnace-testing
Add hovering mobile edit button
2022-12-08 15:27:44 -05:00
tildearrow ef85629e18
Merge pull request #777 from LoKiToon/master
Update to my demo songs
2022-12-08 15:24:25 -05:00
nk 4b9a3a0265
Add new and updated music 2022-12-08 20:20:47 +03:00
nk b3c008002e
Delete game boy thing.fur 2022-12-08 19:21:46 +03:00
nk e7b6446d62
Delete c64 ring test.fur 2022-12-08 19:15:00 +03:00
nk 40064d26f1
Delete C64 junk.fur 2022-12-08 19:14:03 +03:00
nk cc873cd920
Delete GranularFurn.fur 2022-12-08 19:12:16 +03:00
LeviathanInWaves e96a1b7084 Some fixes for mobile edit button 2022-12-08 09:24:42 -06:00
LeviathanInWaves 7a8b595e2a Revert changes 2022-12-08 09:24:42 -06:00
LeviathanInWaves 1d5c98440f Add floating Edit button for Mobile UI 2022-12-08 09:24:42 -06:00
LeviathanInWaves 6649d7ffe5 Bug testing for glitched value input pad, also loop point step sizes 2022-12-08 09:24:42 -06:00
cam900 142f746da1 Add docs 2022-12-08 19:22:22 +09:00
cam900 80b1285ac9 Fix channel count 2022-12-08 19:20:01 +09:00
tildearrow aa6a9223ac CI: add checksum to Windows artifacts 2022-12-08 04:57:56 -05:00
tildearrow 423978cba7 possibly fix crash on high smpl rates & low bufsiz 2022-12-08 04:37:43 -05:00
tildearrow ecf24b39fe GUI: make it possible to wheel on the note combo
like OpenMPT
2022-12-08 03:41:35 -05:00
tildearrow 2da7002fc8 GUI: add note/fine to sample editor rate
also deprecate compat rate
2022-12-08 03:32:20 -05:00
tildearrow 515e7a5a1d GUI: smp edit hide chips sctn if no smpl mem chips 2022-12-08 02:42:34 -05:00
tildearrow c157a38bd2 GUI: improve sample editor status bar 2022-12-08 02:37:40 -05:00
tildearrow cc7d94d126 debug one more time 2022-12-08 02:15:28 -05:00
tildearrow 28fbd5a7b0 SN: fix Nuked-PSG noise issue 2022-12-08 01:51:29 -05:00
tildearrow 6dd2459e5f SN: Defle...... 2022-12-08 01:38:49 -05:00
tildearrow adf21c4b70 GUI: fix wave edit scale Y 2022-12-08 01:16:06 -05:00
cam900 186eb23dd0 Fix build 2022-12-08 15:12:26 +09:00
tildearrow 0ee8309432 SN: fix easy noise 2022-12-08 01:10:02 -05:00
cam900 2f6789fca7 Add presets with K007232 2022-12-08 14:56:21 +09:00
tildearrow d0dca236ab invalid value fix 2022-12-08 00:39:29 -05:00
cam900 217872bdd5 Merge branch 'master' of https://github.com/tildearrow/furnace into k007232 2022-12-08 14:22:20 +09:00
cam900 76cdc3a6a5 (Partially) K007232 support
Chip ID is placeholder.
2022-12-08 14:18:22 +09:00
tildearrow 1caf61421b make Furnace fast 2022-12-07 23:34:01 -05:00
tildearrow c91e947ea3 SN: prepare for new easy threshold formula 2022-12-07 23:27:19 -05:00
cam900 ef08e9b0c2 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-08 11:38:08 +09:00
tildearrow a2be33cf95 GUI: add sample memory warnings
in the sample list
2022-12-07 03:42:54 -05:00
tildearrow c2bb86b2e4 QSound: whoops 2022-12-07 03:33:38 -05:00
tildearrow 056e67b228 dev129 - SNES: add option to toggle BRR emphasis 2022-12-07 02:57:19 -05:00
tildearrow b149d1b92e enable debug builds again... #745 2022-12-07 01:47:11 -05:00
tildearrow 4f1412013a VIC-20: possibly fix sadfgbmk;lhsdhklj;asdf;kj 2022-12-06 00:58:27 -05:00
cam900 9ce00f18e6 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-06 10:08:06 +09:00
tildearrow 5aa0bbbe96 ... 2022-12-05 19:19:04 -05:00
tildearrow a69dc4731e for real this time 2022-12-05 19:18:45 -05:00
tildearrow b94493dcc0 Merge branch 'brr' 2022-12-05 19:17:05 -05:00
tildearrow 0f63db2dac BRR loop fixes! 2022-12-05 19:13:21 -05:00
cam900 bf626ac68d
Fix K007232 start address 2022-12-06 09:00:34 +09:00
tildearrow 2dd8886db1 update brrUtils 2022-12-05 18:12:58 -05:00
tildearrow e21a681134 enough debugging 2022-12-05 10:51:54 -05:00
tildearrow 648851b5b5 re-write BRR encoder 2022-12-05 04:14:07 -05:00
tildearrow 165774d136 SN: move CHECK_CUSTOM_CLOCK 2022-12-04 22:00:39 -05:00
tildearrow 9026c1e03e this fails horribly 2022-12-04 22:00:17 -05:00
tildearrow eaa9a5879a Merge branch 'master' into brr 2022-12-04 17:44:57 -05:00
tildearrow a63e2284c7 GUI: mobile menu button dragging 2022-12-04 17:19:21 -05:00
tildearrow e76dcdd0cf add SDL audio driver debug line 2022-12-04 16:12:30 -05:00
tildearrow 561c2cb08c prepare for BRR fixes 2022-12-04 15:20:46 -05:00
cam900 4db187cafa Fix build 2022-12-04 22:15:43 +09:00
cam900 e1e5b0917c Fix build 2022-12-04 21:22:09 +09:00
cam900 d5f4e701e8 Fix build 2022-12-04 21:18:23 +09:00
cam900 b8a5d27a4f Fix debug build 2022-12-04 21:11:57 +09:00
cam900 5da139ec82 Fix build 2022-12-04 21:08:13 +09:00
cam900 47574fdede Move file into engine 2022-12-04 20:06:16 +09:00
cam900 18b87dcfaf Fix build 2022-12-04 20:02:59 +09:00
cam900 2ec4237076 Reduce duplicates of channel struct
Add/Fix custom clock limit defines (for YMF278B)
2022-12-04 19:58:58 +09:00
tildearrow fd3f381bc3 debug build to diagnose cust clock crash 2022-12-04 03:53:16 -05: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
tildearrow c6604ff581 add ability to select custom clock rates 2022-12-04 02:04:42 -05:00
tildearrow d6d6743740 custom tick rate for presets 2022-12-04 01:11:32 -05:00
tildearrow eb657aef18 GUI: prepare for proper VB/WS/C64 tick rates 2022-12-03 23:04:58 -05:00
tildearrow b647d17b12 prepare for custom chip clock rates 2022-12-03 04:24:08 -05:00
tildearrow ae86cd420d GUI: fix warning 2022-12-03 01:13:13 -05:00
tildearrow 2a17c1040f store sample chip select 2022-12-03 01:05:37 -05:00
tildearrow 69059dc702 GUI: several mobile changes 2022-12-03 00:51:57 -05:00
tildearrow f84469e4fd GUI: better inertial scroll inhibit logic
also better pattern editor mute in mobile
2022-12-02 22:59:52 -05:00
tildearrow e7cfde9a2b GUI: mobile padding 2022-12-02 19:09:43 -05:00
tildearrow 2741167331 GUI: update credits 2022-12-02 18:53:03 -05:00
tildearrow 53ed7da6f7 another demo song 2022-12-02 18:52:26 -05:00
tildearrow 4daf959f15 GUI: mobile file dialog improvements, part 2 2022-12-02 18:16:41 -05:00
tildearrow 4e88a677d0 GUI; mobile file dialog improvements 2022-12-02 16:52:47 -05:00
tildearrow dc7aec2dc1 GUI: long hold? 2022-12-02 04:13:26 -05:00
tildearrow 018d8379e6 GUI: fix mobile pattern
but now it's impossible to select
2022-12-02 02:49:52 -05:00
tildearrow d3dedd020f QSound: ADPCM, part 1 2022-12-01 19:21:02 -05:00
tildearrow 8eecdd4b93 GUI: fix piano allowing you to scroll on mobile 2022-12-01 19:05:54 -05:00
tildearrow 3b0ef7c096 GUI: mobile channels view 2022-12-01 18:41:04 -05:00
tildearrow 7070522bbe QSound: ADPCM? 2022-12-01 18:34:22 -05:00
tildearrow 525f512bb1 GUI: no hover colors on mobile 2022-12-01 18:34:08 -05:00
tildearrow 152a95cb40 GUI: fix inertial scroll when power saving is on 2022-12-01 18:33:48 -05:00
tildearrow 9c7e25f33c a bunch of instruments
Uhrwerk's Patch Series
2022-12-01 17:58:58 -05:00
tildearrow 6b34b9fcab GUI: add functions to inhibit inertial scrolling 2022-12-01 04:28:12 -05:00
tildearrow bb5b99ec96 GUI: and a bit more of it 2022-12-01 03:29:32 -05:00
tildearrow 944e8ac057 Nothing!!!!!! 2022-12-01 03:28:04 -05:00
tildearrow 13b29e8f6a
Merge pull request #767 from TheDuccinator/master
Add yet another demo song
2022-12-01 03:27:56 -05:00
tildearrow a04d6b8e0b GUI: more inertial scrolling work 2022-12-01 03:01:59 -05:00
tildearrow 2a349e2daa Merge branch 'master' of github.com:tildearrow/furnace 2022-12-01 02:02:44 -05:00
tildearrow 855fbfce1b GUI: improvements to inertial scrolling 2022-12-01 02:02:33 -05:00
tildearrow f6f2472e9a
Merge pull request #763 from YohananDiamond/demos-swapxfo
Added demo song 'Midnight Dog Orchestra'
2022-11-30 22:00:04 -05:00
tildearrow 1ac507a39f GUI: update credits 2022-11-30 21:59:49 -05:00
tildearrow 285dae9239 GUI: inertial scrolling experiments 2022-11-30 19:42:51 -05:00
tildearrow 704863533f GUI: tap to change order in order bar 2022-11-30 17:37:48 -05:00
TheDuccinator 56d2e4c507
Add yet another demo song
Another one to the plie
2022-11-30 14:28:56 -08:00
tildearrow fa564dbe78 GUI: and here is the mobile orders bar 2022-11-30 17:20:04 -05:00
cam900 7867b59580 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-30 17:39:43 +09:00
tildearrow 992fefd9d2 C64: fix glitches when one-tick gap is on 2022-11-30 02:14:02 -05:00
tildearrow a09c1949ac fix oneTickCut overriding ECxx 2022-11-30 02:07:44 -05:00
tildearrow 884588e46b GUI: mobile portrait order bar 2022-11-29 18:30:48 -05:00
tildearrow 2fdce8512a GUI: mobile chips view 2022-11-29 16:09:50 -05:00
tildearrow b41a015c4b sample preview now defaults to C-4 rate 2022-11-29 00:17:38 -05:00
tildearrow a09ccb9b30 prevent accidental loading of .brr as DMP 2022-11-29 00:09:08 -05:00
tildearrow a637806e28 SN: address more easy noise issues, part 1 2022-11-28 16:46:25 -05:00
tildearrow e296b30172 it didn't happen 2022-11-28 13:35:55 -05:00
tildearrow 816a87e652 GUI: update credits 2022-11-28 03:24:35 -05:00
tildearrow 790d26cdb6 kill the Linux ARM build (for now) 2022-11-28 03:21:18 -05:00
tildearrow e0de9040cd add a demo song
pull request #757
2022-11-28 03:20:45 -05:00
tildearrow 4748b406a4 update demo song rules 2022-11-28 03:08:06 -05:00
tildearrow 965725327b T6W28: now implement easy noise here 2022-11-28 03:05:14 -05:00
tildearrow cbff29deb6 SN: address easy noise feedback, part 2 2022-11-28 02:48:47 -05:00
tildearrow a7dfe6534d SN: address easy noise feedback, part 1 2022-11-28 01:27:58 -05:00
YohananDiamond e17767d42a Added demo song 'Midnight Dog Orchestra' 2022-11-27 23:09:36 -03:00
tildearrow 6750a8ef6a Merge branch 'master' of github.com:tildearrow/furnace 2022-11-27 15:58:26 -05:00
tildearrow c20bd38898 really fix Arcade .dmp loading 2022-11-27 15:57:50 -05:00
tildearrow 0fce35fa88 kill this false positive 2022-11-27 00:31:39 -05:00
tildearrow f088c9ec49 Uninitialized Trash 2022-11-27 00:30:41 -05:00
tildearrow cf38680072 chip sample selection, part 4
partially works
2022-11-26 23:50:20 -05:00
tildearrow 3a9349d49a chip sample selection, part 3 2022-11-26 22:11:49 -05:00
tildearrow 3ba87562ea load .dmp Arcade inses as OPM 2022-11-26 21:06:31 -05:00
tildearrow 8af6acb55d load .opm as OPM instruments 2022-11-26 18:49:47 -05:00
tildearrow 85cb64b227 chip sample selection, part 2
add functions to retrieve whether a sample was loaded in chip memory
eventually I'll put warning feedback on the sample list
2022-11-26 18:44:04 -05:00
tildearrow 1c8440b68d chip sample selection, part 1 2022-11-26 17:15:01 -05:00
tildearrow f031a2749d ~~remove Waterworld_-_Map.fur~~ 2022-11-26 13:31:17 -05:00
tildearrow d4f96617fc GUI: ready for sample chip sel grid? 2022-11-26 04:13:11 -05:00
tildearrow e8f5c9f5f9 GUI: prepare improvements in the sample editor 2022-11-26 03:58:19 -05:00
tildearrow a6b2f501d0 SN: implement easy noise! 2022-11-26 02:34:53 -05:00
tildearrow 182731a2d7 GUI: update credits 2022-11-26 01:13:32 -05:00
tildearrow 7709a9c3f6 dev128 - prepare for SN noise and hard fix fp b
file picker bug...
2022-11-25 14:33:56 -05:00
tildearrow 7841c3d0b6 GUI: natural ctrl-scroll zoom in sample editor! 2022-11-23 04:03:03 -05:00
tildearrow 201f3ff0f8 GUI: more natural sample zooming 2022-11-23 03:40:59 -05:00
tildearrow b289ac97fc GUi: yay finally edge scroll in sample editor! 2022-11-23 03:35:24 -05:00
tildearrow e21040169f GUI: possibly improved sample zooming
sorry I dropped the compact mode because I am making the toolbar dynamic
soon...
2022-11-23 03:17:04 -05:00
tildearrow ca204e6d69 Please enter the commit message for your changes. Lines starting 2022-11-22 23:09:21 -05:00
tildearrow 8041173eb9 YMZ280B: fix VGM export 2022-11-21 16:12:29 -05:00
tildearrow d943eb02ae fix serious bug when saving op macros 2022-11-21 15:34:24 -05:00
tildearrow 38cccbe351 update newIns.md 2022-11-21 05:43:15 -05:00
tildearrow ea9ee0b95d update format.md 2022-11-21 05:26:39 -05:00
tildearrow 98a88a9199 add helper ins end marker when saving to .fur 2022-11-21 04:07:21 -05:00
tildearrow 8f59ceb6a6 dev127 - experiment with new ins on .fur 2022-11-21 04:04:26 -05:00
tildearrow 51f5ffe05b one more demo song
by SuperJet Spade
2022-11-21 03:33:33 -05:00
tildearrow 0627e38d63 don't load assets when loading temp ins 2022-11-21 03:01:57 -05:00
tildearrow 82649c9c81 fix crash when loading instrument with samples 2022-11-21 02:55:12 -05:00
tildearrow 1a31b80ea6 fix critical bug 2022-11-21 02:41:57 -05:00
tildearrow bf501cbe88 debug wavetables? 2022-11-21 02:38:17 -05:00
tildearrow d6ae735ffe dev126 - new ins format 2022-11-20 19:19:24 -05:00
tildearrow 1b79f9d7f3 new ins format, part 8
all currently supported features loadable
2022-11-20 17:20:19 -05:00
tildearrow 5ec4f2d1f0 new ins format, part 7
FM instruments now loadable
2022-11-20 14:28:43 -05:00
tildearrow badf91d447 new ins format, part 6 2022-11-20 04:01:14 -05:00
tildearrow 8a33aecbe0 GUI: fix piano being clickable - again 2022-11-20 03:26:54 -05:00
tildearrow a7b139cd00 new ins format, part 5 2022-11-20 03:24:23 -05:00
tildearrow 38bb36363d new ins format, part 4 2022-11-19 22:12:17 -05:00
tildearrow d9a69f2013
Merge pull request #755 from TheDuccinator/master
Add Namco WSG Track
2022-11-19 21:22:37 -05:00
tildearrow 0008420b6b ................................................. 2022-11-19 21:15:10 -05:00
tildearrow 57a4c52551 why why why... 2022-11-19 19:05:18 -05:00
tildearrow da1560b1c2 new ins format, part 3 2022-11-19 18:51:32 -05:00
tildearrow 3ba90e6896 new ins format, part 2 2022-11-19 18:16:19 -05:00
tildearrow ae7382f7a9 new ins format, part 1 2022-11-19 18:13:17 -05:00
tildearrow 98de4c6ca8 here are the comparisons 2022-11-19 14:40:41 -05:00
TheDuccinator 6bc6a1f2da
Add Namco WSG Track 2022-11-19 11:15:40 -08:00
tildearrow c356e38fa2 MSVC is better than GCC 2022-11-19 04:21:43 -05:00
tildearrow 76c0136a12 TODO: The rest 2022-11-19 04:05:52 -05:00
tildearrow 78a2218ee1 this still won't pass CI 2022-11-18 22:04:38 -05:00
tildearrow a9acba3cb7 aaaaaa 2022-11-18 04:43:22 -05:00
tildearrow c34ddea605 unused garbage 2022-11-17 23:12:32 -05:00
tildearrow dbcd7f31a8 prepare for implementing new ins format 2022-11-17 19:07:40 -05:00
tildearrow afcc292c0c remove mode from DivInstrument already 2022-11-17 18:40:58 -05:00
tildearrow e5bc0c06d8 improve the new ins format idea 2022-11-17 16:53:25 -05:00
tildearrow 969c8256c1
Merge pull request #750 from OPNA2608/fix/dlopen_lib
Link against libdl for dlopen
2022-11-16 05:40:09 -05:00
tildearrow 6a997fd21f SoundUnit: fix fix 2022-11-16 05:07:41 -05:00
OPNA2608 c3b7350346 Link against libdl for dlopen 2022-11-16 11:07:13 +01:00
tildearrow c14e24688f SoundUnit: big-endian fix (I think) 2022-11-15 22:36:19 -05:00
tildearrow 22938d240d SAA1099: try fixing big endian 2022-11-15 22:25:05 -05:00
tildearrow f6f6101762 Revert "no WinMain experiment - TEST!"
This reverts commit 4e2dd5ec63.
2022-11-15 22:24:23 -05:00
tildearrow 4e2dd5ec63 no WinMain experiment - TEST! 2022-11-15 21:29:49 -05:00
tildearrow 94512e5b20 GUI: OPLL built-in patch preview! 2022-11-15 17:51:43 -05:00
tildearrow 1f6c25643b OPLL: add setting to not write freq of top/hi-hat
issue #249
2022-11-15 16:53:05 -05:00
tildearrow c167066296 PCE: finally fix LFO 2022-11-15 16:40:27 -05:00
tildearrow 91e19b864e GUI: fix unsigned detune (again) 2022-11-15 16:09:24 -05:00
tildearrow 4be68f99c5 GUI: fix volume bar on ExtCh 2022-11-15 03:25:42 -05:00
tildearrow a541183792 SAA1099: fix output being static
this caused problems with multi-SAA songs
2022-11-15 03:20:07 -05:00
tildearrow 319d02aec6 SAA1099: fix frequency table going crazy
if there is more than one SAA
2022-11-15 03:14:26 -05:00
tildearrow dd62b387c7 sdafglhjddsfjhsfda; 2022-11-15 03:05:43 -05:00
tildearrow d1c0cdf7d1 GUI: fix split button in centered pattern mode
issue #727
2022-11-15 02:53:37 -05:00
tildearrow 1a35ce478f GUI: fix visualizer in centered pattern mode
issue #727
2022-11-15 02:46:04 -05:00
tildearrow 1ce7a67659 convert presets to new format, part 8
the final one
2022-11-15 02:29:24 -05:00
tildearrow e41efa9f18 GUI: convert presets to new format, part 7 2022-11-15 02:27:20 -05:00
tildearrow 8c356f9a28 convert presets to new format, part 6 2022-11-15 01:34:18 -05:00
tildearrow 984bec6e45
Merge pull request #747 from tildearrow/fm_towns_preset
Add FM Towns preset with Extended channel 3
2022-11-14 22:48:34 -05:00
cam900 e25ab0d46a
Add FM Towns preset with Extended channel 3 2022-11-15 11:58:39 +09:00
cam900 46880634b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-15 11:52:30 +09:00
tildearrow bda0ca5d95 convert presets to new format, part 5 2022-11-14 19:07:17 -05:00
tildearrow 27323e9f7b convert presets to new format, part 4 2022-11-14 14:15:02 -05:00
tildearrow f4544a1c68
Merge pull request #746 from freq-mod/x1010demo
Add X1-010 + MSM6258 demo track
2022-11-14 13:48:27 -05:00
tildearrow 3377ade9e6 convert presets to new format, part 3 2022-11-14 13:35:11 -05:00
freq-mod 23d3081fa7
Add X1-010 + MSM6258 demo track 2022-11-14 15:50:13 +01:00
tildearrow c5df68f8af GUI: improve create ins from sample functionality
pull request #740
2022-11-13 18:29:37 -05:00
freq-mod 9ef3ec19bc
fix YM2151 LFO shapes, correct some presets (#741)
* fix YM2151 LFO shapes, correct some presets

* pc-98 beeper clocks

1 for less advanced, earlier sound sources, 2 for more advanced, later era

* revert the last commit

* Revert "revert the last commit"

This reverts commit 0746f37052.

	zmieniono:       src/gui/presets.cpp

* Revert "pc-98 beeper clocks"

This reverts commit ba78cd44d8.

	zmieniono:       src/gui/presets.cpp

* remove beeper from zx128

finally caring about hw playback ey
2022-11-13 16:59:28 -05:00
tildearrow ea643c574c convert presets to new format, part 2 2022-11-13 16:57:47 -05:00
tildearrow d422372b7f convert presets to new format, part 1 2022-11-13 16:25:50 -05:00
tildearrow fbacfd421c prepare for new preset format 2022-11-13 15:41:49 -05:00
tildearrow 8ea5c7acc2 now let's see what happens 2022-11-12 14:17:39 -05:00
tildearrow 4e9f9a05d6 GUI: initial system reset to defaults oversight 2022-11-12 14:16:07 -05:00
tildearrow e232d3f168 let's try to narrow it down 2022-11-12 03:14:28 -05:00
tildearrow 6f1d916ac3 temporarily enable debug artifacts 2022-11-12 02:59:42 -05:00
tildearrow 4c90adda2b GUI: fix add/remove buttons for initial system 2022-11-12 02:27:05 -05:00
tildearrow 2507d2295b
Merge pull request #743 from brickblock369/master
Add TIA drums to the instrument repo
2022-11-11 22:11:53 -05:00
brickblock369 373004f6eb
Add TIA drums to the instrument repo 2022-11-11 12:37:57 -08:00
tildearrow c12b397944 GUI: more macro editor layouts, part 1 2022-11-11 00:46:39 -05:00
tildearrow c7b2227ee0 GUI: prepare to add more macro editor layouts 2022-11-10 19:21:01 -05:00
tildearrow bf5b088a54 GUI: "fix" piano being clickable under windows 2022-11-10 17:27:50 -05:00
tildearrow 692d95664a GUI: enable power save on mobile 2022-11-10 16:56:28 -05:00
tildearrow 4a2cf7bc27 GUI: more mobile tweaks 2022-11-10 16:53:18 -05:00
tildearrow ba9b96a2c8 Merge branch 'master' of github.com:tildearrow/furnace 2022-11-10 16:48:19 -05:00
tildearrow 700b32c3ab GUI: commit state on Android when entering bg 2022-11-10 16:47:53 -05:00
tildearrow 10f7b844a5
Merge pull request #742 from ZeroByteOrg/ZSMlfoinit
Fix ZSM export to emit LFO AMD/PMD initialization on YM2151
2022-11-10 15:18:24 -05:00
tildearrow be781ef8d4 GUI: fix 2022-11-10 15:16:56 -05:00
tildearrow 4a0b7e941f GUI: Android scaling weirdness 2022-11-10 15:11:17 -05:00
ZeroByteOrg e4054348f4 Fix ZSM export to emit LFO AMD/PMD initialization on YM2151 2022-11-10 12:40:17 -06:00
tildearrow 69bb628a8b PC speaker: add PC-98 clock rate options 2022-11-10 04:48:15 -05:00
tildearrow 3f2f8a7197 GUI: add a clock 2022-11-10 01:26:59 -05:00
tildearrow baa3989502 fix metronome in virtual tempo 2022-11-09 23:52:10 -05:00
tildearrow d944b97913 Watching Paint Dry
by Burnt Fishy
2022-11-09 23:32:56 -05:00
tildearrow 2c1a1b20de YM2612: fix ExtCh macro one-tick delay 2022-11-09 23:24:03 -05:00
tildearrow 1ebc6aaab4 enough furnace tracker
the name is Furnace
2022-11-09 14:45:58 -05:00
tildearrow a90cb2e011 YM2612: macro release 2022-11-09 13:42:28 -05:00
tildearrow 3275d92f99 MOD import: handle Cxx with vol higher than 64 2022-11-09 03:52:49 -05:00
tildearrow 09574edc96 update bruno_time.fur 2022-11-09 03:51:40 -05:00
tildearrow d917113ae1 YM2612: implement op param macros in ExtCh 2022-11-09 03:51:34 -05:00
tildearrow 3745e0935d YM2612: prototype of ExtCh macros 2022-11-08 18:33:01 -05:00
tildearrow bb6bcab2e3 preparing stuff 2022-11-07 19:09:01 -05:00
tildearrow 8d8bdfd1f7 dev125 - prepare for ExtCh FM macros 2022-11-07 18:39:04 -05:00
tildearrow 06ddf07d48 dev124 2022-11-07 17:45:43 -05:00
tildearrow 1d262a97ee dev124 - critical fix for a sample loading bug 2022-11-07 17:45:36 -05:00
tildearrow 133627b325 SMS: alleviate Nuked-PSG clicking, part 1 2022-11-07 17:35:00 -05:00
tildearrow 184a6bd6b2 dev123 - store sample loop mode 2022-11-07 17:22:13 -05:00
tildearrow 15df2ed6bf GUI: enable settings panel in mobile view 2022-11-07 17:05:16 -05:00
tildearrow 2e0710caca GUI: Android system fonts 2022-11-07 16:46:01 -05:00
tildearrow c08c66b88e GUI: go back to built-in file picker on Android
for now
2022-11-07 16:32:54 -05:00
tildearrow 4dc38b7591 GUI: update credits 2022-11-07 03:47:49 -05:00
tildearrow c2f3501b83 add SeeingRed.fur
by TakuikaNinja
2022-11-07 03:47:49 -05:00
tildearrow 16ca2ca40f
Merge pull request #739 from N-SPC700/patch-1
Update AY8930 doc
2022-11-07 03:24:08 -05:00
N-SPC700 d4638f886d
add more info for the systems it's used in 2022-11-07 03:20:03 -05:00
tildearrow 4894cc121c SMS: why does this break so many songs 2022-11-07 02:30:53 -05: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 9312813fe9 Fix build 2022-11-07 09:47:34 +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 a5acf458ba Add tooltips in alternate FM layout 2022-11-07 09:41:48 +09:00
tildearrow 9a47cdd997 GUI: allow docking editors by default 2022-11-06 13:26:50 -05:00
tildearrow 38696423ae GUI: hide second wave if it is a single-wave FX 2022-11-06 03:03:53 -05:00
tildearrow 63bb5aac6b MIDI input: wave and sample preview 2022-11-06 02:06:51 -05:00
tildearrow 0f14b905fe
Merge pull request #736 from lunathir/master
Fix warning spam
2022-11-06 00:55:52 -05:00
tildearrow 2ef9936bb7 update readme 2022-11-06 00:54:28 -05:00
tildearrow 0645b451a5 GUI: add loop/fade out persistence setting 2022-11-06 00:37:57 -05:00
Lunathir f569efda7f
Checkout -> v3.1.0 2022-11-05 21:53:22 -07:00
Lunathir 9162bbea08
Update build.yml 2022-11-05 21:45:56 -07:00
Lunathir 18d1c322e8
Update build.yml 2022-11-05 21:34:15 -07:00
Lunathir de18d3496c Test fix 2022-11-05 20:47:43 -07:00
Lunathir 98c24aa881
Fix setoutput spam 2022-11-05 20:16:52 -07:00
tildearrow 2cca889bb6 GUI: update credits 2022-11-05 19:27:46 -05:00
tildearrow d14218df7b
Merge pull request #730 from freq-mod/demos
3 more demo songs
2022-11-05 19:26:42 -05:00
tildearrow 924d35c9b1
Merge pull request #734 from Lumigado/fm-parameter-tooltips
added tooltips to 'Modern' FM instrument editor layout
2022-11-05 19:25:46 -05:00
tildearrow 6a6ca22ebe Furnace has stopped.
• Diagnose later
2022-11-05 19:24:14 -05:00
tildearrow e75d1ef411 GUI: make file picker almost full-screen on mobile 2022-11-05 18:49:54 -05:00
Lumigado 9df88b7c98 added tooltips to 'Modern' FM instrument editor layout 2022-11-05 19:47:18 -04:00
tildearrow ce08a62548 GUI: work around Android backspace issue 2022-11-05 18:17:54 -05:00
tildearrow a4fe7ddb76 WaveSynth: fix subtract 2022-11-05 17:07:37 -05:00
tildearrow 7a676fb94e GUI: make wave synth preview size follow ins type 2022-11-05 16:53:54 -05:00
tildearrow 00d5ed8b30 fix RF5C68 chip type flag conversion 2022-11-05 16:31:51 -05:00
tildearrow bd77bd0a81 GUI: some improvements
- mobile UI work
- highlight channel at cursor in orders
2022-11-05 16:22:15 -05:00
tildearrow 086d9a12b0 GUI: fix piano not playing current sample 2022-11-05 14:50:44 -05:00
tildearrow 7ccefe6d40 GUI: more Android fixes 2022-11-05 14:50:35 -05:00
tildearrow fee9f45919 i'll mess with this later 2022-11-05 01:46:45 -05:00
tildearrow 5bbd93c96b GUI: store audio expo loop cnt & fade out in conf 2022-11-04 20:27:55 -05:00
freq-mod 9d5d7c971e
More demo songs 2022-11-04 21:34:16 +01:00
tildearrow 1c98975771 GUI: Android scaling detection fix 2022-11-04 14:55:26 -05:00
tildearrow 6fbe11696e GUI: hex mode for SNES filter MML string 2022-11-03 03:22:25 -05:00
tildearrow cb34b7e1a7 GUI: add SNES echo filter MML string 2022-11-03 02:59:37 -05:00
tildearrow 744248016e fix YM2151 doc 2022-11-03 00:44:05 -05:00
cam900 bf6487b8bd
Merge branch 'master' into es5506_alt 2022-11-03 13:44:07 +09:00
tildearrow f69db930fc GUI: make sure Λ is loaded 2022-11-02 04:01:25 -05:00
tildearrow 99db23d933 GUI: update font_plexSans.cpp 2022-11-02 04:01:16 -05:00
tildearrow a3cb770b75 add another demo song
by FΛDE
2022-11-02 03:52:49 -05:00
tildearrow 254288ccd6 GUI: add presets for PCM DAC, Pong and NES 2022-11-02 03:40:32 -05:00
tildearrow d4e1a3e65f GUI: wave/sample preview using piano 2022-11-02 03:30:51 -05:00
tildearrow 4531e9fc9c load .brr loop position if present 2022-11-01 02:47:27 -05:00
tildearrow 4508fea6e0 GUI: fix feeling lucky not changing system name 2022-10-30 21:57:52 -05:00
tildearrow d00430c4fb empty commit to re-run build job AGAIN 2022-10-30 14:13:42 -05: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
tildearrow ddd9564b8c another demo song 2022-10-28 15:05:59 -05:00
tildearrow 896249ab93 GUI; mark modified when typing in comments 2022-10-28 14:33:42 -05:00
cam900 90ed617cf6 Prepare for split volume scaling macro to 'log volume only' macro and 'log volume if compatibility flag set' macro 2022-10-28 22:36:50 +09:00
tildearrow e105cd588e GUI: fix IGFD crash if a file had % on its name 2022-10-28 04:16:07 -05:00
tildearrow c9d7b371e1 GUI: batch wave/sample loading 2022-10-28 04:11:27 -05:00
tildearrow d7d744e633 GUI: batch instrument loading 2022-10-28 03:44:17 -05:00
tildearrow b5eafcc468
Merge pull request #725 from nicco1690/master
add demo song
2022-10-28 02:43:19 -05:00
tildearrow 61c69324a1 SNES: big volume scaling blunder 2022-10-28 01:56:07 -05:00
cam900 9378a1043f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-28 13:23:32 +09:00
nicco1690 93e50a4be2
add demo song 2022-10-28 02:45:12 +00:00
tildearrow b5e9500472 add new demo song
by UserSniper
2022-10-27 15:52:28 -05:00
tildearrow e72b7916ea empty commit to re-run build job 2022-10-27 14:38:38 -05: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
tildearrow 9a1447e392 NES: envelope and length counter effects 2022-10-25 00:43:03 -05:00
tildearrow 07f247af12 MMC5: also apply fix here 2022-10-24 23:16:38 -05:00
tildearrow f9209506e1 NES: alternative fix 2022-10-24 22:57:32 -05:00
tildearrow 5cfd74b45f NES: fix 12xx changing volume after note off 2022-10-24 22:56:30 -05:00
tildearrow b073689ac9 OPNA: try an ADPCM fix 2022-10-24 22:53:44 -05:00
tildearrow e4a85a58f8 GUI: capture display orientation events 2022-10-24 22:03:27 -05:00
tildearrow 774313d89c GUI: whoops 2022-10-24 15:18:35 -05:00
tildearrow 5b3225d69c Merge branch 'master' of github.com:tildearrow/furnace 2022-10-24 14:59:00 -05:00
tildearrow 4c1cf9991b GUI: get window size on every frame 2022-10-24 14:57:12 -05:00
tildearrow 1a38ed2261 GUI: get window size 2022-10-24 04:09:25 -05:00
tildearrow 8b80009d92 still tick subticks in freelance mode 2022-10-24 03:25:19 -05:00
tildearrow 4acb6ccc09 fine, here's your Pong 2022-10-24 03:19:42 -05:00
tildearrow 6ceac62015 SNES: fix effective sustain mode 2022-10-23 03:17:30 -05:00
tildearrow 1868e48c92 what is this 2022-10-23 03:03:46 -05:00
tildearrow b9527f5617 DSFGHIKOJSJLKDG;L;JKGDLADSDKLFHDS; 2022-10-23 03:03:32 -05:00
tildearrow 0d3a3741a9 GUI: fix crash when creating a wave from sample 2022-10-23 03:00:27 -05:00
tildearrow e19538af2e GUI: fix non-working mouse events after minimizing 2022-10-23 02:51:38 -05:00
tildearrow 403bc76d18 GUI: remove this shit 2022-10-22 17:28:35 -05:00
cam900 9a41cff290 Remove unused variable 2022-10-22 17:57:44 +09:00
tildearrow f5b0604d4a VGM export: fix direct stream mode buggy duration 2022-10-22 03:53:31 -05:00
tildearrow 9b6449d320 GUI: fix Virtual Boy having a PAL option 2022-10-22 03:47:42 -05:00
tildearrow a8def55d56 fix song stopping too early 2022-10-22 03:46:39 -05:00
cam900 b6cdaa81e3 Fix compile 2022-10-22 17:36:33 +09:00
tildearrow b073368b21 fix endOfSong inconsistency
fixes #719
2022-10-22 03:31:03 -05: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
tildearrow 0ce746d1d3 GUI: fix 3+ digit addresses in register view 2022-10-22 03:05:48 -05:00
cam900 683abd8c69 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-22 16:57:38 +09:00
cam900 69090232fb Fix output preview 2022-10-22 16:57:01 +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 f839b0771c Sync vgsound_emu with master 2022-10-22 16:28:37 +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 f714acc8a6 Sync with master 2022-10-22 10:13:22 +09:00
cam900 61aeb0bb5e Revert "Temporarily revert "Sync vgsound_emu with master""
This reverts commit f832ce5cca.
2022-10-22 10:10:02 +09:00
tildearrow 42f99f2cb2 Merge branch 'scaling' 2022-10-21 17:17:44 -05:00
tildearrow f832ce5cca Temporarily revert "Sync vgsound_emu with master"
issue #720
This reverts commit eab12892f5.

to cam900: feel free to revert this revert commit after fixing vgsound_emu.
2022-10-21 17:16:40 -05:00
cam900 eab12892f5 Sync vgsound_emu with master 2022-10-21 17:45:15 +09:00
tildearrow 3de0e6bc9f SetProcessDpiAwareness 2022-10-20 03:34:12 -05:00
tildearrow bfeb57c3b7 we don't have to work around Wayland issue anymore 2022-10-20 02:55:24 -05:00
tildearrow c6e21e3da5 GUI: fix input scaling 2022-10-20 02:49:08 -05:00
tildearrow 373367724b GUI: use canvasW/H instead of scrW/H*dpiScale 2022-10-20 02:34:14 -05:00
tildearrow d96674186e GUI: new scaling factor detection technique 2022-10-20 01:49:33 -05:00
tildearrow b545fa7f3c Merge branch 'master' into scaling 2022-10-19 22:59:47 -05:00
cam900 8e2f3199b5 Sync this 2022-10-20 11:46:04 +09:00
cam900 e365a92f65 Sync vgsound_emu with master 2022-10-20 11:44:48 +09:00
tildearrow 375d060f48 GUI: prepare for new HiDPI strategy 2022-10-19 15:33:20 -05:00
tildearrow dc229078cc GUI: size constraints for effect list 2022-10-19 14:07:20 -05:00
tildearrow ca1118a40f GUI: fix crash in no asset menu (wave/sample) 2022-10-19 13:53:56 -05:00
tildearrow 206fb119aa VGM export: extended header length should be 12 2022-10-19 13:48:29 -05:00
tildearrow 7486bb17f4 GUI: fix wave edit randomize 2022-10-19 13:14:52 -05:00
tildearrow 47fb434d5b GUI: update Genesis presets to be 32 2022-10-17 16:12:10 -05:00
tildearrow 951cae4eec set SN volume to 32 when loading .dmf 2022-10-17 15:30:48 -05:00
tildearrow ed12ca5bd8 VGM export: get Fractal template export working 2022-10-17 14:31:37 -05:00
tildearrow 4dda45116e VGM export: fix stream command glitch in direct 2022-10-17 14:28:41 -05:00
tildearrow 4723ed3972 VGM: experimental direct stream mode for YM2612 2022-10-17 14:25:30 -05:00
tildearrow 684b5a928b VGM export: prepare for "direct stream mode"
this will eventually allow for DualPCM and MSM6258 export

DO NOT USE YET
2022-10-17 04:17:00 -05:00
tildearrow c3e2e902af prepare for possible DualPCM and MSM6258 VGM xprt 2022-10-16 21:35:25 -05:00
tildearrow 0f3ce6f616 update to-do list 2022-10-16 21:35:20 -05:00
tildearrow 2f85839c07
Merge pull request #712 from 0x5066/MoreSineWaves
Add a cover of "Oh No! More Square Waves!"
2022-10-16 19:44:57 -05:00
tildearrow a48f0048ff
Merge pull request #716 from smb123w64gb/patch-1
Update Backward to work on ARM64 WIndows builds!
2022-10-16 19:41:17 -05:00
tildearrow 81a2bce4d4 GUI: prepare for multiple asset load 2022-10-16 19:40:14 -05:00
tildearrow 6216e286f8 GUI: mark modified cases in wave editor 2022-10-16 18:30:48 -05:00
tildearrow 40108976c3 GUI: more mark modified cases 2022-10-16 18:28:42 -05:00
tildearrow 2272028b10 GUI: mixer changes mark song as modified 2022-10-16 18:23:13 -05:00
tildearrow b9b76bef0b GUI: fix unsigned detune 2022-10-16 17:57:24 -05:00
smb123w64gb fdcabe4485
Update Backward to work on ARM64 WIndows builds! 2022-10-16 10:14:51 -07:00
tildearrow ecd5662d9b T6W28: whoops fix VGM export 2022-10-16 01:29:02 -05:00
tildearrow 285d81c716 T6W28: VGM export 2022-10-16 01:27:39 -05:00
tildearrow 340a70653b Virtual Boy: document reset register 2022-10-16 01:14:00 -05:00
tildearrow dfea2fc684 doc: update chip list 2022-10-16 01:10:41 -05:00
tildearrow 2160b6e885 add T6W28 docs 2022-10-16 01:05:30 -05:00
tildearrow 0d4db39c14 add Virtual Boy docs 2022-10-16 01:01:31 -05:00
tildearrow 3038f65fab Virtual Boy: fix modulation 2022-10-16 01:00:28 -05:00
tildearrow 8e64ecd23a Virtual Boy: fix sweep not working 2022-10-16 00:53:12 -05:00
tildearrow d5692318d6 lots of doc updates 2022-10-16 00:53:05 -05:00
tildearrow 489f56b913 update several things - including an Amiga fix 2022-10-15 22:41:50 -05:00
tildearrow faf3063a72 update readme (macOS workaround) 2022-10-15 22:26:56 -05:00
Eris Lund 67cfb331d4
Add files via upload 2022-10-15 19:47:56 +02:00
tildearrow bf1639d9ba NES: fix game_theme_tune_not_a_real_game_.dmf 2022-10-15 04:17:42 -05:00
tildearrow 43d75712b3 VERA: what is this? inconsistency? 2022-10-15 04:09:04 -05:00
tildearrow 0d3042107f VERA: fix pan macro 2022-10-15 04:02:30 -05:00
tildearrow 2cead0b7f9 Virtual Boy: phase reset macro 2022-10-15 04:00:41 -05:00
tildearrow b4b7ab86fb T6W28: honor poll 2022-10-13 03:41:40 -05:00
tildearrow 0f0c8b5567 Virtual Boy: noise length macro 2022-10-13 03:30:05 -05:00
tildearrow ef5d6cb554 GUI: update credits 2022-10-12 15:14:28 -05:00
tildearrow 78fc022c04 GUI: format 2022-10-12 14:54:29 -05:00
tildearrow 8be5e5a9e6
Merge pull request #699 from system64MC/wavetable_interpolation_no_opf2
Wavetable interpolation
2022-10-12 14:26:43 -05:00
System64 0782e3af1d
Update waveEdit.cpp 2022-10-12 12:07:19 +02:00
System64 a51840b801
Fixed assertion crash and fixed a bug with the cubic interpolation. The interpolated waveform will now stay in phase. 2022-10-12 11:59:04 +02:00
tildearrow 843d18290d T6W28: finish it up (mostly) 2022-10-12 04:05:09 -05:00
tildearrow 88444e6f59 raise shields 2022-10-12 03:50:13 -05:00
cam900 081773b2da
Merge branch 'master' into es5506_alt 2022-10-12 15:31:38 +09:00
tildearrow 5f59bb0277 update format.md 2022-10-12 00:46:54 -05:00
tildearrow a3fdf171f3 T6W28: separate instrument type 2022-10-12 00:46:33 -05:00
tildearrow ea0b573402 T6W28: correct clock rate 2022-10-12 00:25:20 -05:00
tildearrow f8896ed64c T 6 W 2 8 2022-10-12 00:12:56 -05:00
tildearrow e02c30c1ce
Merge pull request #707 from Kagamiin/add-module/double-dragon-stage1
Adding demos/double-dragon-stage1.fur
2022-10-11 18:59:51 -05:00
tildearrow 31795485d5
Merge pull request #704 from Curly68/master
Two new demo songs (and removal of an older one)
2022-10-11 18:57:28 -05:00
tildearrow 4e5f5c89be
Merge pull request #703 from nicco1690/patch-3
Improve SNES documentation
2022-10-11 18:50:21 -05:00
tildearrow 79f1b350ae Virtual Boy: more mod table work 2022-10-11 13:10:17 -05:00
tildearrow 8b87905304 Virtual Boy: fix noise phase reset 2022-10-11 03:52:25 -05:00
tildearrow 385a9adab2 update credits 2022-10-11 02:23:29 -05:00
tildearrow e25913d458 Virtual Boy: fix mod/sweep effects 2022-10-10 22:51:43 -05:00
tildearrow 4ec5ee20e8 Virtual Boy: instrument mod table and sweep 2022-10-10 22:24:07 -05:00
tildearrow 0407fa2d3e GUI: add Virtual Boy mod table editor 2022-10-10 22:17:31 -05:00
tildearrow b23939a124 Virtual Boy: early modulation work 2022-10-10 22:10:23 -05:00
tildearrow f679aadf68 have Amiga/SNES thing'n smpl wt toggle include DAC 2022-10-10 20:56:04 -05:00
tildearrow 22dcc610fa Virtual Boy: how does this work? 2022-10-10 18:48:36 -05:00
Kagamiin 76334fa849
Adding demos/double-dragon-stage1.fur 2022-10-10 21:20:51 +00:00
tildearrow 6c88c9c798 GUI: update wave size hints for Virtual Boy 2022-10-10 03:02:36 -05:00
tildearrow 4dec0e52a5 GUI: notify wave change when using wave editor 2022-10-10 03:00:07 -05:00
tildearrow 8c551afd83 GUI: fix InvCheckbox not working at all 2022-10-10 02:17:24 -05:00
tildearrow 6a3def514a GUI: invert some compat flags
they are called "compatibility" flags for a reason
it doesn't make too much sense to have some of these flags enabled
when creating a new Furnace song.
2022-10-09 17:59:44 -05:00
tildearrow 7fd808fd31 Virtual Boy: more clean-up 2022-10-09 17:24:39 -05:00
tildearrow 9f105d92a8 VGM export: why 2022-10-09 17:24:24 -05:00
tildearrow 38eed64734 update CMakeLists 2022-10-09 15:18:52 -05:00
tildearrow 744f897e4f Virtual Boy: clean-up 2022-10-09 15:18:41 -05:00
tildearrow 691a7eeea7 unblip-ize the T6W28 code 2022-10-09 12:46:21 -05:00
cam900 f8c494e1dd
Merge branch 'master' into es5506_alt 2022-10-09 20:05:15 +09:00
tildearrow 9ea72a321f I don't understand how am I going to do this
this code looks too glued to Blip_Buffer
2022-10-09 04:05:44 -05:00
tildearrow 9ff4d89c49 Virtual Boy: fix mute 2022-10-09 04:04:43 -05:00
tildearrow 9c22b4671c improve playback hang detection logic 2022-10-09 01:14:02 -05:00
tildearrow b53319354c Virtual Boy: VGM export 2022-10-09 00:00:00 -05:00
tildearrow 504778d975 Virtual Boy: more work 2022-10-08 23:25:15 -05:00
tildearrow 6179ef493c SNES: fix some clicking issues 2022-10-08 22:22:01 -05:00
tildearrow ec22150fb5 GUI: add pitch table calculator 2022-10-08 21:45:48 -05:00
tildearrow f76e4044c7 prepare for Virtual Boy 2022-10-08 19:37:22 -05:00
tildearrow 70361c44ca GUI: editor improvements when no asset is selected 2022-10-08 17:57:14 -05:00
tildearrow f169ffa8dc GUI: fix assert fail when removing ins thru rgtclk 2022-10-08 17:41:34 -05:00
SnugglyBun 73241768ff
New Demo Songs
- Removed FEDMS since i'm not proud of it anymore
- Added two new originals that I'm actually proud of:
  - Utter Determination (YM2610B)
  - Fiorella's Theme (YM2610B + YM2203)
2022-10-08 16:17:04 -03:00
SnugglyBun 91cf26007f
Delete FEDMS.fur 2022-10-08 16:09:30 -03:00
nicco1690 680851c890
Improve SNES documentation 2022-10-08 13:15:05 -04:00
tildearrow d3718ccaf0 YMU759: fix 4-op ins loading in .dmf 2022-10-08 02:03:09 -05:00
tildearrow 74ca8bbd2c demos/Solar_Man_Genesis.fur
submitted by brickblock369
2022-10-08 01:16:44 -05:00
tildearrow bf75603c23 oh wait I forgot to update version number! 2022-10-08 00:53:58 -05:00
tildearrow 75d75f68e6 dev121 - NES/SN: Defle compat fixes FOR REAL
THIS IS MOST LIKELY THE LAST DEFLE COMPAT FLAG I ADD

...besides future "no arp+porta in linear pitch" compat flag
2022-10-08 00:53:01 -05:00
tildearrow ea7f8e1154 NES/SN: Defle compat fixes 2022-10-08 00:01:26 -05:00
tildearrow 5726ffc740 Game Boy: fix porta regression 2022-10-07 23:37:56 -05:00
tildearrow 55c97c9529 GUI: fx rgtclk if cntr pat opt & RC n left win gap 2022-10-07 18:14:25 -05:00
tildearrow 80f8ccf627 C64: partially fix wave after gate 2022-10-07 17:21:53 -05:00
tildearrow a73ccdae41 GUI: fix paste not updating sel if cursor moves 2022-10-07 17:11:13 -05:00
tildearrow 66234df636 finish work on ADSR/LFO macro type 2022-10-07 16:47:18 -05:00
tildearrow 3ffe257158 GUI: LFO macro UI 2022-10-07 15:06:04 -05:00
tildearrow a965433bba start working on LFO macro mode 2022-10-07 14:17:25 -05:00
tildearrow a979bc244d start working on ADSR macro mode 2022-10-07 04:11:45 -05:00
tildearrow 2cebd75236 GUI: loop range buttons crs inc/dec should be 16
IT IS HARD TO FIT A DESCRIPTION IN 50 CHARS
2022-10-06 15:38:08 -05:00
tildearrow 68d962fcdb FCS: implement more commands 2022-10-06 15:37:54 -05:00
tildearrow 85eaf91591 FCS: some optimization
speed dial commands and preset delays

FCS = Furnace Command Stream (binary)
2022-10-06 14:37:42 -05:00
tildearrow 2d3d7c0716 update export-tech.md 2022-10-06 04:51:52 -05:00
tildearrow 16b752dc8a experimental split command stream 2022-10-04 18:57:04 -05:00
tildearrow 1fbf592994 fix build on Windows 2022-10-04 13:18:18 -05:00
System64 77f66642f4
Update gui.cpp 2022-10-04 11:43:14 +02:00
tildearrow 263982719d MSM5232: oh come on why didn't I commit this? 2022-10-04 03:34:38 -05:00
tildearrow 8ab0d28ace MSM5232: per-chan osc 2022-10-04 02:35:32 -05:00
tildearrow c2b75d26d7 SNES: loop injection 2022-10-04 01:20:26 -05:00
tildearrow d981e59c59 (12*sampleBank+c.value%12) 2022-10-04 00:46:16 -05:00
tildearrow 4695659ae4 X1-010: fix 17xx PCM - take 2 2022-10-04 00:04:41 -05:00
tildearrow 204af47421 Revert "Fix 1701 command for X1-010"
This reverts commit ece4eb9a57.
2022-10-03 23:52:52 -05:00
cam900 ece4eb9a57 Fix 1701 command for X1-010 2022-10-04 11:17:03 +09:00
tildearrow 70e0b4ab52 GUI: add option to center pattern - INCOMPLETE
if you right click on the left area it doesn't work
2022-10-03 19:22:24 -05:00
tildearrow c63ff7320e GUI: improve "no instrument seleted" prompt 2022-10-03 19:08:32 -05:00
tildearrow 992b8f4b40 GUI: fix blurry text in ins list when non-AA font 2022-10-03 18:56:18 -05:00
tildearrow 4eed3dbc4d SNES: gain macro 2022-10-03 18:40:07 -05:00
System64 46b5e64415
added interpolations for wavetable resize 2022-10-03 19:48:07 +02:00
System64 76bd96706e
Update gui.h 2022-10-03 19:42:52 +02:00
tildearrow 19be95f78a Merge branch 'master' of github.com:tildearrow/furnace 2022-10-03 12:17:54 -05:00
tildearrow 1409979561 fix instrument movement not relaying to sub-songs
properly when they have different pattern lengths
2022-10-03 12:16:50 -05:00
tildearrow b23fdb4b3d Revert "Fix 1701 command for AYPCM"
This reverts commit 3761383f8d.
2022-10-03 01:23:43 -05:00
cam900 3761383f8d Fix 1701 command for AYPCM 2022-10-03 11:02:34 +09:00
tildearrow 02e87236ce credits 2022-10-02 19:12:31 -05:00
tildearrow 54183ce4a2 GUI fail error report 2022-10-02 16:12:02 -05:00
tildearrow 255547188d here's a to-do list for pre2 2022-10-02 03:02:28 -05:00
tildearrow 19cd491e5f MSM5232: effects 2022-10-02 02:30:22 -05:00
tildearrow cef1fa9d99 GUI: fix glitch when removing orders 2022-10-02 02:14:12 -05:00
tildearrow 8de9e98a45 I may be drunk 2022-10-02 02:08:33 -05:00
tildearrow 8b9b452fbd SoundUnit: fix echo resolution being ignored 2022-10-02 02:03:18 -05:00
tildearrow a14bd4c8d4 call renderSamples() when moving samples 2022-10-02 02:00:31 -05:00
tildearrow 76f1717b14 the cursor can't get tired 2022-10-02 01:54:31 -05:00
tildearrow 492b1a8347 GUI: implement clear recent file list option 2022-10-02 01:36:37 -05:00
tildearrow 0c79280aae GUI: fix loop not updating samples on SNES 2022-10-02 01:32:12 -05:00
tildearrow 85f739497f fix bug when seeking with VT num>den 2022-10-02 01:02:01 -05:00
tildearrow 92d5525692 Game Boy: fix Synchronize 2022-10-02 00:06:06 -05:00
tildearrow bcc94fd459 truly fix .dmp arp macro saving
(hopefully)
2022-10-01 23:59:23 -05:00
cam900 66f7ab688b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-02 10:52:14 +09:00
tildearrow 7b55ba4e77 MSM5232: more options 2022-10-01 19:47:40 -05:00
tildearrow 76f0cceb55 partially fix .dmp arp macro saving 2022-10-01 16:44:52 -05:00
tildearrow c19357e7a4 GUI: MSM5232 preset 2022-10-01 03:52:28 -05:00
tildearrow 62f022eea0 MSM5232: noise macro 2022-10-01 03:40:06 -05:00
tildearrow aed738e0d5 MSM5232: channel muting 2022-10-01 03:32:13 -05:00
tildearrow 81ac2ba3b1 MSM5232: add detune option 2022-10-01 03:27:57 -05:00
cam900 930369b797 Make macOS happy 2022-10-01 17:22:18 +09:00
tildearrow 5e18edb229 early MSM5232 work 2022-10-01 03:15:40 -05:00
tildearrow f0b3f614e1 prepare for MSM5232 2022-09-30 23:22:26 -05:00
tildearrow 8e4e1e93db GUI: BRR warning 2022-09-30 19:04:39 -05:00
tildearrow 41c8386485 GUI: fix loop being hard to set 2022-09-30 18:59:56 -05:00
tildearrow 5e4bfe2f11 GUI: sample editor changes 2022-09-30 18:24:20 -05:00
tildearrow 3e997ae886 GUI: add a sample preview rate hint 2022-09-30 17:47:17 -05: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
tildearrow 73a9eb5ccc SNES: easier filter config 2022-09-30 04:02:11 -05:00
tildearrow 36f3641c9f GUI: fix occasional crash on select all 2022-09-30 03:40:40 -05:00
tildearrow b08d248223 GUI: OH WAIT 2022-09-30 03:15:05 -05:00
tildearrow 8ce175c30c chip flags rewrite, part 7
fix GUI completely - flags are now usable
2022-09-30 03:13:41 -05:00
tildearrow 89311690a0 chip flags rewrite, part 6
fix GUI (partially)
2022-09-30 02:14:54 -05:00
tildearrow 468f434b66 chip flags rewrite, part 5 - DO NOT USE
after fixing the GUI the last thing to do is upgrade all the presets to
the new format
but that will be SO boring
2022-09-30 00:26:54 -05:00
tildearrow 48db9a1d0c chip flags rewrite, part 4 - DO NOT USE
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13:40 -05:00
tildearrow ee6e0aa0e0 chip flags rewrite, part 3 - DO NOT USE
the next thing to do is to change DivDispatch::setFlags() to use
the new flags

no chip configuration until this is finished!
2022-09-29 18:03:39 -05: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
tildearrow 3b28549885 SNES: pre-dev118 gain hotfix 2022-09-29 04:39:31 -05:00
tildearrow 0acca7458d chip flags rewrite, part 2
move systemFlags to legacy status
2022-09-29 03:29:24 -05:00
tildearrow 82eed26094 chip flags rewrite, part 1 2022-09-29 03:19:48 -05:00
tildearrow 24a72165c9 move config handler to a new class
paves the way for chip flags rewrite
2022-09-29 01:24:26 -05:00
tildearrow c45816b8f2 DAC: fix wavetable mode 2022-09-29 00:38:18 -05:00
tildearrow 86fe6206be another tiny fix 2022-09-29 00:27:58 -05:00
tildearrow 6ed50d717c fix song stop screwing everything up 2022-09-29 00:27:40 -05:00
tildearrow 9f2cb1450f YM2151: fix LFO 2022-09-29 00:10:34 -05:00
tildearrow 7990dc1965 OPN: fix AY issue 2022-09-28 23:21:24 -05:00
tildearrow 7770ca8965 SNES: more fixes (especially GUI ones) 2022-09-28 19:33:16 -05:00
tildearrow 6028523eaf dev118 - SNES true sustain 2022-09-28 19:08:22 -05:00
tildearrow 6f1a41de1e SNES: implement more effects 2022-09-28 18:28:01 -05:00
tildearrow 3329e98c51 new MSM5232 chip ID 2022-09-28 17:05:48 -05:00
tildearrow 7e07f616d5 SNES: fix samples not updating on change 2022-09-28 16:42:46 -05:00
tildearrow 994f67b7e7 update brrUtils once again 2022-09-28 04:55:18 -05:00
tildearrow c6173311f7 update brrUtils 2022-09-28 04:49:02 -05:00
tildearrow 8cc15b398d what's going on here why is this not working 2022-09-28 04:16:07 -05:00
tildearrow 828bac32bd update brrUtils 2022-09-28 01:44:58 -05:00
tildearrow 9517b8ee14 fc 2022-09-28 01:15:50 -05:00
tildearrow 43ed6c7878 SNES: advanced arp macros and volume fix 2022-09-27 03:57:35 -05:00
tildearrow a545cbce2b update brrUtils 2022-09-27 03:44:16 -05:00
tildearrow 8564f65428 Absolutely nothing 2022-09-27 01:49:59 -05:00
cam900 4f71214887 code style 2022-09-27 04:54:04 +09:00
tildearrow 9cf9a9c14d it happened
fixes #691
2022-09-26 11:59:44 -05:00
cam900 013c7b92fb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-27 00:01:10 +09:00
tildearrow 08e23a68cd SNES: get some of echo working 2022-09-26 04:07:51 -05:00
tildearrow e5b37db55a SNES: panning/wavetable fixes 2022-09-26 03:23:34 -05:00
tildearrow 5f91f0b09c SegaPCM: what a mess 2022-09-26 02:57:07 -05:00
tildearrow 607e3c9339 fix the crashes 2022-09-26 02:51:16 -05:00
tildearrow c23b504d79 Game Boy: fix zombie mode and macro speed 2022-09-26 01:48:09 -05:00
tildearrow 122694d7c9 MIDI output improvements 2022-09-26 01:27:36 -05:00
tildearrow c27c650c11 MIDI out: prevent out of range notes 2022-09-25 23:43:01 -05:00
tildearrow a6e4345863 PLENTY OF TODO WHEN I COME BACK
CRASHES EVERYWHERE
2022-09-25 20:07:21 -05:00
tildearrow 148d537a18 update contributing 2022-09-25 18:05:08 -05: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
tildearrow 07822de0a2 curr -> cur 2022-09-25 17:31:01 -05:00
cam900 305ee2cbb0 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-09-26 07:28:26 +09:00
cam900 b8d2c51a14 Fix AY89x0 regression 2022-09-26 07:28:04 +09:00
tildearrow 656de800cf renderSamples optimization
only render sample types which are used
stability remains to be tested
2022-09-25 17:18:04 -05: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
tildearrow 89ece073f6 GUI: add SNES to the sample chip list 2022-09-25 04:03:13 -05:00
tildearrow 01a592100f SNES: define effects (they don't work yet) 2022-09-25 04:02:06 -05:00
tildearrow 32d8eec522 MSVC 2022-09-25 03:50:33 -05:00
tildearrow 3cddca857d SNES: whoops 2022-09-25 03:33:47 -05:00
tildearrow b4c020c11b SNES: invert/pitch mod/noise control
echo still work in progress
2022-09-25 03:33:39 -05:00
tildearrow b4c260dc2a SNES: forceIns work 2022-09-25 02:47:30 -05:00
tildearrow eb6708ab23 SNES: scale frequency to wavetable length 2022-09-25 02:39:25 -05:00
tildearrow 023bdf2f9a SNES: more more more work 2022-09-25 02:00:46 -05:00
tildearrow ffa0181704 SNES: fix sample end 2022-09-25 01:42:59 -05:00
tildearrow d78b1cb79a update brrUtils aaaaaaagain 2022-09-25 01:31:14 -05:00
tildearrow cbdf23efa7 allow loading .brr samples directly 2022-09-25 01:20:08 -05:00
tildearrow d7c885774e update brrUtils - again 2022-09-25 01:19:59 -05:00
tildearrow 486d7c8bc1 Merge branch 'master' of github.com:tildearrow/furnace 2022-09-25 00:44:20 -05:00
tildearrow 608254f07a update brrUtils 2022-09-25 00:44:05 -05:00
cam900 2defb12800 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-09-25 13:16:53 +09:00
cam900 68b58a0d1b Fix AYPCM
Enable new sample functions to default
2022-09-25 13:16:47 +09:00
tildearrow e75f23fa61 wait what am I doing? 2022-09-24 23:16:46 -05:00
tildearrow 8d72d2f2d0 shut Clang up 2022-09-24 22:58:44 -05:00
tildearrow ef04090a47 fix BRR loading corruption 2022-09-24 22:56:43 -05:00
tildearrow a0dc9de262 ADSFGGGGGJKSDGHASLJKFHL 2022-09-24 19:40:03 -05:00
tildearrow 2c7abb4635 SNES: get samples working 2022-09-24 18:47:28 -05:00
tildearrow 3f6ca8f650 fix build on my machine 2022-09-24 18:40:36 -05:00
tildearrow 4a8e09685a fix 2022-09-24 16:45:44 -05:00
tildearrow ddfdeffc99 update brrUtils (again) 2022-09-24 16:44:47 -05:00
tildearrow 3bfdb35578 fix everything 2022-09-24 16:28:51 -05:00
tildearrow b536f0ba20 MSVC fix 2022-09-24 14:29:45 -05:00
tildearrow 78baff55e8 update brrUtils 2022-09-24 05:43:33 -05:00
tildearrow 8eaddcf070 prepare BRR encoding/decoding 2022-09-24 04:27:53 -05:00
tildearrow b7e618e91d hype 2022-09-24 02:54:28 -05:00
tildearrow c0de45ff0c Merge branch 'snes' of https://github.com/akumanatt/furnace into akumanatt-snes 2022-09-24 02:53:11 -05:00
tildearrow 1a7a3e08f6 Merge branch 'master' of github.com:tildearrow/furnace 2022-09-24 02:41:45 -05:00
tildearrow 04117c5098 Purposeful Conflict 2022-09-24 02:41:29 -05:00
tildearrow c74c83da7c
Merge pull request #659 from ActualNK358/master
Add a Pseudo-GBA demo song
2022-09-24 02:32:22 -05:00
tildearrow 5e2a247b77 tabs to spaces 2022-09-24 02:31:10 -05:00
tildearrow 98cebf92f2
Merge pull request #491 from ZeroByteOrg/ZSMv1
Commander X16 Native Export Format: ZSM
2022-09-24 02:28:25 -05:00
tildearrow 185a37de3f
Merge pull request #653 from tildearrow/sample_macro
Improvement sample-related stuffs
2022-09-24 02:23:35 -05:00
tildearrow 3eb4f997da OPM/NES ins type split, part 4 2022-09-24 02:14:26 -05:00
tildearrow d2a417e1d5 OPM/NES ins type split, part 3 2022-09-24 01:46:44 -05:00
tildearrow d0e581e4cd OPM/NES ins type split, part 2 2022-09-24 01:37:29 -05:00
tildearrow 3d5125e792 OPM/NES ins type split, part 1 2022-09-24 01:33:36 -05:00
tildearrow 5dfa089c49 GUI: some UI corrections
and prepare for OPM/NES split
2022-09-24 00:57:53 -05:00
tildearrow 3992a1c677 AY: clockSel PCM fix 2022-09-23 23:29:19 -05:00
ZeroByteOrg ebb6668e32 Removed commented-out function writeUC from safewriter 2022-09-23 23:24:25 -05:00
ZeroByteOrg d7900c2390 Implemented changes requested by Tildearrow 2022-09-23 23:23:03 -05:00
tildearrow 70825dc45a AY: reduce PCM clicking 2022-09-23 23:12:39 -05:00
tildearrow 67fc945992 Y8950 regression fix 2022-09-23 23:03:07 -05:00
tildearrow e8ca6bd483 one more fix 2022-09-23 22:48:55 -05:00
tildearrow 95562afb16 one more compatibility fix 2022-09-23 22:45:47 -05:00
ZeroByteOrg c3654eb67c Merge branch 'master' into ZSMv1 2022-09-23 22:24:22 -05:00
cam900 599ae6cdf9 Merge branch 'sample_macro' of https://github.com/tildearrow/furnace into sample_macro 2022-09-24 10:20:22 +09:00
cam900 593aeeb243 Unnecessary space 2022-09-24 10:20:09 +09:00
tildearrow b72b5bf0e6 A Y P C M 2022-09-23 20:15:20 -05:00
tildearrow e82374fcde Merge branch 'sample_macro' of github.com:tildearrow/furnace into sample_macro 2022-09-23 19:35:00 -05:00
tildearrow bc4c8acd87 AY PCM still doesn't work so I am leaving a note 2022-09-23 19:34:44 -05:00
cam900 a5fb9b766e disableSampleMacro for MSM6258 2022-09-24 09:28:30 +09:00
cam900 4bf46f9315 Oops 2022-09-24 09:27:46 +09:00
cam900 f620782919 Fix playback issue 2022-09-24 09:27:33 +09:00
tildearrow eb8849ce63 add disableSampleMacro flag for compatibility 2022-09-23 19:18:32 -05:00
tildearrow 3dc54b8995 Merge branch 'master' into sample_macro 2022-09-23 19:01:25 -05:00
tildearrow e6fc9e09d2 latency fix 2022-09-23 19:01:01 -05:00
tildearrow d5a6d136e5 update test suite files 2022-09-23 18:48:47 -05:00
tildearrow 5e2cefff94 dev117 - save the flag
also serves as marker version for this huge change
2022-09-23 13:36:23 -05:00
tildearrow b9a4b568b6 i honestly don't agree with this compat flag 2022-09-23 13:28:57 -05:00
tildearrow 6b684d655a fix build 2022-09-23 12:37:03 -05:00
cam900 ef9fedb0b8 Fix Lynx clamping 2022-09-24 01:04:09 +09:00
cam900 8f0966378f Remove these for fix compile 2022-09-24 00:45:24 +09:00
cam900 8d80c5f743 Actually compile fix 2022-09-24 00:37:37 +09:00
cam900 53c3efc9c1 Fix compile (once again) 2022-09-24 00:32:05 +09:00
cam900 b05dafe297 Add compatible flag for Y8950 ADPCM Frequency 2022-09-24 00:24:30 +09:00
cam900 a44d696f09 Fix compile (again) 2022-09-24 00:11:34 +09:00
cam900 b41d306cb3 Fix compile 2022-09-23 23:42:56 +09:00
cam900 62ce5ae3ce Add compatible flag for PCE DAC volume (always enabled for now)
Fix furnacePCM detection for MSM6295
2022-09-23 23:41:55 +09:00
cam900 cf1d4e55cf Fix ADPCM-A playback
Add per-chip debug function
Add YM2203, YM2608, YM2610/B debug window
Extend YM2612 debug window
Remove unnecessary values in YM2151, Sega PCM platform
2022-09-23 23:24:02 +09:00
tildearrow 764ae60740 prepare for splitting OPN/OPM and NES/SN 2022-09-23 03:41:38 -05:00
tildearrow 5a84a35f3d SegaPCM: fix regression 2022-09-23 03:21:18 -05:00
cam900 a23b0ff790 More consistent naming 2022-09-23 14:48:18 +09:00
cam900 16e59bf000 Fix naming 2022-09-23 14:14:06 +09:00
cam900 e03bab7d1c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-23 14:09:36 +09:00
cam900 12d55ad99d
Fix regression 2022-09-23 13:50:46 +09:00
tildearrow 3515234bdc
Merge pull request #688 from nicco1690/patch-2
DMF demo song submission reminder
2022-09-22 22:07:36 -05:00
nicco1690 3eb37ded07
Change extension names to be lower-case 2022-09-22 22:28:09 -04:00
tildearrow dcce0e1246 Merge branch 'master' into sample_macro 2022-09-22 19:49:47 -05:00
tildearrow dd9264f102
Merge pull request #684 from tildearrow/vgsound_emu_update
Update vgsound_emu library to V2
2022-09-22 19:46:56 -05:00
tildearrow ed7a488844 MSM6295: reduce some CPU usage 2022-09-22 19:46:17 -05:00
tildearrow 02ef001eb8 MSM6295: fix mute issue 2022-09-22 19:41:36 -05:00
tildearrow 85465633f2 Merge branch 'master' into vgsound_emu_update 2022-09-22 19:35:51 -05:00
tildearrow fa78877dfd always do UTF-8 to UTF-16 when saving layout on W
indows
2022-09-22 19:12:59 -05:00
tildearrow 861b1cb9ca OPLL: finally fix pitch macro 2022-09-22 19:02:25 -05:00
tildearrow cbff5f190c NES: implement DPCM loop 2022-09-22 18:43:48 -05:00
tildearrow 52cd4f15de finally fix macro speed/delay issue 2022-09-22 18:33:58 -05:00
cam900 e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
cam900 b449e3812d Fix compile 2022-09-22 22:49:54 +09:00
tildearrow d354f58a7c really release 0.6pre1.5 2022-09-22 04:27:18 -05:00
tildearrow 1ceca2a509 release v0.6pre1.5 2022-09-22 04:13:26 -05:00
tildearrow b9d8d91ca7 GUI: I am done
look I need to sleep
2022-09-22 04:10:12 -05:00
tildearrow cec31b23de GUI: temporarily disable InputText undo/redo
issue #624
2022-09-22 04:04:32 -05:00
tildearrow 02d2077162 MIDI out: turn notes off on reset() 2022-09-22 02:46:55 -05:00
tildearrow b053d31a6d implement KVS on the rest of FM chips 2022-09-22 01:30:51 -05:00
tildearrow 89916de067 remove to-do list 2022-09-22 01:18:53 -05:00
tildearrow ac68419b78 implement KVS on YM2612 2022-09-22 01:18:41 -05:00
tildearrow 9685a5c0d8 AY: add stereo separation slider 2022-09-22 00:18:40 -05:00
tildearrow 5c2c80ce22 Merge branch 'master' of github.com:tildearrow/furnace 2022-09-22 00:01:34 -05:00
tildearrow 32cdd81919 OPL: fix chan osc in 4-op mode 2022-09-22 00:01:23 -05:00
tildearrow 738e958561
Merge pull request #687 from TheDuccinator/master
Add GB song "You're Doing Well!"
2022-09-21 23:46:55 -05:00
tildearrow 7bb7fa0c24 Moon 2022-09-21 23:45:32 -05:00
tildearrow 401581e892 fix 116.5 2022-09-21 23:41:22 -05:00
tildearrow 51c142169f GUI: OPZ compact editor fixes 2022-09-21 23:25:57 -05:00
tildearrow ad097e0526 GUI: add paste with instrument
like paste mix but changes the instrument
2022-09-21 22:59:53 -05:00
tildearrow e22d7484cb dev115 - automatic system detection 2022-09-21 19:27:42 -05:00
tildearrow a17f499384 ... 2022-09-21 16:52:04 -05:00
tildearrow 60abdd78a1 and yet another big endian fix 2022-09-21 16:45:05 -05:00
nicco1690 0569af9103
DMF demo song submission reminder 2022-09-21 14:18:12 -04:00
cam900 e1679e8ea6
Fix preset
Atari ST series uses YM2419 or YM3439
2022-09-21 13:22:04 +09:00
TheDuccinator 24a4005135
Add new GB song "You're Doing Well!" 2022-09-20 18:53:48 -07:00
tildearrow 28d3417196 GUI: more channel bar polishing 2022-09-20 19:41:07 -05:00
tildearrow eb0aac0f54 GUI: more work on it 2022-09-20 19:07:17 -05:00
tildearrow 24b3f5b2f7
Merge pull request #686 from freq-mod/presets-1
fix opll bbc micro clock, improve some presets
2022-09-20 16:16:09 -05:00
freq-mod 980f970809
fix opll bbc micro clock, improve some presets 2022-09-20 21:13:29 +00:00
tildearrow a58529a49b GUI: fix some thread problems with keyHit 2022-09-20 02:57:56 -05:00
tildearrow e1890173b2 GUI: implement channel volume bar 2022-09-20 02:32:23 -05:00
tildearrow 1a84812a1d OPNA: fix forceIns RSS/ADPCM volume 2022-09-20 01:03:44 -05:00
tildearrow 3cb1571fb6 GUI: implement channel style settings 2022-09-20 01:00:31 -05:00
Natt Akuma 18d793dc20 SNES: Fix wavesynth and channel 1 2022-09-19 01:01:46 +07:00
Natt Akuma 7956d41f1b SNES: Get wavesynth and envelope working
No samples, inverted volumes and E/P/N yet
It's been 3 months...
2022-09-18 18:33:54 +07:00
Natt Akuma 73c6adb821 wip snes 3 2022-09-18 18:33:54 +07:00
Natt Akuma 0ee6d761f5 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-09-18 18:33:25 +07:00
tildearrow ebb939c189 GUI: add channel font option 2022-09-18 04:20:08 -05:00
tildearrow 75bcad558a GUI: channel customization, part 1 2022-09-18 03:51:10 -05:00
tildearrow ca224632a1 further polish Namco 163 doc 2022-09-18 00:26:51 -05:00
tildearrow a617dab2be
Merge pull request #679 from freq-mod/n163doc
fix n163 doc
2022-09-18 00:25:04 -05:00
cam900 635bcf1c6d Fix disclaimer 2022-09-18 13:19:08 +09:00
tildearrow 6bf6a854ef GUI: comfortable wave macro height 2022-09-17 22:55:58 -05:00
cam900 8ba53999bc Less confused naming 2022-09-18 12:09:54 +09:00
cam900 0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
cam900 eeb09c7031 Sync with master 2022-09-17 14:02:43 +09:00
cam900 81f812b216 Sync with master 2022-09-17 13:56:09 +09:00
cam900 5af02d068e Sync with master 2022-09-17 13:33:21 +09:00
cam900 146da2ce76 Forgot to sync 2022-09-17 13:05:58 +09:00
cam900 e9bdd356da Sync with master 2022-09-17 13:02:10 +09:00
cam900 4eaf5ce9a6 Sync with master 2022-09-17 12:55:05 +09:00
cam900 c981319295 Sync with master 2022-09-17 12:48:03 +09:00
cam900 74bf0171f0 Modifier disclaimer 2022-09-17 12:36:36 +09:00
cam900 5034b3623d Take 2 2022-09-17 00:16:20 +09:00
cam900 2582ec17ed Temporary workaround for accidently removed libs 2022-09-17 00:15:04 +09:00
cam900 bf2ec8f1c4 Temporary workaround for accidently removed libs 2022-09-17 00:05:54 +09:00
cam900 52476ec1a6 Merge branch 'master' of https://github.com/tildearrow/furnace into vgsound_emu_update 2022-09-16 23:49:11 +09:00
cam900 b461ffe411 Update vgsound_emu library 2022-09-16 23:48:06 +09:00
tildearrow 3e311d94a2 GUI: fix FM wave gen mult 16 2022-09-16 02:04:01 -05:00
tildearrow 6b0aee8cf7 OPL: "fix" stereo in OPL1/2 2022-09-16 02:00:42 -05:00
tildearrow 587e066d43 GUI: randomize in macros under the right click 2022-09-16 00:18:14 -05:00
tildearrow aa38292ca4 GUI: fix OPLL/OPL op swapping 2022-09-16 00:04:43 -05:00
ZeroByteOrg b14bf9ea33 Merge branch 'master' into ZSMv1 2022-09-15 12:03:53 -05:00
freq-mod 359fda7016
addressing feedback 2022-09-14 11:04:28 +00:00
tildearrow 480243b652 what? 2022-09-14 00:51:45 -05:00
tildearrow c99ac94838 YM2612: fix clicks when muting with CSM on 2022-09-14 00:19:24 -05:00
freq-mod 70ca9033c7
Add Generic PCM DAC document 2022-09-13 19:58:43 +00:00
freq-mod 6a735ee348
no noise for MMC5 2022-09-13 19:25:37 +00:00
freq-mod f60e650a91
correct doc
no brainwashing
2022-09-13 19:18:08 +00:00
freq-mod 216acd5ec5
fix n163 doc
256 bytes, not 128. https://www.nesdev.org/wiki/Namco_163_audio

also some better wording
2022-09-13 09:21:16 +00:00
tildearrow 146255b08e OPZ: SysEx fixes and notes 2022-09-13 03:29:36 -05:00
tildearrow d19c6fc236 GUI: add operator copy 2022-09-13 03:29:28 -05:00
tildearrow a08ae8cce7 implement OpMask for the rest of FM chips
whether supported
2022-09-12 02:26:00 -05:00
tildearrow 6e1f54b777 YM2612: implement OpMask
will be done for OPM and the rest of the OPN chips later
2022-09-12 01:50:27 -05:00
tildearrow d64e20e859 implement operator muting for ExtCh mode 2022-09-12 00:51:09 -05:00
tildearrow 7b1713758b dev114 - operator muting for OPN/OPM 2022-09-12 00:37:25 -05:00
tildearrow d4867c5050 GUI: consistency in credits 2022-09-11 05:14:15 -05:00
tildearrow b82e96ec20 GUI: fix toggles losing their colors on hover 2022-09-10 23:50:53 -05:00
tildearrow 03e226e52b seamless switchMaster 2022-09-10 23:33:05 -05:00
tildearrow 29f1be3b36 fix audio backend not changing on switchMaster 2022-09-10 23:32:04 -05:00
tildearrow 2f0e97f6d9 GUI: FM operator swapping 2022-09-10 23:20:22 -05:00
tildearrow 2952baaa54 update 6-sample 2022-09-10 22:40:36 -05:00
tildearrow 09233b6de0 GUI: add signed waveform view mode 2022-09-10 22:35:21 -05:00
tildearrow fc14211997 GUI: wave generator, part 9
it's complete!
2022-09-10 22:12:03 -05:00
tildearrow 2a051900a7 update Bullet_Hell.fur 2022-09-10 21:46:10 -05:00
tildearrow 76e7c3cd21
Merge pull request #675 from lunathir/master
Kinda simple demo song
2022-09-10 21:35:23 -05:00
tildearrow f0d3ad1c82 GUI: don't care about clipboard data version 2022-09-10 21:33:35 -05:00
tildearrow 60e37714da Vim mistakes *** for italic 2022-09-10 21:28:54 -05:00
tildearrow 7d89708bf7 Clang can you stop complaining 2022-09-10 21:25:58 -05:00
tildearrow fc4aea3c91 update demo songs (#661) 2022-09-10 21:21:08 -05:00
tildearrow 06fe2daa01 update to-do list 2022-09-10 19:36:41 -05:00
tildearrow a46ef0c0be GUI: wave generator, part 8
to-do:
- normalize
- /2
- ×2
- smooth
2022-09-10 19:35:50 -05:00
tildearrow eb2c01097f GUI: add recent file list 2022-09-10 18:53:27 -05:00
tildearrow 7b19c8afa2 no verbose FFmpeg output in furnace-test.sh 2022-09-10 17:57:28 -05:00
tildearrow fd98ecee4f also on OPZ 2022-09-10 17:57:14 -05:00
Lunathir 94981a35a3
Kinda simple demo song 2022-09-10 15:21:39 -07:00
tildearrow ea5b0baf0a
Merge pull request #594 from tildearrow/revert-593-revert-572-opmlfo
Fix issue #567: LFO disable/enable behavior for YM2151.
2022-09-10 17:07:01 -05:00
tildearrow 7c9384a63f update test suite with new assert_delta 2022-09-10 17:01:58 -05:00
tildearrow 8e256d4dd5 allocate ID for MSM5232 2022-09-10 16:33:40 -05:00
tildearrow 99340234b8 GUI: wave generator, part 7
prepare for WaveTools (formerly Mangle)
2022-09-10 16:01:22 -05:00
tildearrow a99f1bd8a0 fix walkSong 2022-09-10 02:34:47 -05:00
tildearrow 187653a70f dev113 - loop detection changes 2022-09-10 01:39:42 -05:00
tildearrow ac0decd01b .dmf FDS instrument detection 2022-09-10 00:31:17 -05:00
tildearrow 9ac9cfc903 more .dmp loading fixes
this time for OPLL
2022-09-10 00:28:21 -05:00
tildearrow 3c5d71ce4c fix .dmp loading for Neo Geo presets 2022-09-10 00:12:53 -05:00
tildearrow 023d065fcc fix .dmp loading 2022-09-10 00:09:38 -05:00
tildearrow 798790029f
Merge pull request #674 from 20Enderdude20/master
Demo song (Equinox Intro)
2022-09-09 23:50:53 -05:00
tildearrow ee1dee5f58
Merge pull request #673 from liaminventions/master
New Demo Music
2022-09-09 23:50:04 -05:00
tildearrow 183d78e2a1 update Nuked-OPM to latest version 2022-09-09 23:47:22 -05:00
tildearrow 68587dab0d update Nuked-OPN2 core 2022-09-09 23:44:08 -05:00
tildearrow 2e49f9c8a0 TIA: volume 2022-09-09 23:42:48 -05:00
tildearrow 917a03eb07 TIA: fixes fixes fixes 2022-09-09 23:40:21 -05:00
tildearrow fcefbb4909 TIA: update to latest Stella core 2022-09-09 23:21:45 -05:00
20Enderdude20 4710e4f1c2
Demo song request (Equinox Intro) 2022-09-09 20:28:27 -07:00
Waverider ce4c0b4291
New Demo Music
010 Editor: https://youtu.be/l-7PsOxffYE
her11 VERA edit: https://youtu.be/SDpDUQ2A6k0
chaostune: https://youtu.be/coJDJDpAG7M
2022-09-09 20:28:06 -04:00
tildearrow f2e519d71e GUI: add an option to exit mobile UI 2022-09-09 19:23:53 -05:00
tildearrow 0ac92209d0 GUI: even more mobile work 2022-09-09 18:53:20 -05:00
tildearrow d021005f26 GUI: fix arp macro hover 2022-09-09 16:41:00 -05:00
tildearrow 84b0ffbac3 VRC6: possibly bring solution to #671 2022-09-09 15:31:38 -05:00
tildearrow 7e065e4cfe GUI: more mobile UI things 2022-09-09 15:31:29 -05:00
tildearrow 9a3c81d90a GUI: wave generator, part 6
FM now with feedback!
2022-09-09 03:23:18 -05:00
tildearrow 0c8cde9f85 GUI: mark modified upon order val change 2022-09-09 00:02:43 -05:00
tildearrow ffcef2ac73 fix .opni TL loading 2022-09-08 23:48:39 -05:00
tildearrow 0fd72c53ef GUI: and more mobile UI progress 2022-09-08 23:20:33 -05:00
tildearrow 2c18fe1051 GUI: lots of mobile UI progress 2022-09-08 19:15:19 -05:00
tildearrow 0684521092 update Android ver num 2022-09-08 17:04:52 -05:00
tildearrow ae6e956f06 GUI: some mobile view work 2022-09-08 17:04:38 -05:00
tildearrow 773b63b810 GUI: don't save layout periodically 2022-09-08 13:16:57 -05:00
tildearrow 7de165fd88 N163: fix channel count change glitch, part 1 2022-09-08 03:01:22 -05:00
tildearrow 4ad324bfed screw you clangd extension 2022-09-08 01:49:36 -05:00
tildearrow 21baf2e272 GUI: typo fixing 2022-09-08 01:45:05 -05:00
tildearrow 56ba47408c GUI: initialize variables 2022-09-08 01:37:16 -05:00
tildearrow 43100fbbee
Merge pull request #644 from NatsumiFox/master
GUI: Remember window x/y position and maximized state.
2022-09-08 01:35:29 -05:00
tildearrow 9dc490efdd
Merge pull request #665 from brickblock369/master
Making a slight adjustment with TSU's readme, fixing SMS instruments, and adding my own PSG instruments as well
2022-09-08 01:26:37 -05:00
tildearrow a59ed84322 GUI: fix wave gen FM con checkboxes doing nothing 2022-09-06 14:28:57 -05:00
tildearrow f94c6f101a GUI: wave generator, part 5
completely untested FM generation
2022-09-05 05:48:20 -05:00
brickblock369 a8a00b2fd0
Adding additional PSG instruments 2022-09-04 13:56:18 -07:00
brickblock369 dc58043835
Fixing the .dmp files as SMS/NES instead of FM
These were oddly loaded as FM instruments while having data intended for SN7 - I've fixed them to load the correct type.
2022-09-04 13:50:14 -07:00
brickblock369 17f7647ae7
Update soundunit.md
Clarified that the Sound Unit is able to have 64 KB depending on the configuration.
2022-09-04 13:47:27 -07:00
tildearrow 9435ab12b0 GUI: wave generator, part 4
prepare FM
2022-09-04 04:00:56 -05:00
tildearrow f7bca46a4a GUI: implement save as format in editors as well 2022-09-04 02:37:43 -05:00
tildearrow 90a0db06f8 GUI: one tiny fix 2022-09-04 02:27:00 -05:00
tildearrow f34b01c0e5 GUI: work around .dmf/.dmp saving issue 2022-09-04 02:26:29 -05:00
tildearrow 5787511270
Merge pull request #663 from brickblock369/master
Update brickblock369 Harpsichord
2022-09-01 13:33:04 -05:00
brickblock369 c683042d99
Update brickblock369 Harpsichord
I realized this one was outdated, I'm uploading a much better version
2022-09-01 10:49:49 -07:00
tildearrow 78143af989
Merge pull request #662 from brickblock369/master
New FM instruments
2022-08-31 22:38:00 -05:00
brickblock369 7de8284675
One last instrument proposal 2022-08-31 14:11:10 -07:00
brickblock369 b213368d03
New instrument proposal 2022-08-31 14:05:47 -07:00
cam900 d82d7255d1 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-31 19:18:15 +09:00
tildearrow a33e6e3989 GUI: add "create wave from selection" option
in sample editor
2022-08-31 03:34:13 -05:00
tildearrow 16eba9ec96 fix macro delay not working on first note 2022-08-31 03:11:02 -05:00
tildearrow 820b23ecdb fix macros sometimes being out of sync when seekin 2022-08-31 03:05:06 -05:00
tildearrow f3c3d82e4d fix hang when swapping chips
fixes #660
2022-08-31 02:52:35 -05:00
tildearrow 2abcea118c WonderSwan: fix possible hang when seeking 2022-08-31 00:51:08 -05:00
tildearrow 7f01eaec9d convert note/macro rel to note off on .dmf save 2022-08-30 23:59:38 -05:00
tildearrow 95db562414 fix Android build 2022-08-30 16:37:26 -05:00
tildearrow af1b684c08 NES: #655 2022-08-30 15:47:12 -05:00
Alexis e1deee4054
Add a Pseudo-GBA demo song
Song is "Godot - The Fragrance of Dark Colored Coffee" from the Phoenix Wright: Ace Attorney - Trials & Tribulations OST. :)
2022-08-29 11:12:44 -05:00
tildearrow 3af287cf9d AY: fix per-chan osc in Sunsoft 5B mode 2022-08-29 04:15:53 -05:00
tildearrow 4b4a254064 C64: reSIDfp per-chan osc 2022-08-29 03:54:55 -05:00
tildearrow 69efad1df4 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-29 03:27:04 -05:00
tildearrow 8d280fd9a3 C64: bind reSIDfp 2022-08-29 03:26:49 -05:00
cam900 26d3e02dd8 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-29 11:47:36 +09:00
cam900 c2a7bdd194
Match this to actual channel count 2022-08-29 11:45:18 +09:00
aurora 3b0df75bf6 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-08-29 05:44:34 +03:00
tildearrow 32050a211f GUI: update credits 2022-08-28 15:54:21 -05:00
Lunathir 6041b8f14f
Change references to some chips (#658)
* Update sysDef.cpp

* Update sysDef.cpp

* Update sysDef.cpp

* Update sysDef.cpp
2022-08-28 15:54:05 -05:00
tildearrow d485af439d fix macOS build 2022-08-28 15:36:12 -05:00
tildearrow c3ced46fa3 coming soon: reSIDfp core 2022-08-28 15:10:44 -05:00
tildearrow de3ed24e1f
Merge pull request #650 from freq-mod/tsu
fix 12xx description
2022-08-28 14:26:39 -05:00
ZeroByteOrg ca4fb5b7d4 Merge branch 'master' into ZSMv1 2022-08-28 10:54:20 -05:00
tildearrow 645dcdf9a0 fix .dmf and arp macros 2022-08-28 02:57:40 -05:00
tildearrow 82703a165f fix non-STD instruments in C64/GB/PCE converting
to the wrong type
2022-08-28 01:12:57 -05:00
tildearrow ed05bc4d61
Merge pull request #657 from lunathir/master
More in-program text corrections
2022-08-28 01:04:34 -05:00
tildearrow 3e8f248f77 fix saving a pre-24 .dmf song 2022-08-28 01:03:23 -05:00
Lunathir 1d5390c0e9
More in-program text corrections 2022-08-27 22:53:47 -07:00
cam900 3fcccb52ee Reduce performance issue 2022-08-28 10:50:57 +09:00
cam900 e3aee980c5 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-28 10:02:52 +09:00
cam900 a411e34a62 Performance adjusts 2022-08-28 09:59:56 +09:00
tildearrow 58853ce5d5 OPNB-B -> OPNB2 2022-08-27 16:12:00 -05:00
cam900 f73d1bd82c Add ADPCM-B instrument support for Y8950 w/drums 2022-08-28 01:04:27 +09:00
cam900 5d3cecfea6 Fix switch case 2022-08-27 18:58:49 +09:00
cam900 745837c41d Fix compile (2) 2022-08-27 18:40:16 +09:00
cam900 80c9b0c3f4 Fix compile 2022-08-27 18:26:56 +09:00
cam900 570036ad6f CONTRIBUTING 2022-08-27 18:22:36 +09:00
cam900 8f804f6e6b Correct pitch to sample preview 2022-08-27 18:20:33 +09:00
cam900 c44f03b1a3 Sync with master 2022-08-27 18:11:34 +09:00
cam900 22211a4ef0 Fix loop 2022-08-27 17:28:08 +09:00
cam900 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900 4cc79fb49d Prepare for split sample chip instrument
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.

different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
tildearrow d577755035 fix note on sometimes not working in jam mode 2022-08-27 00:37:32 -05:00
tildearrow efd5cc0dac GUI: implement search in "Choose a System!" 2022-08-27 00:14:17 -05:00
tildearrow 73f88c7635 GUI: and here is the new chip selector 2022-08-26 23:35:16 -05:00
tildearrow daf176e197 GUI: prepare for new chip picker 2022-08-26 19:30:13 -05:00
tildearrow be9385f701 GUI: work on chip manager 2022-08-26 18:51:17 -05:00
tildearrow 897a61db85 copy paste 2022-08-26 16:44:27 -05:00
tildearrow 1b80b96189 prepare for chip swapping 2022-08-26 03:03:36 -05:00
tildearrow c58f1daeb8 QSound: disable key on log
we already debugged the issue
2022-08-26 03:00:37 -05:00
tildearrow 46d5a8759c GUI: fix some interpolate issues 2022-08-25 23:39:55 -05:00
tildearrow 24c5ba89e2 GUI: don't rename settings 2022-08-25 22:09:32 -05:00
cam900 3597e57bb2 Add Traditional Chinese and Korean support 2022-08-26 08:49:08 +09:00
tildearrow a7d0949eac GUI: different pattern manager layout 2022-08-25 18:13:46 -05:00
tildearrow 0b7592e031 new default loop modality 2022-08-25 16:06:10 -05:00
freq-mod bc0f696eb3
Update soundunit.md
fix 12xx description
2022-08-25 18:55:32 +02:00
tildearrow f9a8a54601 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-25 01:35:10 -05:00
tildearrow fc5b26c49a SoundUnit: fix 4xxx not working 2022-08-25 01:34:21 -05:00
cam900 9c29b7e7ca
Fix RF5C68 panning macro 2022-08-25 00:24:49 +09:00
tildearrow 96b3ccab8a I see UI!!!! 2022-08-23 03:57:21 -05:00
tildearrow e158591ccb even more fixes 2022-08-23 02:31:39 -05:00
tildearrow 226f43fea3 several important bug fixes to advanced arp macro 2022-08-22 19:09:08 -05:00
tildearrow c009cb3536 dev112 - prepare for advanced arp macro
this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)

the UI is still a work in progress and doesn't work well

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05:00
aurora ca5cd32cfb Merge branch 'master' of https://github.com/tildearrow/furnace 2022-08-22 22:22:40 +03:00
aurora bab54c814c Merge branch 'master' of https://github.com/NatsumiFox/furnace 2022-08-22 22:21:43 +03:00
aurora bcc85dee20 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-08-22 22:21:23 +03:00
tildearrow d406380773 SoundUnit: fix some effect definitions 2022-08-22 14:20:47 -05:00
AuroraFields 900ceffb50
Merge branch 'tildearrow:master' into master 2022-08-22 22:20:42 +03:00
aurora 0e847dc1aa add setting for choosing whether to save window position 2022-08-22 22:17:19 +03:00
aurora 8b3c4a84a8 implement bounds check for window spawning 2022-08-22 22:05:16 +03:00
tildearrow 6e87bc5dd6 update format.md 2022-08-22 04:38:46 -05:00
tildearrow 3b6fa212b8 implement macro speed/delay 2022-08-22 03:52:32 -05:00
tildearrow a3e7dbed7a
Merge pull request #645 from operator07/master
new demo song.. (ZX Spectrum Beeper)
2022-08-22 02:14:04 -05:00
tildearrow 2650fe609f dev111 - many macro changes
- max macro length is now 255
- loop/rel pos is now unsigned (255 = no)
- prepare for macro speed/delay
2022-08-22 02:13:33 -05:00
AuroraFields 3709f1f0a3
Merge branch 'tildearrow:master' into master 2022-08-22 09:49:44 +03:00
Aleksi Knutsi 8678e93d0f
new demo song.. 2022-08-22 13:11:29 +07:00
tildearrow 16309a8429 allow it 2022-08-22 00:20:40 -05:00
tildearrow 629cca9df1 ECxx 2022-08-22 00:01:21 -05:00
tildearrow 38afdd3378 dev110 - add cut/delay effect policy compat flag
INCOMPLETE!!!
2022-08-21 23:56:58 -05:00
tildearrow b223bc80de YM2612: #581 2022-08-21 20:06:01 -05:00
tildearrow 10aaf7f0cb YM2612: #580 2022-08-21 19:57:01 -05:00
aurora 58353398ec Merge branch 'master' of https://github.com/NatsumiFox/furnace 2022-08-22 03:50:50 +03:00
aurora e88e0a4e4e GUI: Remember window x/y position and maximized state. Warning: This may cause issues when windows are re-ordered. Is there a way to fix windows spawning outside of screen boundaries? 2022-08-22 03:47:00 +03:00
tildearrow 05b5265bbb YM2612: #632 2022-08-21 19:46:48 -05:00
tildearrow e226d09807 TIA: fix 10xx not working when changing instrument 2022-08-21 17:15:05 -05:00
tildearrow 808832864c add another demo song
by Raijin
2022-08-21 16:53:45 -05:00
tildearrow e39086ab11 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-21 16:35:05 -05:00
tildearrow 96feeced86 to-do 2022-08-21 16:34:43 -05:00
cam900 16d7cd3320 More docs 2022-08-21 14:08:14 +09:00
cam900 b96ad65d58 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-08-21 14:07:37 +09:00
cam900 ba126b820a Add preset
MSX + Neotron
MSX sound expansion with YM2610 or YM2610B (optional), from Neo Geo and bunch of arcade boards - especially Taito's.

MSX + SIMPL
Covox speech thing-ish 8bit DAC for MSX.
2022-08-21 14:07:24 +09:00
tildearrow f2950fa1d6 Revert "More preparing, Add OPL type docs"
This reverts commit 0b2f491997.

do not add a constructor to any of the DivPlatforms.
it will break things.
2022-08-20 23:35:13 -05:00
cam900 0b2f491997 More preparing, Add OPL type docs 2022-08-21 13:10:46 +09:00
cam900 2863f1662f Fix pitch 2022-08-21 12:57:53 +09:00
cam900 dfb663d876 Fix this for preparing OPL3-L and OPL4 2022-08-21 12:46:56 +09:00
tildearrow 1b2d2fdb98 system 2022-08-20 17:04:57 -05:00
tildearrow 0f92c4e35a GUI: fix change ins applying to off and release 2022-08-20 04:46:45 -05:00
tildearrow f01be34b5e GUI: highlight current macro position
not for op macros (yet)
2022-08-20 01:10:30 -05:00
tildearrow 24e3dec84f another big-endian fix! 2022-08-19 22:37:54 -05:00
tildearrow 4d057d3328 dev109 - define SNES instrument params 2022-08-19 19:42:01 -05:00
tildearrow c74d7fab37 dev108 - add SN period range compat flag
there's room for possible improvement
2022-08-19 18:46:19 -05:00
tildearrow 5fe3a3c35a prepare for moving chips 2022-08-19 16:25:32 -05:00
tildearrow 25820ae987 one moreeee big-endian fix 2022-08-19 14:36:22 -05:00
tildearrow 27555c3c0a aaaand more fixing 2022-08-19 04:45:59 -05:00
tildearrow 94cf589e92 GUI: prepare for chip manager window 2022-08-19 04:41:45 -05:00
tildearrow 3787d2ae87 one more big endian fix 2022-08-19 04:41:32 -05:00
tildearrow 7f80b5f6a3 dev107 - Merge pull request #639 from tildearrow/es5506_inst
Implement ES5506 instrument type
2022-08-19 01:28:24 -05:00
tildearrow 6527840556 Fix Initializer Again 2022-08-19 01:27:21 -05:00
tildearrow 5c7338930f fix big-endian build (i think) 2022-08-19 01:26:11 -05:00
cam900 42006e338c Fix Initializer 2022-08-19 14:49:10 +09:00
tildearrow 142c21e20b partially fix big-endian build
samples are the next thing to tackle
2022-08-19 00:23:45 -05:00
tildearrow 9c80f91870 relative 2022-08-19 00:00:10 -05:00
tildearrow 952a2a66e8 store ES5506 params in format 2022-08-18 23:55:29 -05:00
cam900 13158b86cf Clamp height of panning macro when higher than 128
so, current filter macro behavior is:
"Fixed" option enabled: override current filter value to macro value
"Fixed" option disabled: current filter value = filter value determined from ES5506 tab or command ± filter macro value
2022-08-19 12:03:25 +09:00
tildearrow 9bd3f6c34b remove delta mode entirely
so it was used on the filter but i'm not sure why couldn't it be
done in absolute mode instead
2022-08-18 18:36:22 -05:00
tildearrow c473f94f0d remove delta mode
it's unnecessary in my opinion

unless I am missing something
2022-08-18 18:21:51 -05:00
tildearrow 3f14625361 Revert "Fix initializing"
This reverts commit 0b09408ee8.
2022-08-18 18:05:45 -05:00
tildearrow aa1e34ffd3 Revert "Fix duplication"
This reverts commit 446e62c69f.
2022-08-18 18:05:34 -05:00
tildearrow 90633b2cbc Revert "oops"
This reverts commit 1f65b104f2.
2022-08-18 18:05:31 -05:00
tildearrow fa6a61e493 Revert "Fix panning macro height"
This reverts commit 087ff27f06.
2022-08-18 18:05:13 -05:00
cam900 087ff27f06 Fix panning macro height 2022-08-19 00:18:46 +09:00
cam900 1f65b104f2 oops 2022-08-18 21:30:08 +09:00
cam900 446e62c69f Fix duplication 2022-08-18 21:29:48 +09:00
cam900 0b09408ee8 Fix initializing 2022-08-18 21:28:25 +09:00
cam900 5190c6daab Implement ES5506 instrument type
ES5506 has these features:
- 16 bit independent volume register per left/right output (Logarithmic, 4 LSB is for envelope)
- Programmable filter per each channels, 4 pole, 4 filter mode and 2 16 bit coefficient register (4 LSB is for envelope)
- Hardware envelope

Add more than 2 macro type support
"Delta" macro type: Use delta from previous value
2022-08-18 21:20:10 +09:00
Natt Akuma 7c42453422
Rewrite per-system effect handling (#548)
* Rewrite per-system effect handling

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
tildearrow 5c5d9368bc
Merge pull request #637 from 0x5066/anotherdemosong
Add another demo song
2022-08-17 18:59:50 -05:00
tildearrow 4e7eb728db GUI: fix moving GB HW seq step down 2022-08-17 18:37:16 -05:00
tildearrow 55d12e1ada GUI: finally re-organize the GB env UI 2022-08-17 18:29:40 -05:00
tildearrow 89eace2472 GUI: prepare for channel header customization opti
ons
2022-08-16 13:53:51 -05:00
Eris Lund 793dad89ad
Completed the module 2022-08-16 19:52:17 +02:00
tildearrow 159383aa40 workaround for account limit issue 2022-08-16 11:41:00 -05:00
tildearrow 787c2114bd
Merge pull request #635 from SirForte/master
A reality check
2022-08-16 11:33:06 -05:00
tildearrow a8a6d8bc4e move 2022-08-16 11:32:06 -05:00
tildearrow e4e013ac11
Merge pull request #631 from nicco1690/master
Add demo song
2022-08-16 11:31:15 -05:00
ZeroByteOrg 941d45ad80 Merge branch 'master' into ZSMv1 2022-08-16 11:24:18 -05:00
tildearrow 8a3358ba5a GUI: pattern manager, part 1 2022-08-16 04:19:00 -05:00
tildearrow d1c5a4725b add option to save unused patterns
closes #106

also prepare for the pattern manager window
2022-08-16 03:42:17 -05:00
tildearrow edddff8431 prepare for pattern optimization 2022-08-16 03:19:16 -05:00
tildearrow 976e193309 SoundUnit: add 1-bit PDM rev emulation 2022-08-16 02:08:10 -05:00
tildearrow fcb8fba77b GUI: fix particle commands 2022-08-16 02:07:57 -05:00
tildearrow 8734005b23 SoundUnit: fix switch roles mode 2022-08-15 23:20:26 -05:00
tildearrow 77109c3832 fix instrument move/del screwing up sub-songs 2022-08-15 22:54:31 -05:00
tildearrow 51cc36532e fix documentation regarding ZX beeper samples 2022-08-15 22:44:55 -05:00
tildearrow 5fe661e9a3 allow rates down to 1Hz 2022-08-15 22:40:04 -05:00
tildearrow 474dfa2587 Game Boy: fix bug involving hw sweep and zombie 2022-08-15 22:36:26 -05:00
tildearrow f86b66b4b7 PET: fix missing pitch macro 2022-08-15 21:46:36 -05:00
Eris Lund 5935ee7f62
Use Amiga 1200 (AGA) instead for this module 2022-08-15 21:18:27 +02:00
Eris Lund 2fb00e7614
Add files via upload 2022-08-15 20:37:21 +02:00
tildearrow e5e024c5f9
Merge pull request #633 from djtuBIG-MaliceX/hotfix/WOPL-OPLI-2x2op-missing-FeedConnect-fix
WOPL/OPLI Load bugfix for 2nd 2op pair
2022-08-15 05:35:15 -05:00
tildearrow 20c5e14f26 FC loader: the final fixes for this night 2022-08-15 04:22:14 -05:00
tildearrow 206b3af12a FC loader: aaaaaaand more fixes 2022-08-15 03:40:04 -05:00
tildearrow bef8cf5f5f FC loader: sample loop point and more fixes 2022-08-15 03:32:27 -05:00
tildearrow 4663534fa3 FC loader: preset waveforms, vibrato and stuff 2022-08-15 03:18:54 -05:00
tildearrow 15b4294532 FC loader: fix wave, sample and freq seq loading 2022-08-15 02:01:08 -05:00
tildearrow 779fc889c0 fix system definition for ES5506 - again 2022-08-14 23:34:57 -05:00
tildearrow a34c9806cb Game Boy: whoops 2022-08-14 23:30:36 -05:00
tildearrow 1a4a58d970 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-14 23:28:28 -05:00
tildearrow a8d3803efc Game Boy: now fix wave channel volume column 2022-08-14 23:28:15 -05:00
cam900 23276211f5
Fix incorrect info on ES5506 2022-08-15 13:25:31 +09:00
tildearrow f8b3c089a4 Game Boy: fix volume column 2022-08-14 23:07:19 -05:00
tildearrow 9b6730607e OPL: finally fix the carnival night zone bug
TODO: RUN TEST SUITE!
2022-08-14 19:17:03 -05:00
tildearrow cb4417824d YMZ280B: restore panning in forceIns 2022-08-14 14:26:55 -05:00
tildearrow 1b10c547e3 SoundUnit: implement switch roles flag 2022-08-14 14:19:30 -05:00
SirForte 9f9ee6153e
old crappy demo song 2022-08-14 08:33:21 -05:00
SirForte 2b6160b76f
The only thing i'm proud of 2022-08-14 08:32:48 -05:00
James Alan Nguyen 6344a1d23f Reported bug - 2nd 2op pair did not read ALG and FB registers to instrument patch 2022-08-14 16:09:31 +10:00
nicco1690 c7aed27745
Add demo song 2022-08-13 22:50:11 -04:00
tildearrow 774a949cca GUI: fix labels being empty 2022-08-13 18:16:24 -05:00
tildearrow bb5cee4a66 GUI: add pattern label customization settings 2022-08-13 18:00:29 -05:00
tildearrow ee16d20047 add demo song
by brickblock369
2022-08-13 15:53:47 -05:00
tildearrow 02fb5abc02 add ability to save ins/wave as .dmp/.dmw
also saving wavetables as raw data
2022-08-13 15:43:13 -05:00
tildearrow 041a76ad81 raw sample import fixes 2022-08-13 06:25:11 -05:00
tildearrow 91f9352eaf implement raw sample import
untested
2022-08-13 05:50:36 -05:00
tildearrow ce2d322e47 GUI: add replace for wave/sample and prepare for
raw sample import
2022-08-13 04:17:32 -05:00
tildearrow 4707eb7002 update Namco 163 doc 2022-08-13 04:07:50 -05:00
tildearrow 5506b87b40 update sample doc 2022-08-13 02:48:34 -05:00
tildearrow 2743c60cf3 Game Boy: fix wave channel auto-enable on wave cha 2022-08-12 23:09:34 -05:00
tildearrow 39feda54ac OPZ: volume macro should go to 127 2022-08-12 04:11:17 -05:00
tildearrow b156336216 GUI: fix Game Boy ins edit crashes 2022-08-11 14:27:33 -05:00
cam900 86baa8c014 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-12 01:39:47 +09:00
tildearrow 00ae5b4142 GUI: fix volume macro always being 15
issue #629
2022-08-11 11:30:45 -05:00
cam900 7d83cbb7d6 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-11 22:22:05 +09:00
cam900 d44f5f0b2b Prepare for backward and bi-directional loop 2022-08-11 22:21:54 +09:00
tildearrow 01d1556fb4 GUI: rename "system" to "chip"
"system" made sense when Furnace was a .dmf tracker and had
compound setups like Genesis (YM2612+SN)

however, it doesn't make too much sense now when compared to "chip"
2022-08-11 05:38:31 -05:00
tildearrow 0528f4e7bd Game Boy: possibly fix wave soft env 2022-08-11 05:04:35 -05:00
tildearrow 81482c2f2b QSound: SAMPLE LOOP BUG DEBUG BEGIN 2022-08-11 04:50:16 -05:00
tildearrow 762b3b2928 PCE: per-chan osc DAC mode overflow fix 2022-08-11 02:08:24 -05:00
tildearrow ed98df91d2 turn on proper noise layout by default 2022-08-11 02:05:05 -05:00
tildearrow 7e7a5a8e30 Game Boy: software envelopes, part 4
fixes
2022-08-11 01:34:18 -05:00
tildearrow d30f9bc8a0 Game Boy: software envelopes, part 3
zombie mode
2022-08-11 01:24:53 -05:00
tildearrow 340052cf0a Game Boy: add chip revision flag 2022-08-11 00:46:15 -05:00
tildearrow 92f40774e4 Game Boy: I hate your artificial limitations
fixes a DefleMask demo module
2022-08-10 23:56:25 -05:00
tildearrow 51db06298b Game Boy: fix volume regression 2022-08-10 23:53:47 -05:00
tildearrow 4b18d0920b Game Boy: software envelopes, part 2 2022-08-10 17:02:45 -05:00
tildearrow bccecc4c07 Game Boy: software envelopes, part 1 2022-08-10 16:27:29 -05:00
tildearrow 6bcb3063a5 add OPZ disclaimer in docs 2022-08-10 15:41:52 -05:00
tildearrow df10b6cc59 Game Boy: hardware sequences, part 3
the previous commit was part 2
2022-08-10 14:16:26 -05:00
tildearrow 28698beaf3 dev106 - Game Boy: implement hw seq
and prepare for software envelope maybe
2022-08-10 01:55:44 -05:00
tildearrow da8f7dabd5 i guess
to anybody who bothers reading the contents of this commit:
who cares? you promised me C163 would become the name
but nobody has bothered to call it C163 for an entire week.

there's no point on pushing a dead idea forward!
2022-08-09 14:53:31 -05:00
tildearrow 2af4992e9b JACK: fix crash when changing buffer size 2022-08-08 00:25:05 -05:00
tildearrow 1c92d23d27 commands view now only displays useful commands 2022-08-07 17:40:01 -05:00
tildearrow b8012344e7 fix possible crash when closing Furnace 2022-08-07 17:37:07 -05:00
tildearrow f80488d9b0 minimize allocations in nextBuf 2022-08-07 17:32:39 -05:00
tildearrow 829db187df Y8950: fix ADPCM per-chan osc I think 2022-08-07 06:24:48 -05:00
tildearrow 800f08b0fd Game Boy: hardware sequences, part 1
still not working! just the UI for it
2022-08-07 06:06:14 -05:00
tildearrow 45196daf95 Game Boy: fix serious typo 2022-08-07 01:32:28 -05:00
tildearrow 1721e1d03e Game Boy: re-enable wave corruption bug emulation 2022-08-07 00:40:26 -05:00
tildearrow 7dad9098b6 Game Boy: fix wave channel 2022-08-07 00:37:35 -05:00
tildearrow ab013291d4 Game Boy: make channel state independent of instru 2022-08-07 00:22:03 -05:00
tildearrow 9f8c96d45b dev105 - prepare for Game Boy hardware sequences
issue #27
2022-08-07 00:03:27 -05:00
tildearrow 47ea8132b2 QSound: limit max frequency to $EFFF
it appears $F000 and beyond cause glitches (#256)
2022-08-06 23:05:54 -05:00
tildearrow 17dba66fa0 MMC5: finally fix PCM linear pitch mode issues 2022-08-06 22:52:39 -05:00
tildearrow 42a0ee13b8 add two demo songs
by psdominator and LVintageNerd
2022-08-06 22:26:18 -05:00
tildearrow e2e0fd62a8 CI: Cross-Linux-armhf trial, part 9 2022-08-06 22:05:16 -05:00
tildearrow 29d84f0aff CI: Cross-Linux-armhf trial, part 8 2022-08-06 22:01:14 -05:00
tildearrow c4db8d5141 CI: Cross-Linux-armhf trial, part 7 2022-08-06 21:47:26 -05:00
tildearrow 2c1390c0a1 CI: Cross-Linux-armhf trial, part 6 2022-08-06 21:29:33 -05:00
tildearrow 3c82e0abd4 CI: Cross-Linux-armhf trial, part 5 2022-08-06 19:59:38 -05:00
tildearrow 8f03763107 CI: Cross-Linux-armhf trial, part 4 2022-08-06 19:53:29 -05:00
tildearrow 6594fe4123 CI: Cross-Linux-armhf trial, part 3 2022-08-06 19:39:07 -05:00
tildearrow dc5fd54544 CI: Cross-Linux-armhf trial, part 2 2022-08-06 19:35:06 -05:00
tildearrow f439bd2234 CI: Cross-Linux-armhf trial, part 1 2022-08-06 19:22:58 -05:00
tildearrow 6934a499c1 SoundUnit: actually finish it 2022-08-06 18:23:11 -05:00
tildearrow e0c5029769 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-06 16:24:11 -05:00
tildearrow f03123fd75 SoundUnit: implement missing input line emulation 2022-08-06 16:22:57 -05:00
tildearrow 1b04a5afdc
Merge pull request #621 from brickblock369/master
Two new OPL instruments
2022-08-06 15:01:43 -05:00
tildearrow fa66fb1c9a
Merge pull request #622 from djtuBIG-MaliceX/hotfix/opm-loading-discrepancy
Fix OPM load bug relating to AM-ENA values above 1
2022-08-06 14:57:34 -05:00
tildearrow 708af8c191
Merge pull request #607 from freq-mod/wave-edit-tooltip
Update waveform editor height/width guide + fix MSX-AUDIO typo
2022-08-06 14:56:14 -05:00
freq-mod a841296219
Y8950: PCM -> ADPCM
also where the f is my write access
2022-08-06 17:50:15 +02:00
freq-mod b5fa556a38
Merge branch 'tildearrow:master' into wave-edit-tooltip 2022-08-06 17:44:18 +02:00
tildearrow 5534f55f7a dev104 - add "is sample" flag to Sound Unit ins 2022-08-06 04:04:18 -05:00
tildearrow 0946d23883 Game Boy: fix phase reset macro when anti-click is 2022-08-06 00:39:09 -05:00
tildearrow 8a7d352ec6 PCE: fix phase reset macro when anti-click is on 2022-08-06 00:38:24 -05:00
tildearrow 6ec9cceb09 PCE: remove some sample playback clicking 2022-08-06 00:34:28 -05:00
tildearrow 3e70ed6d3e CI: fix artifact conflict 2022-08-05 17:22:07 -05:00
tildearrow 1d30febff8 oh yeah 2022-08-05 15:39:13 -05:00
tildearrow a0968aed07 GUI: fix text/binary command stream outs being swa 2022-08-05 03:27:35 -05:00
tildearrow 827904d46e what happens if I force arm64 on macOS CI? 2022-08-05 00:05:36 -05:00
tildearrow 049ab06544 PCE: add option to pick A/non-A revision of chip 2022-08-04 23:37:28 -05:00
tildearrow 3a18e1e6fc partially implement command stream binary mode 2022-08-04 18:50:52 -05:00
tildearrow f2b6f854a9 add options to not install demo songs/ins 2022-08-04 17:48:10 -05:00
tildearrow 2e41d117d7 fix some of these command hints 2022-08-04 17:47:59 -05:00
tildearrow 67e7e07048 add -cmdout option 2022-08-04 15:18:48 -05:00
tildearrow 09e32c7050 finish command dump hints 2022-08-04 15:14:29 -05:00
James Alan Nguyen 810eabca99 derp limits 2022-08-04 17:50:33 +10:00
James Alan Nguyen edb0f51131 stdint required 2022-08-04 17:43:42 +10:00
James Alan Nguyen b030f8285d Bugfix for OPM file load - correctly handle AM-ENA where value is arbitrarily nonzero 2022-08-04 17:33:36 +10:00
tildearrow d54d853ff8 add a command stream dump option 2022-08-04 00:51:47 -05:00
tildearrow a0d10aa60b Game Boy: implement anti-click 2022-08-03 19:17:18 -05:00
tildearrow 7ec4f7cb9e VGM export: add option to insert pattern change hi
nts
2022-08-03 18:44:45 -05:00
tildearrow eafbf24290 GUI: YM2423 patch names
thanks freq-mod!
2022-08-03 17:31:00 -05:00
tildearrow fce0371756 add "hint" commands 2022-08-03 17:21:47 -05:00
tildearrow 52c3b10373 add getWantPreNote()
currently only C64 system requires this
2022-08-03 16:21:30 -05:00
tildearrow 53120edd99 disable MIDI clock 2022-08-03 14:41:53 -05:00
tildearrow 46425655ad YM2612: fix possible ExtCh DualPCM muting issue 2022-08-03 14:41:53 -05:00
tildearrow 0183c5d9ff GUI: remove one new line 2022-08-03 14:41:53 -05:00
cam900 89042f61eb Fix link for vgsound_emu (moved into https://gitlab.com/cam900/vgsound_emu) 2022-08-03 21:56:22 +09:00
brickblock369 717d99d650
Two new OPL instruments 2022-08-03 21:25:17 +09:00
tildearrow 3c2a01f73d
Merge pull request #620 from brickblock369/master
Tweaked versions of the instruments
2022-08-03 03:07:37 -05:00
tildearrow 034b4fd4f6 GUI: YMF281 patch names
thanks nicco1690!
2022-08-03 00:10:32 -05:00
tildearrow 0d4f20b7a6 SoundUnit: add 64K chip revision 2022-08-03 00:05:58 -05:00
brickblock369 d204ae868a
Tweaked versions of the instruments
These were originally made by me, but I tweaked them a little.
2022-08-03 14:03:08 +09:00
tildearrow 1f57d09fbf GUI: display correct OPLL patch names 2022-08-02 23:16:42 -05:00
tildearrow 94a2cad8ec
Merge pull request #613 from mikerro/master
Create MetalSlug_BaseCamp_SMS_TIA.fur
2022-08-02 22:03:32 -05:00
tildearrow fe07051f89 rename Envelope release to Macro release 2022-08-01 22:51:13 -05:00
tildearrow c9ff3af410
Merge pull request #616 from laoo/master
More robust popcnt
2022-07-31 16:15:47 -05:00
Waldemar Pawlaszek 5feba3a716 More robust popcnt 2022-07-31 22:26:59 +02:00
tildearrow a9afcf873c fix ARM build 2022-07-31 14:05:23 -05:00
tildearrow e1bddafcf5
Merge pull request #615 from laoo/master
#511 Added dynamic popcnt dispatcher
2022-07-31 13:56:22 -05:00
Waldemar Pawlaszek 6ff51ce8f3 #511 Added dynamic popcnt dispatcher 2022-07-31 11:33:38 +02:00
Michał Szpilowski 007024c86f Create MetalSlug_BaseCamp_SMS_TIA.fur
New cover - MetalSlug BaseCamp (form GB Advnace)
2022-07-30 18:47:05 +02:00
tildearrow b7656d5c7b Merge branch 'master' of github.com:tildearrow/furnace 2022-07-30 01:01:19 -05:00
tildearrow 1921fd1759 PCE: implement anti-click technology 2022-07-30 01:00:51 -05:00
tildearrow 5f5ca85b8a
Merge pull request #609 from host12prog/patch-6
Fix exactly 1 mistake in soundunit.md (oops!)
2022-07-30 00:37:44 -05:00
Aleksi Knutsi cd4af3c4ba
Update soundunit.md 2022-07-29 21:20:17 +07:00
tildearrow e7108c060b add Namco WSG section to doc/7-systems 2022-07-28 23:24:32 -05:00
tildearrow 4666a8d614 update export-tech.md 2022-07-27 17:57:45 -05:00
tildearrow b3e9f53ec4 GUI: the poll 2022-07-27 17:57:36 -05:00
freq-mod 9447442fed Update waveform editor height/width guide 2022-07-27 16:09:36 +02:00
tildearrow 2b4b320a74 fix noMultiSystem setting being inverted 2022-07-27 02:36:48 -05:00
tildearrow 185b283ef6 GUI: wave generator, part 3 2022-07-27 02:36:36 -05:00
tildearrow 693d457fff GUI: wave generator, part 2 2022-07-27 02:23:29 -05:00
tildearrow 7d5f5a91c6 GUI: wave generator, part 1 2022-07-27 01:20:26 -05:00
tildearrow 173e9b0df9 **Namco C163** 2022-07-26 18:23:01 -05:00
tildearrow 2ab021664e Merge branch 'master' of github.com:tildearrow/furnace 2022-07-26 03:34:56 -05:00
tildearrow 47aba6186d GUI: fix possible crash in sample editing actions 2022-07-26 03:34:41 -05:00
tildearrow a0800000af
Merge pull request #604 from 20Enderdude20/master
Added a wind instrument
2022-07-26 03:24:18 -05:00
tildearrow 92c3e75bee why! 2022-07-26 03:11:46 -05:00
tildearrow 606215ef9f OH MY 2022-07-26 02:54:35 -05:00
tildearrow c2ef773f97
Merge pull request #605 from host12prog/patch-5
Fix 1 typo and 2 capitalization errors
2022-07-26 02:31:17 -05:00
tildearrow c6d5f55335 AND REALLY FIX IT THIS TIME 2022-07-26 02:28:28 -05:00
Aleksi Knutsi e7938ccd11
Fix 1 typo and 2 capitalization errors 2022-07-26 14:16:24 +07:00
tildearrow a9bfe7f452 fix build... again! 2022-07-26 02:13:19 -05:00
20Enderdude20 26176f58eb
Use this effect in lower notes like c -1 to C-0 2022-07-26 00:12:34 -07:00
tildearrow 280592cf33 fix build 2022-07-26 01:42:34 -05:00
tildearrow 8d17500315 jlhafasjkhdgkdhjasfd 2022-07-25 19:45:49 -05:00
tildearrow 3ff8f3d860 FC loader: read slides 2022-07-25 19:09:42 -05:00
tildearrow 09e457003b add option for soft-clipping 2022-07-25 18:41:47 -05:00
tildearrow b0c2b10135 GUI: add "scale" option to find/replace 2022-07-25 18:32:26 -05:00
tildearrow 83386d082d add a proper CLI
featuring skip order (left/right) and pause (space)!
currently available on macOS and Linux only.
2022-07-25 17:23:56 -05:00
tildearrow 3183400019 it appears SDL2 takes over interrupt in console
mode
2022-07-25 16:21:39 -05:00
tildearrow 542a46e89b remove log spam (hopefully) 2022-07-24 03:41:01 -05:00
tildearrow b75787603a I missed something 2022-07-24 02:52:39 -05:00
tildearrow 1d77719640 prevent exception in MIDI in/out from crashing 2022-07-24 02:45:21 -05:00
tildearrow 9a0609ae1a fix build... 2022-07-24 02:24:57 -05:00
tildearrow ffe06013d7 GUI: fix preset typo 2022-07-24 01:58:14 -05:00
tildearrow 1dbdf8558c Merge branch 'master' of github.com:tildearrow/furnace 2022-07-24 01:57:21 -05:00
tildearrow 588f3f737c preliminary Future Composer module loading
only loads patterns and doesn't deduplicate
conversion required to fit in the Furnace format (no transpose ins/note)
even the pattern loader itself isn't complete due to how different the
format is
2022-07-24 01:57:10 -05:00
cam900 6697be4d95
Add/Update more presets
Williams/Midway ADPCM Sound board
Used for conjunction with their Y/T unit, it has ordinary de facto standard OPM+MSM6295 on this era with software controlled DAC from predecessors.

Konami Battlantis
Used at Battlantis arcade hardware, It is early SB Pro but mono configuration.

Sega System 24
This Sega's early arcade system featured to floppy disk and high resolution graphics. Sound hardware is similar as their System 16, but ADPCM is replaced to software controlled DAC.

Namco System 86
Predecessor of System 1(a.k.a. System 87), It features similar sound hardware and optional ROM and DAC expansion.

Namco Thunder Ceptor
Used at Thunder Ceptor, their Front view arcade machine. Namco system 86 and System 1 sound system is directly derived from this machine's sound system.

Irem M72
Irem's first arcade system with FM sound system, All released game except R-Type is featured also LOUD software controlled DAC, inherited from their predecessors sound system.
2022-07-24 13:28:26 +09:00
cam900 49cb216594 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-07-24 12:25:17 +09:00
cam900 b48b7c8bc5 Apply loop end position for generic DAC 2022-07-24 12:23:38 +09:00
tildearrow 84c955058b GUI: Z280 whoops
issue #576
2022-07-23 22:22:05 -05:00
tildearrow 75c7573f12 Merge branch 'master' of github.com:tildearrow/furnace 2022-07-23 22:19:30 -05:00
tildearrow 617569b6b8 re-enable backward on Windows/macOS 2022-07-23 22:19:07 -05:00
Christoph Neidahl e08399156a
Haiku support (#596)
* Don't apply Wayland videodriver workaround on Haiku

* dirent.d_type-less type detecting in IGFD

The Dumb Way(tm). `stat`'s `st_mode` should be nicer?

* CMake check for dirent.d_type, stat-based fallback

* Move config dir setup to separate function

Nicer to work with than macro kerfuffle.

* Default sysFileDialog to off on Haiku

* Logging stuff

* Honour CMAKE_INSTALL_BINDIR

* Use find_directory on Haiku

Includes forgotten configPath line when home==NULL.

* Address PR review notes
2022-07-23 22:11:30 -05:00
tildearrow de77d51d7a GUI: update credits 2022-07-23 21:19:43 -05:00
Aleksi Knutsi 8011e7adc7
Implement Phase Reset Timer macro for Sound Unit (#573)
* Implement Phase Reset Timer Macro

* And make the macro actually work

* Delete ex4Max variable
2022-07-23 19:13:30 -05:00
tildearrow 623c0efbba
Merge pull request #578 from tildearrow/ngp
Add generic PCM DAC system
2022-07-23 19:12:51 -05:00
tildearrow 78b5419004 GUI: fix effect list hotkey 2022-07-23 19:08:39 -05:00
tildearrow 26d60dd107 GUI: fix per-chan osc debug crash
fixes #600
2022-07-23 19:01:30 -05:00
tildearrow 984d61d081 GUI: update song information 2022-07-23 18:53:49 -05:00
tildearrow dfcb9551e7 GUI: update credits 2022-07-23 18:53:42 -05:00
tildearrow efa75a4480 GUI: sub-song info experiment 2022-07-23 18:40:48 -05:00
tildearrow 6051f92e68 GUI: add setting to customize initial system name 2022-07-23 18:22:42 -05:00
tildearrow 8d88ac766c dev103 - store system name and other info in song 2022-07-23 17:02:03 -05:00
tildearrow d004629a58 dev102 - new sample storage format 2022-07-22 02:29:01 -05:00
tildearrow 7bc3166ed5 YMZ280B: frequency precision improvement
frequency is now multiplied by 256 and then fed to the chip divided by
256 to increase freq precision
2022-07-22 00:01:29 -05:00
cam900 5127d5ef18
Implement sample loop end position, enum-ise sample depth (#557)
TODO: new sample format
2022-07-21 23:36:42 -05:00
tildearrow a137eefd20 GUI: refine the Namco [C]163 chip name option 2022-07-21 19:00:32 -05:00
tildearrow e295cea238 whoops 2022-07-21 15:28:24 -05:00
tildearrow f6b45d3d9b GUI: add Namco C163 chip name option 2022-07-21 15:21:29 -05:00
tildearrow 5aa287eece update format.md - CSM for all OPN chips soon 2022-07-21 14:51:26 -05:00
tildearrow 09b47fafe3 update demo songs 2022-07-21 14:49:42 -05:00
tildearrow 191a0dedf9 GUI: improve wavetable editor, part 2 2022-07-21 03:14:52 -05:00
tildearrow 962dab012c GUI: improve wavetable editor, part 1 2022-07-21 02:49:19 -05:00
tildearrow 598ca75402 Merge branch 'master' of github.com:tildearrow/furnace 2022-07-21 00:08:58 -05:00
tildearrow d8dff3c207 add demo song
requested by LovelyA72
2022-07-20 23:52:35 -05:00
cam900 4e8d71fc22
Fix sample map struct
Structize sample map variable is for easily extend features.
2022-07-21 13:42:20 +09:00
cam900 a5959ae7b9 Struct-ize sample map variable 2022-07-20 23:01:06 +09:00
tildearrow dff7c61b79 GUI: add option to disable threaded input 2022-07-20 00:32:06 -05:00
tildearrow cd7b333b2d introduce a benchmark mode 2022-07-19 17:01:19 -05:00
tildearrow a4741861ce fix audio output being reset on cmd line export 2022-07-19 15:57:06 -05:00
tildearrow 60a52d3b9f
Revert "Revert "Fix issue #567: LFO disable/enable behavior for YM2151."" 2022-07-17 00:06:04 -05:00
tildearrow d109f53169
Merge pull request #593 from tildearrow/revert-572-opmlfo
Revert "Fix issue #567: LFO disable/enable behavior for YM2151."
2022-07-17 00:06:01 -05:00
tildearrow 707dc30f15
Revert "Fix issue #567: LFO disable/enable behavior for YM2151." 2022-07-17 00:05:56 -05:00
Natt Akuma e334fdddb8
Merge pull request #572 from ZeroByteOrg/opmlfo
Fix issue #567: LFO disable/enable behavior for YM2151.
2022-07-17 12:04:38 +07:00
tildearrow 96b7e5d353 GUI: implement multi sel on NFD and IGFD 2022-07-16 01:52:15 -05:00
tildearrow 666b0d581a GUI: add multi-selection capability to file dialog 2022-07-15 02:23:16 -05:00
tildearrow d085f76c7f issue #588, part 3
add check for the existence of inb() and outb()
2022-07-14 22:29:04 -05:00
tildearrow 3df5a6e2b6 issue #588, part 2 2022-07-14 22:17:05 -05:00
tildearrow 6f90124d82 issue #588, part 1 2022-07-14 22:15:14 -05:00
tildearrow bad11bc21e whoops 2022-07-14 02:00:51 -05:00
tildearrow 28a2db7a57 GUI: system file picker error feedback 2022-07-14 01:59:55 -05:00
tildearrow 5f92a6ffa6 possibly fix major issue with NFD 2022-07-14 00:14:33 -05:00
tildearrow 936a95c112 fix build on Arch
not my fault that PipeWire is shipped in a broken state
2022-07-13 16:47:09 -05:00
tildearrow 2f98da5675 GUI: sample editor icon improvements 2022-07-12 19:15:10 -05:00
tildearrow 15ab8cc49b YM2612: fix a CSM issue with key off 2022-07-12 18:45:54 -05:00
tildearrow 8104b717cd i knew it 2022-07-11 13:48:37 -05:00
ZeroByteOrg 850508e1b8 Merge branch 'master' into ZSMv1 2022-07-11 12:59:59 -05:00
tildearrow c85b67b1da NES + chip -> Famicom + chip 2022-07-09 15:55:27 -05:00
tildearrow c2f1385703 MSM6258: fix position not being reset in furnace s
ample mode
2022-07-08 02:25:25 -05:00
tildearrow 663c8a9629
Merge pull request #584 from brickblock369/master
Made new FM presets to be included in Furnace's repo.
2022-07-06 21:47:00 -05:00
brickblock369 b2134472eb
Made new FM presets to include in Furnace's repo. 2022-07-07 08:35:34 +09:00
brickblock369 af33876caf
To be used with acoustic string instruments. 2022-07-07 08:34:53 +09:00
brickblock369 899fa9e494
Made new FM presets to include in Furnace's repo. 2022-07-07 08:34:04 +09:00
cam900 fe94ea8e04
Fix typo 2022-07-07 04:10:32 +09:00
cam900 9898d824c0
Fix typo 2022-07-07 04:09:50 +09:00
tildearrow 1ed6fdd405 and another demo song
requested by Crisps
2022-07-05 14:02:40 -05:00
tildearrow b39924c9d6 AY: TODO fix wtr_envelope.dmf 2022-07-05 01:16:25 -05:00
tildearrow 4823eeb458
Merge pull request #577 from 0x5066/demosong
Add The Cheetahmen
2022-07-05 01:15:49 -05:00
tildearrow f4a85bebff dev101 - fix SMSFM_intro.dmf 2022-07-04 01:43:59 -05:00
tildearrow 949e293053 SMS: aaaand more .dmf compatibility 2022-07-03 23:43:13 -05:00
tildearrow 0ec28f168e more .dmf compatibility stuff 2022-07-03 23:31:35 -05:00
tildearrow 4b1db78a0b GUI: remove debug message 2022-07-03 23:02:45 -05:00
tildearrow c3a693e804 GUI: possibly fix replace crashes 2022-07-03 23:02:25 -05:00
Natt Akuma f8425b817f Fix GCC errors 2022-07-03 20:11:04 +07:00
tildearrow caa1c2c93d D E M O 2022-07-03 01:29:41 -05:00
Natt Akuma d3cd7bbb81 Add generic PCM DAC system
For use with NGP DAC and some arcade system combos
2022-07-03 01:42:47 +07:00
Eris Lund 97832c6c9a
Add The Cheetahmen 2022-07-02 17:25:22 +02:00
cam900 f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
cam900 364c7c4104
Add Sega System E Preset
It is Sega System C/2 but Master system; but this system has 2 SMS VDPs (One for foreground and another for background) and they has they own PSG output.
FM addon is unofficial, but System E release of Fantasy zone II support that.

MAME driver: https://github.com/mamedev/mame/blob/master/src/mame/sega/segae.cpp
FM Addon example (Fantasy Zone II): https://www.youtube.com/watch?v=7dLc9UZ81CI
2022-07-02 11:59:27 +09:00
Natt Akuma fac415c8e8 Prepare for NGP system
Also add PCM DAC as system format 0xc0
2022-07-02 08:19:25 +07:00
tildearrow fd5f1106bc update format.md 2022-07-01 14:13:50 -05:00
tildearrow 1e2cafcf90 possibly fix system file picker filter on macOS 2022-07-01 14:07:55 -05:00
Natt Akuma 59bcd9599f OPL: Missed changes from last commit 2022-07-01 17:55:33 +07:00
Natt Akuma 02b28e6e7d OPL: Correct CHIP_FREQBASE to match clock ratio
This changes from 9440540 to 9437184
2022-07-01 17:33:33 +07:00
tildearrow e3a22ea7c1 replace Checknobankh.fur 2022-07-01 01:30:09 -05:00
tildearrow 7725047de6 doc: fix soundunit.md 2022-07-01 01:11:51 -05:00
tildearrow ed9ddb966a
Merge pull request #564 from host12prog/master
Create docs for TildeArrow Sound Unit
2022-07-01 01:10:57 -05:00
Aleksi Knutsi 6a4f0ee3d9
Update README.md 2022-06-30 17:36:45 +07:00
Aleksi Knutsi 5eb6c505bc
Update soundunit.md 2022-06-30 17:31:10 +07:00
tildearrow f03f6bdb8d possibly fix compilation under macOS? 2022-06-30 03:44:16 -05:00
tildearrow 6d0e9d80f9
Merge pull request #568 from DeMOSic/master
Add 5 AY-3-8910 instruments.
2022-06-30 03:10:57 -05:00
tildearrow 88baef21ff
Merge pull request #566 from nicco1690/master
Add checknobankh (again)
2022-06-30 03:06:46 -05:00
tildearrow cabebcd93d
Merge pull request #565 from LovelyA72/fix-readme-404
Fix paper 404 link
2022-06-30 02:17:59 -05:00
ZeroByteOrg 807848cfee Fix LFO disable/enable behavior for YM2151. 2022-06-29 16:59:47 -05:00
Emre Cakir e26d6b94c9
Add 5 AY instruments.
The instruments are, Closed Hat, Open Hat, Hat+EnvBass, Kick, and last but not least, Snare.
2022-06-29 21:21:39 +02:00
ZeroByteOrg 40d67d7bb5 Merge branch 'master' into ZSMv1 2022-06-29 13:14:15 -05:00
nicco1690 15eebea747
Add checknobankh (again) 2022-06-29 12:10:38 -04:00
LovelyA72 0a07abe153
Fix paper 404 link 2022-06-29 12:09:15 -04:00
Postbox2 c21caa5991
Update README.md 2022-06-29 18:45:17 +07:00
Postbox2 200cb34d18
ah the bitch! markdown you anger mee 2022-06-29 18:44:36 +07:00
Postbox2 86aacd818b
Fix formatting issues, i think 2022-06-29 18:43:40 +07:00
Postbox2 0102fcbda8
Create soundunit.md 2022-06-29 18:42:33 +07:00
tildearrow a8a38dce2b 0.6pre1 - introduce the final changes
- implement E1xy/E2xy Defle bug when using same note twice
- add SNK Touchdown Fever preset
- update README.md and to-do list
- update credits

thank you for your patience!

see you in 0.6pre1.5 coming soon...
2022-06-29 04:57:05 -05:00
tildearrow 6a35258e9b whoops 2022-06-29 02:55:06 -05:00
tildearrow 87fa871972 doc: update writer list 2022-06-29 02:27:10 -05:00
tildearrow c2d060da9f Merge branch 'master' of github.com:tildearrow/furnace 2022-06-29 02:26:15 -05:00
tildearrow adfca1b10c
Merge pull request #563 from host12prog/patch-3
Fix 2 typos
2022-06-29 02:26:09 -05:00
Postbox2 4123aa631c
Fix 2 typos 2022-06-29 14:24:52 +07:00
tildearrow 0a055ff85b OPL: fix crash 2022-06-29 02:11:25 -05:00
tildearrow 6fe7e638d5 update format.md 2022-06-29 01:56:57 -05:00
tildearrow b99dce5362
Merge pull request #499 from superctr/220527_blocksize
Save the size of each block in a Furnace module
2022-06-29 01:54:05 -05:00
tildearrow 4a0bb1fa38 OPLL: one more chan osc fix 2022-06-29 01:50:20 -05:00
tildearrow 0b70902dbe OPLL: fix per-channel osc, part 2 2022-06-29 01:40:03 -05:00
tildearrow 9fee9fa363 GUI: run per-chan osc on instrument preview 2022-06-29 01:37:12 -05:00
tildearrow 4dfd413ead OPLL: fix per-channel osc, part 1 2022-06-29 01:32:52 -05:00
tildearrow 90481cc460 OPL: fix drums mode per-channel osc 2022-06-29 01:06:31 -05:00
tildearrow 6d26895448
Merge pull request #562 from TheDuccinator/master
Add new demo song
2022-06-29 01:04:00 -05:00
TheDuccinator 24c726a7ca
Add new demo song 2022-06-28 22:57:52 -07:00
tildearrow 477674400c YM2612: whoops! 2022-06-29 00:55:05 -05:00
tildearrow aaf02103f6 YM2612: implement DualPCM macros 2022-06-29 00:49:11 -05:00
tildearrow 70239f879a add 3 demo songs
requested by Crisps
2022-06-29 00:11:56 -05:00
tildearrow 57c0f8bdc7 error feedback on Windows
see #540
2022-06-28 23:42:34 -05:00
tildearrow 3ea0ad1e0a OPL: fix pitch macro
fixes #535
2022-06-28 23:32:36 -05:00
tildearrow 3b5f584b49 submit second batch of instruments 2022-06-28 23:19:56 -05:00
tildearrow 8c8ad7f5ab fix audio saving being totally wrong 2022-06-28 22:08:24 -05:00
tildearrow be933b2d2c
Merge pull request #558 from nicco1690/patch-1
Correct outdated sections of the documentation
2022-06-28 21:32:22 -05:00
tildearrow 96bc63470f GUI: add unsigned detune option
closes #559
2022-06-28 15:06:22 -05:00
tildearrow 13f14b6854 SoundUnit: fix copy-paste blunder 2022-06-28 12:55:14 -05:00
tildearrow be7d7002e2 fix opening/saving audio files with non-ASCII char
s on Windows

this required making a wrapper...
2022-06-28 02:00:08 -05:00
tildearrow f483292a88 OPN[A/B/2]?: implement 18xx effect 2022-06-28 01:16:46 -05:00
Natt Akuma e2449d91f1 VERA: Run noise generation in each channel update 2022-06-27 19:37:45 +07:00
tildearrow fc489239c2 tildearrow Sound Unit no longer a secret 2022-06-27 05:04:23 -05:00
tildearrow 32ca9e6b0f remember last dir when using NFD 2022-06-27 04:58:25 -05:00
tildearrow b04743d045 SMS: implement Game Gear stereo in Nuked core 2022-06-27 04:09:24 -05:00
tildearrow fef09fb00d fix major per-channel audio export issue in ExtCh 2022-06-27 03:55:55 -05:00
tildearrow 869fe23036 fix .y12 TL loading 2022-06-27 03:44:09 -05:00
tildearrow 7ea49d7e84 what? 2022-06-27 03:39:42 -05:00
tildearrow f8347ac50f GUI: fix several things in OPL drums ins editor
- alternate layout being wrong
- macros being wrong
2022-06-27 03:30:57 -05:00
tildearrow 5507fd9f33 fix Windows file picker filter not working at all 2022-06-27 03:23:13 -05: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
nicco1690 6381e98df6
divided 2022-06-25 16:37:50 -07:00
nicco1690 1983c59a08
Merge branch 'tildearrow:master' into patch-1 2022-06-25 19:36:59 -04:00
tildearrow 01057ced3a fix Android build 2022-06-25 16:09:04 -05:00
nicco1690 2087211aea
0.6 :p part 2 2022-06-25 13:23:09 -07:00
nicco1690 6fcb618183
0.6 :p 2022-06-25 13:22:17 -07:00
nicco1690 ed4710c206
spund 2022-06-25 13:21:39 -07:00
nicco1690 acdb2b0fc3
correct vrc6 volume 2022-06-25 13:21:00 -07:00
nicco1690 29b4a4e0f0
it is not hidden 2022-06-25 13:18:50 -07: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
nicco1690 ccc7e88e17
The vrc6 has 2 inst types now 2022-06-25 03:02:11 -04:00
nicco1690 145fc0d813
Correct typo 2022-06-25 02:58:56 -04:00
nicco1690 5d8861918b
PCE has the wavetable synth now 2022-06-25 02:55:03 -04:00
nicco1690 4ab685bb9c
Update outdated sample docs 2022-06-25 02:51:05 -04:00
nicco1690 e0e06c0897
Add wavetable synth docs
Surprised this wasn't added a while ago :p
2022-06-25 02:19:46 -04:00
nicco1690 e97f16e2b1
Fix outdated documentation
Will likely change other outdated parts of the docs soon
2022-06-25 02:04:31 -04:00
tildearrow 799c2e9947
Merge pull request #555 from host12prog/master
Add new demo song
2022-06-25 00:44:23 -05:00
tildearrow 6224da87bd
Merge pull request #556 from host12prog/patch-1
Fix grammar a bit
2022-06-25 00:43:20 -05:00
tildearrow ef53611606 ..... 2022-06-24 20:28:26 -05:00
Postbox2 50e4428fb3
Fix grammar a bit 2022-06-25 08:24:38 +07:00
Postbox2 0c84824cc6
Add new demo song 2022-06-25 08:12:39 +07:00
Postbox2 d032f47328
Delete traumatic.fur 2022-06-25 08:12:22 +07:00
Postbox2 fe2c0ba389
Add new demo song 2022-06-25 08:08:45 +07:00
tildearrow 3811d694db submit initial batch of contest instruments 2022-06-24 15:27:11 -05:00
tildearrow fa29c6c00a GUI: update credits 2022-06-24 14:23:57 -05:00
tildearrow 0c480a3ea7 go to hell
and your stupid mess of C++ with Smalltalk language
2022-06-24 13:39:50 -05:00
tildearrow 01d2971b40 oh wait 2022-06-24 13:29:01 -05:00
tildearrow 1ffca9bea2 can you do the inverse 2022-06-24 13:28:11 -05:00
tildearrow 3366099dbe can you call C++ methods from Smalltalk 2022-06-24 13:17:43 -05:00
tildearrow e39a923b23 C64: fix per-channel osc for 6581 2022-06-24 03:26:00 -05:00
tildearrow 522fecc635 GUI: gradient whoops 2022-06-24 03:17:40 -05:00
tildearrow deffd99503 pass filter to NFD - DOES NOT BUILD
I am so lazy to adapt the macOS part
2022-06-24 03:11:36 -05:00
tildearrow 1b21d618b6
Merge pull request #554 from host12prog/patch-1
Fix typo in the word "non-linear"
2022-06-24 01:57:57 -05:00
Postbox2 ecb6635c50
Fix typo 2022-06-24 13:51:05 +07:00
tildearrow 951db12e6a Namco WSG: fix C15/C30 high notes 2022-06-23 22:59:06 -05:00
tildearrow a717c67f3d change IDs of null/dummy audio backends
for eventual alternate audio backend support
2022-06-23 22:53:21 -05:00
tildearrow b66cc81fc6 fix loading 24-bit samples 2022-06-23 22:33:25 -05:00
tildearrow e34de2262b update demo songs 2022-06-23 22:21:41 -05:00
tildearrow 96b126fd42 GUI: fix gradient color byte order 2022-06-23 20:58:48 -05:00
tildearrow aa511d2718 GUI: implement Gradient2D::fromString()
WE ARE CLOSE
2022-06-23 18:18:33 -05:00
tildearrow 7586db9a1b fix Termux build again 2022-06-23 16:25:51 -05:00
tildearrow b90552dfb1 fix Termux build 2022-06-23 16:23:46 -05:00
ZeroByteOrg ae7b271e1d Merge branch 'master' into ZSMv1 2022-06-23 13:45:12 -05:00
tildearrow 1b5396e814 GUI: save per-chan osc state 2022-06-23 04:02:41 -05:00
tildearrow abbd6e7274 potentially fix #550 2022-06-23 02:48:28 -05:00
Natt Akuma 142b8b2bb0 safeReader: Copy a value instead of direct casting
This fix crashes on architectures with forced alignments such as ARM
2022-06-23 09:03:20 +07:00
tildearrow c7ea30dda1 Revert "Revert "Added "c" in "channel" typo and added a TI-99 bit (#551)""
This reverts commit 2ffec02e26.
2022-06-22 15:16:19 -05:00
tildearrow 10183cdfd5
Merge pull request #552 from tildearrow/revert-551-patch-1
Revert "Added "c" in "channel" typo and added a TI-99 bit"
2022-06-22 15:15:30 -05:00
tildearrow 2ffec02e26 Revert "Added "c" in "channel" typo and added a TI-99 bit (#551)"
This reverts commit a65b4ded00.
2022-06-22 15:15:24 -05:00
20Enderdude20 a65b4ded00
Added "c" in "channel" typo and added a TI-99 bit (#551) 2022-06-22 22:14:23 +02:00
tildearrow 4731dad917 GUI: colors 2022-06-22 15:10:53 -05:00
Natt Akuma 8dc143af7b PET: Support full 16-bit period range
Fix #500
2022-06-23 02:42:11 +07:00
Natt Akuma 4bf4be1ea2 Fix 16-bit samples in YMZ280B VGM export 2022-06-22 21:55:31 +07:00
Natt Akuma 22dd22ca33 Allow accessing all 256 waves in macros 2022-06-22 19:38:29 +07:00
tildearrow e0bccc8c14 GUI: prepare for colors in the per-chan osc 2022-06-21 18:01:53 -05:00
tildearrow 6372f279fa update to-do list 2022-06-20 22:35:34 -05:00
tildearrow e3686c2e34 fix song playing from begin if stopped on last row 2022-06-20 22:14:16 -05:00
tildearrow af4a359801 GUI: make spoiler actually visible 2022-06-20 21:11:40 -05:00
cam900 69ea1d0227 Fix AY8930 unmuting 2022-06-21 11:06:26 +09:00
tildearrow 4ca64cc66c GUI: hide hidden channels in per-chan osc 2022-06-20 18:56:20 -05:00
tildearrow 5a1a583ab0 AY: finally fix unmuting 2022-06-20 18:53:39 -05:00
tildearrow fd61e0e9f8 ZX beeper: per-"channel" osc
there's only one
2022-06-20 18:48:10 -05:00
tildearrow b697694c0d GUI: per-channel osc DC offset centering 2022-06-20 18:41:23 -05:00
tildearrow a4167a7dd8 Nothing 2022-06-20 18:36:05 -05:00
tildearrow ee709b85c2 Namco WSG: per-channel oscilloscope 2022-06-20 18:20:49 -05:00
cam900 b3201853bc
Fix YM2151 clock in CPS-1 2022-06-21 06:54:18 +09:00
cam900 df21621ce7
Add drums mode in here, too 2022-06-21 06:36:41 +09:00
cam900 41135f4a95
Add extended channel 3 preset for here 2022-06-21 06:35:11 +09:00
tildearrow 57fab16269 GUI: add ability to drag to move when holding Ctrl 2022-06-20 16:24:14 -05:00
tildearrow 60334fb03c GUI: add spoiler window 2022-06-20 15:20:02 -05:00
tildearrow 6772159d5f one more GCC < 8 fix 2022-06-20 04:58:03 -05:00
tildearrow 337e2183cd fix build on GCC < 8 2022-06-20 04:55:28 -05:00
tildearrow d66ff353ba GUI: more fixes to drag to move 2022-06-19 19:07:38 -05:00
tildearrow 35bc757adf GUI: fix macOS system file picker crash 2022-06-19 18:51:51 -05:00
tildearrow d47c50edaf GUI: fix drag to move 2022-06-19 18:23:44 -05:00
tildearrow 2313e4fcc3 GUI: temporarily remove freqs in sample map 2022-06-19 14:03:36 -05:00
tildearrow 9b71dae4d9 fix macOS build (hopefully) 2022-06-19 01:39:07 -05:00
tildearrow 52328df8c3 GUI: system file picker ins preview! (Windows) 2022-06-19 01:36:36 -05:00
tildearrow 03e31c441e prepare for ins preview in system file picker 2022-06-19 00:11:18 -05:00
tildearrow 8a1f544eef GUI: add ability to move selection by dragging 2022-06-18 23:18:34 -05:00
tildearrow ea082b255c GUI: prepare for drag selection to move 2022-06-18 03:52:03 -05:00
tildearrow af8c6313df update demo song authors 2022-06-18 02:01:44 -05:00
tildearrow 0e163baffc GUI: update credits 2022-06-18 02:00:10 -05:00
tildearrow 1598047aca
Merge pull request #528 from tildearrow/preset1
Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
2022-06-17 22:53:56 -05:00
tildearrow 634f311573
Merge pull request #545 from SirForte/master
A Demo Song remixed by Sir Forte
2022-06-17 22:49:37 -05:00
cam900 33046c8e19 More presets
Dynax/Nakanihon 3rd generation hardware:
Naming reference is MAME source (https://github.com/mamedev/mame/blob/master/src/mame/drivers/ddenlovr.cpp), It's sound system combined with AY PSG(optional), OPLL, MSM6295 and mostly used in their mahjong, hanafuda, and something else.

Dynax/Nakanihon Real Break:
This sound system is used in Billard Academy Real Break (MAME source: https://github.com/mamedev/mame/blob/master/src/mame/drivers/realbrk.cpp), MSM6295 is replaced to YMZ280B but entire music is still drived in OPLL.
2022-06-18 11:42:14 +09:00
cam900 9cad907773 Fix potential register related issue 2022-06-18 11:07:36 +09:00
tildearrow 39fa3d7d85 Merge branch 'master' into preset1 2022-06-17 20:40:09 -05:00
cam900 6dc81c7af1 Pitch correction (again), Fix compatibility issue 2022-06-18 10:38:48 +09:00
tildearrow ab7c2acd56 GUI: try 2022-06-17 04:51:45 -05:00
tildearrow 753458f898 LOL 2022-06-17 04:51:39 -05:00
Bassian 5025c48977
Add files via upload 2022-06-17 04:46:10 -05:00
tildearrow d911c8eeab GUI: remove pointless comment in find/replace 2022-06-17 02:42:55 -05:00
tildearrow 56b56ebdde GUI: fix cursor moving on undo replace 2022-06-17 02:41:40 -05:00
tildearrow a8ae8f6e54 address the final find and replace issue 2022-06-17 02:40:34 -05:00
tildearrow 02d4712e9c implement undo in find and replace 2022-06-17 02:21:07 -05:00
tildearrow d8513e0856 GUI: use Native File Dialog on Windows/macOS
latter is untested
2022-06-17 01:28:22 -05:00
cam900 66f3f0e678 Input clock is too high for these chips 2022-06-17 14:34:00 +09:00
cam900 25af023dc6 Various corrections and fixes
Fix SN PSG pitch corrections
Revive YM2612 from dead
Add Game Gear stereo function finally
Add OPN/A prescaler config
2022-06-17 14:30:18 +09:00
tildearrow d5d381328b add modified version of Native File Dialog
it will replace portable-file-dialogs on Windows, and perhaps in
the rest of operating systems (maybe not Linux) as well.
2022-06-17 00:02:29 -05:00
tildearrow ad5072dad6 more MIDI debugging messages 2022-06-16 23:55:17 -05:00
tildearrow b7d8f3c17a harden sample movement 2022-06-16 23:39:38 -05:00
tildearrow 4d44c577e7 support saving 8-bit samples as-is 2022-06-16 23:22:40 -05:00
tildearrow cdbcf7fcd3 fix loading 8-bit samples 2022-06-16 22:10:57 -05:00
tildearrow 327952f3f4 finally support loading floating-point samples 2022-06-16 22:07:12 -05:00
tildearrow ed6a110d44 initialize SF_INFO before loading sample 2022-06-16 21:25:21 -05:00
tildearrow 7d78b393fb update gitignore 2022-06-16 21:25:06 -05:00
cam900 0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
Natt Akuma c44ca95b92 Make volume command handling consistent
For WonderSwan and VIC-20
2022-06-17 03:06:07 +07:00
tildearrow 46a78cd5a5
Merge pull request #532 from LoKiToon/master
Add files via upload
2022-06-16 14:28:10 -05:00
tildearrow 7875ca4ac3 fix build 2022-06-16 02:09:57 -05:00
tildearrow bdbebc99f1 GUI: prepare for replace undo 2022-06-16 01:26:19 -05:00
LoKiToon 491109e765
Add files via upload 2022-06-15 23:38:18 +03:00
tildearrow 64f5343289 I give up trying to fix this file dialog
for now
2022-06-15 02:03:20 -05:00
tildearrow dc9f1112d1 MSM6258: fix rate being twice
#541
2022-06-14 23:00:20 -05:00
tildearrow cc06f36c92 GUI: fix dumb header insertion 2022-06-14 14:08:28 -05:00
tildearrow d48801cfde GUI: slight visualizer tweaks 2022-06-14 04:41:57 -05:00
LoKiToon 500e73b2a8
Add files via upload 2022-06-14 11:58:43 +03:00
LoKiToon 30a369ccc0
Merge branch 'tildearrow:master' into master 2022-06-14 11:38:41 +03:00
tildearrow 327a013186 GUI: finish alternate FM layout 2022-06-13 23:22:17 -05:00
tildearrow bd7710991b GUI: a bit more to it 2022-06-13 03:57:31 -05:00
tildearrow 17fb152e25 GUI: work on alternate FM layout 2022-06-13 03:54:42 -05:00
tildearrow da756bef7f OPL: fix 4-op channel muting 2022-06-12 23:22:45 -05:00
tildearrow f3f8804f47 GUI: find and replace, part 13
one more part coming or maybe not
2022-06-12 14:39:08 -05:00
tildearrow 74b524a912 GUI: find and replace, part 12
replace is almost complete - some refinements left to do though
2022-06-12 03:50:05 -05:00
tildearrow f0e9bd5f57 GUI: find and replace, part 11
lax mode done

now replace time...
2022-06-11 22:42:30 -05:00
tildearrow 19251e84f6 add yet another demo song
by Laagy
2022-06-11 22:37:06 -05:00
tildearrow 3ebbb85f4c add another demo song
requested by AURORA✭FIELDS
2022-06-11 22:36:49 -05:00
tildearrow 44341d8ccd GUI: find and replace, part 10
find kind of works (only lax mode left to do)
then i'll do replace
2022-06-11 03:53:34 -05:00
tildearrow 7354b1221c GUI: find and replace, part 9 2022-06-11 02:14:30 -05:00
tildearrow fa9fb6f8f5 GUI: find and replace, part 8 2022-06-10 18:27:47 -05:00
Natt Akuma 47768edd20 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-06-10 23:00:03 +07:00
Natt Akuma b49b596fbe WIP SNES support, part 2
Make the code build again, still no sound though
2022-06-10 22:59:44 +07:00
tildearrow 30bd73f83a GUI: find and replace, part 7
the next parts will be dedicated on getting it working
2022-06-10 02:17:17 -05:00
tildearrow 936d9dfa49 GUI: find and replace, part 6 2022-06-09 18:52:38 -05:00
tildearrow dd05429c0e WaveSynth: initialize wave to 0 on SCC/Bubble Syst 2022-06-09 18:16:51 -05:00
tildearrow eac4f50d92 sanitize MIDI port names on Windows/Linux 2022-06-09 18:04:50 -05:00
tildearrow 04bbffac13 more MIDI debug messages 2022-06-09 16:54:14 -05:00
tildearrow 7dc3dc96c4 GUI: find and replace, part 5 2022-06-09 16:41:54 -05:00
tildearrow 7669a2aa9d Merge branch 'master' of github.com:tildearrow/furnace 2022-06-09 16:11:16 -05:00
tildearrow 6ccd2e222b try CoInitializeEx on Windows 2022-06-09 16:10:51 -05:00
Natt Akuma f3a90d554c WIP SNES support, part 1 2022-06-10 03:19:31 +07:00
LoKiToon 0e05f3b67b
Add files via upload 2022-06-09 20:41:01 +03:00
itsragedev caf548c639
add terrible demo (#520) 2022-06-09 15:43:19 +02:00
tildearrow 38f4b75b12 GUI: find and replace, part 4 2022-06-08 18:02:04 -05:00
ZeroByteOrg 8ed02530f6 Added WriteUC wrapper to safewrite for unsigned char. 2022-06-07 22:08:04 -05:00
ZeroByteOrg 6a64df6c68 Merge branch 'master' into ZSMv1 2022-06-07 20:46:38 -05:00
ZeroByteOrg 7ad4a8f5a7 Fixed compile error in MacOS 2022-06-07 20:24:50 -05:00
cam900 06e21b507b Merge branch 'master' into preset1 2022-06-08 10:11:08 +09:00
cam900 6aa88b0770 Move on .cpp, prepare for variable rate support 2022-06-08 10:10:55 +09:00
tildearrow dc3b0e8322 GUI: find and replace, part 3 2022-06-07 19:48:42 -05:00
tildearrow d90cfc0f33 fix build 2022-06-07 19:26:19 -05:00
tildearrow bfbbdbf1d6 GUI: find and replace, part 2
still does not work
2022-06-07 18:51:18 -05:00
ZeroByteOrg d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
tildearrow 95dd07742f CI: only upload artifacts for master branch 2022-06-07 13:55:10 -05:00
tildearrow aa09ffeedd GUI: find and replace, part 1
it does not work yet
2022-06-07 13:49:12 -05:00
cam900 8e69a7b617 Merge branch 'master' into preset1 2022-06-08 00:00:04 +09:00
cam900 7bbfe3af7c Fix per-channel osc 2022-06-07 23:59:50 +09:00
tildearrow a300916753 GUI: fix effect val cell spacing not beinghPlease enter the commit message for your changes. Lines starting 2022-06-06 23:46:15 -05:00
cam900 dd93f6d18e Merge branch 'master' into preset1 2022-06-07 13:04:17 +09:00
cam900 3e953f57b3 Prepare for TI-99/4A support
only works on MAME core only for now.
2022-06-07 12:57:09 +09:00
tildearrow 507ad335b1 add instruments to make install 2022-06-06 18:18:45 -05:00
tildearrow 575c970813 update instrument submission guidelines 2022-06-06 18:17:11 -05:00
tildearrow 21042a45db add instruments section 2022-06-06 18:15:35 -05:00
tildearrow 1b315266e1 update bruno_time.fur 2022-06-06 18:04:27 -05:00
tildearrow eac59604df fix edit menu being too big 2022-06-06 18:04:19 -05:00
tildearrow 6dc408d99c SAA1099: remove MAME core
closes #529

the MAME core is inaccurate.
it doesn't emulate envelope too well.
2022-06-06 15:05:08 -05:00
tildearrow d3a3473f19 commit requested changes 2022-06-06 13:32:57 -05:00
tildearrow ed9cd1ebe0 Merge branch 'master' of github.com:tildearrow/furnace 2022-06-06 13:27:39 -05:00
tildearrow 98f31877de GUI: remove chan osc debug info 2022-06-06 13:15:41 -05:00
freq-mod 4d7c1c9e44
docs update (#519)
* docs update

mentions of fractal, new chips documentation, and other minor stuff

* add a link to the Fractal repo

as suggested by @breakthetargets

* better wording, less typos
2022-06-06 16:49:39 +02:00
cam900 44cee98868 Oops 2022-06-06 23:46:33 +09:00
ZeroByteOrg 378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
cam900 74e3892fd9 Finally fixed 2022-06-06 23:26:22 +09:00
cam900 8bc545c8ab Fix compile (again) 2022-06-06 22:45:16 +09:00
cam900 5473b8722d Fix compile, Remove unused include 2022-06-06 19:52:13 +09:00
cam900 ebbd9784e6 Reduce more FM codes 2022-06-06 19:40:37 +09:00
cam900 d1aeabe464 Fix compile 2022-06-06 19:26:34 +09:00
cam900 35caab6f82 Merge branch 'master' into preset1 2022-06-06 19:09:12 +09:00
cam900 e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow 9edc4818b5 prepare for find and replace window 2022-06-06 05:03:19 -05:00
tildearrow 64fa5f804b finish fade out on audio export option 2022-06-06 04:00:56 -05:00
tildearrow b6ea8ede86 fade out experiments - DO NOT COMPILE 2022-06-06 03:05:55 -05:00
tildearrow d1ba9e2c3e audio: JACK verbose error messages 2022-06-06 01:50:35 -05:00
tildearrow fe4aec70db GUI: add play from beginning hotkey 2022-06-06 01:28:46 -05:00
tildearrow 8b33525a36 GUI: always go to beginning of song when loading 2022-06-06 01:23:35 -05:00
tildearrow 992d61661b GUI: better selection cursor tracking during playb 2022-06-06 01:08:15 -05:00
tildearrow 5a0a9db9c3 highlight cur row instead of next one on playback 2022-06-06 01:05:06 -05:00
tildearrow 1778362933 GUI: add all/none buttons to ins selector 2022-06-05 23:44:52 -05:00
tildearrow b8c785230e GUI: implement instrument bank ins picker 2022-06-05 23:34:58 -05:00
tildearrow eb71c27ad9 GUI: preliminary "select instrument" dialog 2022-06-05 19:04:41 -05:00
tildearrow 2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
tildearrow af0103d76e macroInt: add hasRelease variable 2022-06-05 16:24:12 -05:00
tildearrow 6095255fce update to-do list again 2022-06-05 14:42:03 -05:00
cam900 0e1e1f33ec Fix compile 2022-06-06 00:36:52 +09:00
tildearrow d1b33d1410 GUI: get rid of these stupid icons 2022-06-05 00:42:14 -05:00
tildearrow 270a1fa989 update to-do list 2022-06-05 00:37:51 -05:00
tildearrow 05ffc98ed1 MSM6258: the final bits 2022-06-04 17:58:19 -05:00
tildearrow 05c2fb357f MSM6258: clock/rate selection 2022-06-04 17:51:59 -05:00
tildearrow 036bf12b89 Merge branch 'master' of github.com:tildearrow/furnace 2022-06-04 16:53:53 -05:00
tildearrow fc34474d6e MSM6258: prepare for rate changing 2022-06-04 16:52:42 -05:00
tildearrow bb06d3d8e3
Merge pull request #521 from The789Guy/patch-1
Update n163.md
2022-06-04 16:34:05 -05:00
The789Guy 0e05d4e599
Update n163.md
Fixed horrible grammar
2022-06-04 16:09:51 -05:00
tildearrow 91621fe0f5 YM2612: DualPCM per-channel osc
fixes #516
2022-06-04 01:03:58 -05:00
tildearrow a550c4cb30 YM2612: more DualPCM muting fixes 2022-06-04 01:00:29 -05:00
tildearrow 641648ca0f YM2612: fix DualPCM muting
issue #516
2022-06-04 00:50:53 -05:00
tildearrow 0d99d29ceb GUI: finish the blank ins up 2022-06-04 00:19:04 -05:00
tildearrow d15c276f74 GUI: add "blank new instrument" option 2022-06-03 18:30:40 -05:00
tildearrow 1f1d2c85bd GUI: add mono/poly note preview button 2022-06-03 18:05:07 -05:00
tildearrow a6b33d0955 PC speaker: don't use printf/perror 2022-06-03 16:32:07 -05:00
tildearrow 71b4bf5fdd YM2612: CSM arpeggio and slides 2022-06-03 16:21:42 -05:00
tildearrow b4a7f0f5b7 YM2612: - C S M -
CSM only available with Nuked core
may not work on VGM export if you compress VGM (removes timer A writes)
2022-06-03 16:13:57 -05:00
tildearrow 59ba156cdf YM2612: half-working CSM 2022-06-03 15:54:49 -05:00
tildearrow 365e466611 YM2612: earliest completely untested CSM work 2022-06-03 14:10:28 -05:00
tildearrow 2ac9651009 delay collapse/expand pattern/song feature :<
too much work...
2022-06-03 13:44:40 -05:00
tildearrow ead4a05348 GUI: much more stable osc view 2022-06-03 03:32:24 -05:00
tildearrow 0895789539 YM2612: fix DAC output not visible in per-chan osc
issue #515
2022-06-03 01:47:31 -05:00
tildearrow 94dae570e0 fix Ubuntu build 2022-06-03 01:40:09 -05:00
tildearrow 3aef4b2ede update PC speaker doc 2022-06-03 01:32:56 -05:00
tildearrow cc80bfbd81 PC speaker: add alternative output methods 2022-06-03 01:18:32 -05:00
tildearrow 37539157be PC Speaker: timing improvements 2022-06-02 23:27:28 -05:00
tildearrow 50bdbb784a oh no 2022-06-02 03:21:00 -05:00
tildearrow e2f3a89513 test 2022-06-02 02:59:07 -05:00
tildearrow 131bef2689 SMS: fix per-channel osc when using Nuked core 2022-06-02 02:01:48 -05:00
tildearrow 4262674e61 GUI: remove debug text in per-chan osc 2022-06-02 01:36:28 -05:00
tildearrow 5e4931c370
Merge pull request #514 from MAHBOD-85/Cool-beeper-demo
Cool beeper demo
2022-06-01 23:13:04 -05:00
Mahbod-Karamoozian 35fd588aca
Cool beeper demo 2022-06-02 08:41:50 +04:30
tildearrow ddcd76328d add ability to move sub-songs 2022-06-01 18:50:30 -05:00
tildearrow 2da92b0433 newVolumeScaling, part 4 (final) 2022-06-01 18:27:06 -05:00
tildearrow ad1ed7fe35 newVolumeScaling, part 3 2022-06-01 18:10:50 -05:00
tildearrow e94d1b857f newVolumeScaling, part 2 2022-06-01 18:02:34 -05:00
tildearrow 8141574d3c newVolumeScaling, part 1 2022-06-01 17:50:26 -05:00
tildearrow 8bfcf00203 prepare for impl of the final compat flag 2022-06-01 16:35:39 -05:00
tildearrow 140318f8d3 SMS: prepare for an arp+porta fix 2022-06-01 15:15:32 -05:00
tildearrow 6c98f6d051 update to-do list 2022-06-01 14:58:55 -05:00
tildearrow 52faea01ee - 2022-06-01 13:59:10 -05:00
tildearrow 42d98f0894 SegaPCM: finally implement new behavior 2022-06-01 13:58:39 -05:00
cam900 fb9ab893fa Add ImVector fill function 2022-06-02 01:17:21 +09:00
tildearrow 8ef7f91c93
Merge pull request #505 from lunathir/master
Small Fractal fixes
2022-05-31 19:04:36 -05:00
tildearrow a298ec2177 oops 2022-05-31 19:03:31 -05:00
tildearrow 1be93d9bbb implement brokenOutVol compat flag
#341
2022-05-31 19:03:26 -05:00
tildearrow b8a0084587 implement volMacroLinger compatibility flag
issue #425
2022-05-31 18:34:23 -05:00
tildearrow a945ee5353 GUI: disclaimer about OPLL drums volume slider 2022-05-31 18:06:45 -05:00
tildearrow 9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
tildearrow 050a98d63d Revert "ssize_t instead of size_t - #510"
This reverts commit 07486bb3c8.
2022-05-31 15:31:21 -05:00
tildearrow 07486bb3c8 ssize_t instead of size_t - #510 2022-05-31 13:45:14 -05:00
tildearrow 107c82106c GUI: only set X11 window type if SDL >= 2.0.22
fixes #509
2022-05-31 13:14:43 -05:00
tildearrow b0b07dc516 the real 2022-05-31 12:47:45 -05:00
tildearrow 74dcf69081 pass --with-our-malloc on MinGW 2022-05-31 12:42:47 -05:00
tildearrow 9b83bdc7b4 Merge branch 'master' of github.com:tildearrow/furnace 2022-05-31 12:01:58 -05:00
tildearrow 2d5c72148f fix everything 2022-05-31 12:01:30 -05:00
freq-mod 61e765c916
more presets (#488)
* more presets

* oops

consistency anyone?

* alpha 68k was an alpha denshi system

* more presets

6295 edition. Requires fact-checking, and maybe, cherrypicking

* facepalm

* #342 presets

that should conclude it

* address feedback

* naming update

* MSM6295 wasnt used in MLC

* address feedback part 2

and adding OKI chips to the sample category
2022-05-31 15:23:38 +02:00
tildearrow dfc8706f5a GUI: more to it 2022-05-31 04:09:38 -05:00
tildearrow 277396ff44 Merge branch 'master' of github.com:tildearrow/furnace 2022-05-31 03:25:11 -05:00
tildearrow 54e93db207 GUI: try using FFTW for per-chan osc wave center
not reliable yet
2022-05-31 03:24:29 -05: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 2e97e63b26 Forgot this 2022-05-31 14:11:43 +09:00
cam900 9c4dc2b978 Fix wrong link, Add modifier and contributor disclaimer in vgsound_emu core 2022-05-31 14:06:16 +09:00
cam900 443448c65b Fix dead links 2022-05-31 13:52:36 +09:00
cam900 3b411cd14f Fix dead link, Frequency, Instrument editor related issue 2022-05-31 13:48:35 +09:00
tildearrow c306b33603 GUI: more osc stuff 2022-05-30 22:22:53 -05:00
cam900 a3bca9efa7 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 12:18:46 +09:00
tildearrow fc0a51ed56 GUI: add oscilloscope window size setting
and also remember last zoom/winSize value
2022-05-30 21:40:07 -05:00
tildearrow 2119675b10 OPN: fix 11xx not working on ExtCh
issue #503
2022-05-30 21:21:42 -05:00
tildearrow cafa33f799
Merge pull request #508 from tildearrow/imgui_fix
Fix possible issue in horizontal scroll
2022-05-30 21:08:32 -05:00
cam900 8cd2ad5c12 Fix possible issue in horizontal scroll 2022-05-31 10:11:39 +09:00
tildearrow bc98673a20 GUI: double click selects column 2022-05-30 19:02:24 -05:00
tildearrow 4abfd4f097 FM: change the kick label
issue #310
2022-05-30 18:40:26 -05:00
tildearrow e9f17168a4 prepare for OPL drums instrument type
#310
2022-05-30 18:37:07 -05:00
tildearrow 495aec86bd fix addOrder() undefined behavior 2022-05-30 14:02:54 -05:00
cam900 02dbafb728 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-30 22:20:24 +09:00
cam900 35d56ac5d6
Fix typecasting 2022-05-30 22:00:38 +09:00
tildearrow 394a315c4a ZX beeper: drum muting hotfix 2022-05-30 00:07:24 -05:00
tildearrow 539f96542f work around #502
@cam900 please revert this one before attempting to diagnose the issue.
2022-05-29 23:37:10 -05:00
tildearrow 9b7145d2b0 harden wavetable loader 2022-05-29 22:21:37 -05: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
tildearrow 23d9cd6d9a fix major extended op macro corruption 2022-05-29 22:01:45 -05: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
Lunathir 5dacf631e1 Small Fractal fixes: add YM2612 settings to chip config and fixed YM2612 Fractal presets 2022-05-29 15:24:06 -07:00
tildearrow 1ed5be887b MSM6295: fallback rate 2022-05-29 13:29:58 -05:00
tildearrow 1cb07eb1a2 MSM6295: add more rates 2022-05-29 13:29:18 -05:00
tildearrow 5f4db8ca0b GUI: improve unified data view 2022-05-29 02:59:11 -05:00
tildearrow 84d4ca63c2 GUI: sample editor preview in selection 2022-05-29 02:13:08 -05:00
tildearrow 957e35af0b finally 2022-05-29 00:48:19 -05:00
tildearrow cdcf87c773 Revert "fudge and bread"
This reverts commit 6afe29682d.
2022-05-29 00:44:21 -05:00
tildearrow 7687a64000 Revert "fire!"
This reverts commit 7baf1d471f.
2022-05-29 00:44:17 -05:00
tildearrow c12c723091 Revert "temporarily kill MSVC"
This reverts commit f49f5e8171.
2022-05-29 00:43:46 -05:00
tildearrow 6d487afb49 Revert "MSVC: ughh, f**k you, you d**khead."
This reverts commit 81aa803f01.
2022-05-29 00:43:44 -05:00
tildearrow 81aa803f01 MSVC: ughh, f**k you, you d**khead. 2022-05-29 00:22:29 -05:00
tildearrow f49f5e8171 temporarily kill MSVC 2022-05-29 00:15:49 -05:00
tildearrow 7baf1d471f fire! 2022-05-29 00:04:33 -05: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
tildearrow 6afe29682d fudge and bread 2022-05-28 23:40:46 -05:00
tildearrow bf0b207a3d what?! 2022-05-28 23:12:22 -05:00
tildearrow 43908e5277 prepare for better backward writing 2022-05-28 22:45:59 -05:00
tildearrow 13ff89f962 VGM export: fix oops 2022-05-28 22:18:38 -05:00
tildearrow 08543a2dc9 GUI: drag-and-drop ins/wave/sample loading 2022-05-28 18:51:05 -05:00
tildearrow 5de31f510c GUI: add "set loop" to sample editor 2022-05-28 18:37:49 -05:00
tildearrow f8796f8ec9 MSM6295: VGM export! 2022-05-28 18:15:26 -05:00
tildearrow b8671afa39 oops 2022-05-28 17:45:44 -05:00
tildearrow cc87d1502c MSM6295: add rate select effect (20xx) 2022-05-28 17:45:34 -05:00
tildearrow dcaf6d9285 update meteor shower 2022-05-27 21:08:55 -05:00
tildearrow d1b928dbd9 MSVC is better than GCC right? 2022-05-27 21:02:19 -05:00
ZeroByteOrg ef500f8e51 Merge branch 'master' into ZSMv1 2022-05-27 17:14:36 -05:00
tildearrow a0ebcec014 update to-do list 2022-05-27 16:25:49 -05:00
tildearrow 620dea7ea5 door into summer 2022-05-27 16:11:14 -05:00
tildearrow e194ff1481 GUI: implement input for touch events 2022-05-27 16:10:37 -05:00
tildearrow ab91147c16 GUI: update SDL hints 2022-05-27 15:55:20 -05:00
tildearrow 36c16467a5 fix Termux build 2022-05-27 15:51:57 -05:00
Ian Karlsson 5378974b96 Save the size of each block in a Furnace module 2022-05-27 21:42:14 +02:00
tildearrow b2f4a33074 add another demo song
requested by Weeppiko
2022-05-27 14:30:59 -05:00
tildearrow f61a114637 add demos/ecolove.fur 2022-05-27 14:03:48 -05:00
tildearrow 27f46f143d update to-do list 2022-05-27 13:59:54 -05:00
tildearrow 2e46556dc1 update demos/README.md 2022-05-27 13:59:45 -05:00
tildearrow f3aca3ac87
Merge pull request #337 from Dippy0615/master
Demo song: Rivals of Aether cover for OPL3 4OP
2022-05-27 13:55:58 -05:00
tildearrow b67a3d2523
Merge pull request #311 from ZoomTen/master
Demo song: cover of Skate or Die title theme for PCE + 2x AY-3-8910
2022-05-27 13:55:18 -05:00
tildearrow 259cd16eae
Merge pull request #268 from AYCEdemo/master
Add a demo song for WonderSwan
2022-05-27 13:54:17 -05:00
tildearrow f921cf409f
Merge pull request #264 from DeMOSic/master
Demo Track
2022-05-27 13:53:59 -05:00
tildearrow 937acdd81c
Merge pull request #248 from mikerro/master
New demo for Lynx platform
2022-05-27 13:53:45 -05:00
tildearrow 6e368f6fd2
Merge pull request #241 from LoKiToon/master
Cover of LED storm on the Atari Lynx
2022-05-27 13:51:57 -05:00
tildearrow c231251c41
Merge pull request #229 from DevEd2/master
"[insert title here]" demo song for Lynx + "Puggs in Space" demo song for Game Boy
2022-05-27 13:51:11 -05:00
tildearrow 54f5b28922 add new demo songs
submitted by several users via Discord
2022-05-27 13:49:29 -05:00
ZeroByteOrg 0846f66a7e Removed merge conflict tag from gui.cpp 2022-05-27 13:00:23 -05:00
ZeroByteOrg 8af85096ff Fixed incorrect conflict-resolution in gui.cpp line 3049 2022-05-27 09:36:24 -05:00
ZeroByteOrg dcba41c6e9 Fixed mmlString[32] in gui.h 2022-05-27 09:36:24 -05:00
ZeroByteOrg b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
tildearrow 68cc84253c dev99 - major Fractal system change
7 channels instead of 8 - CSM only supported on ExtCh system
2022-05-27 05:13:10 -05:00
tildearrow a776129c3d dev98 - YM2612: add Fractal system
partially done
2022-05-27 04:02:53 -05:00
tildearrow 0b7d27dc29 YM2612: add reverse sample playback 2022-05-27 02:47:44 -05:00
tildearrow 9d6d84a87f Lynx: sample looping 2022-05-27 01:36:05 -05:00
tildearrow d6282c6949 Lynx: fix PCM mode volume 2022-05-27 01:20:57 -05:00
tildearrow a8d91ebdbc
Merge pull request #497 from laoo/master
Lynx: using DAC output for PCM
2022-05-27 01:16:51 -05:00
tildearrow 13acffa427 GUI: store piano options in config 2022-05-27 01:13:33 -05:00
Waldemar Pawlaszek 65817f7589
Merge branch 'tildearrow:master' into master 2022-05-27 08:11:32 +02:00
Waldemar Pawlaszek 70aa8f7682 Lynx: using DAC output for PCM 2022-05-27 08:10:34 +02:00
tildearrow d0adbc444e GUI: more channel dragging improvements 2022-05-27 01:08:11 -05:00
tildearrow e8af633f10 GUI: improve channel swapping 2022-05-27 01:04:12 -05:00
tildearrow 1540705b75 WaveSynth: fix it....... again. 2022-05-27 00:35:35 -05:00
tildearrow 3651027d99 a 2022-05-27 00:29:29 -05:00
tildearrow efaca3b094
Merge pull request #496 from cam900/largecolumns_alt
Allow more than 64 columns in Dear ImGUI (patched)
2022-05-27 00:19:21 -05:00
tildearrow 5d1785fb38 GUI: add timing debug info 2022-05-27 00:19:10 -05:00
tildearrow 061b312943 SMS: volume table is now non-float 2022-05-26 23:46:42 -05:00
cam900 67a7f39d9a Allow more than 64 columns in Dear ImGUI (patched)
Improves Channel window displays, with System info.
2022-05-27 13:38:45 +09:00
tildearrow 905aa1b1a1 SMS: add TI PSG volume table 2022-05-26 23:19:27 -05: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
tildearrow 33dc18bac2 GUI: add pattern cell spacing settings 2022-05-26 22:26:44 -05:00
tildearrow 3a9ef81fe0
Merge pull request #494 from MAHBOD-85/MAHBOD-85-patch-1
Modern layout fix
2022-05-26 22:02:40 -05:00
tildearrow 7e938c869d
Merge pull request #484 from grauw/y8950-adpcm-fix
More Y8950 ADPCM fixes
2022-05-26 21:50:51 -05:00
tildearrow 0577aa3569 SMS: early Nuked-PSG modding 2022-05-26 19:00:14 -05:00
tildearrow e3ebe0cb92 SMS: add modified Nuked-PSG core 2022-05-26 18:46:20 -05:00
tildearrow 0f203d1abd build release and don't strip 2022-05-26 18:17:04 -05:00
tildearrow ada7cb167f strip MinGW builds
until I feel like doing a selective strip
2022-05-26 18:11:59 -05:00
tildearrow 4874e91bb0 FDS: a bit more 2022-05-26 18:09:46 -05:00
tildearrow 6d441c2ffd FDS: set a post-amp value 2022-05-26 18:07:59 -05:00
tildearrow a52f71ba32 FDS: fix NSFplay core low pass filter precision
closes #427
2022-05-26 18:03:57 -05:00
tildearrow 7cf853797a fix .dmf saving 2022-05-26 17:42:30 -05:00
Mahbod-Karamoozian 186dd8c522
Modern layout fix
This fixes the problem that is present in raijin's layout
2022-05-26 23:44:04 +04:30
tildearrow 9d36cf5ff0 fix compilation on GCC 12 2022-05-26 13:31:17 -05:00
tildearrow c52db81d00
Merge pull request #492 from OPNA2608/fix/ci_multithreading
Fix multithreading on CI
2022-05-26 04:55:36 -05:00
OPNA2608 4790b56e61 Fix multithreading on CI
`set` is not the right command to set an envvar so "" got propagated to --parallel & in turn -j.
"-j" (no job count) is _bad_ and prolly caused the OOM sitations.
2022-05-26 11:37:51 +02:00
tildearrow 4b91669e58 Lynx: why did I not commit this 2022-05-26 03:37:34 -05:00
tildearrow 6260bcef54 Lynx: more sample improvements 2022-05-26 00:50:11 -05:00
tildearrow b0c8cfc1f6 Lynx: sample improvements 2022-05-26 00:39:15 -05:00
tildearrow 1811a95e76 Lynx: add sample support! 2022-05-26 00:29:04 -05:00
tildearrow f8794ae9a4 GUI: fix wavetable list oversight 2022-05-25 23:50:11 -05:00
tildearrow 49a8f77cf1 WaveSynth: fix phase modulation - again 2022-05-25 23:46:07 -05:00
Laurens Holst 4b4bc98417 Stop / reset Y8950 ADPCM before restarting.
The emulation core treats every write to register 7 with start bit set as
a retrigger. This is not how the real hardware behaves.
2022-05-26 03:48:49 +02:00
tildearrow 7750a9b9f3 GUI: fix possible wave editor crash 2022-05-25 12:18:11 -05:00
tildearrow 93a4e3d688 WaveSynth: fix phase modulation
fixes #481
2022-05-25 00:34:35 -05:00
tildearrow 42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -05:00
tildearrow 051cd6e966 fix another fucking IGFD crash bug 2022-05-25 00:10:01 -05:00
tildearrow 0292f4d4c3 temporarily "fix" MinGW issue 2022-05-24 22:15:43 -05:00
Laurens Holst a19090ab9b Correct VGM chip ID for Y8950 reset. 2022-05-24 22:08:01 +02:00
tildearrow 58750d58c3 build actions with debug info 2022-05-24 13:56:26 -05:00
tildearrow cad0eab9ca another fix 2022-05-24 13:40:38 -05:00
tildearrow 3a1b66957b and finally add crash file output 2022-05-24 13:23:23 -05:00
tildearrow 652edb18b7 fix it 2022-05-24 13:17:40 -05:00
tildearrow 914b5f7a88 experiment with backward-cpp again 2022-05-24 13:06:29 -05:00
tildearrow 979cb63c5b GUI: fix .cfgc/.cfgk extension duplication 2022-05-24 12:46:51 -05: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
tildearrow 3932a82d14 GUI: add frame shading setting 2022-05-24 03:49:52 -05:00
tildearrow 8dde6a604e add rounding to AddRectFilledMultiColor 2022-05-24 03:30:27 -05:00
tildearrow 08d85869a9 GUI: slight changes to edit controls
- align classic
- stretch compact vertical
2022-05-24 03:06:17 -05:00
tildearrow 6a3ce215ad what am I gonna do with you? 2022-05-24 02:56:50 -05:00
tildearrow d490746325 GUI: finish lock layout 2022-05-24 02:38:10 -05:00
tildearrow eb926a668d MSM6258: it works 2022-05-24 00:24:52 -05:00
tildearrow 8ea60f37c5 MSM6258: start work - DO NOT USE! 2022-05-23 19:01:10 -05:00
tildearrow b849b5283b
Merge pull request #482 from grauw/y8950-adpcm-fix
Fix Y8950 ADPCM samples.
2022-05-23 17:52:56 -05:00
Laurens Holst fc7b94876d Fix Y8950 ADPCM samples.
Reverting back to before 70ead337f3, and setting register 8 to 256Kbit RAM mode.
This is what MSX has natively, and allows for the most compact sample storage with
only 4 byte alignment.

Additionally, setting register 8 before writing the start / stop addresses.

Back story:

VGMPlay MSX only supports Y8950 256K DRAM mode and ROM mode (for the latter
it makes sure address writes are shifted). 64K DRAM mode is not supported because
it’s not used by anything and the addresses are specified weirdly with some middle
bits having to be masked out.

The original code in Furnace before the change 70ead337f3 was almost correct except
it needed to set register 8 to 0 to select the 256K DRAM mode. It was set to ROM mode
so the address shift did not match up.

After 70ead337f3 (address shift change) it was also more or less correct except in
“furnacePCM” direct-sample mode the shift was not updated accordingly.

In 1a446c1cdd it selected 64K RAM mode, but for this the addresses need to be specified
differently (see Y8950 manual page 18), and it’s not really the best choice anyway.
2022-05-24 00:51:13 +02:00
tildearrow 49943aba76 GUI: add setting to make osc escape bounds 2022-05-23 17:42:25 -05:00
tildearrow f8d851cbc2 the Namco C163 trial 2022-05-23 16:01:35 -05:00
tildearrow 402a1d06cf more chip naming improvements 2022-05-23 15:28:38 -05:00
tildearrow 278979a2f2 change names of 15xx/CUS30 to C15 and C30 2022-05-23 15:08:29 -05:00
tildearrow ff1263aadf ASDFGHJK 2022-05-23 03:43:33 -05:00
tildearrow ced2940336 MSM6295: per-channel osc and muting 2022-05-23 03:18:56 -05:00
tildearrow d3edc58cb1 MSM6295: add clock rate flag 2022-05-23 03:13:22 -05:00
tildearrow 59a722d04a MSM6295: a bit more polishing 2022-05-23 02:56:43 -05:00
tildearrow f25cd17590 early OKI MSM6295 work 2022-05-23 01:46:58 -05:00
tildearrow 133b213998 OPL: new forceIns strategy 2022-05-23 00:18:50 -05:00
tildearrow 519bf244b9 OPL: fix kick volume in drums mode 2022-05-23 00:07:32 -05:00
tildearrow 1a446c1cdd Y8950: let's see 2022-05-22 23:54:33 -05:00
tildearrow 2fa51e482a OPN(A/B/2/B-B): fix absolutely everything 2022-05-22 23:47:41 -05:00
tildearrow 3d4f2cfa13
Merge pull request #453 from grauw/scc-reset-period-counter
Reset period counter when writing to period registers.
2022-05-22 22:49:03 -05:00
tildearrow 82eaa45f5d increase range of relative pitch macro
-32768 to 32767 should be enough
2022-05-22 22:47:40 -05:00
tildearrow 3aa8ea3625 fix Cxxx/F0xx being delayed in low-latency mode 2022-05-22 22:36:48 -05:00
tildearrow 451fc7a62c update gitignore 2022-05-22 22:36:33 -05:00
tildearrow e17c99dcdf allow building Furnace without SDL2 and libsndfile
for eventual libfurnace
2022-05-22 19:01:50 -05:00
tildearrow 16afb6d7be GUI: hacky implementation of lock layout 2022-05-22 18:20:53 -05:00
tildearrow 43981eb59f bring up MSM6295 core
vgsound_emu by cam900
2022-05-22 18:06:56 -05:00
tildearrow 98e9a4b28d MSM6258 emulator de-MAMEfication 2022-05-22 17:49:41 -05:00
tildearrow 393d1c018d dev97 - add old octave boundary compat flag 2022-05-22 13:25:59 -05:00
tildearrow b40c95013a fix phase reset in FM chips after note off 2022-05-22 04:30:56 -05: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
tildearrow 806153fd8e finish wave synth! 2022-05-22 03:14:46 -05:00
tildearrow e21448dd8c update contributing guidelines 2022-05-22 02:22:56 -05:00
tildearrow 5d0c89a59e Namco WSG: make non-linear slides faster
but linear is better
2022-05-22 00:10:42 -05:00
tildearrow 367d14357c wave synth work
now there is a preview
2022-05-21 18:36:15 -05:00
tildearrow 61916be495 SoundUnit: fix order of filter bits 2022-05-21 16:04:06 -05:00
tildearrow 4bbcb2dd35 GUI: add Namco arcade presets 2022-05-21 16:03:54 -05:00
tildearrow b38a1cfb55 implement some dual wave synth effects 2022-05-21 14:05:23 -05:00
tildearrow 70ead337f3 Y8950: fix ADPCM VGM export 2022-05-21 03:34:39 -05:00
tildearrow 315c2645d2 Namco WSG: finish it up 2022-05-21 02:56:36 -05:00
tildearrow 9162e8e241 Namco WSG: 8 channel WSG (CUS30) now works 2022-05-21 02:16:38 -05:00
tildearrow c251ea2198 Namco WSG: muting 2022-05-21 01:40:28 -05:00
tildearrow bc47d1ebcd Namco WSG: 8 channel WSG (15xx) now works 2022-05-21 01:39:00 -05:00
tildearrow b17694c6a3 Namco WSG: 3 channel WSG now works 2022-05-21 01:34:43 -05:00
tildearrow a9f9d6144a YM2612: change key on/off strategy 2022-05-20 23:54:19 -05:00
tildearrow dca2aec606 GUI: fix scrollbars not working 2022-05-20 21:57:41 -05:00
tildearrow dacbeed858 Please enter the commit message for your changes. 2022-05-20 17:35:39 -05:00
tildearrow c9833bd58e shhhhhhhhhhhh 2022-05-20 17:29:59 -05:00
tildearrow 6976e0b75f auto merge failed 2022-05-20 17:29:29 -05:00
tildearrow 58d6c596cf update to-do list 2022-05-20 17:29:09 -05:00
tildearrow 08203bf2a3
Merge pull request #476 from akumanatt/rf5c68
Add RF5C68 and RF5C164 support
2022-05-20 17:28:14 -05:00
Natt Akuma 5ed0efe961 Whoops 2022-05-21 03:36:11 +07:00
tildearrow bd8e72e5b2 it doesn't work (yet) 2022-05-20 15:29:09 -05:00
Natt Akuma 27a412c134 Merge branch 'master' of https://github.com/tildearrow/furnace into rf5c68 2022-05-21 03:02:08 +07:00
tildearrow ddaedd7b92 YMZ280B: printf oops 2022-05-20 14:52:36 -05:00
tildearrow d35e9e9661 freaking macOS 2022-05-20 14:48:08 -05:00
tildearrow 2cb60c7488
Merge pull request #471 from akumanatt/ymz280b
Add YMZ280B support
2022-05-20 14:46:28 -05:00
Natt Akuma efd36d2982 YMZ280B: Fix full sample memory behavior 2022-05-21 02:42:23 +07:00
Natt Akuma 581f6d5d05 Merge branch 'master' of https://github.com/tildearrow/furnace into ymz280b 2022-05-21 02:34:51 +07:00
Natt Akuma b7a6bf5a0b Add RF5C68 and RF5C164 support 2022-05-21 01:45:26 +07:00
tildearrow 7b2237ffac we see it 2022-05-20 13:22:35 -05:00
tildearrow 983ec75eb3
Merge pull request #474 from OPNA2608/fix/fallthrough_gcc
Nicer fix for implicit fallthrough warnings on GCC
2022-05-20 04:16:31 -05:00
OPNA2608 bccddc1a1d namco: Mark fallthrough cases
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-fallthrough
2022-05-20 11:07:24 +02:00
OPNA2608 602abdae74 Revert "oh my"
This reverts commit 1edf697230.
2022-05-20 11:00:46 +02:00
tildearrow 1edf697230 oh my 2022-05-20 03:23:56 -05:00
tildearrow 1742a0fbe5 AGAIN 2022-05-20 03:11:25 -05:00
tildearrow c159f197e0 fix Windows build huh 2022-05-20 02:58:07 -05:00
tildearrow 251734bd04 prepare for the last chips for 0.6pre1
YMZ280B is counted. don't worry.
2022-05-20 02:43:39 -05:00
tildearrow 0ef0296b7d fix non-linear pitch 2022-05-19 23:18:18 -05:00
tildearrow 58dc628a40 OPL: damn it 2022-05-19 23:06:11 -05:00
tildearrow aa1bccd8fe allocate ID for 3-channel Namco WSG
8-channel variants to be allocated
2022-05-19 18:24:53 -05:00
tildearrow 2c51234213 Y8950: ADPCM is quieter 2022-05-19 18:13:11 -05:00
tildearrow 976c1d3c0d VGM export: implement OPNA and Y8950 (partially)
see #459
2022-05-19 18:09:46 -05:00
tildearrow b01ebb3487 OPN: VGM soft reset and ExtCh export 2022-05-19 17:46:41 -05:00
tildearrow c2764591e0 ZX beeper: fix overlay drums 2022-05-19 17:02:16 -05:00
tildearrow e3f4928f7c updateTODOlist 2022-05-19 16:35:16 -05:00
tildearrow a34481205a GUI: more mobilework 2022-05-19 16:35:00 -05:00
tildearrow 769a89852f GUI: scroll instrument/wave/sample list when
selecting item
2022-05-19 13:06:26 -05:00
tildearrow 2ada4ee393 ZX beeper: implement overlay drums
1-bit samples up to 2048 bits in length triggered with 17xx
2022-05-19 11:10:00 -05:00
tildearrow 6ec8674072 SoundUnit: many fixes. implement effects 2022-05-19 04:36:26 -05:00
tildearrow 2a77abbaf9 update format.md 2022-05-19 04:36:04 -05:00
tildearrow e63b83eeb3 remove AICA and X68000 ADPCM sample types 2022-05-19 04:35:39 -05:00
Natt Akuma b70ea9af57 Change YMZ ADPCM type back to 3
Also fix some other mistakes
2022-05-19 12:39:38 +07:00
tildearrow 7383a44f00 temporary workaround for ImGui issue 2022-05-19 00:28:58 -05:00
tildearrow dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
tildearrow 51d09ba407 GUI: early mobile UI 2022-05-18 18:42:59 -05:00
tildearrow e1bd5b03f3 de-submodule ImGui
allows for local modification which is necessary

see #442
2022-05-18 15:23:10 -05:00
tildearrow 20bdaa4702 update SDL and ImGui - PLEASE READ!
DO THE FOLLOWING COMMANDS AFTER PULLING THIS COMMIT:
```
git submodule update --remote extern/SDL
git submodule update --remote extern/imgui
```

OTHERWISE THINGS MAY BREAK
2022-05-18 14:31:29 -05:00
Natt Akuma 4551c55818 Fix GCC errors 2022-05-18 21:46:14 +07:00
Natt Akuma 0ae0c6f703 Add YMZ280B support 2022-05-18 21:04:25 +07:00
tildearrow 2faf1c1d23 OPN/OPNB-B: fix ExtCh mode 2022-05-18 02:18:16 -05:00
tildearrow 42e8bfebbd GUI: same size for piano option buttons 2022-05-18 00:31:01 -05:00
tildearrow 255fc4cc25 GUI: even more piano work
- don't allow piano window to be moved if clicking on piano
- only treat left click as a touch point
2022-05-18 00:23:13 -05:00
tildearrow cfa05143ab dev96 - add virtual tempo 2022-05-18 00:05:25 -05:00
tildearrow f1ca53561f GUI: more piano/input pad work 2022-05-17 18:55:44 -05:00
tildearrow 68b5522070 GUI: turn sub-song removal into a warning
issue #466
2022-05-17 17:21:29 -05:00
tildearrow 80165094f0 GUI: add a value input pad 2022-05-17 16:11:59 -05:00
tildearrow 40a63433c5 GUI: prepare for the input pad 2022-05-17 15:48:37 -05:00
tildearrow 63d09c0f54 GUI: piano note input 2022-05-17 15:28:27 -05:00
tildearrow 72645e9e13 GUI: piano note playback 2022-05-17 15:20:56 -05: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
tildearrow f96d5b4e81 GUI: add touch input primitives 2022-05-17 12:46:52 -05:00
tildearrow 68c32749ff PCE: fix two issues
- fix chip locking up on furnacePCM chans after seeking
- fix furnacePCM toggling causing volume macro to give up
2022-05-17 03:02:36 -05:00
tildearrow d961f6f498 SegaPCM: fix samples bigger than 64KB 2022-05-17 02:38:13 -05:00
tildearrow 6438b28c11 SCC: implement VGM soft reset 2022-05-17 01:52:18 -05:00
tildearrow b5c336295f GUI: add option to clear orders 2022-05-17 01:46:34 -05:00
tildearrow c4614bff30 GUI: implement "clear all subsongs" 2022-05-17 01:42:21 -05:00
tildearrow b8a4fdb4c6 GUI: fix crash when deleting current subsong 2022-05-17 01:15:31 -05:00
tildearrow e06e65bfa6
Merge pull request #470 from cam900/patch-11
Fix AY8910 envelope divider
2022-05-16 21:26:29 -05:00
tildearrow 2f90ab9e3b CI: only 1 core for MinGW
enough build failures
2022-05-16 21:15:18 -05:00
cam900 b6387c8547
Fix AY8910 envelope hangs 2022-05-17 11:14:22 +09:00
tildearrow 34d0925569 OPL: fix fixed frequency drums 2022-05-16 21:06:49 -05:00
tildearrow 5a0c715ba0 pick nits: the sequel 2022-05-16 20:49:31 -05:00
tildearrow 13532a6c53
Merge pull request #441 from djtuBIG-MaliceX/feature/Moar-patch-bank-support-part3
#79 bonanza - GYB, WOPN and WOPL patch bank loading
2022-05-16 20:47:07 -05:00
James Alan Nguyen fe11ec3877 pick nits 2022-05-17 11:42:10 +10:00
James Alan Nguyen ec80a2218c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-17 11:36:34 +10:00
tildearrow 99d517be2f . 2022-05-16 13:38:18 -05:00
tildearrow 1675456693 AY: fix possible hang 2022-05-16 13:37:41 -05:00
tildearrow 9e02f3e2ae
Merge pull request #468 from OPNA2608/cmake/more_linux_icons
Install more size variations on Linux
2022-05-16 12:35:25 -05:00
tildearrow 0ae105ded3 hide .ftm format 2022-05-16 12:33:12 -05:00
OPNA2608 864e798686 Add x2 icon variations as well 2022-05-16 19:25:15 +02:00
OPNA2608 0851f1dffc Install more size variations on Linux 2022-05-16 19:16:55 +02:00
tildearrow e3d2faf427 OPLL: fix fixed drums freq 2022-05-16 05:06:26 -05:00
James Alan Nguyen 9e28fe81f1 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-16 20:01:53 +10:00
tildearrow c5259066e1 GUI: make backupTimer atomic 2022-05-16 03:09:59 -05:00
tildearrow 409d3c26af
Merge pull request #463 from grauw/opn-ay-type
Have OPN* platforms set the correct YM2149 chip type.
2022-05-15 17:03:47 -05:00
Laurens Holst a292bc109d Have OPN* platforms set the correct YM2149 chip type.
They were setting the Sunsoft type, which doubled the frequency division since c5c612c354.
2022-05-15 20:46:38 +02:00
tildearrow 051c79a7e8 update to-do list 2022-05-15 12:02:38 -05:00
tildearrow cddee6331e ZX beeper: clarify effects (will be done later) 2022-05-15 12:02:00 -05:00
tildearrow 85d9a52dee fix potential hangs in saveFur again 2022-05-15 11:37:15 -05:00
tildearrow 2fbc39bc90 N163: fix potential linear pitch regression
how in the world
2022-05-15 11:28:59 -05:00
tildearrow 1e6b660d2c OPN: hopefully several ExtCh fixes 2022-05-15 11:05:28 -05: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
James Alan Nguyen e6ad01b0f3 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 18:46:45 +10:00
tildearrow 25ab4467b4 whoops 2022-05-15 02:53:52 -05:00
tildearrow e3d0c517c8 GUI: AY8930 credits 2022-05-15 02:37:39 -05:00
tildearrow 6d0abbfd52 GUI: fix inability to close subsongs 2022-05-15 02:37:33 -05:00
tildearrow c5c612c354
Merge pull request #421 from cam900/ay_divider
Some AY-3-8910, AY8930 enhancements
2022-05-15 02:14:50 -05:00
tildearrow 5babb4fd1e BANK 2022-05-15 02:02:31 -05:00
tildearrow d5db7775bd OPN: wire up ExtCh system 2022-05-15 02:00:36 -05:00
tildearrow f63c072517 fix build failure 2022-05-15 01:55:25 -05:00
James Alan Nguyen 0e07b745c7 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 16:49:52 +10:00
tildearrow c5786b61fb dev95 - multiple songs in a single file (READ)
experimental feature! proceed with caution.
if you experience song corruption or crashes, report issue immediately!

files with multiple songs will be readable in older versions of Furnace,
but only the first song will be read in those versions.

issue #199
2022-05-15 01:42:49 -05:00
tildearrow 14053f70cb DO NOT USE - THIS FAILS - WORK IN PROGRESS 2022-05-14 18:19:07 -05:00
tildearrow 06ec22d6a5 enforce asset limits 2022-05-14 17:51:05 -05:00
tildearrow 2fc637494f old .dmf loading improvements
- YMU759 samples are now properly loaded
- improvements to version 7 and 8 format handling
2022-05-14 17:23:33 -05:00
tildearrow ce253230ce add AICA and YMZ ADPCM formats 2022-05-14 16:59:07 -05:00
tildearrow a2ae7dbb3d allocate ID for YMZ280B 2022-05-14 16:18:24 -05:00
tildearrow ffe582236c harden .fur file saver 2022-05-14 16:03:21 -05:00
cam900 f62f6ed77b Fix AY VGM output, Fix presets 2022-05-15 00:58:00 +09:00
James Alan Nguyen 80e8a3155c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-14 23:22:57 +10:00
cam900 8e50ad8c90
Merge branch 'master' into ay_divider 2022-05-14 22:09:25 +09:00
tildearrow 6f8f8d21f3 preparations for UI improvements
mostly around the system add/change UI
2022-05-14 04:05:29 -05:00
tildearrow f7c56bb05f GUI: add more presets 2022-05-14 02:38:38 -05:00
tildearrow 107d5e1514 prepare for ExtCh OPN/OPNA 2022-05-14 02:38:20 -05:00
tildearrow a8e1c1ceb3 GUI: clarify that lock layout doesn't work yet 2022-05-14 02:00:33 -05:00
tildearrow 7649b08e0e GUI: remember last state of order edit mode 2022-05-14 01:56:27 -05:00
tildearrow 4a33a3846a GUI: store edit/followOrders/followPattern state
in config
2022-05-14 01:53:14 -05:00
tildearrow 1ba5ac6766 GUI: add ability to select entire row
when clicking on row number
2022-05-14 01:46:06 -05:00
tildearrow 297ab01d4c OPN: per-channel oscilloscope 2022-05-14 01:12:23 -05:00
tildearrow 6288b485fc oops 2022-05-14 01:09:24 -05:00
tildearrow 06e00ab17b OPNA: per-channel oscilloscope 2022-05-14 01:07:32 -05:00
tildearrow ae5dcd3746 OPNA: proper ADPCM muting 2022-05-14 01:05:05 -05:00
tildearrow 031a0fc133 OPNA: RSS write optimization 2022-05-14 01:02:28 -05:00
tildearrow c685b60a3c ZX beeper: "register" view 2022-05-14 00:36:45 -05:00
tildearrow cb63921747 ZX beeper: set a more audible duty 2022-05-14 00:31:14 -05:00
tildearrow 895765b68a and here's your ZX beeper
no real hardware yet
specs of this dispatch may change at any time to fit a driver
2022-05-14 00:22:23 -05:00
tildearrow 0a0ddfa661 partially bring up sample map 2022-05-13 23:04:40 -05:00
tildearrow 07871eacc3 Amiga: linear pitch oopsie 2022-05-13 22:55:17 -05:00
tildearrow d7ec3b13c5 ADPCM-B: fixes to compatible mode 2022-05-13 22:43:00 -05:00
tildearrow d902652a5d
Merge pull request #458 from LovelyA72/chinese-font
Enable loading of common Chinese characters
2022-05-13 21:47:59 -05:00
tildearrow 14e0189993 WonderSwan: fix forceIns() messing with noise 2022-05-13 21:44:34 -05:00
LovelyA72 bf11e85bff Enable loading of common Chinese characters 2022-05-13 21:52:33 -04:00
tildearrow 77481f23cb prepare to implement sample map 2022-05-13 18:46:52 -05:00
tildearrow be0cbfa1f7 GUI: fix non-spaced MML string parsing
fixes #457
2022-05-13 18:03:35 -05:00
tildearrow 9936c66184 OPL: remove printf 2022-05-13 17:41:13 -05:00
tildearrow 106ebb52fa fix loading of pre-0.4 .dmf modules 2022-05-13 17:41:01 -05:00
tildearrow 1ffbfe17d4 Y8950/YMU759: ADPCM muting 2022-05-13 17:40:05 -05:00
tildearrow 315018ff24 YMU759: ADPCM 2022-05-13 17:22:00 -05:00
tildearrow 7218710268 add Y8950 system 2022-05-13 16:52:44 -05:00
Laurens Holst e2c1233b12 Reset period counter when writing to period registers.
This is what happens on real SCC. See also e.g. openMSX core:
https://github.com/openMSX/openMSX/blob/master/src/sound/SCC.cc#L390

To reduce the noise introduced by this, we add extra checks to only
write the period when it has actually changed.
2022-05-13 22:33:01 +02:00
tildearrow 4a563a416e prepare for Y8950/YMU759 ADPCM 2022-05-13 14:59:36 -05:00
tildearrow 34d868522b update Bubble System and SegaPCM docs 2022-05-13 03:18:29 -05:00
tildearrow db2ebc4930 OPNA: improvements 2022-05-13 03:18:14 -05:00
tildearrow f2db15b2ce add OPNA chip (work in progress) 2022-05-13 02:52:43 -05:00
tildearrow 1b4256bb28 spelling change: Rom -> ROM - PLEASE READ
@Grauw: please update your MultiPCM code.
i know it's just a trivial change I made, but in my opinion "ROM"
indicates it's an acronym...
2022-05-12 22:15:03 -05:00
tildearrow 9bac00efe5
Merge pull request #448 from grauw/sample-rom-settings
Add emulation settings for YRW801, TG100 and MU5 sample ROMs.
2022-05-12 22:10:25 -05:00
tildearrow 7d7740d96f ... #452 cherry-picking 2022-05-12 22:08:25 -05:00
tildearrow 3c3d75c605 add SCC documentation 2022-05-12 14:21:58 -05:00
Laurens Holst c29f18dfc2 Add emulation settings for YRW801, TG100 and MU5 sample ROMs. 2022-05-12 20:18:01 +02:00
tildearrow 613b538fb9 GUI: add setting to bring old macro vSlider back 2022-05-12 03:29:34 -05:00
tildearrow 76adccc0fc GUI: even more improvements to macro editor 2022-05-12 03:01:35 -05:00
tildearrow 0e03bf6bec GUI: fix default vScroll for pitch macro 2022-05-12 02:49:09 -05:00
tildearrow cdf4c55f0f SCC: fix forceIns (finally)
fixes #447
2022-05-12 02:39:46 -05:00
tildearrow 4e2e542c7a OPN: implement muting and remove panning 2022-05-12 02:25:59 -05:00
tildearrow f5ef1ad472 more documentation work 2022-05-12 02:25:13 -05:00
James Alan Nguyen 1254aec805 Fix GYBv3 load with safer offset load 2022-05-12 11:00:25 +10:00
James Alan Nguyen 63d2e12c27 Address review comments (missed these) 2022-05-12 10:55:47 +10:00
James Alan Nguyen fbcd84d79b Address review comments 2022-05-12 10:29:45 +10:00
tildearrow 5f17aa0e03 documentation mistake 2022-05-11 19:10:12 -05:00
James Alan Nguyen 4354e4064b Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-12 09:57:11 +10:00
tildearrow a58d49a831 GUI: more mobile-specific changes 2022-05-11 16:09:23 -05:00
tildearrow c6bfc8178a
Merge pull request #444 from akumanatt/x16
VERA: halve output volume to match other PSGs
2022-05-11 16:08:16 -05:00
tildearrow ff0319780e OPN: VGM export - good night 2022-05-11 03:41:02 -05:00
tildearrow ab969c1da0 add OPN chip
pretty much copy-paste from YM2610B code

next up: even more blatant copy-paste in 2608
2022-05-11 03:29:03 -05:00
Natt Akuma e48faa4114 VERA: halve output volume to match other PSGs
In terms of maximum single-channel output.
X16's mixing is kept by halving YM2151 part.
2022-05-11 15:22:17 +07:00
tildearrow 431b6b5957 fix 09xx, 0Bxx, 0Dxx and 0Fxx being ignored on ED 2022-05-11 02:42:05 -05:00
tildearrow 955cd48fcf SCC: SCC+ and dual-SCC VGM export 2022-05-11 02:32:08 -05:00
tildearrow 35ff5430d3 SCC: VGM export, forceIns bug fix and 10xx 2022-05-11 02:20:14 -05:00
tildearrow 0c0a97c21b SCC: address review comments 2022-05-11 01:13:21 -05:00
cam900 23f086fda6 Allow 8 bit filter write, Linear pitch support 2022-05-11 15:10:21 +09:00
tildearrow 8eb4fe365b
Merge pull request #443 from akumanatt/scc
Add SCC and SCC+ support
2022-05-11 01:09:08 -05:00
tildearrow 14517c9cf9 full linear pitch is now the default
the future
2022-05-11 00:51:53 -05:00
tildearrow 1c6e9c2cca add a full linear pitch mode, part 7
fix full linear pitch on OPL, OPLL, SAA1099 and Sound Unit
2022-05-11 00:26:28 -05:00
tildearrow ea118db499 X1-010: implement linear pitch (part 6) 2022-05-11 00:18:46 -05:00
tildearrow 90ac64f1d4 VERA: implement full linear pitch (part 5) 2022-05-11 00:11:24 -05:00
tildearrow f4652e6582 YM2610(B): implement full linear pitch (part 4) 2022-05-11 00:04:36 -05:00
tildearrow a7e6323db9 add a full linear pitch mode, part 3
round frequency/period
2022-05-10 23:42:24 -05:00
tildearrow f5dbc37902 YM2612: implement full linear pitch (part 2) 2022-05-10 23:17:40 -05:00
tildearrow 0cc2c06bbf update readme 2022-05-10 19:40:35 -05:00
tildearrow 814804ba10 re-enable warnings are errors on MSVC 2022-05-10 16:33:30 -05:00
tildearrow aad5d818f2 YM2612: early full linear pitch experiment
u n t e s t e d
2022-05-10 16:22:40 -05:00
tildearrow c79e5e8081 GUI: window movement only by clicking on title bar
on by default now
2022-05-10 16:19:49 -05:00
Natt Akuma 00414c6504 Fix GCC errors 2 2022-05-11 00:29:17 +07: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
Natt Akuma 960a8e3616 Fix GCC errors 2022-05-10 17:36:09 +07:00
tildearrow 8784fe5664 dev94 - add a full linear pitch mode, part 1 2022-05-10 03:51:18 -05:00
tildearrow 5e14177e4e YM2610(B): use f-num/block baseFreq calculation
also allow for different octave boundary f-nums depending on chip clock
2022-05-10 02:22:08 -05:00
Natt Akuma 28c0751659 Remove SCC from TODO.md 2022-05-10 12:49:48 +07:00
Natt Akuma 78ce2360bf SCC has no config flags currently 2022-05-10 11:32:07 +07:00
Natt Akuma a3fc76c984 Add SCC and SCC+ support 2022-05-10 11:25:10 +07:00
cam900 a8258d9a1a Divider related emulation core update, Fix init and period limitation 2022-05-10 13:18:02 +09:00
cam900 a9a249fd4c Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace: (24 commits)
  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
  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
  ...
2022-05-10 09:03:03 +09:00
tildearrow da71a6a804 GUI: remove insLoadAlwaysReplace setting 2022-05-09 13:22:42 -05:00
tildearrow 2e9bd65b9e GUI: right click menu for open instrument 2022-05-09 13:20:44 -05:00
James Alan Nguyen 0e077432fc Compilerscheiße pedantisch uberprufen 2022-05-09 21:43:03 +10:00
James Alan Nguyen da6a6f514c Fix 2x2op WOPL load 2022-05-09 21:22:21 +10:00
James Alan Nguyen 87ffcf2b27 Adjust seek-ends since exact data reads should be correct. 2022-05-09 21:22:21 +10:00
James Alan Nguyen ef4a60e095 WOPL progress! 2022-05-09 21:22:21 +10:00
James Alan Nguyen 158163312b WOPN redpath 2022-05-09 21:22:21 +10:00
James Alan Nguyen f8ffe04869 WOPN complete 2022-05-09 21:22:21 +10:00
James Alan Nguyen 25abf4c733 WOPN progress 2022-05-09 21:22:21 +10:00
James Alan Nguyen 77af4fda2a Remove unused/duplicate code, add stringNotBlank(str) checks 2022-05-09 21:22:21 +10:00
James Alan Nguyen 1c88e20fa7 OPM parser tidyup, GYBv1/2/3 foundation support done, BNK parser cleanup 2022-05-09 21:22:21 +10:00
James Alan Nguyen e289ba652d GYBv3 sorta loading... just need to fix up some read issues 2022-05-09 21:22:21 +10:00
James Alan Nguyen 7ae72f0fe4 Rebase fix and move reused fileIns lambdas into cpp static functions (since effectively private) 2022-05-09 21:22:20 +10:00
James Alan Nguyen 7cd0d728b2 Fix GYBv1/2 instrument name read 2022-05-09 21:22:20 +10:00
James Alan Nguyen 66b0589959 GYBv1/2 working 2022-05-09 21:22:20 +10:00
James Alan Nguyen b9e51ab97f GYB progress, need to verify read ordering 2022-05-09 21:22:20 +10:00
James Alan Nguyen 60d2f54ac0 Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
James Alan Nguyen c9f289e44a Fix GYBv1/2 instrument name read 2022-05-09 21:22:20 +10:00
James Alan Nguyen f720e0af47 GYBv1/2 working 2022-05-09 21:22:20 +10:00
James Alan Nguyen df1cb0e7fa HOTFIX: Better token handling and simplify clear string comparisons 2022-05-09 21:22:20 +10:00
James Alan Nguyen 744735cca8 GYB progress, need to verify read ordering 2022-05-09 21:22:20 +10:00
James Alan Nguyen 9bc9468baa Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
tildearrow 6bc1ee0957 GUI: add a threshold for macro right click 2022-05-08 22:52:21 -05:00
tildearrow 0c24ee2f08 OPZ: remove debug printf 2022-05-08 22:40:14 -05:00
tildearrow 580d982f1e GUI: add macro right click menu 2022-05-08 18:32:16 -05:00
tildearrow 3963f93aa4 GUI: prepare for macro right click menu 2022-05-08 17:35:21 -05:00
tildearrow 21b3bcac79 update gitignore 2022-05-08 16:32:43 -05:00
tildearrow 9a2599e383 add something 2022-05-08 16:02:38 -05:00
tildearrow 40e992cc6f prepare for something 2022-05-08 15:59:42 -05:00
tildearrow f8642ae8f0 did i fix macOS build? 2022-05-08 05:04:37 -05:00
tildearrow 787eda0a34 GUI: macro edit improvements
- reset zoom levels when changing instrument type
- set a default zoom level for pitch macro
2022-05-08 04:45:48 -05:00
cam900 ab1ac51d68 Fix build, Transwave Checkpoint 2022-05-08 17:56:52 +09:00
tildearrow 16eae18fdf GUI: now add ability to load VMEM 2022-05-08 02:47:20 -05:00
tildearrow 26cea191bb
Merge pull request #439 from MAHBOD-85/patch-1
Update sysDef.cpp
2022-05-08 02:43:56 -05:00
Mahbod-Karamoozian 8d57e3cddf
Update sysDef.cpp 2022-05-08 12:00:16 +04:30
tildearrow 4faa65a2e9 GUI: add an option for it 2022-05-08 02:07:58 -05:00
tildearrow 2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow 38b4d1d39e OPL: drum volume 2022-05-07 21:58:17 -05:00
tildearrow 6fe58a3965 OPL: implement hard reset
fixes #437
2022-05-07 21:48:29 -05:00
tildearrow d582fce862 GUI: add icon size setting 2022-05-07 21:39:29 -05:00
tildearrow a27d68ad1d
Merge pull request #434 from OPNA2608/cmake/standard_or_bust
Forbid C++ standard extensions
2022-05-07 18:34:18 -05:00
tildearrow 3170803389 GUI: macro UI refactor, part 4 2022-05-07 18:30:16 -05:00
OPNA2608 3d00e1d784 Fix WIN32 define timing in IGFD
When the compiler hits IGFD, WIN32 is only set if standard extensions are enabled. (Why?)
IGFD identifies Windows via WIN32 instead of _WIN32. (Why?)

- WIN32 is needed for #ifdef-gated Windows-specific methods in the header & code files.
  - There's fallback code in the code file to set WIN32 if _WIN32 or __WIN32__ is set.
    - Which is hit *after* the header gets included, so the header doesn't expose required methods.
      -> Boom, error!

Workaround by moving the fallback into the header.
2022-05-08 00:34:20 +02:00
OPNA2608 58fc35227e Fix outdated calling convention in SAASound (maybe fix MinGW)
https://docs.microsoft.com/en-us/cpp/cpp/stdcall?view=msvc-170

> For compatibility with previous versions, _stdcall is a synonym for __stdcall
> unless compiler option /Za (Disable language extensions) is specified.
2022-05-07 23:31:42 +02:00
tildearrow 24b7dd6f54 GUI: macro UI refactor, part 3
we have a scrollbar (i think)
2022-05-07 16:25:02 -05:00
cam900 9df2500195 Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  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
  Fix more MSVC warnings
2022-05-07 23:04:01 +09:00
cam900 0b0a6dbf28 Fix divider again, split tone and envelope clock divider 2022-05-07 23:00:22 +09:00
cam900 234f418f65 Merge branch 'ay_divider' of https://github.com/cam900/furnace into ay_divider
* 'ay_divider' of https://github.com/cam900/furnace:
  it isn't necesaary
  .ftm loading progress (incomplete, not working)
  OPZ: fix fixed frequency effects
  OPZ: fix EGShift emulation
  GUI: I am so drunk
  GUI: fix crash when loading instrument
  MultiPCM instrument type, editor and file ops.
  GUI: fix values button working as notes
  GUI: add "don't display multi-system" option
  GUI: implement this on the keybind as well
2022-05-07 21:54:21 +09:00
tildearrow d4d3cb44b9 GUI: macro UI refactor, part 2
the macro editor is finally back
2022-05-07 02:49:56 -05:00
tildearrow 02680cb389
Merge pull request #389 from OPNA2608/msvc/more_warning_squashing
Fix more MSVC warnings
2022-05-07 02:28:28 -05:00
LoKiToon da8a7fa8dd
Add files via upload 2022-05-07 08:34:19 +03:00
LoKiToon b8dc46d641
Merge branch 'tildearrow:master' into master 2022-05-07 08:16:12 +03:00
LoKiToon 70dea89dc1
Add files via upload 2022-05-07 08:15:36 +03:00
tildearrow ff273cc3b9 Masochism Volatile Compiler 2022-05-07 00:08:38 -05:00
LoKiToon d0a86d7c2a
Merge branch 'tildearrow:master' into master 2022-05-07 08:06:01 +03:00
tildearrow aea7bf2112 GUI: is the macro UI back yet 2022-05-06 23:52:26 -05:00
tildearrow b2953e00fe OPL: fix 4-op muting (I think)
fixes #435
2022-05-06 23:52:14 -05:00
tildearrow 716ef56f03 GUI: macro UI refactor, part 1 - PLEASE READ
- DO NOT USE THIS VERSION! -

to @cam900 and @grauw: do NOT pull this commit yet! it will fail to compile!
2022-05-06 18:01:12 -05:00
tildearrow 81a77a633b GUI: remove classic macro view
after this, some changes to the macro view code will arrive
hopefully these will make the code much cleaner
(NORMAL_MACRO has too many arguments!)
2022-05-06 14:16:27 -05:00
OPNA2608 b35701f938 Maybe just enforce for C++
We don't demand a specific standard for C anyway, maybe that'll trip it up less?
2022-05-06 12:52:50 +02:00
OPNA2608 d0524c025e Forbid standard extensions
Standard or bust.
2022-05-06 12:40:36 +02:00
cam900 3c7ce65db7
it isn't necesaary 2022-05-06 19:18:55 +09:00
cam900 76997fd5ba
Merge branch 'master' into ay_divider 2022-05-06 19:17:34 +09:00
tildearrow 05af3c147a .ftm loading progress (incomplete, not working) 2022-05-06 01:26:49 -05:00
tildearrow 509e46417f OPZ: fix fixed frequency effects 2022-05-06 00:09:49 -05:00
tildearrow 5974e8c045 OPZ: fix EGShift emulation
1. the TX81Z has operators in reverse order
2. don't early out if EGShift is not 0
2022-05-05 23:50:15 -05:00
tildearrow 6e19f5d719 dev93 - Merge branch 'grauw-multipcm-ins' 2022-05-05 21:17:08 -05:00
tildearrow 4548cae022 Merge branch 'multipcm-ins' of https://github.com/grauw/furnace into grauw-multipcm-ins 2022-05-05 21:16:56 -05:00
tildearrow 5ba1833f74 GUI: I am so drunk 2022-05-05 18:23:28 -05:00
tildearrow 6672a886a3 GUI: fix crash when loading instrument
fixes #431
2022-05-05 17:45:18 -05:00
Laurens Holst 3784c4e1d2 MultiPCM instrument type, editor and file ops. 2022-05-05 21:56:48 +02:00
tildearrow 9a2938ff3e GUI: fix values button working as notes 2022-05-05 13:23:06 -05:00
cam900 96f303ac9f Fix configuration description 2022-05-05 15:43:59 +09:00
tildearrow 9915fc0c8f GUI: add "don't display multi-system" option 2022-05-05 00:52:15 -05:00
tildearrow 030ba9eaf1 GUI: implement this on the keybind as well 2022-05-04 23:49:33 -05:00
cam900 9109d2c64f Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  dev92 - GUI: customizable channel collapsing!
  GUI: more improvements to instrument loading
  GUI: implement instrument load replace
  NES: fix duty effect not working at all
  GUI: part 2 of previous commit
  GUI: only use edit color when pat view is focused
  GUI: fix more issues
  here's the new OPLL default instrument
  OPL: fix channel muting - PLEASE READ!
  OPLL: fix compatible drum mode
  the final part of extra FM effects
  implement extra FM effects (OPLL and OPL)
  update to-do list
  prepare for possible .ftm import
  implement extra FM effects (OPN, OPM and OPZ)

# Conflicts:
#	src/engine/engine.h
2022-05-05 13:39:58 +09:00
cam900 7b91045bac Add documents
Important: it will break previously baked modules with 5B and AY8930
2022-05-05 13:38:10 +09:00
tildearrow 202a528477 dev92 - GUI: customizable channel collapsing! 2022-05-04 23:36:03 -05:00
tildearrow c3e55ae117 GUI: more improvements to instrument loading
now with an "instrument load always replace" option
2022-05-04 23:11:51 -05:00
tildearrow 99a313b684 GUI: implement instrument load replace 2022-05-04 22:55:11 -05:00
tildearrow 6aefd392ff NES: fix duty effect not working at all 2022-05-04 22:04:18 -05:00
tildearrow 10e8d71745 GUI: part 2 of previous commit 2022-05-04 22:01:19 -05:00
tildearrow 71cef797c6 GUI: only use edit color when pat view is focused 2022-05-04 20:56:26 -05:00
tildearrow 44f1134875 GUI: fix more issues
- macro range is now 128 (it was 127 before)
- fix #407
2022-05-04 18:42:36 -05:00
tildearrow 99b5afd4da here's the new OPLL default instrument
piano_guitar_idk by Weeppiko
2022-05-04 18:20:15 -05:00
tildearrow b75336bcb6 OPL: fix channel muting - PLEASE READ!
**SUBMODULES UPDATED** - Nuked-OPL3 is no longer a submodule as I
had to directly modify the core for this
if you mess up while removing Nuked-OPL3 from your repo, delete
everything and clone again

fixes #414
2022-05-04 18:06:32 -05:00
tildearrow e50df18393 OPLL: fix compatible drum mode 2022-05-04 17:43:06 -05:00
tildearrow 6e7b4d7e7f the final part of extra FM effects 2022-05-04 17:39:22 -05:00
tildearrow 897bf323f2 implement extra FM effects (OPLL and OPL) 2022-05-04 16:56:45 -05:00
tildearrow 6731edc568 update to-do list 2022-05-04 14:10:37 -05:00
tildearrow 6bd5a9bcb6 prepare for possible .ftm import 2022-05-04 14:10:28 -05:00
tildearrow 467036df2a implement extra FM effects (OPN, OPM and OPZ)
issue #38
2022-05-04 14:09:43 -05:00
cam900 4f1ebc3b6e Some AY-3-8910, AY8930 enhancements
Fix AY PSG clock divider function when exists, Update emulation core (MAME AY PSG and compatibles - includes noise routine updates)
Fix configuration flag, Add MSX Darky sound expander to preset

Clock divider isn't affected to expanded mode's tone and noise generator?
2022-05-04 23:04:20 +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
tildearrow 28e7b86728 fix sample saving 2022-05-03 17:41:10 -05:00
tildearrow 30e60f643c add extra FM effects to effect post handler
see #38
the last thing left to do is to put these effects on the dispatch code
2022-05-03 17:37:17 -05:00
tildearrow 9dfa2f9cbb dev91 - it's a breaking change 2022-05-03 16:53:25 -05:00
tildearrow 391928af6e
Merge pull request #416 from grauw/ay8930-fix2
AY8930: Fix tone and noise period in expanded mode.
2022-05-03 16:51:50 -05:00
tildearrow 1a6a132a59 aaaaaa 2022-05-03 16:22:24 -05:00
Laurens Holst 49ff39abee AY8930: Fix tone and noise period in expanded mode.
By doubling the internal clock frequency.

In expanded mode, the same tone period is an octave higher than in compat mode.
In expanded mode, the noise period is twice as fast as currently implemented.

See https://github.com/tildearrow/furnace/pull/416
2022-05-03 21:28:10 +02:00
tildearrow 978b0798e5 OPL: fix possible crash 2022-05-03 14:04:38 -05: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
tildearrow 4c9b172b50 YM2610: optimize oscilloscope fetch CPU usage 2022-05-03 02:52:38 -05:00
tildearrow b8a2c90b61 GUI: add audio load meter to statistics 2022-05-03 02:29:12 -05:00
tildearrow 3d541682e6
Merge pull request #412 from grauw/ay8930-vgm
AY8930: Fix VGM output.
2022-05-03 01:53:41 -05:00
tildearrow 7d684654fc
Merge pull request #413 from cam900/osc_debug
Debug improvements
2022-05-03 01:51:18 -05:00
tildearrow c23ee8e7c9 GUI: put "OK" and "Cancel" buttons in the bottom 2022-05-03 01:48:57 -05:00
tildearrow 31a35e5395 better FM chip names 2022-05-03 01:29:31 -05:00
tildearrow e40e7c0fef sysDef refactor, part 3 - PLEASE READ
to cam900 and grauw: I have moved the per-system effect processing code
to sysDef.cpp as lambdas
you may want to do the same when you pull this commit.
2022-05-03 01:23:38 -05:00
tildearrow ebc3df9494 NO 2022-05-02 23:38:54 -05: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 0d5962bb08 Reduce unnecessary line 2022-05-03 10:28:01 +09:00
cam900 2412f688de Merge branch 'master' of https://github.com/tildearrow/furnace into osc_debug
* '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/gui/debugWindow.cpp
2022-05-03 10:23:36 +09:00
cam900 3f0c83eb45 Debug improvements
Add oscilloscope debug, Hideable sample debug
2022-05-03 10:20:20 +09:00
tildearrow 4db2ab96ae document (NON-WORKING) extended op param effects 2022-05-02 18:15:51 -05:00
tildearrow 62289d924e FDS: add NSFPlay core 2022-05-02 16:53:55 -05:00
tildearrow 960048cf4b NES: fix Furnace-style DPCM 2022-05-02 16:05:07 -05:00
Laurens Holst ffa0727bf6 AY8930: Fix VGM output.
It was generating writes to register addresses > 15.
2022-05-02 22:49:55 +02:00
tildearrow ce40085d3b SoundUnit: fix PCM pitch 2022-05-02 15:07:59 -05:00
tildearrow a6ef36d42e SoundUnit: PCM support 2022-05-02 14:51:06 -05: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
tildearrow 66f6ab4307 prepare for #38 2022-05-02 03:52:45 -05:00
tildearrow 5a724e4949 NES: DPCM work! 2022-05-02 03:42:40 -05:00
tildearrow dbe9bf25e7 fix bug caused by new renderSamples approach
when doing switchMaster
2022-05-02 02:54:23 -05:00
tildearrow a7b8f81da7 NES: prepare for DPCM 2022-05-02 02:12:14 -05:00
tildearrow b92ce84b34 OPZ: more fixed frequency mode fixes 2022-05-02 02:12:02 -05:00
tildearrow a0db8ab49a OPZ: possibly fix fixed freq emulation 2022-05-02 01:22:49 -05:00
tildearrow 34f7750c27 OPZ: fix muting 2022-05-02 01:15:42 -05:00
tildearrow 6380876b9a OPL: fix panning 2022-05-02 00:41:58 -05:00
tildearrow 5adc29906a
Merge pull request #410 from grauw/dispatch-render-samples
Move renderSamples() to DivDispatch implementations.
2022-05-02 00:25:58 -05:00
tildearrow 7a67730c29 damn it 2022-05-02 00:23:03 -05:00
tildearrow 430d0329bd per-channel oscilloscope, part 10
OPZ
2022-05-02 00:22:34 -05:00
tildearrow de09073232 NES: NSFPlay per-channel osc 2022-05-02 00:05:28 -05:00
tildearrow 61b4e3745f NES: NSFPlay muting 2022-05-01 23:57:53 -05:00
tildearrow e1cec62af4 NES: now fix tri_mute 2022-05-01 23:48:35 -05:00
tildearrow 153e025cf8 NES: finally 2022-05-01 23:48:02 -05:00
tildearrow 9479a8aa0f fix typo in playback engine
possible memory leak
2022-05-01 23:29:00 -05:00
tildearrow cb7aa4aa05 NES: wire up NSFplay
no muting supported for now
see #27
2022-05-01 23:20:20 -05:00
tildearrow 7b31f6a3e5 now fix it damn it 2022-05-01 22:52:22 -05:00
tildearrow e873070d84 now move these files 2022-05-01 22:22:02 -05:00
tildearrow 867f96ff01 add readme 2022-05-01 22:19:00 -05:00
tildearrow f6fe93b0ed convertir de Shift-JIS a UTF-8
por eso es que no deseaba aceptar el uso de NSFplay
2022-05-01 22:13:11 -05:00
djmaximum17 6c517292dd Add files via upload 2022-05-01 22:00:52 -05:00
tildearrow 2c9bad3b3d per-channel oscilloscope, part 9
work in progress!
2022-05-01 18:29:16 -05:00
tildearrow 269f07f597 these are debug messages 2022-05-01 17:26:56 -05:00
Laurens Holst 7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
tildearrow 4bc70fad7b format oops 2022-05-01 13:41:30 -05:00
tildearrow 9e909a4aac
Merge pull request #409 from grauw/macos-horizontal-scroll
Fix horizontal scroll direction on macOS.
2022-05-01 13:36:02 -05:00
Laurens Holst 4d8f86a27c Fix horizontal scroll direction on macOS.
See open Dear ImGUI issue:
https://github.com/ocornut/imgui/issues/4019

This patches it for macOS in the local copy of imgui_impl_sdl.
2022-05-01 17:25:27 +02: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
tildearrow 58fe971a3c Clang you are so arrogant 2022-05-01 05:18:30 -05:00
tildearrow 9f19b5dfc4 ok so screw you 2022-05-01 05:10:41 -05:00
tildearrow 05ae774617 let's hope this works 2022-05-01 04:49:41 -05:00
tildearrow e1a02f64de attempt to fix CI 2022-05-01 04:30:04 -05:00
tildearrow 3a4f120120 per-channel oscilloscope, part 8
TIA is done
2022-05-01 04:01:25 -05:00
tildearrow 47f83c0472 per-channel oscilloscope, part 7
YM2610 and YM2610B
only TIA is left
2022-05-01 03:47:04 -05:00
tildearrow 415e490025 per-channel oscilloscope, part 6
YM2612 and OPM (ymfm)!
2022-05-01 03:12:32 -05:00
tildearrow c0e9b48b5b per-channel oscilloscope, part 5
SAA1099 (SAASound and MAME), Lynx, MMC5, N163, PC Engine, PC Speaker,
PET, QSound, WonderSwan, VERA, VIC-20, VRC6 and X1-010!
2022-05-01 02:40:03 -05:00
tildearrow dadfd7efee but PCE supports samples! 2022-05-01 00:58:10 -05:00
tildearrow e1fd16637c per-channel oscilloscope, part 4
OPM, OPN2, OPLL and SN
plus hide unimplemented channels
2022-04-30 22:59:26 -05:00
tildearrow ddcd486c61 YM2612: fix Furnace DAC mode glitching slides 2022-04-30 20:52:48 -05:00
tildearrow 1c3dcae05e per-channel oscilloscope, part 3
K00/C64/NES fixed
FDS, Game Boy and Sound Unit
2022-04-30 18:33:12 -05:00
tildearrow 312a037816 GUI: add missing actions to settings 2022-04-30 17:50:38 -05:00
tildearrow c738ece374 per-channel oscilloscope, part 2
AY8930, K00, C64 and NES
2022-04-30 14:36:12 -05:00
tildearrow b3b747a67a
Merge pull request #406 from akumanatt/patch-1
Have host sound chip appear before expansions
2022-04-30 14:28:27 -05: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
tildearrow fae3de53a9 maybe uninitialized 2022-04-30 04:30:33 -05:00
tildearrow 4197fa44fb GUI: prepare for a per-channel oscilloscope?
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM

no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow ba657fe4db GUI: add backdrop if system file picker is open 2022-04-30 02:02:55 -05:00
tildearrow 52c0044bd9 GUI: add ability to customize startup system 2022-04-30 01:37:37 -05:00
Natt Akuma 9f49504891
Revert PC speaker presets 2022-04-30 11:59:47 +07:00
tildearrow d79e5d77a7 GUI: finally implement "don't scroll when moving c
ursor" setting
2022-04-29 23:53:15 -05:00
tildearrow 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
tildearrow 9c4fed2f4e GUI: fix sample paste crash 2022-04-29 22:41:07 -05:00
tildearrow a8da4f0dba GUI: implement sample scroll with mouse wheel 2022-04-29 17:55:22 -05:00
tildearrow d16ee7ed45 sysDef oopsie 2022-04-29 15:36:03 -05: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
tildearrow 635bd72904 GUI: sample/macro zoom with ctrl-wheel 2022-04-29 05:39:18 -05:00
tildearrow aeea8a4912 GUI: prevent division by zero 2022-04-29 04:42:18 -05:00
tildearrow dbf4635646
Merge pull request #405 from ZoomTen/chip-randomize
add chip randomizer button (enhancement)
2022-04-29 04:38:27 -05:00
tildearrow 0817fdeb84 GUI: possibly fix an instrument saving issue 2022-04-29 04:34:20 -05:00
Natt Akuma a9a01bad4a
Have host sound chip appear before expansions
So that they are consistent with NES expansions.
For X16, the VERA is more integral to the system and has lower I/O address than YM2151
and YM2151 was once an expansion chip during development.
2022-04-29 16:32:30 +07:00
Zumi Daxuya ee4d4c4251 GUI: add chip randomizer button 2022-04-29 15:56:16 +07:00
tildearrow 2583b18f86 update to-do list 2022-04-29 02:24:27 -05:00
tildearrow 3a354ea42b oops 2022-04-29 00:18:55 -05:00
tildearrow 8500fa4c4c NES: add DMC write effect 2022-04-29 00:18:51 -05:00
tildearrow abd42cbb03 SoundUnit: implement panning 2022-04-29 00:08:56 -05:00
tildearrow 5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
tildearrow 2ac0e8af42 further improve channel allocation 2022-04-28 18:32:24 -05:00
tildearrow 2a1d45fa35 update format.md for eventual ExtCh extra systems 2022-04-28 15:07:28 -05:00
tildearrow 34c3473389 improvements to swap/stomp channel 2022-04-28 14:03:58 -05: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
tildearrow 8675cdf802 OPL 4-op note preview possible fix 2022-04-28 05:38:28 -05:00
tildearrow 3906fc1dd4 better channel allocation strategy
issue #376
2022-04-28 05:04:34 -05:00
tildearrow 859b2cf8db implement channel swapping
issue #378
2022-04-28 03:36:15 -05:00
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
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 77b4e57c58 prepare for relative pitch macro 2022-04-28 00:50:09 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 4a9855f090 dev89 - C64: add test/gate macro
and "don't test/gate before new note" setting
2022-04-27 23:54:45 -05:00
tildearrow 3e9c0dd066 YMU759: update system definition 2022-04-27 23:32:20 -05:00
tildearrow c0df205f2d more changes to autoNoteOn
now that there's a second prefer ins type, we get rid of DIV_INS_AMIGA check
2022-04-27 23:32:07 -05:00
tildearrow f2b974acc5 SoundUnit: ring modulation 2022-04-27 22:57:36 -05:00
tildearrow ff33eed2fd GUI: improve the maximize auto-detection a bit 2022-04-27 20:43:34 -05:00
tildearrow f057581b27 GUI: possibly remember maximized state 2022-04-27 20:40:30 -05:00
tildearrow 180ff2457d NES: fix audio resolution being too low 2022-04-27 20:36:32 -05:00
tildearrow de908d7b95 update to-do list
the refactor is missing ONE thing
2022-04-27 18:28:55 -05:00
tildearrow dce862fdb9 SoundUnit: more stuff 2022-04-27 18:28:46 -05:00
tildearrow 410a509d73 SoundUnit: max cutoff 16383 2022-04-27 18:03:24 -05:00
tildearrow 3306e853d1 effectRows -> effectCols
i don't know why did I call it "rows"
2022-04-27 17:53:55 -05:00
tildearrow 9eaf600b4b GUI: rename Amiga/Sample to Sample 2022-04-27 17:44:00 -05:00
tildearrow c171f3255a
Merge pull request #371 from BlastBrothers/compact-wave-editor
Compact wave editor
2022-04-27 15:02:23 -05: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
tildearrow 8db3831ab6 fix MSVC oh my 2022-04-27 05:02:18 -05:00
tildearrow 78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow 24d60507e7 sysDef refactor, part 2
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
cam900 482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
tildearrow 351c22cb77 sysDef refactor, part 1 - PLEASE READ NOTE
THIS WILL NOT COMPILE!!!
i'm still working on it

to @cam900: DO NOT PULL TO YOUR ES5506 BRANCH YET - wait until I am done
with this refactor

to @grauw: DO NOT PULL TO YOUR OPL4 BRANCH YET - wait until I am done
with this refactor
2022-04-26 18:32:33 -05:00
tildearrow e8f29cf122 prepare for macroInt preview in instrument editor 2022-04-26 15:24:45 -05:00
cam900 7fbd239b85 emulation core related fix, reversed loop and volume 2022-04-27 00:47:01 +09:00
tildearrow 9eb9561b53 GUI: fix #400 2022-04-26 01:07:28 -05:00
tildearrow 28af57c4f0 fix metronome in low-latency mode 2022-04-26 00:22:49 -05: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
tildearrow 2ea9114168
Merge pull request #397 from cam900/patch-9
Missing header
2022-04-25 21:02:17 -05:00
cam900 584e97f313
Missing header 2022-04-26 09:20:41 +09:00
tildearrow e8c9b645c5 GUI: implement instrument preview in file dialog
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow 663e724111 I KNEW IT 2022-04-25 18:41:24 -05:00
tildearrow b3f1935f2b GUI: prepare for more UX improvements
- add "temporary instrument" to DivEngine
- prepare for two things:
  - instrument preview on file picker (at least built-in one)
  - instrument selector for banks (#364)
2022-04-25 18:23:12 -05:00
tildearrow 2e52a2855c WonderSwan: fix noise phase reset 2022-04-25 18:07:49 -05:00
tildearrow 3e1c2197eb OPL: fix #369 2022-04-25 18:04:13 -05:00
tildearrow 2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow 8ba2787160 GUI: add two ImGui settings 2022-04-25 16:46:38 -05:00
tildearrow 5821135b38 don't return 1 on -help and -version
fixes #385
2022-04-25 15:54:31 -05:00
tildearrow f3f92b8035 GUI: deprecate compat rate 2022-04-25 15:07:36 -05:00
tildearrow 7b79c32258 increase range of arp macro to 120 2022-04-25 14:58:58 -05:00
OPNA2608 184236f202 Fix more MSVC warnings
- Only one graphical entry point may be defined, otherwise the linker is
  confused and has to implicitly make a decision on which one to use.
  WinMain has CLAs as ANSI strings, wWinMain as Unicode ones.
  We're not passing -municode on MinGW and both MSVC & MinGW default to WinMain.
2022-04-25 21:21:55 +02:00
tildearrow 1b97d3912b YM2612: hopefully the final pitch slide fix 2022-04-25 11:59:02 -05:00
tildearrow 17cf657f6a one more pitch calc fix 2022-04-25 11:52:05 -05:00
tildearrow ed6820ac46 GUI: fix cursor going out of bounds on paste 2022-04-25 11:23:44 -05:00
tildearrow bcade6931a YM2612: allow for DAC rate higher than 32KHz
issue #391
2022-04-25 01:42:26 -05:00
tildearrow 832df58929 YM2612: fix several sample bugs 2022-04-25 01:24:42 -05:00
tildearrow c84ff399d9 YM2612: fix negative octaves 2022-04-24 22:45:59 -05:00
tildearrow 52e35fdf04 huh? TODO: fix this 2022-04-24 18:17:05 -05:00
tildearrow bd68ef5cc3 dev86 - SN duty macro phase reset fix 2022-04-24 18:12:18 -05:00
tildearrow f99ba810fe PC speaker: fix timer issue 2022-04-24 17:48:04 -05:00
tildearrow 521b311692 GUI: implement clear 2022-04-24 17:39:18 -05:00
tildearrow e414056f2d prepare for a clear option 2022-04-24 16:57:58 -05:00
tildearrow bb4bc01778 Merge branch 'newpitch' 2022-04-24 14:41:12 -05:00
tildearrow 23be8d9336 the final piece of f-num/block work 2022-04-24 14:40:07 -05:00
tildearrow e027c7e4cb
Merge pull request #390 from djtuBIG-MaliceX/feature/Moar-patch-bank-support
More #79 - OPM, Y12, OPLI, OPNI import
2022-04-23 23:30:39 -05:00
James Alan Nguyen 798bc08431 verdammte compilerschieß 2022-04-24 14:04:56 +10:00
James Alan Nguyen 2b90bd6c66 = 0 2022-04-24 13:55:21 +10:00
James Alan Nguyen 2a48adfde8 Inline error 2022-04-24 13:43:56 +10:00
James Alan Nguyen 580cff9d32 Decided to EOF fail seeks beyond bounds 2022-04-24 12:37:49 +10:00
James Alan Nguyen 18f7dcc0b0 Address review comments 2022-04-24 12:31:37 +10:00
tildearrow dd9bb8327a and this finally does it
the last thing to do is a compatibility flag
2022-04-23 18:02:43 -05:00
tildearrow a7828d6ad6 update contributing guidelines 2022-04-23 16:54:49 -05:00
tildearrow 0e3dbdc1b2 this might fix it 2022-04-23 16:52:31 -05:00
tildearrow 6493a0481c i hate this 2022-04-23 13:39:00 -05:00
James Alan Nguyen 6638941c9d Address unused stuff and CI fix 2022-04-24 04:34:32 +10:00
James Alan Nguyen 3865e3eac6 #79: OPNI support added...... 2022-04-24 03:49:01 +10:00
James Alan Nguyen bb0253d82f Urgh why are your operators BACKWARDS FFS 2022-04-24 03:15:20 +10:00
James Alan Nguyen 6bd199923f OPLI progress... still figuring out correct readings 2022-04-24 02:37:25 +10:00
James Alan Nguyen a049e43618 #79: .y12 import done 2022-04-24 00:45:19 +10:00
James Alan Nguyen b8d9fab745 Start .y12 (Gens KMod/Kaneda) patch dump import 2022-04-24 00:29:33 +10:00
James Alan Nguyen 0f47a3ed7b Fix DT range 2022-04-23 23:40:58 +10:00
James Alan Nguyen 8ad827478c #79: OPM complete for now 2022-04-23 21:48:18 +10:00
James Alan Nguyen 3550ad512a OPM import: Fix reset read procedural flow 2022-04-23 20:20:29 +10:00
James Alan Nguyen f716ac262d #79: OPM import progress and start everything else 2022-04-23 19:52:09 +10:00
tildearrow f6b34a5bb0 huh? 2022-04-23 04:25:22 -05:00
tildearrow dd80cb8b55 what the heck 2022-04-22 17:42:42 -05:00
tildearrow 943e013cb4 YM2612: new pitch slide formula
finally nailed it (almost)
2022-04-22 16:46:24 -05:00
tildearrow 8db53faf72 new FM frequency calculation experiments 2022-04-22 04:23:52 -05:00
tildearrow 9c8d122389 GUI: use pattern font for input latch 2022-04-22 01:27:27 -05:00
tildearrow 2278c1a465 GUI: partially implement note input latch UI 2022-04-21 18:30:32 -05:00
tildearrow bd58059261 GUI: transpose value does not transpose effect ID 2022-04-21 18:11:34 -05:00
tildearrow 50deead11a GUI: prepare for note input latch UI 2022-04-21 18:10:59 -05:00
tildearrow 7410622425 GUI: min ins selector width fix 2022-04-21 17:39:13 -05:00
tildearrow 023761373d GUI: separate operation masks
also separate note/value transpose commands
2022-04-21 17:32:28 -05:00
tildearrow 521bb9c16a GUI: add missing FDS preset 2022-04-21 16:01:46 -05:00
tildearrow bc235ed494 GUI: prepare for separate operation mask 2022-04-21 03:45:06 -05:00
tildearrow 21c4d09c06 GUI: "none" instrument should not remove inscolumn 2022-04-21 03:26:34 -05:00
tildearrow bfdfac004f GUI: fix ins 0 being inserted on blank song 2022-04-21 03:22:01 -05:00
tildearrow dba9482cee GUI: add a "none" option to instrument list 2022-04-21 02:53:09 -05:00
tildearrow 98d52b6644 update to-do list 2022-04-21 02:35:57 -05:00
tildearrow 06a69a20e8 GUI: add "absorb" instrument input mode 2022-04-21 02:35:50 -05:00
tildearrow 4195715dc0 use good default instrument when adding ins 2022-04-21 02:29:20 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow 73a4552e09 Merge branch 'master' of github.com:tildearrow/furnace 2022-04-20 15:30:24 -05:00
tildearrow 5630b69e64 GUI: fix selection being visible in dummy row area 2022-04-20 15:29:07 -05:00
tildearrow f18f2968bd
Merge pull request #382 from cam900/patch-8
Further fix looped sample preview
2022-04-20 14:15:32 -05: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
cam900 ce5f3fd94e
Further fix looped sample preview 2022-04-20 20:38:20 +09:00
tildearrow dac6231574 GUI: fix about screen in power saving mode 2022-04-19 21:55:23 -05:00
tildearrow 1a81c6c3e7 VRC6: saw volume 63 2022-04-19 21:55:13 -05:00
tildearrow d4380e1524 GUI: add an effect list window 2022-04-19 18:44:05 -05:00
tildearrow b6026e76c5 SMS: fix noise pitch being odd on linear pitch off
issue #379
2022-04-19 18:10:43 -05:00
tildearrow 7767881ca7 VRC6: fix saw column not yielding saw type ins
fixes #374
2022-04-19 13:59:17 -05:00
tildearrow f550bd82dd possibly fix #373 2022-04-18 16:21:00 -05:00
tildearrow cc5013f3dc possibly fix OPl3 per-channel audio export 2022-04-18 04:42:51 -05:00
tildearrow a4ff0c3876 GUI: fix relative/fixed toggle label being wrong 2022-04-18 04:18:33 -05:00
tildearrow afa59a27ff fix note preview for ADPCM-A 2022-04-18 04:16:59 -05:00
tildearrow cc08dd895b get rid of backward completely for real 2022-04-18 03:17:11 -05:00
tildearrow 4d6fe8f0ea get rid of backward
thanks for the waste of time
2022-04-18 03:15:39 -05:00
tildearrow eafbec6cfc really what the heck 2022-04-18 02:16:57 -05:00
tildearrow d4f58cb6ea the final take (hopefully) 2022-04-18 02:09:37 -05:00
tildearrow 925b1c2179 i'm done here 2022-04-18 01:56:26 -05:00
tildearrow 70ff71af44 take 3 2022-04-18 01:49:28 -05:00
tildearrow 4b0ffcafe8 take 2 2022-04-18 01:40:26 -05:00
tildearrow 744c5982e1 bring on backward-cpp
cross your fingers
2022-04-18 01:31:03 -05:00
tildearrow b8c790bf79 dev84 - new compat flag and store macro modes 2022-04-18 00:52:29 -05:00
tildearrow fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
BlastBrothers 4bb77ea3cb This is not a sample properties table 2022-04-17 11:38:28 -04:00
tildearrow 5e7a4eae16 VERA: finally proper volume 2022-04-17 05:01:54 -05:00
tildearrow c9324e04bd GUI: vertical C64 envelope editor 2022-04-17 02:51:03 -05:00
tildearrow 0258342324 M S V C 2022-04-17 02:08:53 -05:00
tildearrow 53994cebbd GUI: new default key for full-screen 2022-04-17 02:08:19 -05:00
tildearrow 4f59eb2602 GUI: add toggle full-screen keybind 2022-04-17 01:57:50 -05:00
tildearrow 0952d1b2f9 GUI: add a full-screen option 2022-04-17 01:54:42 -05:00
tildearrow 27698892d2 do I have amnesia or what 2022-04-17 01:37:57 -05:00
tildearrow 211a4b1821 C64: fix portamento not working... 2022-04-17 01:37:33 -05:00
tildearrow 496031a41f
Merge pull request #370 from AYCEdemo/vgmfix
VGM: Support ROM data in the second chip
2022-04-17 01:19:21 -05:00
tildearrow 3ce617335c
Merge pull request #365 from djtuBIG-MaliceX/feature/More-OPL-Patch-Support
More OPL patch support
2022-04-17 01:17:57 -05:00
tildearrow 768419f461 GUI: implement GB envelope view 2022-04-17 01:15:34 -05:00
James Alan Nguyen d1fadf1076 Address review comments take 2 2022-04-17 15:54:00 +10:00
James Alan Nguyen ac656f07bb Merge branch 'master' into feature/More-OPL-Patch-Support 2022-04-17 15:41:18 +10:00
tildearrow 003c9c3235 GUI: prepare for GB envelope view 2022-04-16 23:58:29 -05:00
tildearrow 99d57bf342 GUI: C64 envelope view 2022-04-16 23:43:49 -05:00
tildearrow 42e8454143 ADSR test area 2022-04-16 22:53:40 -05:00
tildearrow 523adfac86 GUI: fix sample up/down actions not changing wavef
orm
2022-04-16 22:28:14 -05:00
tildearrow 6450a5323a fix preview of sample instruments 2022-04-16 22:26:41 -05:00
BlastBrothers ab4f9945a5 Define the compact wave editor 2022-04-16 21:51:53 -04:00
BlastBrothers 559a99c5fc Menu option, settings file 2022-04-16 20:47:40 -04:00
tildearrow 164d56a21f YM2151: implement panning macro i think 2022-04-16 18:35:35 -05:00
tildearrow ef6e63239c GUI: introduce power-saving mode 2022-04-16 18:35:25 -05:00
tildearrow dd8df45519 update format.md with more clarifications 2022-04-16 18:01:12 -05:00
tildearrow 8669e2cddc GUI: a better look for panning macro 2022-04-16 17:24:40 -05:00
tildearrow e545657fa1 use nightly.link for builds 2022-04-16 14:12:55 -05:00
tildearrow 330171edc3 GUI: add "note preview behavior" setting 2022-04-16 13:13:19 -05:00
Natt Akuma d16d1260cb VGM: Support ROM data in the second chip 2022-04-16 22:54:01 +07:00
tildearrow b4ac5c7e6a implement pitch macro 2022-04-16 01:39:40 -05:00
tildearrow af41e56acc Lynx: set freqChanged to false! 2022-04-16 00:39:03 -05:00
tildearrow d0c76e020c GUI: more note preview fixes 2022-04-16 00:10:52 -05:00
tildearrow a81393472c GUI: move all preview actions to callback 2022-04-15 23:47:39 -05:00
tildearrow 6b294933bc VGM export: fix it under low-latency mode 2022-04-15 22:27:44 -05:00
tildearrow b48a2368be more low-latency mode work
playSub() runs at normal tick rate
2022-04-15 22:22:47 -05:00
James Alan Nguyen a8201fa535 Address review comments 2022-04-16 09:37:26 +10:00
James Alan Nguyen 836fb57f14 Merge branch 'master' into feature/More-OPL-Patch-Support 2022-04-16 09:11:45 +10:00
tildearrow 98b9bd32b9 static_assert() on cmdName 2022-04-15 16:10:57 -05:00
tildearrow 55d821de6e potential to-do for Windows 2022-04-15 16:00:21 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 45460df96d improve low-latency mode strategy 2022-04-15 14:38:25 -05:00
tildearrow eb70086234 sample 8-bit blep resample fix 2022-04-15 14:38:13 -05:00
James Alan Nguyen c3ca175e46 Nitpicky cruft cleanup. 2022-04-15 22:21:03 +10:00
James Alan Nguyen 2dc80e8d8e Batch file wasn't supposed to be there 2022-04-15 22:21:03 +10:00
James Alan Nguyen c3b393004d Fix for -Werror o/ o/ o/ 2022-04-15 22:21:03 +10:00
James Alan Nguyen 1985546d0b Add file extension to picker 2022-04-15 22:20:46 +10:00
James Alan Nguyen c431add35b BNK - Fix sustain flag 2022-04-15 22:20:46 +10:00
James Alan Nguyen 7e692eb073 Checkpoint: BNK presets now loading and also refactoring duplicated operations. 2022-04-15 22:20:46 +10:00
James Alan Nguyen 29ed73a157 Start BNK 2022-04-15 22:20:46 +10:00
James Alan Nguyen ee14f0fa8c SBI fixes:
- Support 2OP\x1A header (used in some third party implementations)
- Include 2op pair for Freq Monster 801 6op (4+2op) patches.
- Fall back to filename if no internal patch name found.
2022-04-15 22:20:46 +10:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
tildearrow c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
tildearrow c76e719371 GUI: prepare for more macros 2022-04-15 02:51:38 -05:00
tildearrow f9e9c6c179 huh 2022-04-15 01:30:21 -05:00
tildearrow 600c38543b what is valid then 2022-04-15 01:29:29 -05:00
tildearrow f27942d77d update to-do list 2022-04-15 01:27:09 -05:00
tildearrow a530934671 fix retrigger issue in sample instruments 2022-04-15 01:26:44 -05:00
tildearrow 397ab43ffd C64: better muting strategy
now directly inside reSID rather than in the DivDispatch
fixes #285
2022-04-15 01:20:09 -05:00
tildearrow b77b9e61ec the ugliest way to fix klisje paa klisje 2022-04-15 00:47:25 -05:00
tildearrow 3e15a066f8 Soundtracker .mod loading support
this required a re-organization of DivEngine::load() but it works
eventually we'll be able to load other file formats this way
2022-04-15 00:45:55 -05:00
tildearrow 51bc1119e8 hopefully fix oscilloscope line being out of bound 2022-04-14 23:22:25 -05:00
tildearrow aa415caa57 GUI: fix another cppcheck warning 2022-04-14 23:22:11 -05:00
tildearrow be483470ef GUI: add "Use standard OPL waveform names" option 2022-04-14 21:57:39 -05:00
tildearrow 95580d9f1a update to-do list 2022-04-14 18:26:06 -05:00
tildearrow 68445435f9 fix several misc issues 2022-04-14 18:25:59 -05:00
tildearrow 8ff694eb13 GUI: fix MIDI input settings crash 2022-04-14 16:20:10 -05:00
tildearrow de440d55ff one more task 2022-04-14 14:09:42 -05:00
tildearrow f032e71b3a add TODO.md 2022-04-14 14:05:13 -05:00
tildearrow 5eb2717884 GUI: slightly tweak note preview algorithm
issue #338
2022-04-14 13:54:47 -05:00
tildearrow 11516d7923 GUI: allow cursor movement when stepping 2022-04-14 03:05:58 -05:00
tildearrow 55e085b148 GUI: separate current order from engine order
fixes #105
2022-04-14 02:58:29 -05:00
tildearrow 9795bca2ca fix audio export not aborting in per-channel mode 2022-04-14 02:26:47 -05:00
tildearrow cc1933dcbb export ExtCh op channels as a group
in per-channel audio export
2022-04-14 02:16:08 -05:00
tildearrow 8ce8e87922 VERA: halve PCM volume
this should be good
2022-04-14 02:04:18 -05:00
tildearrow 3707a86f42 VERA: 4x the volume 2022-04-14 01:51:21 -05:00
tildearrow 0e2ecaf6be add setting to disable scrollChangesOrder
it's kinda unreliable at the moment
2022-04-14 01:25:21 -05:00
tildearrow d6333af330 GUI: unreliable version of #63 2022-04-13 18:16:55 -05:00
tildearrow 720f046f28 GUI: implement no-nibble-push value input 2022-04-13 17:42:55 -05:00
tildearrow e86174921b GUI: partially add a piano 2022-04-13 03:24:49 -05:00
tildearrow 2e2fafd878 GUI: add metronome volume setting 2022-04-13 02:29:07 -05:00
tildearrow 2cd454a59d major warning dialog changes
it makes more sense now. closes #321
2022-04-13 02:09:59 -05:00
tildearrow 75f99cfb09 update credits 2022-04-13 00:37:48 -05:00
tildearrow fd723763f6 fix serious issue! 2022-04-13 00:35:38 -05:00
tildearrow fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow aab7cf2512 oops 2022-04-12 23:03:24 -05:00
tildearrow ff75c7fe01 GUI: implement macro line drawing 2022-04-12 23:03:20 -05:00
tildearrow 9bd8aef538 SMS: fix note slides on upper notes
hopefully this doesn't break anything
2022-04-12 21:30:35 -05:00
tildearrow 45f14a951a GUI: add Colorize instrument editor using instrume
nt type option
2022-04-12 21:30:12 -05:00
tildearrow 152d05dbfc GUI: add "separate car/mod colors" to FM editor
and other improvements
2022-04-12 18:26:25 -05:00
tildearrow 8facb43081 GUI: change behavior of play buttons 2022-04-12 17:01:41 -05:00
tildearrow 25c5c97c47 GUI: add YM2414 to system presets 2022-04-12 16:12:32 -05:00
tildearrow 8702effbb9 prepare for storing other details 2022-04-12 15:39:01 -05:00
tildearrow bc3e64726e prepare for "select instruments to load" dialog 2022-04-12 15:38:40 -05:00
tildearrow 17d06de55c allocate SCC+ channel ID 2022-04-12 15:13:02 -05:00
tildearrow bd49daad48 another format.md update 2022-04-12 15:06:11 -05:00
tildearrow b69b456ef8 update format.md 2022-04-12 14:57:55 -05:00
tildearrow 40451cc039 GUI: update credits 2022-04-12 04:36:45 -05:00
tildearrow a20861559b implement .dmc loading 2022-04-12 03:34:53 -05:00
tildearrow dae7a9a099 GUI: add "Create instrument from sample" option 2022-04-12 03:00:57 -05:00
tildearrow 3b0be2c42a GUI: focus sample editor when clicking on waveform 2022-04-12 02:46:51 -05:00
tildearrow ea463e4dfd
Merge pull request #352 from OPNA2608/add/ff_import
Add FF bank import
2022-04-12 02:43:16 -05:00
tildearrow a5339bd37d Merge branch 'BlastBrothers-compact-sample-editor' 2022-04-12 02:40:18 -05:00
tildearrow 5a5f800297 GUI: deduplicate a lot of code 2022-04-12 02:39:03 -05:00
tildearrow ffef40c098 GUI: clampSetting() for sample layout 2022-04-12 02:24:42 -05:00
tildearrow 0ae414da01 Merge branch 'compact-sample-editor' of https://github.com/BlastBrothers/furnace into BlastBrothers-compact-sample-editor 2022-04-12 02:21:53 -05:00
tildearrow 455cccdef0 GUI: sample improvements
- resample change C-4 note
- add duplicate option
2022-04-12 02:15:12 -05:00
tildearrow 3d94aef14b WaveSynth: remove to-do 2022-04-12 01:51:45 -05:00
tildearrow 9baa261253 GUI: reduce initial oscilloscope latency 2022-04-12 01:51:15 -05:00
tildearrow 463090717b Amiga: what the hell? 2022-04-12 01:26:14 -05:00
tildearrow 24209c7853 dev82 - amiga wavetables
closes #16 (yay!)
2022-04-12 01:19:00 -05:00
tildearrow 014e86d3d1 add missing license headers 2022-04-12 00:18:29 -05:00
tildearrow e77ecfd04b N163: implement wave synth
I hope this does not break any songs
2022-04-12 00:17:34 -05:00
tildearrow 0ea6437a86
Merge pull request #362 from BlastBrothers/master
OPLx / OPLL envelope graphs reflect the state of sustain and/or EGS flags
2022-04-11 22:41:26 -05:00
tildearrow 261bc58347 Merge branch 'cam900-ins_fix' 2022-04-11 22:39:04 -05:00
tildearrow ef5953cda5 don't store the upper 24 bits of FM macro values
those are unnecessary (no FM parameter ever goes above 255)
2022-04-11 22:37:34 -05:00
tildearrow 456be8a08f Merge branch 'ins_fix' of https://github.com/cam900/furnace into cam900-ins_fix 2022-04-11 22:36:13 -05:00
BlastBrothers 0771cdcdae Add in the alternate editor as an option 2022-04-11 22:14:20 -04:00
BlastBrothers 93b87cc65d Sample preview can only be so tall now 2022-04-11 21:51:43 -04:00
BlastBrothers f362b1288c Add (currently useless) menu option ofr compact editor 2022-04-11 21:27:23 -04:00
BlastBrothers f6381771a9 Revert "Thin sample editor"
This reverts commit 8a2bf3ae39.
2022-04-11 20:16:51 -04:00
BlastBrothers 61715fd8b0 Revert "Rearrange buttons"
This reverts commit 052a0923fe.
2022-04-11 20:15:46 -04:00
BlastBrothers af2b19ae62 Revert "Sample preview has maximum y height relative to x"
This reverts commit 1151db5091.
2022-04-11 20:15:03 -04:00
BlastBrothers 1d14ca2d88
Merge branch 'tildearrow:master' into master 2022-04-11 19:51:31 -04:00
tildearrow 8407a7d3a4 add several TODO comments
self-note: check this one after you come back!
2022-04-11 18:12:05 -05:00
BlastBrothers 83baae92d9 Now it works ofr OPLL too, plus global sus 2022-04-11 17:26:40 -04:00
tildearrow b5472fb52e third attempt 2022-04-11 13:36:02 -05:00
tildearrow 1adc7753be second attempt 2022-04-11 13:08:12 -05:00
BlastBrothers 62ea469600 Works for OPLx 2022-04-11 13:55:20 -04:00
tildearrow 1abfa0644b oops 2022-04-11 12:49:43 -05:00
LoKiToon c4cf6dc58a
Add files via upload 2022-04-11 20:20:18 +03:00
LoKiToon 10594c57cd
Merge branch 'tildearrow:master' into master 2022-04-11 20:18:47 +03:00
BlastBrothers 0094e75bcf Pass sus to drawFMEnv- but is this the right var? 2022-04-11 12:15:11 -04:00
BlastBrothers 72632b9b72
Merge branch 'tildearrow:master' into master 2022-04-11 10:15:47 -04:00
cam900 0bba063437 Fix possibly breaks instrument loading 2022-04-11 21:15:52 +09:00
cam900 a454afcd19 Fix possible instrument loading fix 2022-04-11 21:08:58 +09:00
tildearrow 128fc596cb GUI: wait what? 2022-04-11 04:07:01 -05:00
tildearrow 224d8e11e5 GUI: add some oscilloscope settings 2022-04-11 03:34:38 -05:00
tildearrow 7bb0743598 GUI: fix file path corruption on sys file picker 2022-04-11 03:14:12 -05:00
tildearrow ac286fc8d1 GUI: real-time color setting preview 2022-04-11 02:53:21 -05:00
tildearrow 7905b813e0 GUI: TableSetupScrollFreeze() for log view 2022-04-11 02:45:02 -05:00
tildearrow 283d74c32f GUI: friendlier name for N163 TDM disable 2022-04-11 02:39:06 -05:00
tildearrow d2a8b028e8
Merge pull request #354 from cam900/n163_demultiplex
Add support of N163 demultiplexed output
2022-04-11 02:38:17 -05:00
tildearrow 45f1c82779 sorry 2022-04-11 02:05:58 -05:00
tildearrow d485411727 hopefully fix Windows build 2022-04-11 02:01:23 -05:00
tildearrow 39784bc7c2 YMU759 samples at 48KHz 2022-04-11 01:58:41 -05:00
tildearrow 8a49522e59 beta 1-3 .dmf loading
i did it
2022-04-11 01:41:45 -05:00
tildearrow 9e0e725802 Sorry but I think I'd like to go now. 2022-04-11 00:12:24 -05:00
tildearrow 92b8703574 try fixing the build
if this doesn't work then goodbye Date
2022-04-10 23:20:25 -05:00
tildearrow 7f3d053e31 . 2022-04-10 23:15:31 -05:00
tildearrow 447721eae3 CI: don't be verbose
i spend too much time scrolling through the logs
2022-04-10 23:15:06 -05:00
tildearrow 234e98cb54
Merge pull request #357 from ActualNK358/master
Demo Song update: Fixing typo and crediting arranger
2022-04-10 23:13:36 -05:00
Alex 20a1bc1f43
Merge branch 'tildearrow:master' into master 2022-04-10 23:03:41 -05:00
Alex 1d2c08bbf2
Demo Song update: Fixing typo and crediting arranger 2022-04-10 23:03:33 -05:00
tildearrow 552967246d **SUBMODULE UPDATE - PLEASE READ!**
as of now I have added the Date library as a submodule in order to have
log messages in the correct time zone

please update your submodules by doing:
```
git submodule update --init --recursive
```
2022-04-10 23:01:55 -05:00
tildearrow 6b627ab885 TOOK 2022-04-10 22:16:42 -05:00
tildearrow fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
tildearrow 4ae13c15e6 get rid of <list> 2022-04-10 18:07:30 -05:00
tildearrow 09dec38407 Merge branch 'macro' (#353) 2022-04-10 17:26:15 -05:00
tildearrow 5f526f4b6e add playSub time log 2022-04-10 17:24:41 -05:00
tildearrow 51761bc6df part 3 - C64 mishap 2022-04-10 16:53:43 -05:00
tildearrow 51207e58ad part 2 - finally 2022-04-10 16:52:03 -05:00
tildearrow c13358d96f part 1 2022-04-10 15:31:32 -05:00
tildearrow 5d4f297b45 Merge branch 'macro' of https://github.com/cam900/furnace into macro (#353) 2022-04-10 14:21:10 -05:00
tildearrow c42c524c19
Merge pull request #355 from tildearrow/revert-336-MAHBOD-85-demo-song
Revert "Demo Song: YKY demo 100hz update"
2022-04-10 13:49:20 -05:00
tildearrow e3650906a0 Revert "Demo Song: YKY demo 100hz update (#336)"
This reverts commit 62fe2433ce.
2022-04-10 13:49:06 -05:00
Mahbod-Karamoozian 62fe2433ce
Demo Song: YKY demo 100hz update (#336)
800hz was unnecessary
2022-04-10 16:03:35 +02:00
OPNA2608 91d8c48542 Add FF bank import 2022-04-10 14:16:33 +02:00
cam900 86b523a83e Revert unnecessary changes 2022-04-10 20:24:31 +09:00
cam900 e6d74766ca Add support of N163 demultiplexed output
so, there's to way for reduce N163 noises: reduce channel limit and demultiplex
* channel limit is runtime changeable and it makes some usable effects with disable demultiplex
* demultiplex is used for "non-ear destroyable" emulators, but less hardware accurate. (when LPF and RF filter is not considered)
Furnace support both after this, You can choose output behavior via configuration flag.
2022-04-10 20:22:49 +09:00
cam900 9a6127e4c1 Change macro 2022-04-10 18:47:32 +09:00
cam900 78b88d61ce Fix format breaking 2022-04-10 18:45:55 +09:00
cam900 075ec9b6de Read and Write this 2022-04-10 18:38:48 +09:00
cam900 518841c17e Fix FM layout in "Compact" mode, Prepare for per-operator on/off control on FM (possibly controllable with phase reset macro?) 2022-04-10 18:36:04 +09:00
cam900 b167034e06 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 17:29:36 +09:00
cam900 2e6193706a Fix value fill 2022-04-10 17:26:50 +09:00
tildearrow e23dcd6e1b implement hard reset on OPM/OPZ/OPNB 2022-04-10 03:04:31 -05:00
cam900 228822e19e Fix signed type issue 2022-04-10 16:43:32 +09:00
cam900 68cf969600 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 16:34:23 +09:00
cam900 55639747ee Make GCC happy 2022-04-10 16:32:58 +09:00
tildearrow 570c43e332 GUI: follow cursor when pasting 2022-04-10 02:20:16 -05:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
cam900 4b912fd145 Code style 2022-04-10 15:50:59 +09:00
cam900 eb05310d37 Fix issue in instrument editor 2022-04-10 15:49:26 +09:00
cam900 13bdf2d86d Prepare for FMS2, AMS2 macro for YM2414 2022-04-10 15:16:51 +09:00
cam900 ae4f005d67 Merge remote-tracking branch 'upstream/master' into macro
# Conflicts:
#	src/engine/platform/c64.cpp
#	src/gui/insEdit.cpp
2022-04-10 14:47:10 +09:00
cam900 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow 0eb02422d5 fix possible pattern crash
issue #325
2022-04-09 18:25:38 -05:00
tildearrow 38ca437190 DC offset improvements 2022-04-09 18:25:25 -05:00
tildearrow 46bf69769b
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
Resolve/Mute MSVC warnings, enable WAE for MSVC
2022-04-09 15:26:58 -05:00
OPNA2608 366a7a24a0 Decide amount of build cores on CI based on platform
GitHub-hosted macOS runners actually get 3 cores instead of 2, according to https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
2022-04-09 21:22:25 +02:00
OPNA2608 b6fb3820da Remove unneeded includes
Some are harmless, some screw with SDL's standard includes due to preceeding `_USE_MATH_DEFINES`.
2022-04-09 21:10:15 +02:00
OPNA2608 ae4968318e Tell SDL headers in MSVC build that we have a libc 2022-04-09 21:10:00 +02:00
OPNA2608 d5b07aa347 Move icon_enum_callback to separate function 2022-04-09 13:32:40 +02:00
tildearrow 11cdc3924d GUI: improve oscilloscope
it's not finished yet
2022-04-09 05:02:24 -05:00
OPNA2608 194ba95633 Fix C4229
Move calling convention modifier for icon callback lambda in pfd, MSVC wasn't quite happy with this.
2022-04-09 11:23:19 +02:00
OPNA2608 16ad29ae7a Fix C4293: '<<': shift count negative or too big, undefined behavior
MSVC seems kinda braindead: https://reviews.llvm.org/D41030#952363
2022-04-09 10:54:06 +02:00
OPNA2608 4c19a973ef Fix for C4805: '|': unsafe mix of type 'unsigned char' and type 'bool' in operation 2022-04-09 10:54:06 +02:00
OPNA2608 82d893082c Fix for C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 2022-04-09 10:54:06 +02:00
OPNA2608 43b12c1ca5 Ignore C4244, C4305 & C4309 2022-04-09 10:54:06 +02:00
OPNA2608 d4fbebf478 Lower MSVC warning level to 2 (significant), enable WAE on CI 2022-04-09 10:54:04 +02:00
tildearrow 785ac8d1a7 small oscBuf fix 2022-04-09 02:45:06 -05:00
tildearrow 7bf2a3ea1a GUI: prepare for oscilloscope improvements 2022-04-09 02:42:58 -05:00
tildearrow 320250b831 MIDI out improvements 2022-04-09 01:50:44 -05:00
tildearrow 9e0e8f3345 dev80 - increase song limits
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow ff0c1f427f Merge branch 'OPNA2608-ci/push_artifacts' 2022-04-08 16:32:27 -05:00
tildearrow 0aef54400d exclude Windows/macOS from system lib build in CI 2022-04-08 16:30:08 -05:00
tildearrow 610519c9a7 Merge branch 'ci/push_artifacts' of https://github.com/OPNA2608/furnace into OPNA2608-ci/push_artifacts 2022-04-08 16:25:14 -05:00
tildearrow 09c90bc5d2 Merge branch 'freq-mod-freq-mod-docs2' 2022-04-08 16:12:18 -05:00
tildearrow 7e4890d0ea effects back on its orig place for now 2022-04-08 16:10:49 -05:00
tildearrow 0b7c4c71c8 Merge branch 'freq-mod-docs2' of https://github.com/freq-mod/furnace into freq-mod-freq-mod-docs2 2022-04-08 16:09:27 -05:00
tildearrow ed61b2ecee , 2022-04-08 16:04:28 -05:00
tildearrow 0fcc73b6c6 WaveSynth: implement more effects 2022-04-08 16:03:54 -05:00
freq-mod c381b60143
Update saa1099.md 2022-04-08 23:03:02 +02:00
freq-mod e10a410cf1
some docs improvemets 2022-04-08 22:59:51 +02:00
freq-mod 89455959fc
slightly improve fds docs 2022-04-08 22:34:13 +02:00
OPNA2608 5474f6899f Merge CI phases 2022-04-08 22:10:23 +02:00
OPNA2608 3fbcc6be57 Build x86 & x86_64 on Windows CI 2022-04-08 20:37:08 +02:00
OPNA2608 759b5ab7d1 Don't install brew dependencies in package CI run 2022-04-08 20:16:42 +02:00
OPNA2608 28682b79d1 Build with system libs in first run 2022-04-08 20:16:42 +02:00
OPNA2608 fa1e3ea3e1 Fix zip-in-zip artifact upload for Windows 2022-04-08 20:16:42 +02:00
OPNA2608 54a36c4950 Fix SDL static linking 2022-04-08 20:16:42 +02:00
OPNA2608 8483f85397 Modularise Windows arch on CI 2022-04-08 20:16:42 +02:00
OPNA2608 6c9f1c6d54 Cross-compile MinGW builds on CI 2022-04-08 20:16:42 +02:00
OPNA2608 0351388996 Add MinGW cross-compiler toolchains 2022-04-08 20:16:42 +02:00
OPNA2608 8a6dfa8d19 pfd: Fixes for MinGW 10 2022-04-08 20:16:42 +02:00
OPNA2608 5b95cf9db9 Add new CI job to prepare for artifact uploads 2022-04-08 20:16:42 +02:00
tildearrow 8e364944dc
Merge pull request #349 from cam900/patch-7
Fix loop area view in sample editor
2022-04-08 12:26:31 -05:00
tildearrow 48e8e49ba8 whoops! 2022-04-08 12:21:42 -05:00
cam900 dccd30f73c
Fix loop area view in sample editor 2022-04-09 00:42:27 +09:00
BlastBrothers 052a0923fe Rearrange buttons 2022-04-08 10:48:42 -04:00
BlastBrothers 1151db5091 Sample preview has maximum y height relative to x 2022-04-08 10:23:51 -04:00
BlastBrothers 7850e892d5
Merge branch 'tildearrow:master' into master 2022-04-08 09:44:53 -04:00
tildearrow 65f893822a dev79 - wave synth data storage
also wave synth works on swan and X1-010 now
however it's untested on X1 because i wrote it in bed
2022-04-08 04:34:39 -05:00
tildearrow 26dca41b63 FDS: wave synth 2022-04-08 02:59:58 -05:00
tildearrow 3b7e9d2929 BubSys: bring on the wave synth 2022-04-08 02:42:33 -05:00
tildearrow 62ff7317e3 GUI: effectCursorDir improvements 2022-04-08 02:16:57 -05:00
tildearrow 5bd076d13e initial bring-up of the wave synth
issue #16
2022-04-08 02:11:33 -05:00
BlastBrothers 8a2bf3ae39 Thin sample editor 2022-04-08 00:01:42 -04:00
tildearrow 0c1e2ddcb0 OPL: fix OPL2 not having waveforms 2022-04-07 20:48:34 -05:00
tildearrow 5d52ef7f00 support .dmf with 6-bit wavetables 2022-04-07 20:13:11 -05:00
tildearrow 500ce8086d GUI: initial wave synth UI 2022-04-07 18:27:17 -05:00
tildearrow 4dfe9f97fb prepare for wavetable synth 2022-04-07 15:46:48 -05:00
tildearrow 05dfec9f3d GUI: fix VRC6 saw waveform macro being displayed 2022-04-07 13:48:22 -05:00
tildearrow 3f5d0a1e46 GUI: fix paste mode binds not working 2022-04-07 02:37:19 -05:00
tildearrow 48838440ba GUI: add ability to colorize rows per highlight 2022-04-07 02:24:54 -05:00
tildearrow dab164f09e GUI: add "effect deletion alters value" setting 2022-04-07 02:02:52 -05:00
tildearrow dd6229a6b9 OPZ: more work 2022-04-07 01:44:27 -05:00
tildearrow ad09254cf4 dev78 - new compat flag that fixes ExtCh 2022-04-07 01:14:34 -05:00
tildearrow 96d45dafb2 OPZ: same 2022-04-07 01:04:35 -05:00
tildearrow e1b77d7e2b OPM: if the LFO rate is 0, don't clock the counter 2022-04-07 01:03:16 -05:00
tildearrow 78cd99af32 update ymfm 2022-04-07 00:57:52 -05:00
tildearrow b162c09f7c GUI: OPZ instrument editor work - dev77 2022-04-07 00:45:53 -05:00
tildearrow 530327383a initial OPZ bring-up
even emulation is incomplete and one thing is making me tired...
2022-04-06 22:56:06 -05:00
tildearrow 9345576fc3 MMC5: fix 12xx not working 2022-04-06 22:55:24 -05:00
tildearrow 58abed3fa1 update pattern format spec 2022-04-06 20:21:20 -05:00
tildearrow 2e327953e8 YM2610(B): AY unification
as of now the SSG part of these chips is handled by a DivPlatformAY8910
within the DivPlatformYM2610.
this means less code duplication and therefore prepares for
OPN/OPNA support.
2022-04-06 18:03:30 -05:00
freq-mod 878d3fab1f
add opensuse unofficial package to the readme
#271
2022-04-06 22:56:37 +02:00
tildearrow 6fb2a2e7f5
Merge pull request #343 from AYCEdemo/petvic
VIC-20: Make noise state consistent across inits
2022-04-06 15:06:08 -05:00
tildearrow 11c0995b23 another update 2022-04-06 14:57:05 -05:00
tildearrow b3c3bb64ef update readme further 2022-04-06 14:56:11 -05:00
tildearrow 324734c08d
Merge pull request #301 from nicco1690/patch-2
Potential README.MD formatting overhaul
2022-04-06 14:53:09 -05:00
tildearrow 743664aad1 GUI: extension check for keybinds/colors/layout 2022-04-06 14:45:58 -05:00
tildearrow 4d23c1dc6d new extension for colors and keybinds 2022-04-06 14:17:29 -05:00
tildearrow da1f34372a GUI: I forgot about layout! 2022-04-06 14:11:58 -05:00
tildearrow eb8f99dafe GUI: import/export colors/keybinds/layout
untested
2022-04-06 13:53:39 -05:00
Natt Akuma ba8ee96069 VIC-20: Make noise state consistent across inits 2022-04-06 19:11:45 +07:00
tildearrow 9d653b58b3 hopefully fix MSVC build 2022-04-06 04:24:20 -05:00
tildearrow 4a131952e4 GUI: ps_fopen 2022-04-06 02:46:09 -05:00
tildearrow 132c5007fa GUI: simplify color load/save code
they are in guiConst.cpp now too.
2022-04-06 02:30:12 -05:00
tildearrow 95ce867ce3 GUI: add mentions of FDS to wave editor 2022-04-06 02:09:53 -05:00
tildearrow 1054f92029 GUI: simplify keybind load/save code
as of now action definitions are in guiConst.cpp.
2022-04-06 01:52:58 -05:00
tildearrow 7f51f0f246 update system list in doc 2022-04-06 00:45:56 -05:00
tildearrow 91738dbf23 add MMC5 documentation 2022-04-06 00:45:26 -05:00
tildearrow 5de58e1f6d GUI: add settings for borders 2022-04-06 00:34:26 -05:00
tildearrow 2da96a7e76 initial MMC5 bring-up 2022-04-06 00:34:12 -05:00
tildearrow 280cbb3e39 FDS: possibly final work
the last thing left to do is the filter, but everything works now
2022-04-05 18:18:14 -05:00
tildearrow 4ba50b433a FDS: .dmf wavetables will be 6-bit soon 2022-04-05 15:14:48 -05:00
tildearrow e1976b96a0 TODO: modulation table 2022-04-05 14:55:17 -05:00
tildearrow 5f71857439 GUI: attempt at optimizing pattern draw code 2022-04-04 23:38:38 -05:00
tildearrow 258a905aaa harden .dmf loader
issue #325
2022-04-04 14:15:26 -05:00
tildearrow 3a7a132f02 harden Furnace file loader
issue #325
2022-04-04 14:04:36 -05:00
tildearrow 590b21bc37 GUI: prepare for FDS ins editor 2022-04-04 13:26:02 -05:00
tildearrow f89360392f GUI: add setting to customize the title bar
closes #339
2022-04-04 13:25:38 -05:00
tildearrow 81150d96fa FDS: add FDS ins type auto-detection on .dmf 2022-04-04 04:57:38 -05:00
tildearrow ccb8d3d355 dev76 - format changes
- 8 more macros
- FDS instrument data
2022-04-04 04:47:52 -05:00
tildearrow e5a162dbe6 GUI: add presets for FDS and MMC5 2022-04-04 00:48:08 -05:00
tildearrow eee2500b5c FDS: effect names and register sheet 2022-04-04 00:47:27 -05:00
tildearrow 4ec91b8b42 fix .fui instruments not loading! 2022-04-04 00:12:11 -05:00
tildearrow ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow 9ef50bbda7 GUI: fix keybinds leaking after setting them to no 2022-04-03 19:23:02 -05:00
tildearrow 90bbc42290 GUI: more usability improvements
- move cursor to end of clipboard when pasting
- better effect input
2022-04-03 19:20:30 -05:00
tildearrow d112cd0c68 what? 2022-04-03 17:22:44 -05:00
tildearrow 3a59e260d8 prepare for handling of FDS .dmf 2022-04-03 17:14:12 -05:00
Dippy0615 e1944e8f2c
Add files via upload
dev75 module
2022-04-03 17:29:09 -04:00
tildearrow d63ddda402 FDS preparation work DOES NOT COMPILE 2022-04-03 16:02:25 -05:00
tildearrow 1a7074d0e5 Furnace system IDs are no longer compatible 2022-04-03 13:54:02 -05:00
tildearrow 109f80d4da re-organize instrument loading code 2022-04-03 13:53:34 -05:00
tildearrow 82ae2bf877 fix version 9 .dmp -_- 2022-04-03 02:34:35 -05:00
tildearrow 5ff1c9d70d OPN ext ch: fix mute being overridden when seeking 2022-04-03 02:28:46 -05:00
tildearrow 6567d29450 separate instrument file ops 2022-04-03 02:15:04 -05:00
tildearrow e44d081adc prepare for .opm support
goodbye addInstrumentFromFile
hello instrumentFromFile + addInstrumentPtr

these changes are required to allow loading instrument banks
2022-04-03 01:56:49 -05:00
tildearrow 44d72c2106 GUI: add load/save/select to ins/wave editors
TODO: on sample editor
TODO: load replace instead of load insert
2022-04-02 18:22:06 -05:00
tildearrow 6c732a1891 GUI: change sample add icon to new 2022-04-02 18:21:29 -05:00
tildearrow ffb536846b fix .dmp loading 2022-04-02 17:37:43 -05:00
tildearrow fa234afc9d GUI: prepare to add a "lock layout" option 2022-04-02 15:07:47 -05:00
tildearrow b90a26a33d GUI: order view similar pattern coloring 2022-04-02 00:41:52 -05:00
tildearrow ab5ed4413e GUI: usability fixes (ctrl-wheel)
as of now Ctrl-wheel allows you to fine change sliders
also added undo/redo buttons to sample editor
2022-04-02 00:11:44 -05:00
tildearrow 81c8bf4e59 add ability to select VGM version when exporting
by default it is 1.71 but please tell me if you want this to be changed
2022-04-01 21:40:32 -05:00
tildearrow 13d08b3cb6 maybe fix another audio export crash 2022-04-01 16:31:06 -05:00
tildearrow dfb4f211c1 PC speaker: volume macro (finally) 2022-04-01 13:47:58 -05:00
tildearrow abd5dd3a12 TODO: rewrite getSystemSongName 2022-04-01 13:02:37 -05:00
tildearrow 251da3a9d0 dev75 - MIDI input improvements (mostly) 2022-04-01 05:24:35 -05:00
tildearrow ffb01dd19c Revert "release 0.6pre0"
This reverts commit f7566455c2.
2022-04-01 05:20:00 -05:00
tildearrow f7566455c2 release 0.6pre0 2022-04-01 04:45:06 -05:00
tildearrow 4b436ef1fc and more MIDI input refinements 2022-04-01 02:21:10 -05:00
tildearrow 052dcb2576 implement more MIDI stuff 2022-04-01 01:50:01 -05:00
tildearrow a08f7507fd N163: don't auto-scale volume 2022-03-31 23:11:02 -05:00
tildearrow de7a4eb2e9 GUI: better MIDI learn options 2022-03-31 22:48:46 -05:00
tildearrow a5a65d4db3 GUI: implement MIDI learn 2022-03-31 18:39:01 -05:00
tildearrow 6d1d91ca68 AY8930: add TEST register effect 2022-03-31 17:14:45 -05:00
tildearrow 2d6a3b93d8 VRC6: change default saw volume 2022-03-31 15:40:46 -05:00
tildearrow d321292543 separate VRC6 and VRC6 saw ins types 2022-03-31 15:25:58 -05:00
tildearrow f689409f02 kind of MIDI output 2022-03-31 03:33:05 -05:00
tildearrow 45ce940d66 better MIDI and note input handling
closes #147
2022-03-31 01:51:57 -05:00
tildearrow 6f3b9f2e5d VRC6: changes around volume macro 2022-03-30 22:55:55 -05:00
tildearrow a8ee4b1245 GUI: kinda working MIDI note input 2022-03-30 18:18:39 -05:00
tildearrow 501ecc063d GUI: earliest MIDI note input 2022-03-30 15:44:27 -05:00
tildearrow cb107ebbac GUI: possibly fix out-of-range notes in preview
now they should release
2022-03-30 04:49:15 -05:00
tildearrow cccf90d417 OPL: implement VGM export fake reset 2022-03-30 04:27:11 -05:00
tildearrow cc152bc3d0 OPL: partially enable VGM export
it works except for fake reset
2022-03-30 03:36:16 -05:00
tildearrow f1ee04393b GUI: fix log error if MIDI map file doesn't exist 2022-03-30 01:01:45 -05:00
tildearrow 12ade13580 SegaPCM: fix pitched samples on VGM export
fixes #291
2022-03-30 00:33:29 -05:00
tildearrow 941aab0def GUI: add ability to input waveform data in hex
closes #327
2022-03-30 00:28:49 -05:00
tildearrow fb70afe50d
Merge pull request #329 from cam900/n163_macro
Minor N163 macro fix
2022-03-30 00:28:01 -05:00
tildearrow 80d67f9b23 BubSys: fix muting 2022-03-30 00:15:42 -05:00
tildearrow af6bbf9493 OPN: fix LFO effect not working in ext ch mode 2022-03-30 00:09:53 -05:00
tildearrow 7e34c7746e change the porta logic a bit 2022-03-30 00:08:04 -05:00
tildearrow a43034f559 OPN: fix portaPause not resetting on new note 2022-03-29 23:58:50 -05:00
cam900 6eba483cba Minor N163 macro fix 2022-03-30 08:28:38 +09:00
tildearrow c7a37959f0 GUI: early MIDI action UI - COMPLETELY UNTESTED
it will crash (or not)
2022-03-29 17:38:30 -05:00
tildearrow 2921f88895 try using 0 2022-03-29 16:18:38 -05:00
tildearrow 77798f6ed7 more MIDI work... still not there 2022-03-29 16:09:15 -05:00
tildearrow c26123e782 VIC-20: wait what? 2022-03-29 14:11:57 -05:00
tildearrow 5cea8ed3e3 QSound: change volume macro formula 2022-03-29 02:28:40 -05:00
tildearrow f92eb9352d GUI: fix visual glitch when changing song length 2022-03-29 01:36:45 -05:00
tildearrow 92c1add075 GUI: prevent one possible bug when moving cursor 2022-03-29 00:37:45 -05:00
tildearrow 964039c8db fix file export crash
closes #323
2022-03-29 00:25:28 -05:00
tildearrow 4825fe7adb more work 2022-03-28 18:19:47 -05:00
tildearrow 81319e34bc error: There was a problem with the editor 'vi'. 2022-03-28 15:31:03 -05:00
tildearrow 08910d37b2 oh yes more MIDI work 2022-03-28 15:24:09 -05:00
tildearrow d8328e91a7
Merge pull request #322 from cam900/n163_initchan
Fix initial channel, Minor optimization for N163
2022-03-28 14:59:40 -05:00
cam900 1019faf34c Fix initial channel, Minor optimization for N163 2022-03-29 04:56:35 +09:00
tildearrow 3561d866fb
Merge pull request #317 from cam900/vrc6
Minor optimization
2022-03-28 13:23:52 -05:00
tildearrow f1b5a35ff5
Merge pull request #306 from cam900/preset2
Add more presets
2022-03-28 13:23:22 -05:00
tildearrow 6c36b22420
Merge pull request #320 from cam900/n163_fix
Fix N163
2022-03-28 13:22:22 -05:00
cam900 1ca63bdc09 Fix N163 2022-03-29 00:31:17 +09:00
tildearrow 0784fec5f5 what?! 2022-03-28 05:02:32 -05:00
tildearrow 5360cd73f4 earliest MIDI input! (no note input tho) 2022-03-28 03:46:50 -05:00
cam900 b11c840ed4
Merge branch 'master' into preset2 2022-03-28 12:46:52 +09:00
cam900 5060c0c140
Merge branch 'tildearrow:master' into vrc6 2022-03-28 12:39:00 +09:00
cam900 7bd39603a9 Further fix 2022-03-28 12:31:42 +09:00
tildearrow 13a8873050 VRC6: period tuning fixes
now it is identical to the NES channels
2022-03-27 22:30:29 -05:00
tildearrow 56786d96d1 Merge branch 'cam900-vrc6' 2022-03-27 22:19:08 -05:00
tildearrow 25b07fb4f1 typo fixes 2022-03-27 22:18:50 -05:00
tildearrow 4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
tildearrow 075f758e4d Namco 163 refinements 2022-03-27 22:04:01 -05:00
tildearrow c4fc797578
Merge #304 - DO NOT COMPILE
Add Namco 163 Support
Not final - changes needed
2022-03-27 21:35:58 -05:00
cam900 79d6433006 Merge branch 'master' of https://github.com/tildearrow/furnace into vrc6 2022-03-28 10:11:09 +09:00
tildearrow e5ce7c63f8 GUI: redesign FM editor layout, part 4
now with OPL and OPLL
2022-03-27 18:30:46 -05:00
tildearrow ef88fc57d8 GUI: remove invalid comment 2022-03-27 16:35:55 -05:00
tildearrow a7647a1d57 nice troll 2022-03-27 13:38:28 -05:00
cam900 5c922a090e Fix enable bit correction 2022-03-28 01:43:43 +09:00
cam900 44b4c5c5aa Spacing 2022-03-28 01:23:52 +09:00
cam900 5c5c9199c7 Channel enable bit is inverted 2022-03-28 01:22:24 +09:00
cam900 c430d24d2f VRC6 has internal timer 2022-03-28 01:12:44 +09:00
cam900 ef104ce0b0 Add VRC6 support
2 Pulse channels:
- 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume.
- Furnace support PCM playback in pulse channels with duty cycle ignore mode.

Sawtooth:
- nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic).

VRC6 instrument:
- 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels.

Duty, PCM mode command and Duty macro affects for pulse channel only.
2022-03-28 01:06:56 +09:00
tildearrow 09b5dd556e GUI: add setting to change position of SL slider 2022-03-27 03:38:04 -05:00
tildearrow f7d7b00e93 GUI: redesign FM editor layout, part 3 2022-03-27 03:29:45 -05:00
tildearrow 47d7a28d0f Merge branch 'master' of github.com:tildearrow/furnace 2022-03-27 02:31:57 -05:00
tildearrow 688190db91 improve VIC-20 doc 2022-03-27 02:31:03 -05:00
freq-mod 062e85af50
fix a critical vic20 documentation error 2022-03-27 09:29:53 +02:00
tildearrow 5dac609d92 Genesis: better DAC write algorithm
only write DAC if there aren't too many queued writes
2022-03-27 01:47:27 -05:00
tildearrow 1c98748a88 GUI: redesign FM editor layout, part 2 2022-03-27 01:38:24 -05:00
tildearrow a58c6da19d Amiga: oops 2022-03-27 00:29:37 -05:00
tildearrow 08dd693fa0 Amiga: add AM/PM effects 2022-03-27 00:02:17 -05:00
tildearrow 154ef3f9a3 Amiga: filter emulation 2022-03-26 23:39:20 -05:00
tildearrow b514ee30da MOD import: non-linear pitch 2022-03-26 22:34:11 -05:00
tildearrow 9b6e582f8d dev72 - two more compat flags 2022-03-26 22:15:15 -05:00
tildearrow 5c11150b87 T O D O 2022-03-26 21:43:15 -05:00
tildearrow 00876a461a update effect list 2022-03-26 21:16:15 -05:00
tildearrow 3ea9c0360f implement F3xx and F4xx for fine vol slides 2022-03-26 20:58:33 -05:00
tildearrow 73536c0691 AY: add effects to write to I/O ports 2022-03-26 20:55:43 -05:00
tildearrow e143359b74
Merge pull request #313 from nicco1690/patch-3
Create VIC-20 documentation
2022-03-26 20:36:16 -05:00
nicco1690 8c6c3f1707
Add the VIC-20 to the systems list in README.md 2022-03-26 21:34:32 -04:00
nicco1690 1022d64bd0
Create VIC-20 documentation
funny low-pass sound chip waves go brr
2022-03-26 21:32:29 -04:00
tildearrow 7237e8fb39 GUI: add a space
i am lazy
2022-03-26 18:30:08 -05:00
tildearrow 4caa9376bc GUI: what 2022-03-26 17:30:26 -05:00
freq-mod 1a4290f1c3
somewhat improved system descriptions 2022-03-26 19:55:20 +01:00
tildearrow 79150de1ff
Merge pull request #312 from AugiteSoul/patch-1
X1-010 documentation: cleaned up grammar, mostly
2022-03-26 13:51:15 -05:00
tildearrow d869c21f52 oops I forgot to commit! 2022-03-26 13:47:13 -05:00
AugiteSoul 2489428795
Cleaned up grammar, mostly
Might need some changes after this considering some lines were rather confusing - I don't actually know much about how this chip works exactly
2022-03-26 19:37:07 +01:00
tildearrow 26791df58e GUI: redesign FM editor layout, part 1
thanks Raijin for the concept
2022-03-25 18:16:47 -05:00
cam900 dc62c8610c SAA1099 in CMS/Game Blaster and Compatible isn't hard panned per chip
Info: http://hackipedia.org/browse.cgi/Computer/Platform/PC%2c%20IBM%20compatible/Sound%20and%20Music/Creative%20Labs/Game%20Blaster/C%e2%88%95MS%20Programming%20Information%20by%20Creative%20Labs%20%281990%29.pdf , VGMs recorded from CMS/Game Blaster
2022-03-26 02:24:58 +09:00
cam900 ae17f7e616 NES with Family Noraebang
An Karaoke unit connectable for NES cartridge slot.
And, sure. It is unlicensed.
2022-03-26 00:47:39 +09:00
Zumi 63c5a9f6c0
submit a demo song 2022-03-25 19:55:52 +07:00
tildearrow 5f7078db42 bang bang bang 2022-03-25 03:41:43 -05:00
tildearrow 0687a6f217 this stupid effect 2022-03-25 03:18:44 -05:00
tildearrow ed857b20c4 potentially breaking change: better freq formula
now using a 4096-entry-long table for calculating final period/frequency
see issue #303
2022-03-25 02:52:41 -05:00
tildearrow 03da02711a OPLL: it's tested now. works
last thing to do is to restore drum pitches
2022-03-25 02:10:57 -05:00
tildearrow 6e35640537 GUI: less annoying PET waveform view 2022-03-25 02:10:44 -05:00
tildearrow d2a78295ce OPLL: wooooow how did this break 2022-03-25 01:42:04 -05:00
tildearrow ea49c760c5 OPLL: part 1 of fixing drum volumes 2022-03-24 04:53:09 -05:00
tildearrow 7f39ec723a SMS: overdrive 2 fixes
nice
2022-03-24 01:27:53 -05:00
tildearrow bd36a4ffdc dev71 - more compatibility flags for .mod 2022-03-23 23:57:10 -05:00
cam900 168577e4b9
Revert preset 2022-03-24 13:49:41 +09:00
cam900 6f18be3ede Add presets:
Standalone OPLs

Sound Blaster Pro 1.0
Earliest Sound Blaster Pro has 2 OPL2s, it supports stereo like successor but with hardpanned OPL2: one for Left output and one for Right output.

PC-FXGA
PC-FX, SuperGrafx on steroids, Released at December 1994 in NEC.
PC-FXGA is PC add-on card version of PC-FX for IBM PC and PC-98. It's released at 1995 with 3D acceleration - it lacks at original PC-FX console.

SAAYM
Modern CMS/Game Blaster Compatible PC ISA sound card with YM2151 addon. Commander X16 will be use its configuration but SAA in X16 is finally replaced to VERA.

Seta 1 + FM Addon
X1-010 and YM3438, Both driven by Z80. Ultra Toukon Densetsu used this configuration.
2022-03-24 13:46:35 +09:00
tildearrow ece34990e5 several pitch fixes and stuff
pull request #303
2022-03-23 23:19:16 -05:00
cam900 39654bfa86 Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 13:11:22 +09:00
tildearrow 3ed38aca5e GUI: allow customization of file picker colors 2022-03-23 22:32:36 -05:00
tildearrow b292fcc646 YM2151: implement song tuning 2022-03-23 22:16:25 -05:00
tildearrow 47d7722f6e add a new log level (trace) 2022-03-23 22:05:09 -05:00
tildearrow 711b60d454 improved mutex locking - less xruns when seeking
especially in JACK and macOS
2022-03-23 21:38:28 -05:00
tildearrow 11d9ce3f87 what is going on 2022-03-23 17:00:40 -05:00
tildearrow 6492eeff56 GUI: proper sample errors 2022-03-23 16:39:08 -05:00
tildearrow 5a08e0d230 OPLL: add patch macro 2022-03-23 15:50:18 -05:00
cam900 df8f40486d Fix frequency, Loading waveform, Add instrument tab for waveform initialize
now for saving DivInstrumentN163 struct is... needs to compatibility breaks?
2022-03-24 03:53:07 +09:00
cam900 e8d567d3df Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 03:22:33 +09:00
tildearrow ac79e7d6af add broken speed alternation flag - dev70 2022-03-23 01:35:57 -05:00
tildearrow afc701b0b9 GUI: sample edit undo/redo!
it seems to work but if you find bugs/crashes tell me
2022-03-23 00:42:59 -05:00
tildearrow f45273c89c OPL: better 4-op channel naming 2022-03-23 00:04:47 -05:00
tildearrow 2c05d56ab2 prepare for sample undo/redo 2022-03-22 18:36:29 -05:00
tildearrow 519dd7f2dd GUI: aaand more sample editor work
now it has a right click menu
2022-03-22 18:05:32 -05:00
tildearrow 8e0119b2d3 GUI: more sample editor fixes 2022-03-22 17:33:54 -05:00
tildearrow 97926c4e5c GUI: update sample texture 2022-03-22 17:04:36 -05:00
tildearrow 7ebc63a514 GUI: implement sample paste 2022-03-22 17:01:06 -05:00
tildearrow a199c102ce GUI: hopefully better workaround to macOS #4 2022-03-22 15:37:36 -05:00
cam900 73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
tildearrow c24ad24a03
Merge pull request #302 from AYCEdemo/petvic
Add VIC-20 support
2022-03-22 13:25:21 -05:00
cam900 4ba65d3906 Fix spacing 2022-03-23 03:17:06 +09:00
cam900 abb5f03143 System docs 2022-03-23 03:16:20 +09:00
cam900 2eaa6ed0ce Merge branch 'master' of https://github.com/tildearrow/furnace into n163
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatchContainer.cpp
#	src/gui/gui.cpp
#	src/gui/insEdit.cpp
2022-03-23 02:44:13 +09:00
cam900 5fdce33b11 Add Namco 163 Support 2022-03-23 01:48:45 +09:00
tildearrow 705ba4273b GUI: sample editor keybinds
works
2022-03-22 04:54:01 -05:00
Natt Akuma feb138cefc Add VIC-20 support 2022-03-22 14:48:48 +07:00
tildearrow f4f91ca49e GUI: ability to customize toggle button color 2022-03-22 01:57:06 -05:00
tildearrow 73d2f97274 GUI: fix visualizer option in menu 2022-03-22 01:34:53 -05:00
tildearrow 6dbc46d50e GUI: prevent editing non-8/16-bit samples 2022-03-22 01:21:13 -05:00
tildearrow 6c10c269a1 VERA: Furnace does support stereo for panning 2022-03-22 01:18:22 -05:00
tildearrow bfadb3b5cf OPL: oopsie. 20xx effect doesn't exist 2022-03-22 01:06:26 -05:00
tildearrow 3b63ca9455 update ay8930.md 2022-03-22 01:06:13 -05:00
tildearrow ae3165dbb4 system doc work 2022-03-22 00:58:07 -05:00
tildearrow 8ae0796f00 now add it to the list 2022-03-22 00:17:00 -05:00
tildearrow 2589709d1a add doc for VERA chip 2022-03-22 00:16:19 -05:00
tildearrow 848da5bcc5 VERA: 0 to 3F 2022-03-22 00:13:28 -05:00
tildearrow a1969d30f6 rename x1_010 to x1-010 2022-03-22 00:06:57 -05:00
tildearrow 16fe199cb2 scale loop when resampling 2022-03-21 23:54:01 -05:00
tildearrow 13eb0f96f1 double facepalm 2022-03-21 23:48:18 -05:00
tildearrow e256efa641 GUI: add option to load Japanese chars
issue #52
2022-03-21 23:36:17 -05:00
nicco1690 1996913214
Change README.MD to be better
Didn't let me fit "change README.MD according to Tildearrow's suggestions" :P
2022-03-21 22:58:07 -04:00
tildearrow bd84dc1c17 GUI: make clang happy 2022-03-21 21:48:36 -05:00
tildearrow cec5def347 what?
unacceptable.
2022-03-21 21:47:27 -05:00
nicco1690 333051f82e
Potential README.MD formatting overhaul
I didn't like the way that the original README.MD was formatted, so I decided to change some of it to make it more consistent and be more clear.
2022-03-21 22:34:50 -04:00
tildearrow 322981b021 maybe fix possible crash regarding smp loop points 2022-03-21 21:26:36 -05:00
tildearrow 7f36cabb42 update README.md 2022-03-21 17:59:48 -05:00
tildearrow 6050fc7208 one more race condition fix 2022-03-21 17:56:48 -05:00
tildearrow 80927b80b1 fix build 2022-03-21 17:38:11 -05:00
tildearrow 7e5c27c5b7 GUI: massive code split
gui.cpp now less than 3000 lines
2022-03-21 17:34:43 -05:00
tildearrow e62f9bffd3 GUI: re-organize code
ins/wave/sample lists now in dataList.cpp
wave editor now under its own file
2022-03-21 16:34:19 -05:00
tildearrow cbbca2d6c8 GUI: no mention of PET in wave edit 2022-03-21 16:22:43 -05:00
tildearrow 948d585767
Merge pull request #300 from AYCEdemo/petvic
Add PET support
2022-03-21 16:20:55 -05:00
tildearrow 1003d9fcb8 GUI: more "modified" status situations
fixes #236
2022-03-21 16:17:51 -05:00
tildearrow 0a114b1168 GUI: don't allow direct saving to the backup file 2022-03-21 14:47:10 -05:00
tildearrow 6dc231917c add Nix package link 2022-03-21 14:35:04 -05:00
tildearrow 854d0fea48 GUI: add option to restore backup 2022-03-21 14:32:33 -05:00
tildearrow 8c961f0aae add backup functionality - UNTESTED 2022-03-21 14:11:28 -05:00
Natt Akuma c32ea59285 PET: Use wave bits macro instead 2022-03-22 01:37:22 +07:00
Natt Akuma 47c5c34e1c Add PET support 2022-03-21 21:02:51 +07:00
tildearrow b45d2be312 GUI: sample editor almost complete
only keybinds are missing
2022-03-21 03:45:20 -05:00
tildearrow 2df7658fd0 GUI: implement sample sel operations
plenty of them
2022-03-21 02:43:52 -05:00
tildearrow a68dbed760 GUI: add options for rounded UI elements 2022-03-21 00:52:38 -05:00
tildearrow b83b46aa2c GUI: more sample editor work
scrollbar and some layout changes
2022-03-21 00:41:18 -05:00
tildearrow 20799402c8 GUI: select all is vertical now 2022-03-20 22:22:10 -05:00
tildearrow 21b15d686b GUI: prevent typing out-of-range notes
cope
2022-03-20 22:16:20 -05:00
tildearrow ef3bf8f924 GUI: display sample selection - NOT FINISHED 2022-03-20 18:31:25 -05:00
tildearrow b04e1f2870 GUI: implement sample draw 2022-03-20 18:25:48 -05:00
tildearrow 1941ca3616 fix crash on sample preview at low rate 2022-03-20 13:36:48 -05:00
tildearrow bdc29455cc GUI: one more change to the status bar 2022-03-20 05:19:23 -05:00
tildearrow b7fd410c1f GUI: temporarily hide BRR sample type 2022-03-20 05:19:04 -05:00
tildearrow 9a94b7124d GUI: creditssss 2022-03-20 04:42:23 -05:00
tildearrow a0dbc7acaf
Merge pull request #299 from AYCEdemo/x16
VERA: Implement PCM playback (again)
2022-03-20 04:40:04 -05:00
tildearrow 34e679d642
Merge pull request #298 from djtuBIG-MaliceX/feature/OPL_SBI_Instrument_Import
OPL1/2/3 Instrument Import - SBI and S3I (Adlib only) format
2022-03-20 04:39:52 -05:00
tildearrow 299dbf14e4 GUI: sample editor status bar 2022-03-20 04:28:57 -05:00
tildearrow 03cb910e93 GUI: sample resampling 2022-03-20 03:14:00 -05:00
James Alan Nguyen 5e005262a5 `SEEK_END` is correct - revert accidental change there. 2022-03-20 17:18:54 +11:00
James Alan Nguyen cbe74b26ad More #79 - Add S3I Adlib instrument support. Also fix SafeReader `SEEK_CUR` handling (wasn't used at all). 2022-03-20 17:12:03 +11:00
tildearrow 90a18611cd sys flags: don't play when song is stopped 2022-03-19 22:03:12 -05:00
tildearrow 4593e33064 GUI: fix X1-010 flags 2022-03-19 22:02:21 -05:00
tildearrow 607a347b7a X1-010: don't pan in mono mode 2022-03-19 21:59:19 -05:00
tildearrow 67ca88b478 GUI: prepare for sample select/draw 2022-03-19 16:14:11 -05:00
James Alan Nguyen 629049dea0 Redundant if-statement 2022-03-20 05:50:22 +11:00
James Alan Nguyen 5396889195 Missed feedback for 4op block 2022-03-20 01:04:38 +11:00
James Alan Nguyen efdedd1044 Fix typo 2022-03-20 01:02:34 +11:00
Natt Akuma 6df3d1e0df VERA: Implement PCM playback (again) 2022-03-19 20:59:17 +07:00
James Alan Nguyen b1a0aa86ef Instrument File Import support for 2op SBI, 4op SBI, and Freq Monster 801 SBI format (4op portion only). 2022-03-20 00:55:34 +11:00
James Alan Nguyen e032580639 Started SBI import work (Issue #79 SBI task). Also ensure catch by reference not value. 2022-03-20 00:55:34 +11:00
tildearrow 689ed3bf65 sample editor workkkkkkk 2022-03-19 03:42:44 -05:00
tildearrow c59c176de2 W O R K A R O U N D
adding text fixes the issue
2022-03-17 23:28:01 -05:00
tildearrow 6c5e6c2a0f
Merge pull request #294 from cam900/bubsys
Reduce naming confusion in Bubble System Wavetable Sound
2022-03-17 22:03:24 -05:00
tildearrow a5906c6482 GUI: update credits 2022-03-17 22:03:14 -05:00
tildearrow 1de3ffdf0d
Merge pull request #296 from ActualNK358/master
Yet another demo song
2022-03-17 22:00:50 -05:00
Alex bb955e22ee
Yet another demo song 2022-03-17 21:24:00 -05:00
tildearrow 1af6eb21f6 freaking clang extension 2022-03-17 18:30:28 -05:00
tildearrow 5f0c1e9077 GUI: more sample editor work 2022-03-17 18:28:56 -05:00
tildearrow 07624f6012 fix DPCM to 16-bit 2022-03-17 18:15:44 -05:00
tildearrow b31ab408db GUI: new sample editor work 2022-03-17 18:08:59 -05:00
tildearrow 8ee7efc8a0 update format 2022-03-17 16:39:01 -05:00
tildearrow d63f3d311b fix arpeggio not resetting note to base on 0000 2022-03-17 16:37:49 -05:00
tildearrow 9dea093052 GUI: reduce scroll boundaries 2022-03-17 16:17:33 -05:00
tildearrow c264678fdc dev68 2022-03-17 14:35:38 -05:00
tildearrow 90a4fefc76 Revert "change default patch"
This reverts commit 5d6bbce916.
2022-03-17 14:32:01 -05:00
cam900 a7c750a44e Merge branch 'master' of https://github.com/tildearrow/furnace into bubsys 2022-03-18 03:20:33 +09:00
Natt Akuma 242d188580 Remove unused instrument and change tempo 2022-03-17 19:40:55 +07:00
tildearrow 3c1b1b69fc GUI: define sample edit texture 2022-03-17 03:43:02 -05:00
tildearrow d6dfe2636a OPL: implement fixed frequency mode 2022-03-17 02:40:10 -05:00
tildearrow 5d6bbce916 change default patch
this makes the patch better on OPL
2022-03-17 02:33:41 -05:00
tildearrow e6bc0c15e0 default to 2 ops to make OPL happy
next up: work on a default patch that is both OPL and other OP friendly
2022-03-17 02:13:45 -05:00
tildearrow dce68749d6 GUI: work on the drum UI 2022-03-17 02:07:46 -05:00
tildearrow 5579ef2bc1 OPL: even more drums mode work 2022-03-17 01:50:42 -05:00
tildearrow e7f6290012 OPL: possibly implement drums mode
we need a good UI for it
2022-03-17 01:40:03 -05:00
cam900 234c5e9295 Reduce naming confusion in Bubble System Wavetable Sound
It means Custom wavetable sound generator logic on Bubble System.
It's wavetable select and volume is controlled by single AY-3-8910 IO for both channels, Another AY-3-8910 IO is used for reading sound status.

Schematics: http://pdf.textfiles.com/manuals/ARCADE/K-R/Nemesis%20[Schematics]%20[English].pdf (Nemesis, derivative of Bubble system)
2022-03-17 10:11:48 +09:00
tildearrow d09aa778d9 prepare to rewrite sample editor - DO NOT USE! 2022-03-16 18:40:11 -05:00
tildearrow a3efaf0bd3 fix 2022-03-16 17:02:57 -05:00
tildearrow 3163730fe8 prepare for drum kits/sample map 2022-03-16 17:01:44 -05:00
tildearrow 73cf7cf161 GUI: enforce minimum size for macro edit left col
UNTESTED
2022-03-16 13:45:22 -05:00
tildearrow fb68d2e5cb GUI: add option to toggle visualizer in settings 2022-03-16 13:31:42 -05:00
tildearrow 966539bdf5 Genesis: fix sample crash
possibly
2022-03-16 13:11:02 -05:00
tildearrow 966d133bf4 OPL: FM macros 2022-03-16 03:44:22 -05:00
tildearrow cbd5414eee increase playback tempo precision
thanks akumanatt
2022-03-16 02:35:33 -05:00
tildearrow 9322e9467c GUI: prepare macro editor for OPL op macros 2022-03-16 02:01:44 -05:00
tildearrow 592cbb56aa OPL: implement effects 2022-03-16 01:53:46 -05:00
tildearrow 492533e5c0 GUI: add option to view Hz as base tempo 2022-03-16 01:27:34 -05:00
tildearrow 790c4345d9 GUI: add ability to view Hz as base tempo 2022-03-15 23:43:24 -05:00
tildearrow 02e9edbad9 unlock the power of DECIMAL HZ! 2022-03-15 23:30:15 -05:00
tildearrow 02760ddcbc MOD import: fix brainless 3
duration 0:00
2022-03-15 22:16:47 -05:00
tildearrow 32da1e94ed Merge 2022-03-15 22:06:09 -05:00
tildearrow 7438dcf41c
Merge pull request #292 from cam900/patch-6
Fix X1-010 muting
2022-03-15 22:06:01 -05:00
tildearrow f4c26dbea7 document some of the structures 2022-03-15 22:05:55 -05:00
tildearrow 7aca15b071 changes to contributing guidelines 2022-03-15 21:45:45 -05:00
tildearrow 4afd3b3ff1 MOD import: coding style and uninit fix 2022-03-15 21:45:31 -05:00
cam900 c269346eda
safety check 2022-03-16 11:41:24 +09:00
cam900 53ad1c93e6
Reduce line 2022-03-16 11:40:10 +09:00
cam900 724bd5b8dc
Fix X1-010 muting 2022-03-16 11:35:22 +09:00
tildearrow 9b3e0d45bd prepare for decimal Hz? 2022-03-15 18:36:34 -05:00
tildearrow d8be1ddc4b make addSystem error more clear 2022-03-15 18:36:24 -05:00
tildearrow fa32cadd36 fix conflicting system flags when changing systems 2022-03-15 18:34:41 -05:00
tildearrow 0a307fc4a6 MOD import: more improvements
- prepare for old Soundtracker MOD import
- add "bypass limits" flag - dope.mod plays correctly now
- automatic channel names
2022-03-15 18:32:15 -05:00
tildearrow 10cea9956b X1-010: fix crash 2022-03-15 18:30:29 -05:00
tildearrow ff2b3e77a0 MOD import: don't complain about end of file
I gotta figure out how to fix this
2022-03-15 18:02:29 -05:00
tildearrow 83e7d966b9 OPL: more 4-op mode fixes 2022-03-15 18:01:24 -05:00
tildearrow 4c5c4a647b OPL: some fixes 2022-03-15 15:28:45 -05:00
tildearrow 219c5a0522 MOD import: add some stereo separation 2022-03-15 04:23:27 -05:00
tildearrow f4c3f5a17f MOD import: fix klisje 2022-03-15 03:25:38 -05:00
tildearrow 1918f59f57 don't error out all the time 2022-03-15 02:52:22 -05:00
tildearrow a65df5cdab OPL: pretend to be YMU and enable SOME emulation? 2022-03-15 00:33:57 -05:00
tildearrow 8355aa0175 GUI: OPL 4-op algorithm images 2022-03-15 00:09:45 -05:00
tildearrow bfae208a24 GUI: change default layout 2022-03-14 17:40:22 -05:00
tildearrow 8012676993 MOD import: crash fix 2022-03-14 17:16:43 -05:00
tildearrow d7b967c41e Revert "MOD import: don't use linear pitch"
This reverts commit 977d23bc3a.
2022-03-14 16:36:15 -05:00
tildearrow 977d23bc3a MOD import: don't use linear pitch
improves vibrato
2022-03-14 16:33:13 -05:00
tildearrow d2458a8ae8 MOD import: use 436Hz tuning 2022-03-14 16:29:13 -05:00
tildearrow 37c733af6b
Merge pull request #287 from AYCEdemo/mod-import
.mod import
2022-03-14 16:12:02 -05:00
Natt Akuma 7308114475 Document new effects 2022-03-15 03:59:52 +07:00
Natt Akuma 54da047b5a Apply requested changes
- Use sample->init() instead
- Implement set Hz by tempo effect and move from C4xx to F0xx
- Add "SAMPLE_POS" to cmdName
2022-03-15 03:59:42 +07:00
tildearrow 9643498946 GUI: fix orders up 2022-03-14 15:53:43 -05:00
Natt Akuma 91e856c61e Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-15 03:08:37 +07:00
tildearrow 749b0f39d0 GUI: better order display - UNTESTED 2022-03-14 14:54:45 -05:00
tildearrow 9f7b18d038
Merge pull request #286 from cam900/scc
Add Bubble System Support
2022-03-14 14:41:33 -05:00
cam900 54cf22fdcd Allocate System ID 2022-03-15 03:02:31 +09:00
tildearrow 6b5bbae1c1 allocate bubble system ID 2022-03-14 12:03:10 -05:00
Natt Akuma 157e27eff5 Make it work on GCC (hopefully) 2022-03-14 23:26:54 +07:00
Natt Akuma c7fb5df206 Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-14 21:57:54 +07:00
Natt Akuma 87f225074c .mod import 2022-03-14 21:50:52 +07:00
cam900 f24a776a7a More user friendly instrument name 2022-03-14 19:40:27 +09:00
cam900 2c6267bd6b Merge branch 'master' of https://github.com/tildearrow/furnace into scc 2022-03-14 19:22:31 +09:00
cam900 69aeb7dd58 Add Bubble System Support
Bubble System 2 channel Wavetable sound generator logic is configuration with K005289, 4 bit PROM and DAC.
K005289 controls pitch and 5 bit address generator per channel, Waveform select and Volume control is tied to AY-3-8910 ports. (each port for per channels)
these configuration is better known as K005289, the part of logic.
furnace emulates this configurations as single system, waveform format is 15 level and 32 width.
2022-03-14 19:22:12 +09:00
tildearrow 714d189b57 OPL: more work and channel muting 2022-03-14 02:47:04 -05:00
tildearrow d2ad74206a fix 4-op mode for real 2022-03-14 02:39:10 -05:00
tildearrow 42df8255fc OPL: kind of fix 4-op mode 2022-03-14 02:30:25 -05:00
tildearrow 32581bb228 OPL: volume 2022-03-14 01:57:46 -05:00
tildearrow df5c1ae859 OPL: finally fix that order issue (kind of) 2022-03-14 01:54:31 -05:00
tildearrow 67d516fcee Genesis: prioritize DAC writes 2022-03-14 01:38:11 -05:00
tildearrow e009fc64f2 allow instrument change during slides 2022-03-14 01:23:31 -05:00
tildearrow a96fd5727e GUI: begin working on unified ins/wave/sample list 2022-03-14 00:26:27 -05:00
tildearrow 5b2ec3ee87 NES: fix slide up
fixes #208
2022-03-14 00:26:06 -05:00
tildearrow 394a440f3d prepare for unified ins/wave/sample list 2022-03-13 23:37:25 -05:00
tildearrow 71702ee595 update release scripts 2022-03-13 23:37:12 -05:00
tildearrow 4ba6058b03 GUI: system file dialog on by default
in order to make a test build
2022-03-13 23:24:57 -05:00
tildearrow e1eee0540e update readme to add CI badge 2022-03-13 23:10:52 -05:00
tildearrow f56f4c80d1 GUI: move to system file dialog
default setting will be selected by a poll
2022-03-13 23:10:43 -05:00
tildearrow 25eb3e4aae furnace II - the final fix 2022-03-13 22:21:01 -05:00
tildearrow 0874d58fb8 damn it 2022-03-13 22:02:50 -05:00
tildearrow 2ba0185701 well that didn't last long 2022-03-13 21:46:52 -05:00
tildearrow d9a93e0cec ... 2022-03-13 21:19:52 -05:00
tildearrow bfc4432023 nooooooooooooooooooooooooooooooooo 2022-03-13 21:06:08 -05:00
tildearrow 5e77b47467 system file picker anyone? DO NOT COMPILE! 2022-03-13 18:32:35 -05:00
tildearrow 3be56d50ab GUI: prepare for two things
- unified ins/wave/sample view
- macro line drawing
2022-03-13 17:30:43 -05:00
tildearrow 6bca347254 maybe BUG 2022-03-13 17:29:43 -05:00
tildearrow 57631ac056 update release scripts 2022-03-13 16:56:22 -05:00
tildearrow b1b3f731f6
Merge pull request #283 from laoo/lynx_panning_swap
Lynx panning swap
2022-03-13 11:19:55 -05:00
tildearrow d607f35aa2
Merge pull request #279 from cam900/intv_alt
Add AY-3-8914 support as configurable in AY-3-8910
2022-03-13 11:17:36 -05:00
tildearrow a41736cc89 GUI: partially implement note input latch
the UI for it is missing
2022-03-13 04:51:05 -05:00
tildearrow 6167feaf18 GUI: implement shrink and expand!
yay ONE MORE THING!!!!! then O P L
2022-03-13 03:13:11 -05:00
tildearrow cd42a8b9f3 GUI: implement flip 2022-03-13 02:36:52 -05:00
tildearrow bd705d837d interpolate now works on notes 2022-03-12 21:13:42 -05:00
tildearrow a0c658f1d3 GUI: implement interpolate values 2022-03-12 21:06:47 -05:00
tildearrow adafb49be7 GUI: prepare for interpolate 2022-03-12 15:12:39 -05:00
tildearrow ab8bace7f4 change default SAA1099 core to SAASound 2022-03-12 12:53:53 -05:00
tildearrow a238f5acf0
Merge pull request #284 from cam900/vgm_hasx1
Fix X1-010 VGM actually
2022-03-12 12:39:33 -05:00
Michał Szpilowski 80048d0546 Create chippylotus.fur
OK, another tune for Mikey (Atari Lynx).
2022-03-12 15:44:33 +01:00
cam900 c778251f26 Oops!
It's already exists
2022-03-12 23:39:38 +09:00
Waldemar Pawlaszek e775703c44 Lynx panning swap 2022-03-12 12:16:01 +01:00
tildearrow 7971b7323b GUI: add nibble mode to randomize 2022-03-12 03:40:56 -05:00
tildearrow de604bdf01 GUI: add gradient/fade edit option 2022-03-12 03:04:34 -05:00
tildearrow e82b1e6a67 GUI: don't allow right-click menu movement 2022-03-12 03:04:16 -05:00
tildearrow 1f058ac653 GUI: add move cursor by edit step on insert option 2022-03-12 02:32:02 -05:00
tildearrow a6eec9f7c4 GUI: implement randomize 2022-03-12 02:24:23 -05:00
tildearrow 3e890a391b GUI: operation mask
this means transpose also works on non-note columns!
2022-03-12 02:13:15 -05:00
tildearrow f52d919240 GUI: implement paste overflow 2022-03-11 23:50:59 -05:00
tildearrow fe9b379ca9 GUI: implement paste mix 2022-03-11 23:47:16 -05:00
tildearrow cf07e1861e add "auto-insert one tick gap" option 2022-03-11 23:01:18 -05:00
tildearrow 716298c49c Genesis: now fix off not working on channel 6 2022-03-11 22:41:04 -05:00
tildearrow 2103f249fb C64: fix note/env release cutting note 2022-03-11 22:33:22 -05:00
tildearrow 2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
tildearrow b73591970d
Merge pull request #282 from cam900/patch-5
Clamp X1-010 Envelope wave
2022-03-11 21:53:29 -05:00
cam900 2643d6b0ee
Clamp X1-010 Envelope wave 2022-03-12 11:32:19 +09:00
tildearrow 00109dc276
Merge pull request #281 from cam900/x1_010_be
Fix X1-010 VGM logging
2022-03-11 21:15:15 -05:00
cam900 155e602e61 Fix X1-010 VGM logging
Register/RAM offset is Big endian
2022-03-12 10:22:21 +09:00
tildearrow 07d15643c2 GUI: implement paste flood 2022-03-11 17:56:10 -05:00
tildearrow cb3c4e2302 GUI: clamp waves to max value 2022-03-11 17:00:57 -05:00
tildearrow ab3884e5aa clamp wave data
issue #267
2022-03-11 16:58:43 -05:00
tildearrow 5fadcf4891 GUI: fix transpose octave range 2022-03-11 16:53:46 -05:00
cam900 3ac1dce3fe Add AY-3-8914 support as configurable in AY-3-8910
Previous PR (https://github.com/tildearrow/furnace/pull/278) is closed due this, but archived for info.
It's AY with 4 level envelope volume per channel and different register format.
2022-03-12 03:30:54 +09:00
tildearrow 74a23b3ec5 GUI: begin work on some of the new actions 2022-03-11 01:31:21 -05:00
tildearrow 8e61a0d314 better channel names 2022-03-10 23:49:44 -05:00
tildearrow 0700ba7e65 GUI: start with the pattern view focused 2022-03-10 22:10:52 -05:00
tildearrow 91ec641b77
Merge pull request #277 from tildearrow/revert-269-patch-2
Revert "Create OPL3 docs (read Effect Commands section)"
2022-03-10 21:37:05 -05:00
tildearrow eb48a3d108
Revert "Create OPL3 docs (read Effect Commands section)" 2022-03-10 21:35:34 -05:00
tildearrow 0ee16c63f1
Merge pull request #275 from cam900/ym2610_check
Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
2022-03-10 18:32:36 -05:00
tildearrow 8d0ac3cbba
Merge pull request #269 from nicco1690/patch-2
Create OPL3 docs (read Effect Commands section)
2022-03-10 18:32:11 -05:00
tildearrow c871239736
Merge pull request #257 from nicco1690/patch-1
Create Lynx MIKEY sound docs
2022-03-10 18:31:41 -05:00
tildearrow bbca8b260b
Merge pull request #243 from cam900/gui_systems
Add various system, Minor corrections
2022-03-10 18:31:23 -05:00
tildearrow 43ce6d1e1f Merge branch 'cam900-x1_010' 2022-03-10 18:25:15 -05:00
tildearrow c6fda7a156 Merge branch 'x1_010' of https://github.com/cam900/furnace into cam900-x1_010 2022-03-10 18:24:52 -05:00
tildearrow a9f80b841c VERA: add ins color and reset 2022-03-10 17:46:40 -05:00
tildearrow cbc8721a00 Merge branch 'x16' 2022-03-10 17:31:32 -05:00
tildearrow 6d9befaf27 yay 2022-03-10 17:30:34 -05:00
tildearrow 2f02e24a2f VERA: get rid of rand() and adapt code 2022-03-10 16:52:59 -05:00
tildearrow 9bd15bd513 VERA: bring up actual emulation core 2022-03-10 15:51:27 -05:00
tildearrow 587fecd11d temporarily strip out emulation code 2022-03-10 14:40:45 -05:00
tildearrow 85b9f340a9 Merge branch 'x16' of https://github.com/AYCEdemo/furnace into x16 2022-03-10 14:35:33 -05:00
cam900 b42ceae1cb Code style 2022-03-11 04:15:04 +09:00
cam900 36b336c7f4 A && B 2022-03-11 04:11:23 +09:00
cam900 406faaeeea Gamate
Handheld game console by Taiwanese Bit Corporation that supports stereo headphone, with had a AY-3-8910 based sound.
2022-03-11 04:07:11 +09:00
tildearrow 44004661f4
Merge pull request #274 from laoo/register_sheet
Updated Lynx register sheet
2022-03-10 14:03:53 -05:00
cam900 3b6559a5a1 Merge branch 'master' of https://github.com/tildearrow/furnace into gui_systems 2022-03-11 03:53:51 +09:00
tildearrow 28192b77bd fix big endian functions 2022-03-10 13:52:04 -05:00
cam900 f3e4810dda Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
Fix sample check routine
Remove dac* variables, No way to enable DAC mode in YM2610*
2022-03-11 03:47:36 +09:00
cam900 a969694b2b Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-11 02:46:46 +09:00
cam900 8d447542e1 Use lamda 2022-03-11 02:42:27 +09:00
Waldemar Pawlaszek d0b76ed5a6 Updated Lynx register sheet 2022-03-10 17:36:27 +01:00
tildearrow 93b3e16213 i need to go
TODO:
- EDIT LATCH
- EDIT MASK
2022-03-09 18:03:15 -05:00
tildearrow b80b33ac8e GUI: demand scroll X in more situations 2022-03-09 16:42:15 -05:00
tildearrow 2fb6ea021b GUI: this menu is packed with features
that DON'T WORK YET
2022-03-09 15:43:30 -05:00
cam900 3d13a7d446 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-10 03:21:02 +09:00
Natt Akuma 80e3148a43 Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-09 18:06:47 +07:00
Natt Akuma 6bb9843fb9 Fix wrong noise sampling operation
This really shouldn't have an effect on anything though...
2022-03-09 18:06:07 +07:00
tildearrow 372f2a20a2 GUI: much better 2022-03-09 03:40:24 -05:00
tildearrow 1a3eed7830 fix MinGW build 2022-03-09 02:30:36 -05:00
nicco1690 f372088aad
Create OPL3 docs (read Effect Commands section) 2022-03-08 23:15:52 -05:00
nicco1690 0826f22d8b
Update docs to add more info
Thanks to @freq-mod for providing the effect commands section and some more general information which has been copied into this version.
2022-03-08 22:42:43 -05:00
tildearrow 9e080956ec prepare to add a right click menu to pattern
DO NOT USE IF YOU WANT TO SOLO CHANNELS - I'LL FIX IT when I
come back
2022-03-08 18:26:41 -05:00
tildearrow 698b8e960f I must be blind 2022-03-08 14:20:21 -05:00
tildearrow 42a3391574 GUI: add OPZ waveforms 2022-03-08 13:46:48 -05:00
tildearrow ad19a69f27 GUI: improvements to OPL ins edit 2022-03-08 13:12:20 -05:00
Natt Akuma eb3a73c38b Mute on pan registers instead 2022-03-09 00:58:21 +07:00
cam900 a32781bb1a grammar 2022-03-09 01:17:16 +09:00
cam900 ba68ad6ed5 More info in waveform size 2022-03-09 01:06:47 +09:00
cam900 75b635229c Unnecessary changes 2022-03-09 01:01:40 +09:00
cam900 66eb40e55e Extract X1-010 core from submodule 2022-03-09 01:00:09 +09:00
cam900 6c432bc42e Allow Left waveform can be invertable,
Improvement documents
2022-03-09 00:50:10 +09:00
Natt Akuma 3a0e0c8d56 Add a demo song for WonderSwan 2022-03-08 22:21:23 +07:00
cam900 da73c365e4 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-08 23:30:57 +09:00
cam900 8b1e557b5c
Sync with master 2022-03-08 21:34:12 +09:00
Natt Akuma 43cfb09acf Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-08 17:53:00 +07:00
Natt Akuma 7711069a66
WonderSwan: match DM's volume command behavior (#266) 2022-03-08 10:51:37 +01:00
Natt Akuma e05052d9d7 Properly case PCM channel 2022-03-08 15:44:14 +07:00
Natt Akuma a86a7f766b VERA doesn't have config flags 2022-03-08 15:06:11 +07:00
tildearrow 270225f6d1 WonderSwan doesn't have config flags 2022-03-07 23:47:40 -05:00
tildearrow b21aecf285 WonderSwan: make macOS happy 2022-03-07 23:38:36 -05:00
cam900 2e6cc9fc7c Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/playback.cpp
#	src/engine/sysDef.cpp
#	src/gui/gui.cpp
2022-03-08 13:38:24 +09:00
tildearrow 1bc8bc8746 OPL: proper frequency on OPL1/2 2022-03-07 23:23:18 -05:00
tildearrow 2d922d5e09 GUI: attribution 2022-03-07 23:11:14 -05:00
tildearrow 09655f7d57 WonderSwan: fix build 2022-03-07 23:09:42 -05:00
tildearrow 0210548291
swan let's go
Add WonderSwan support and flatten second chip checks in VGM export into variables
2022-03-07 23:05:32 -05:00
tildearrow bd00165ded OPL: it's coming together 2022-03-07 22:52:32 -05:00
tildearrow 36db137e8f OPL: absolute mess up
now it kinda works
2022-03-07 22:28:33 -05:00
tildearrow cdd45bb18c allow detune 4 2022-03-07 22:28:20 -05:00
tildearrow ec007b4443 OPL: more work - still not there yet 2022-03-07 18:19:25 -05:00
tildearrow 03d2f87804 OPL: some work - still does not work 2022-03-07 17:07:29 -05:00
tildearrow 27758434af update format.md to parse op count 2022-03-07 17:07:00 -05:00
Emre Cakir 9177632829
Demo Track
AY-3-8910 Jam
2022-03-07 20:45:00 +01:00
Natt Akuma 7704dc0d79 Fix volume calculation sometimes not working 2022-03-07 23:49:52 +07:00
cam900 3f4966096a Fix info 2022-03-08 00:44:37 +09:00
cam900 26470d594e Actually PCM frequency limit 2022-03-08 00:43:16 +09:00
cam900 65149a466f Fix accidently auto-generated spaces 2022-03-08 00:15:21 +09:00
Natt Akuma 27d88602f9 Merge branch 'wonderswan' of github.com:AYCEdemo/furnace into wonderswan 2022-03-07 19:15:32 +07:00
Natt Akuma bbaf31d0c2 Make register view work again 2022-03-07 19:08:18 +07:00
Natt Akuma b8ea64b801 Rename WS to Swan 2022-03-07 19:04:20 +07:00
Natt Akuma 8a924da586 Fix narrowing conversion error 2022-03-07 18:55:25 +07:00
cam900 b270513639
Frequency range limit 2022-03-07 19:41:26 +09:00
Natt Akuma 3b88786ffb Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-07 16:46:32 +07:00
Natt Akuma 7f3519b970 Implement VERA noise generation instead of rand() 2022-03-07 16:46:12 +07:00
Natt Akuma 252dc16492 Add X16 to the New menu 2022-03-07 16:45:34 +07:00
Natt Akuma 56be067af6 No need to de-duplicate writes here 2022-03-07 15:45:00 +07:00
Natt Akuma 25088d6032 Fix playback and VGM export 2022-03-07 15:44:59 +07:00
Natt Akuma 840a6fa306 Add WonderSwan support 2022-03-07 15:44:59 +07:00
Natt Akuma 2453426d03 Turn second chip checks into variables in vgmOps 2022-03-07 15:44:59 +07:00
Natt Akuma 119d815a16 No need to de-duplicate writes here 2022-03-07 15:44:15 +07:00
tildearrow 165a8a4361 PC speaker: register view
one register :p
2022-03-07 01:54:28 -05:00
tildearrow 8f957baa3e dispatch: add function to notify playback stopped
for the PC Speaker real driver
2022-03-07 01:48:48 -05:00
tildearrow 93d160da5e OPLL: but it doesn't have LFOOOOOO 2022-03-07 00:24:50 -05:00
cam900 bc26fbaa3d
Add cmdName for X1-010 commands 2022-03-07 13:34:13 +09:00
cam900 55934bc044 Fix crash 2022-03-07 13:09:25 +09:00
cam900 13e586fab2 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 13:05:05 +09:00
cam900 36647ac81d Update submodule 2022-03-07 13:03:39 +09:00
tildearrow 177c409e19 add more notes when working with new systems 2022-03-06 22:36:32 -05:00
tildearrow 9333b5bd51 prepare for X1-010 2022-03-06 22:36:13 -05:00
cam900 458f8c5881 Fix instrument allocation 2022-03-07 12:21:51 +09:00
tildearrow 72c1116a89 PC speaker: correct frequency in real mode
damn it
2022-03-06 22:11:01 -05:00
cam900 7a2c86e9d7 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 10:28:54 +09:00
tildearrow 2f9d1e8c0f i'll finish this later 2022-03-06 18:10:12 -05:00
tildearrow 1bfca78df1 Amiga: temporarily disable bus limit simulation 2022-03-06 17:42:51 -05:00
tildearrow e10abe0858 NO 2022-03-06 14:41:00 -05:00
tildearrow 3b8388d90c YM2151/2610/2612/Game Boy: fix panning - UNTESTED 2022-03-06 14:39:20 -05:00
tildearrow 2bfb84cd1e AY: add 1.10 and 2.10 rates 2022-03-06 14:18:18 -05:00
cam900 6c897722db Compile fix Take 3 2022-03-07 04:03:45 +09:00
cam900 8da5921196 step 2 2022-03-07 03:50:15 +09:00
cam900 789be838e3 Submodule update 2022-03-07 03:43:44 +09:00
Natt Akuma 8f31c4b49f Fix playback and VGM export 2022-03-07 01:26:59 +07:00
cam900 666b061c8b Fix year info 2022-03-07 03:08:47 +09:00
cam900 d0c32a56be Fix panning 2022-03-07 03:06:01 +09:00
cam900 fca4bdc1ee Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	.gitmodules
#	CMakeLists.txt
2022-03-07 02:35:14 +09:00
cam900 4a83c7c5a7 Add Seta/Allumer X1-010 Support
its 16 channel wavetable/PCM chip, with (optional) stereo support.
Its also has envelope, this feature has similar as AY PSG's one but its shape is also stored at RAM, and each nibble in envelope data is for each output: so i decided to added some feature for more stereo-ish envelope.
Split: Envelope shape will be splitted to Left and Right half for each output.
HInv, Vinv: Envelope shape will be Horizontally/Vertically mirrored the left one.

Max sample length is sample bank size of Seta 2 arcade hardware (currently not emulated yet, nor it doesn't support on VGM).

Chip id is temporary, it can be changed with to suggestions.
2022-03-07 02:31:03 +09:00
Natt Akuma df7ac3e073 Add WonderSwan support 2022-03-06 23:14:08 +07:00
Natt Akuma ab55a3f079 Turn second chip checks into variables in vgmOps 2022-03-06 23:14:07 +07:00
tildearrow e0eb0ad3f4 tilde you need to brush up on your header knowledg
e.
2022-03-06 04:52:03 -05:00
tildearrow 86a71cc6a2 PC speaker: use evdev instead of KIOCSOUND
still unsupported
2022-03-06 03:33:56 -05:00
nicco1690 7935f52737
Create Lynx MIKEY sound docs 2022-03-05 23:27:48 -05:00
tildearrow c34b8325c9 more OPL preparation
DOES NOT WORK YET - JUST A PLACEHOLDER
2022-03-05 18:18:08 -05:00
tildearrow 8bda9df487 prepare for OPL systems 2022-03-05 16:06:41 -05:00
tildearrow 6728edbb71 UNTESTED! DO NOT USE - PC speaker passthrough 2022-03-05 15:00:19 -05:00
tildearrow c684107b11 not a voice 2022-03-05 13:21:03 -05:00
tildearrow 4301b0d55e
Merge pull request #255 from freq-mod/freq-mod-opllnames
Change OPLL friendly param names
2022-03-05 13:20:22 -05:00
freq-mod e3a27cb37c
Change OPLL friendly param names
to be less cringy
2022-03-05 19:06:46 +01:00
tildearrow 6ce2a6743c lynx: fix 3xxx effect not working 2022-03-05 04:59:05 -05:00
tildearrow 7745ebb8ec clamp settings to sane values 2022-03-05 04:49:11 -05:00
tildearrow 9611a4fcc6 OPLL: effect description oops 2022-03-05 04:24:40 -05:00
freq-mod fa911a1f11
not yet 2022-03-05 09:45:42 +01:00
freq-mod bf74068c48
Update README.md
with newly added systems and way too frequently asked question about pcm sample playback
2022-03-05 09:37:56 +01:00
tildearrow 227006a124 GUI: another usability improvement
instrument list focused first if it is tabbed when starting program
2022-03-05 02:28:03 -05:00
tildearrow 23431323e2 GUI: major usability improvement coming
click on orders in click-to-edit or select instrument=auto-focus pattern
2022-03-05 02:13:15 -05:00
tildearrow e07caddc92 fix samples being cut at times 2022-03-05 01:26:59 -05:00
tildearrow 16dfc785d3 PC speaker: improvements 2022-03-05 00:36:50 -05:00
tildearrow b6717fd314 uninitialized variable 2022-03-04 23:11:34 -05:00
DevEd edb7dbe942
oops I updated it again 2022-03-04 22:34:03 -05:00
DevEd 07885fc959
Update Puggs in Space demo song 2022-03-04 22:28:48 -05:00
tildearrow ea290a5015 screw ME 2022-03-04 18:37:04 -05:00
tildearrow 84ba63db24 add PC speaker system
haha
2022-03-04 18:18:43 -05:00
Natt Akuma d209a45b92 Change sound chip ID to 0xac 2022-03-05 03:11:11 +07:00
tildearrow 837b070aee add a pull request template 2022-03-04 14:52:35 -05:00
tildearrow 7f50d71858 Merge branch 'master' of github.com:tildearrow/furnace 2022-03-04 14:31:55 -05:00
tildearrow 5ad54dad4d allocate VERA chip 2022-03-04 14:31:29 -05:00
Natt Akuma 9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07:00
Emanuel Haupt 98e2c51592
Provide a repology badge (#252)
Provide a repology badge for showing packaging status.
2022-03-04 10:09:16 +01:00
tildearrow c74390f754 add distro package links 2022-03-04 02:46:35 -05:00
tildearrow bc5ca47894 GUI: add setting to not raise pattern editor
issue #250
2022-03-04 02:40:42 -05:00
tildearrow 1407f14ee8 AY8930: duty oopsie
fixes #251
2022-03-04 02:26:47 -05:00
tildearrow 1f0fba4c13 OPLL: getEffectName oopsie 2022-03-04 02:25:41 -05:00
tildearrow 59d813db7c PCE: add noise macro (finally!) 2022-03-04 02:20:13 -05:00
tildearrow 8758277199 OPLL: implement fixed freq mode for drums
issue #249
2022-03-04 01:18:16 -05:00
tildearrow 8e5b3abab8 add two more compatibility flags
issue #167 and #249:
- stop porta on note off
- continuous vibrato
2022-03-03 23:14:38 -05:00
tildearrow 742e813e98 E1xx and E2xx should not stop when Key OFF comes
in

indeed
2022-03-03 23:05:07 -05:00
DevEd 0f1ad541af
"Puggs in Space" demo song 2022-03-03 18:58:08 -05:00
DevEd c6c992482e
Merge branch 'tildearrow:master' into master 2022-03-03 18:52:04 -05:00
tildearrow ee2e1a0cfb OPLL: fix sus
i thought defle had broken sus
2022-03-03 18:23:09 -05:00
tildearrow 3a6f664cf0 OPLL: don't write to out of range registers
fixes OPLLTest(1).zip
2022-03-03 18:19:51 -05:00
tildearrow 6132aa666e GUI: hide duty/wave macros in OPLL/OPL 2022-03-03 18:10:41 -05:00
tildearrow e342078f9a OPLL: fix mod/car KSL being swapped 2022-03-03 18:08:21 -05:00
tildearrow 862154b0a9 OPLL: fix drum mode slides 2022-03-03 17:56:09 -05:00
tildearrow 05bdfe74db GUI: fix some out-of-range sliders in OPLL 2022-03-03 17:23:55 -05:00
tildearrow aa446d5c43 PCE: don't mute channel 2 when LFO is on
apparently this is hardware behavior
2022-03-03 17:03:44 -05:00
tildearrow 99bee89cca GUI: better adapt shades to light theme 2022-03-03 16:59:31 -05:00
tildearrow e0af849a4f OPLL: TODO high byte? 2022-03-03 16:21:19 -05:00
tildearrow 29474cd5c7 GUI: possibly expand fixed arp macro range
untested
2022-03-03 14:50:23 -05:00
tildearrow e0cda2a77f GUI: add colors base setting
pave the way for.light themes
2022-03-03 12:44:29 -05:00
tildearrow 64146bed5e OPLL: i think i got it 2022-03-03 04:53:40 -05:00
tildearrow 4e6ade7e0b more MIDI preparations
this is difficult
2022-03-03 04:37:22 -05:00
tildearrow 52c03f1fd6 OPLL: swap top and tom 2022-03-03 04:36:52 -05:00
Michał Szpilowski fcada77363 Create Tyrian-Camanis.fur
My new-old cover (Camanis form Tyrian). Made in dev61 version. Enjoy!
2022-03-03 10:34:45 +01:00
cam900 5393b67c1d Yamaha SFG-01
OPM FM sound expansion by Yamaha, for their CX series MSX computers: It's needs converter when connect it to standard MSX cartridge slot.
 Successor is SFG-05, It has YM2164 OPP instead YM2151 OPM.
2022-03-03 16:03:40 +09:00
tildearrow fdd714e4d9
Merge pull request #246 from cam900/patch-4
0xa9 is already allocated
2022-03-03 01:00:44 -05:00
cam900 e49ee1cd3d
0xa9 is already allocated 2022-03-03 14:14:54 +09:00
cam900 c4f2090b48 Deflemask compatibility 2022-03-03 13:07:16 +09:00
tildearrow db4d72b1b0 attribution 2022-03-02 21:17:55 -05:00
tildearrow d5821b0157 add a new demo song
by TheRealHedgehogSonic
2022-03-02 21:17:19 -05:00
tildearrow 1973992064 allocate system IDs for OKI chips 2022-03-02 18:39:21 -05:00
tildearrow 5816f01c07 Genesis: PSG clean-up
since genesis is now split into YM2612 + SN, the "psg" inside
DivPlatformGenesis becomes useless.
2022-03-02 18:25:17 -05:00
DevEd e83e0a2266
Merge branch 'tildearrow:master' into master 2022-03-02 18:08:30 -05:00
tildearrow abe7c12f22 how am i gonna do this 2022-03-02 17:02:57 -05:00
tildearrow 63456a88d8 get rid of SDL1 check
see pull request #244
2022-03-02 16:10:18 -05:00
tildearrow ec796fc89c Merge branch 'master' of github.com:tildearrow/furnace 2022-03-02 15:52:14 -05:00
cam900 87561bf9cf Fix spacing 2022-03-03 03:12:10 +09:00
cam900 d4d1ade513 Add various system, Minor corrections
YM2413 (drums mode)
 Standalone YM2413 with allows drum channel.

Sound Expander for Commodore 64
 OPL FM Sound expander cartridge for Commodore 64, it's placeholder until OPL is implemented.

MSX-MUSIC:
 MSX's sound standard, appeared after MSX-AUDIO. it's basically OPLL FM sound expansion for MSX.

SSI 2001:
 ISA Sound card with SID 6581. SID input clock is driven from ISA clock, so I modified flags value check routine.

Sound Blaster w/Game Blaster Compatible
 Earliest Sound Blaster models has featured with Game Blaster compatiblity, It's has 2 SAA1099s like CMS/Game Blaster. It's removed at later models, but some hardware has just empty socket; you can restore this feature when you mount SAA1099 at empty socket.

Sharp X1:
 Predecessor of X68000. it has built in AY PSG like competitors of the same period, but it has YM2151 FM sound addon in later models. FM sound is embedded in turbo Z, and that is succeeded by X68000.

X68000 hasn't AY, instead OKI MSM6258.
YM2151 in OutRun Board and X Board is 4MHz
2022-03-03 03:10:04 +09:00
freq-mod 2519849228
OPLL systems 2022-03-02 10:14:18 +01:00
tildearrow 0114523c96 OPLL: fix volume setting 2022-03-02 03:35:30 -05:00
cam900 f95d38521e Fix chip correction 2022-03-02 03:28:16 -05:00
tildearrow d94e0ec3e7 GUI: prepare a better new song thingy 2022-03-02 02:22:51 -05:00
tildearrow 8843315256 OPLL: 99.99%
VGM export
2022-03-02 00:58:49 -05:00
tildearrow e133fb4906 GUI: make several things rate-independent 2022-03-02 00:38:32 -05:00
tildearrow 1957c19f34 GUI: insert 100ms delay when minimized
issue #220
2022-03-02 00:09:28 -05:00
tildearrow 36e1ead643 GUI: lastDir per dialog type
issue #227
2022-03-02 00:02:52 -05:00
tildearrow f10816ae80 GUI: add warning when layout reset is called
issue #240
2022-03-01 23:46:04 -05:00
tildearrow 14611fc744 add 2 demo songs
requested by CaptainMalware and Mahbod Karamoozian
2022-03-01 23:36:23 -05:00
tildearrow 56aa4b28fb tiny drums mode fix 2022-03-01 23:28:05 -05:00
tildearrow cf1711c45b GUI: attribution 2022-03-01 23:27:53 -05:00
tildearrow acc9b0aa57
Merge pull request #225 from cam900/ym2610b
Prepare to experimental support YM2610B and with Extended channel 3 mode, Some additions
2022-03-01 23:21:46 -05:00
tildearrow b90fb02e63 OPLL: 99.9%
all features usable, except for custom patchsets (not sure how am i
gonna implement it)
2022-03-01 23:07:29 -05:00
tildearrow 614c1a4da8 OPLL: 99%
proper drums mode muting!
2022-03-01 22:42:40 -05:00
tildearrow ceb1cd0181 OPLL: more drum fixes! 2022-03-01 22:10:03 -05:00
tildearrow 1e5d7a623a GUI: report why does window creation fail 2022-03-01 20:59:38 -05:00
tildearrow 066769379b update format.md a bit 2022-03-01 20:58:27 -05:00
tildearrow 72178f6ce9 TODO: still to-do 2022-03-01 17:25:01 -05:00
tildearrow fa5e2bc439 TODO: revamp new song system picker 2022-03-01 17:19:52 -05:00
tildearrow 7f3460bfcd i don't get it 2022-03-01 14:20:29 -05:00
tildearrow 7dae9058d7 OPLL: 97%
proper drums mode kinda works
2022-03-01 14:16:40 -05:00
cam900 1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00
freq-mod 6dfa208a36
remove "standalone" from YM2612 and YM2151
given the way it's done, it's not needed anymore i guess
2022-03-01 12:07:38 +01:00
tildearrow 7b6502c682 prepare for OPLL proper drums mode 2022-03-01 04:33:02 -05:00
tildearrow 236ab5b3fe QSound: initialize memory to 0
for some reason this fixes some glitches?
2022-03-01 02:38:37 -05:00
tildearrow 4ff056c64f NES: how is this not initialized?! 2022-03-01 02:38:19 -05:00
tildearrow ee5b24dcaf describe FM param structure 2022-03-01 02:38:10 -05:00
tildearrow 2605e8670c OPLL: small order change fix 2022-03-01 01:00:33 -05:00
tildearrow d9ae033f32 OPLL: 95%
FM macros working

TODO:
- proper drums
2022-03-01 00:56:13 -05:00
tildearrow 105aed5a50 OPLL: 94%
muting works (mostly)

TODO:
- FM macros
- proper drums
2022-03-01 00:00:30 -05:00
tildearrow e80de1487e i think I got it
but there is a leak
2022-02-28 23:31:49 -05:00
tildearrow f85c6913ce update doc 2022-02-28 22:49:03 -05:00
tildearrow f8046facfc GUI: make sliders right-clickable 2022-02-28 22:42:52 -05:00
tildearrow f8e7dd7214 GUI: hopefully finish OPLL op macro interface 2022-02-28 18:38:36 -05:00
tildearrow bd9289cfdd store OP macros
todo
2022-02-28 18:16:05 -05:00
DevEd 3b7b62cb30
Merge branch 'tildearrow:master' into master 2022-02-28 18:14:15 -05:00
tildearrow da55305c13 prepare for OPL/YMU FM macros 2022-02-28 16:33:01 -05:00
LoKiToon e4ecf27037
Cover of LED storm on the Atari Lynx
Created in Furnace dev59
2022-02-28 23:32:17 +03:00
tildearrow 4abaf4b9ec fix 2022-02-28 14:32:17 -05:00
tildearrow 90ad8b5268 OPLL: 91%
GUI improvements
soon I gotta allocate macros for the YMU759 params

TODO:
- FM macros
- drums mode
- muting
2022-02-28 14:13:14 -05:00
cam900 de8c79e306 Further informations 2022-03-01 02:50:26 +09:00
cam900 4e5b398994 Fix notes 2022-03-01 02:11:02 +09:00
cam900 ddf341dfc0 Add support YM2610* ADPCM-B Repeat flag, Add YM2610 ADPCM notes in GUI 2022-03-01 01:11:27 +09:00
tildearrow 68db27bdb8 VRC7 as well 2022-02-28 04:59:25 -05:00
tildearrow 98c04e4dfd OPLL: actually care about effects 2022-02-28 04:58:44 -05:00
tildearrow 4218440af1 help how does this work 2022-02-28 03:50:45 -05:00
tildearrow 539182e643 OPLL: 90%
effects implemented.
TODO:
- FM macros
- muting
- proper drum mode
- proper VRC7
2022-02-28 03:17:33 -05:00
tildearrow e5c993eb14 lynx: re-apply panning on forceIns 2022-02-28 02:27:22 -05:00
tildearrow 14749e165e OPLL: VRC7 2022-02-28 02:19:27 -05:00
tildearrow 6dc01159ee OPLL: 88%
TODO:
- effects
- FM macros (ugh)
- muting
- proper drum mode
- proper VRC7
2022-02-28 01:25:10 -05:00
tildearrow 3ca90fd0c8 format oops 2 2022-02-27 17:31:11 -05:00
tildearrow dcead63a7d format oops 2022-02-27 17:30:33 -05:00
tildearrow 77e4875300 update doc 2022-02-27 16:56:46 -05:00
cam900 ac1c65fd62 Add register sheet for YM2610* 2022-02-28 04:45:55 +09:00
cam900 d92b662851 Typo 2022-02-28 03:05:31 +09:00
cam900 6d36a8fdd2 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-28 03:04:28 +09:00
cam900 2312ab19d2 Split YM2610B document 2022-02-28 03:04:04 +09:00
tildearrow 77285a65e6 OPLL: 85%
compatible drums work (kinda)
2022-02-27 02:58:30 -05:00
tildearrow 79c148849f QSound: fix echo
thanks superctr
2022-02-27 00:46:23 -05:00
tildearrow cf668aa6d4 VGM export: lol 2022-02-27 00:41:27 -05:00
tildearrow 8d2129cadc VGM export: clean up compound systems 2022-02-27 00:39:16 -05:00
tildearrow 3e3d42a76a update format.md for better GitHub compat 2022-02-27 00:28:16 -05:00
tildearrow 0b8372b44b clarify about compression 2022-02-26 23:00:02 -05:00
cam900 e243a8558e Add YM2610B in documents 2022-02-27 06:47:31 +09:00
cam900 ee013ad7a9 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-27 06:41:11 +09:00
cam900 34405de03c Fix build actually 2022-02-27 06:40:13 +09:00
tildearrow 8670afe18f GUI: add OPLL options 2022-02-26 14:00:20 -05:00
tildearrow 40931283a0 GUI: MSX PAL 2022-02-26 13:58:15 -05:00
tildearrow 217e43dab3 fix 2022-02-26 05:04:31 -05:00
tildearrow 1a69794efe remove extension when loading ins from file 2022-02-26 04:49:40 -05:00
tildearrow 271b3fb0fe OPLL: 80%
accuracy fixes pending though
then macros and then drum mode
2022-02-26 03:27:37 -05:00
tildearrow c52258f943 update format to store OPLL preset number 2022-02-25 23:59:08 -05:00
tildearrow 60688d8ddb OPLL: 40% 2022-02-25 17:55:33 -05:00
tildearrow f403621d6e this is not working well
i mean, seriously... OPLL output isn't 4-bit, right?
i must be doing something really wrong
2022-02-25 13:33:58 -05:00
cam900 d64ddaadee Further fix build 2022-02-26 01:12:37 +09:00
cam900 b1a49dcdc5 Fix actually 2022-02-26 00:50:49 +09:00
cam900 ff743c92fd Fix build 2022-02-26 00:31:17 +09:00
cam900 cd4c876c5e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/playback.cpp
2022-02-25 23:47:28 +09:00
tildearrow c5b30bab75 soundddddd 2022-02-25 04:46:15 -05:00
tildearrow 3362289e3a fix build 2022-02-25 04:38:54 -05:00
tildearrow 37f850c6c4 prepare for OPLL system - DOES NOT WORK 2022-02-25 04:26:01 -05:00
cam900 e96cd77ba7
Remove unnecessary interface 2022-02-25 17:39:33 +09:00
cam900 a132a28fcb
Fix VGM saving 2022-02-25 17:37:43 +09:00
tildearrow 27c1522085 port legacy dmf extension fix from 0.5-fixes 2022-02-25 02:40:30 -05:00
tildearrow 9ea26da44e ADPCM-B fixes 2022-02-25 01:04:07 -05:00
tildearrow bd96bf484b fix 8-bit samples not loading correctly 2022-02-25 00:31:09 -05:00
tildearrow 35e459d9e5 Neo Geo: implement ADPCM-B 2022-02-25 00:11:27 -05:00
tildearrow efd78a23c0 GB: another fix 2022-02-24 22:59:01 -05:00
tildearrow 70eb17c33c PCE: fix LFO a bit more 2022-02-24 22:52:32 -05:00
tildearrow 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05:00
tildearrow dee74e7b14
Merge pull request #230 from BlastBrothers/master
A few small UI tweaks
2022-02-24 22:20:54 -05:00
cam900 d831a522a4 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/platform/ym2610Interface.cpp
2022-02-25 12:20:00 +09:00
BlastBrothers 1326de3928
Merge branch 'tildearrow:master' into master 2022-02-24 22:08:32 -05:00
unknown 1115da038c New demo song 2022-02-24 21:39:49 -05:00
BlastBrothers 36eec8f170 Fix Invert box position 2022-02-24 19:16:58 -05:00
BlastBrothers 577c281a17 Inst type combo box shows all the instruments 2022-02-24 18:15:18 -05:00
tildearrow 28254d4b24 SMS: add 1.79MHz option 2022-02-24 18:00:19 -05:00
tildearrow 4b6d9adcb9 volume changes
as of now the master volume is 1.0x (it was 2.0x before)
NES has also been amplified.
these changes should not affect older songs.
2022-02-24 17:56:19 -05:00
BlastBrothers 101e2c4383 Mixer: Wide bars/invert box moved to reduce height 2022-02-24 17:45:37 -05:00
tildearrow 82c8b97d9c Neo Geo: safety checks 2022-02-24 16:53:38 -05:00
tildearrow e4ad569f8d Lynx: fix stereo 2022-02-24 16:53:20 -05:00
tildearrow f7bd06c4eb yay ADPCM-A and QSound work again! 2022-02-24 16:16:02 -05:00
cam900 1e2d5694b9 Prepare to support YM2610B and with Extended channel 3 mode
Allow 8 bit volume for YM2610 ADPCM-B
Remove sample mode macro in YM2610, it's always enabled and seperated channels.

TODO: ADPCM-B is still not implemented, FM Channel 2 is silenced in extended channel 3 configuration
2022-02-25 01:02:35 +09:00
tildearrow 1e98f0c4a1 sample system rewrite! **PLEASE READ**
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...

consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.

it's nearly 4am...
2022-02-24 03:57:45 -05:00
tildearrow 3542229448 better sample loading in really old .dmf files 2022-02-24 00:05:11 -05:00
tildearrow 259b6598d0 update format.md 2022-02-23 23:22:46 -05:00
BlastBrothers b95e0691a4 Wavetable graph no longer fills the whole window 2022-02-23 22:56:31 -05:00
tildearrow 92e1553014 yay + prepare for sample system changes 2022-02-23 22:00:20 -05:00
tildearrow ccfed873e8 system master race 2022-02-23 21:53:07 -05:00
tildearrow 957c2b84b6 GUI: attribution 2022-02-23 21:35:51 -05:00
nicco1690 f9524ebd26 Add another demo song
when the spam is ton
2022-02-23 21:33:24 -05:00
tildearrow b5b402ab7f
Merge pull request #219 from superctr/220223_qsound_clipping
qsound clipping fix from MAME
2022-02-23 17:52:52 -05:00
Ian Karlsson a92c29bbdb qsound clipping fix from MAME 2022-02-23 23:51:34 +01:00
tildearrow 3804e45042
Merge pull request #216 from superctr/220223_smpl
Update center rate and loop information when loading and saving samples
2022-02-23 17:04:09 -05:00
Waldemar Pawlaszek 8d1da90d78
Fixing a bug that resulted with broken pitch range on non MSVC systems. (#215) 2022-02-23 22:48:06 +01:00
BlastBrothers 9f69e5e204 Wavetable text input now spans the whole width 2022-02-23 14:25:06 -05:00
BlastBrothers c139242611 Had to make the FM editor a little bit shorter 2022-02-23 12:00:48 -05:00
BlastBrothers 1ea174b8c2
Merge branch 'tildearrow:master' into master 2022-02-23 11:51:42 -05:00
BlastBrothers 1c33fe0edb force update 2022-02-23 11:51:02 -05:00
Ian Karlsson 6472795b01 Update center rate and loop information when loading and saving samples 2022-02-23 14:32:35 +01:00
tildearrow 29cae1a3f8
Merge pull request #212 from superctr/220223_qsound
qsound: Reduce volume scaling
2022-02-23 04:25:51 -05:00
tildearrow a29a89224e compound system flattening, part 3
added a new strategy to determine system name
2022-02-23 03:54:06 -05:00
Ian Karlsson ce3e8c6c6b qsound: Reduce volume scaling 2022-02-23 09:26:22 +01:00
tildearrow 319c559f47 compound system flattening, part 2
.dmf saving implemented. only available for the following setups:
- YM2612 + SMS = Genesis
- YM2612 ext3 + SMS = Genesis ext3
- YM2151 + SegaPCM compat = Arcade
- SMS + OPLL = SMS with FM expansion
2022-02-23 03:19:32 -05:00
tildearrow e4b9a6d1d9 compound system flattening, part 1
as of now compound systems (Genesis and Arcade) are translated to
separate chips.

this improves audio quality and makes things easier.

it also allows you to change the volume of each chip on a Genesis.

also adds SegaPCM system with 16 channels!
2022-02-23 02:52:30 -05:00
tildearrow a7ecb4ecdb header license oops 2022-02-23 02:13:43 -05:00
tildearrow 6dd98e1d7c Merge branch 'master' of github.com:tildearrow/furnace 2022-02-23 01:12:20 -05:00
LoKiToon 7a4a1e352b
Add files via upload (#211) 2022-02-23 01:11:23 -05:00
tildearrow 2e01e96b93 GUI: finally good looking columns 2022-02-23 00:18:16 -05:00
tildearrow 56acd5ccbb oopsie 2022-02-22 23:50:38 -05:00
tildearrow 2a97f17b88 attribution 2022-02-22 23:50:18 -05:00
BlastBrothers f3016bc6d7
Compact FM editor with alternate envelope display (#210)
* tab names, env size, ssg tickbox

* Env size, ssg tickbox, tab names

* Horizontal line showing sustain

* Compress the envelope horizontally

* Draw release as shaded triangle in background

* Envelopes now scale with TL

* Draw two lines to SL, changed env horiz. scaling

* SL line again (yes, the env clips thru the window)

* Slopes of DR and D2R stay constant when SL changes

* revert horiz SL line behavior

* Minor code cleanup

* Handle cases where AR, Dr, or D2R are 0

* FM editor fits without vertical scrollbar at 1080p

* Reverse sliders so louder/longer is on the right

Co-authored-by: BlastBrothers <Blast_Brothers_aol.com>

(TODO: add options for this)
2022-02-22 23:39:44 -05:00
tildearrow ef0e19413c ok so fix the file dialog 2022-02-22 22:41:37 -05:00
tildearrow a5561f1899 tabs to spaces 2022-02-22 22:13:17 -05:00
tildearrow 4122238a4a aaaaaaaaaaaaa 2022-02-22 21:54:25 -05:00
tildearrow bb074bee4c update credits 2022-02-22 21:20:04 -05:00
BlastBrothers 9237a0f6fa
Merge branch 'tildearrow:master' into master 2022-02-22 20:09:41 -05:00
BlastBrothers 71efc3d7c3 Reverse sliders so louder/longer is on the right 2022-02-22 19:15:00 -05:00
tildearrow 381f3e07ee Merge branch 'master' of github.com:tildearrow/furnace 2022-02-22 18:22:52 -05:00
tildearrow ed302286e2 Merge branch 'superctr-cps2' 2022-02-22 18:22:27 -05:00
tildearrow e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
tildearrow a29fcee3c3
Merge pull request #205 from nicco1690/patch-1
Add OPLL docmentation
2022-02-22 18:06:20 -05:00
tildearrow 38e948e6e1 update format.md 2022-02-22 17:49:29 -05:00
tildearrow f2232b6157 more lynx micro-fixes and bump version to dev57
allocated 3 versions for possible emergency fix releases after 0.5.7

0.6 dev starts here!
2022-02-22 17:48:13 -05:00
tildearrow 278536489f lynx micro-fix 2022-02-22 17:40:29 -05:00
tildearrow 8ca32aa2d6
let's go
Atari Lynx Support
2022-02-22 17:37:23 -05:00
Francisco Demartino e743d847cd GUI: unhardcode about line count 2022-02-22 17:20:16 -05:00
Waldemar Pawlaszek b1120575e4 Proper device resetting 2022-02-22 21:35:17 +01:00
Waldemar Pawlaszek 2e45b3066a Removing unused variables 2022-02-22 21:34:56 +01:00
tildearrow 820eb469d7 update readme
to reflect current status
2022-02-22 15:33:52 -05:00
Ian Karlsson e32ef2d881 Add 3xxx effect to set echo delay buffer length. Add documentation 2022-02-22 21:16:46 +01:00
Waldemar Pawlaszek d07f28aec5 Compilation error fix 2022-02-22 21:12:10 +01:00
BlastBrothers c128463edc FM editor fits without vertical scrollbar at 1080p 2022-02-22 13:21:29 -05:00
BlastBrothers c345acd3f7 Handle cases where AR, Dr, or D2R are 0 2022-02-22 12:45:46 -05:00
BlastBrothers d3497c1ed0 Minor code cleanup 2022-02-22 11:55:13 -05:00
BlastBrothers 765cca1451 revert horiz SL line behavior 2022-02-22 09:20:05 -05:00
BlastBrothers d0aaf581f5 Slopes of DR and D2R stay constant when SL changes 2022-02-22 09:16:36 -05:00
BlastBrothers 532d2387c5 SL line again (yes, the env clips thru the window) 2022-02-22 08:31:48 -05:00
BlastBrothers f5f4aa00a1 Draw two lines to SL, changed env horiz. scaling 2022-02-22 08:25:09 -05:00
Waldemar Pawlaszek d15b3d6ffd Some documentation 2022-02-22 13:36:21 +01:00
Waldemar Pawlaszek 69fb99bafd Implementing register pool. Slightly reworking emulation core. 2022-02-22 12:52:05 +01:00
Ian Karlsson b3908216f8 Implement QSound support 2022-02-22 11:36:12 +01:00
Waldemar Pawlaszek 79e53cfd10 Merge branch 'master' of git://github.com/tildearrow/furnace into tildearrow-master
# Conflicts:
#	src/gui/insEdit.cpp
2022-02-22 09:13:49 +01:00
tildearrow 721445cf07 release v0.5.7 (for real this time)
also fix oscilloscope and add layout reset option
2022-02-22 02:01:59 -05:00
tildearrow 61253d4558 GUI: draw reference line in arp macro 2022-02-22 00:51:59 -05:00
tildearrow 6d6d30cbf3 set compatibility flags for 1.1 modules 2022-02-22 00:32:23 -05:00
tildearrow 4ce28c0a05 GUI: one more visualizer fix 2022-02-22 00:32:13 -05:00
tildearrow 5af0292f69 GUI: make the visualizer no longer a secret 2022-02-22 00:18:37 -05:00
tildearrow 2d90881a55 GUI: a few more visualizer tweaks 2022-02-22 00:13:32 -05:00
tildearrow 7540f12596 don't warn about clipping
too much spam
2022-02-21 23:53:41 -05:00
tildearrow 193c8af12d GUI: fix visualizer issues
including a hang/memory munch
2022-02-21 23:53:17 -05:00
tildearrow 6cfe209a41 add 3 demo songs (requested by SuperJet Spade)
thanks!
2022-02-21 23:35:15 -05:00
tildearrow a253e3d016 GUI: improve arp macro view 2022-02-21 23:33:44 -05:00
BlastBrothers 600f54a402 Envelopes now scale with TL 2022-02-21 23:17:19 -05:00
tildearrow 4db91256b1 fix repeat pattern hanging audio/VGM export 2022-02-21 23:05:41 -05:00
tildearrow 6ffb332c4e PCE: fix samples being at double pitch 2022-02-21 22:59:56 -05:00
tildearrow b4194c2b48 store reg view window action in config 2022-02-21 22:58:07 -05:00
nicco1690 6dff2c91bb
Add OPLL docmentation
May need edits when OPLL support is added.
2022-02-21 22:37:11 -05:00
tildearrow df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
BlastBrothers 78a609b438 Draw release as shaded triangle in background 2022-02-21 18:17:25 -05:00
tildearrow f54aeb4c08 GUI: add ability to remap note keys 2022-02-21 18:01:41 -05:00
BlastBrothers a840ec7929 Compress the envelope horizontally 2022-02-21 17:23:07 -05:00
tildearrow 15883adc6f GUI: add tooltip to ++ in pattern view 2022-02-21 17:13:21 -05:00
tildearrow da9bf01797 GUI: finally solve the pattern color leak issue 2022-02-21 16:52:57 -05:00
BlastBrothers 5466551e5a Horizontal line showing sustain 2022-02-21 16:31:52 -05:00
Waldemar Pawlaszek 37ceb1542f Further build errors correction 2022-02-21 20:43:02 +01:00
Waldemar Pawlaszek bbd8669a1a Missing license 2022-02-21 20:17:16 +01:00
BlastBrothers 8c7dd59e53 Merge branch 'master' of https://github.com/BlastBrothers/furnace 2022-02-21 14:00:08 -05:00
Waldemar Pawlaszek 5093a1ca55 Disabling LYNX VGM export 2022-02-21 20:00:08 +01:00
BlastBrothers 90a67666c5 Env size, ssg tickbox, tab names 2022-02-21 13:59:19 -05:00
Waldemar Pawlaszek de6cbba472 Fixed gcc errors 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek 6e79e84e53 Added panning and load LFSR commands. 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek 869f799299
Merge branch 'tildearrow:master' into master 2022-02-21 19:58:30 +01:00
BlastBrothers 964fc56030 tab names, env size, ssg tickbox 2022-02-21 13:55:26 -05:00
tildearrow fd28d1aef0 add support for building without RtMidi 2022-02-21 13:47:49 -05:00
tildearrow db553ba91c GUI: possibly fix clipboard pasting 2022-02-21 13:31:32 -05:00
tildearrow fea49c3437 spaces 2022-02-21 13:27:39 -05:00
Ygor 55f9b70a8d
Another demo song (#201)
* Could this song become an furnace demo?

* Add files via upload
2022-02-21 19:22:17 +01:00
Waldemar Pawlaszek 5b527c6c00
Merge branch 'tildearrow:master' into master 2022-02-21 19:05:53 +01:00
tildearrow fa9905633b more attribution 2022-02-21 12:49:13 -05:00
That8BitChiptuneGuy 381d53964f Added a tip about Sampling 2022-02-21 12:38:44 -05:00
Waldemar Pawlaszek 1d5813aba3
Merge branch 'tildearrow:master' into master 2022-02-21 12:53:52 +01:00
tildearrow d7bcd18c56 wait! not yet!
make it pre4 and tag it because i forgot about keybinds!
2022-02-21 04:28:25 -05:00
tildearrow d0df796c12 release v0.5.7 2022-02-21 03:19:42 -05:00
tildearrow eb2e08c834 GUI: add ability to rename patterns 2022-02-21 03:05:00 -05:00
tildearrow f815ee9427 don't round frequency
apparently that wasn't too good for some songs that relied on E5xx
2022-02-21 02:33:07 -05:00
tildearrow 57c4e22d70 add support for loading .vgi and .tfi instruments 2022-02-21 01:44:51 -05:00
Waldemar Pawlaszek 8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow 3f57cf0951 GUI: prepare for reading more instrument formats
issue #79
2022-02-20 23:21:59 -05:00
tildearrow 1f6d44b29a VGM export: fix song end effect hang 2022-02-20 23:13:52 -05:00
tildearrow 8e17f20de2 fix deep clone not working at times 2022-02-20 23:07:46 -05:00
tildearrow 18c5867d9c fix playSub strategy
properly handle nested playSubs
fixes #174
2022-02-20 23:03:42 -05:00
tildearrow 9068b7013b update format.md for upcoming systems 2022-02-20 22:49:18 -05:00
tildearrow 5ae4d883a5 one more mishap 2022-02-20 22:48:42 -05:00
tildearrow 28e6c205ee C64: fix wave effect bypassing mute 2022-02-20 22:23:32 -05:00
tildearrow fd00b1a815 allow loading 1.0 .dmw 2022-02-20 22:16:43 -05:00
tildearrow 8f03964fbb NES: fix noise being totally wrong 2022-02-20 22:08:47 -05:00
tildearrow 5ffda66f22 NES: better channel muting 2022-02-20 21:54:03 -05:00
tildearrow 1030bc13b2 C64: fix wiz lab one more time 2022-02-20 21:45:28 -05:00
tildearrow e697c055b6 replay keyOn in active channels during forceIns
fixes an issue when playing orders
2022-02-20 21:39:14 -05:00
tildearrow 197d3ab39d OR SYSTEM_RTMIDI 2022-02-20 17:58:12 -05:00
tildearrow d78efda9e9 3.5 2022-02-20 17:57:28 -05:00
freq-mod ce112d0eff more technical technical names 2022-02-20 15:24:03 -05:00
Waldemar Pawlaszek 2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow 47d7e68958 i am so drunk 2022-02-20 04:40:45 -05:00
tildearrow 0f69a6d206 GUI: follow up to #191 2022-02-20 04:26:35 -05:00
tildearrow 3a6beecb67
Merge pull request #191 from franciscod/about_fps
make about page animation framerate independent
2022-02-20 04:24:19 -05:00
tildearrow fa363384aa 1.1 .DMF saving
as of now you're given a choice between 1.1 and 1.0 module
2022-02-20 03:18:20 -05:00
tildearrow 2326c4250e sdfghjkl 2022-02-20 01:56:27 -05:00
breakthetargets f5a28220a1 Add in demo songs 2022-02-20 01:55:43 -05:00
tildearrow 68eecb723f fix bugged notes in .dmf 2022-02-19 23:11:20 -05:00
tildearrow 73b0edad7c GUI: prevent layout reset 2022-02-19 22:04:55 -05:00
tildearrow cda18d32b3 store pattern names 2022-02-19 18:18:12 -05:00
tildearrow 67ec998196 LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO 2022-02-19 17:35:52 -05:00
Francisco Demartino 87c9cc7574 make about page animation framerate independent
fixes #189
2022-02-19 18:15:57 -03:00
tildearrow 859ac5e373 GUI: add the rest of instrument types
NO UI YET
2022-02-19 03:37:47 -05:00
tildearrow 464ad5a825 preliminary 1.1 .dmf loading 2022-02-19 02:52:53 -05:00
tildearrow 9eb6d1cfc1 logW -> logE 2022-02-19 00:00:21 -05:00
tildearrow a9b2102ec1 GUI: add party time warning 2022-02-18 13:21:36 -05:00
tildearrow 0d5aa002d3 prepare for custom note/value input map 2022-02-18 13:11:41 -05:00
tildearrow 840be64314 split config management 2022-02-18 13:11:04 -05:00
tildearrow 84cf4ec046
Merge pull request #187 from TheEssem/patch-1
Change LICENSE install location
2022-02-18 13:05:19 -05:00
tildearrow 1a95e18f13 split system definition code
engine.cpp is now shy of 2500 lines
2022-02-18 13:04:33 -05:00
tildearrow 650beebe99 split VGM ops code 2022-02-18 12:58:36 -05:00
Essem bc0814babd
Change LICENSE install location
Necessary for packaging on some distros
2022-02-18 11:57:46 -06:00
tildearrow c39d3898b4 split file ops code 2022-02-18 12:39:45 -05:00
tildearrow 339959fc23 :< 2022-02-18 02:21:01 -05:00
tildearrow ce2af4303e yay for more compatibility flags
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow 86e5b77981 fix E000 being treated too literally 2022-02-18 01:53:46 -05:00
tildearrow fbed03dd0c fix E1xy/E2xy behaving wrong with arps 2022-02-18 01:27:26 -05:00
tildearrow f272f3f3f7 use _wgetenv instead of getenv on Windows 2022-02-17 23:07:36 -05:00
tildearrow f735617ee3 GUI: code split, part 4
gui.cpp now 5600 lines
2022-02-17 22:59:11 -05:00
tildearrow dde2849a16 GUI: code split, part 3 2022-02-17 22:40:23 -05:00
tildearrow 5ef34eb140 GUI: hide volume macro on GB instruments 2022-02-17 22:25:53 -05:00
tildearrow f376e919ff Game Boy: fix sweep in non-sweep channel 2022-02-17 22:19:01 -05:00
tildearrow 585efbec13 GUI: increase maximum octave
issue #179
2022-02-17 22:07:59 -05:00
tildearrow 36eaea0fa7 OPN: apply max freq limit 2022-02-17 22:07:20 -05:00
tildearrow eafc3078cf NES: fix high pitch being out of tune 2022-02-17 21:59:48 -05:00
tildearrow 7d9749d0ef GUI: prevent crash when unable to load a font 2022-02-17 21:40:31 -05:00
tildearrow f572d6e386 add demoscenetypebeat.fur
requested by TheDuccinator
2022-02-17 21:21:46 -05:00
tildearrow b3d26d3309 GUI: code split, part 2 2022-02-17 14:04:39 -05:00
tildearrow 0feba09de2 GUI: code split, part 1 2022-02-17 13:08:17 -05:00
tildearrow d0b236ca9e fix Windows build
how did CI let this through?!
2022-02-17 04:33:19 -05:00
tildearrow 456db22f9d fix wrong include path 2022-02-17 04:26:23 -05:00
tildearrow 7bc0f530a3 oh I forgot about CMake and Info.plist! 2022-02-17 03:38:54 -05:00
tildearrow 5cbe140288 release v0.5.6 2022-02-17 03:37:47 -05:00
tildearrow 8eaf94cbce GUI: display correct keybinds in menu bar 2022-02-17 03:33:43 -05:00
tildearrow 79fe54d4b6 fix some glitches 2022-02-17 03:20:08 -05:00
tildearrow bacf57bb65 add stop song effect! finally! 2022-02-17 03:15:51 -05:00
tildearrow 09144b95f9 GUI: add ability to see previous orders in the pattern
editor

closes #161
2022-02-17 02:44:17 -05:00
tildearrow 810ee33d11 GUI: prepare for drawing prev/next pat content 2022-02-16 16:11:15 -05:00
tildearrow b0996371b7 suffix with 00 instead of 0 in file export 2022-02-15 21:15:19 -05:00
tildearrow 7a05f902ea i need to go 2022-02-15 18:52:12 -05:00
tildearrow e5d9aed669 GUI: also accept number pad for value input 2022-02-15 17:47:07 -05:00
tildearrow 0bd953bcb4 GUI: add UI scaling setting 2022-02-15 17:42:56 -05:00
tildearrow 647f2f96b0 dear tildearrow are you drunk or what? 2022-02-15 17:22:09 -05:00
tildearrow b24c572632 prevent division by zero, part 1 2022-02-15 15:19:36 -05:00
tildearrow 6960112f69 prepare for something 2022-02-15 13:38:59 -05:00
tildearrow 77d4b9cb62 GUI: scroll horizontally when cursor moves
fixes #171
2022-02-15 02:59:20 -05:00
tildearrow 2919bc5f03 add font file types 2022-02-15 02:11:12 -05:00
tildearrow 853ade2416 improve the status bar
issue #39
2022-02-15 01:46:03 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow 40be874042 license clarification, part 2 2022-02-14 22:01:11 -05:00
tildearrow 3d1d7dabaa license clarification, part 1 2022-02-14 21:59:26 -05:00
tildearrow 1196b7a5b0 GUI: add ability to load custom font
Furnace does what - *static*
2022-02-14 18:18:30 -05:00
tildearrow 91579e09eb GUI: don't abort on font load failure
paving the way for custom fonts
2022-02-14 18:00:04 -05:00
tildearrow 1c3074bb43 PCE: also fix issue here (i think) 2022-02-14 02:45:20 -05:00
tildearrow b319614fb5 fix channel cut not being reset when changing orde
r
2022-02-14 02:43:56 -05:00
tildearrow 939416791b Amiga: don't replay samples on set order 2022-02-14 02:32:37 -05:00
tildearrow 6850daaca0 GUI: fix BPM not considering time base 2022-02-14 02:32:18 -05:00
tildearrow bfb902f649 fix #172 2022-02-13 23:49:01 -05:00
tildearrow 53482105dc add an option to select audio device 2022-02-13 21:42:57 -05:00
tildearrow d2d60c4f1a what 2022-02-13 18:13:29 -05:00
tildearrow f11377ba1a attribution 2022-02-13 18:04:23 -05:00
tildearrow 9ea510c351 SAA1099: implement SAASound core option 2022-02-13 17:49:24 -05:00
tildearrow 2f766553e8 add SAASound as an alternate SAA1099 core
DOES NOT WORK YET
2022-02-13 17:02:49 -05:00
tildearrow 7c80a88bbf GUI: fix debug menu a bit 2022-02-13 15:03:07 -05:00
tildearrow aa0e318543 add RtMidi for eventual MIDI support 2022-02-13 15:02:43 -05:00
nicco1690 65e3e623f2 Include brief summary in the intro README file 2022-02-13 00:11:35 -05:00
tildearrow 6dfd1e4d17 don't tick metronome if step playing/freelance
issue #162
2022-02-12 23:15:06 -05:00
tildearrow 303cf406a9 GUI: this is ugly 2022-02-12 23:04:15 -05:00
tildearrow 271c0dc08b SMS: fix channel 3 muting at the beginning of song 2022-02-12 22:50:31 -05:00
tildearrow 3da54fc519 GUI: LFO shape macro hover 2022-02-12 21:50:29 -05:00
tildearrow 6bcd3df691 oopsie 2022-02-12 21:19:38 -05:00
tildearrow a42f029f9d GUI: fix MML string not clearing release point 2022-02-12 21:01:28 -05:00
tildearrow 1f25e4f467 GUI: fix paste not pasting release notes 2022-02-12 20:58:39 -05:00
tildearrow 49d91818bb add deep clone warnings 2022-02-12 18:02:33 -05:00
tildearrow 423d9fa45d Amiga: early bus limits emulation
it appears that if the period is lower than 124, the positions start
to desync

this is emulated by UAE, but i am not sure whether this happens on a real machine
and this isn't emulated properly here either
2022-02-12 17:43:30 -05:00
tildearrow dd460ccc42 GUI: change keybind for ins/wave/sample edit
i've had enough of the editor opening when i want to play the song
2022-02-12 16:55:17 -05:00
Eris Lund 2484bc8299 Add demo songs to Furnace 2022-02-12 16:42:55 -05:00
tildearrow 381d10e647 fix mac build 2022-02-12 04:26:23 -05:00
tildearrow 27497608fe add deep clone order - UNTESTED 2022-02-12 03:59:05 -05:00
tildearrow cc9e0c0f57 GUI: fix code typo 2022-02-12 02:53:18 -05:00
tildearrow 41afe7386c GUI: typoooooooooo 2022-02-12 02:43:48 -05:00
tildearrow 2c0de32fa3 GUI: implement a few more actions
two more and we have custom keybinds!
2022-02-12 02:42:47 -05:00
tildearrow ec3a8e93ed GUI: make the focus keys work 2022-02-12 02:14:25 -05:00
tildearrow b3410525a3 GUI: initial implementation of custom keybinds
still a few things missing
2022-02-12 01:57:55 -05:00
tildearrow f2a96b62d2 GUI: more keybindsss 2022-02-11 18:30:33 -05:00
tildearrow 43ba1f46fa GUI: more keybinds 2022-02-11 18:26:45 -05:00
tildearrow 1580e5836b GUI: wire up the code for custom keybinds
still no way to set them up, and four are missing
please be patient
2022-02-11 18:20:39 -05:00
tildearrow 350bbc8af1 DOES NOT WORK YET - initial bringup of custom key 2022-02-11 14:44:08 -05:00
tildearrow 99cf9b3bf1 GUI: woooooow 2022-02-11 01:56:59 -05:00
Plane dbed326a58 Tell MSVC source files are in UTF-8 format
On some locales (e.g. Japanese) MSVC will fail to build Furnace
because it makes an incorrect assumption about the encoding of
source files.  In particular, string literals in engine.cpp cause
compile errors.  This probably doesn't show up in CI because of
the difference in locale.

This patch adds the `/source-charset:utf-8` compiler flag for MSVC,
which tells it the encoding of the source files.

With this change, MSVC appears to build Furnace properly.  Tested
with Visual Studio Professional 2022.
2022-02-10 21:26:13 -05:00
OPNA2608 f56d771a4d Fix ObjC code linking 2022-02-10 21:25:23 -05:00
tildearrow dc46c67d9f GUI: set debug window size constraints 2022-02-10 21:14:27 -05:00
tildearrow 88680f594c add maps 2022-02-10 17:44:27 -05:00
tildearrow 4e936f2c2d prepare for converting keybinds to actions
issue #157
2022-02-10 16:37:17 -05:00
tildearrow bb7cbb9ced make row hex num uppercase 2022-02-10 14:11:52 -05:00
tildearrow 36787cb33e update doc 2022-02-10 04:19:15 -05:00
tildearrow 5cb8b9691b GUI: ctrl-y redo 2022-02-10 04:13:14 -05:00
tildearrow 91cbf9947b NOTICE: ADPCM-B DOES NOT WORK YET
it's selectable now but the channel is useless (for now)
2022-02-10 03:35:08 -05:00
tildearrow d27dcfecac rename Neo Geo to Neo Geo CD
pave the way for Neo Geo with ADPCM-B
2022-02-10 03:28:20 -05:00
tildearrow d1e166a34e add a little visual to channel names 2022-02-10 03:15:39 -05:00
tildearrow 73dd66b439 GB: fix wave orientation 2022-02-10 02:56:36 -05:00
tildearrow 8188b12821 GUI: add an FM envelope view! 2022-02-10 02:41:03 -05:00
tildearrow ed67fb0b4e GUI: algorithm image 2022-02-10 01:45:26 -05:00
tildearrow 569de9d81a add preliminary ymfm OPZ code 2022-02-09 23:19:02 -05:00
tildearrow c60cb9a137 Merge branch 'master' of github.com:tildearrow/furnace 2022-02-09 23:02:16 -05:00
nicco1690 6a1d143fab Update sample docs to be more clear
Changed according to changes requested by tildearrow
2022-02-09 23:02:06 -05:00
nicco1690 2b80dd74fc Add sample documentation (WIP, needs images) 2022-02-09 23:02:06 -05:00
tildearrow 62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow e115d9e23b the final macro changes. this is real 0.5.5 2022-02-09 17:03:31 -05:00
tildearrow ae44cabba8 fix release logic 2022-02-09 16:02:29 -05:00
tildearrow 788ccfb334 unscrew alg + volume 2022-02-09 12:43:27 -05:00
tildearrow 1c361003c2 GUI: fix mistakes in op macro editor 2022-02-09 12:27:20 -05:00
tildearrow 85e9add020 add demos to Windows release 2022-02-09 04:50:38 -05:00
tildearrow 589b887928 release v0.5.5 2022-02-09 03:44:48 -05:00
tildearrow 30d279ea89 attribution 2022-02-09 03:02:28 -05:00
tildearrow af80908581 update instrument doc 2022-02-09 02:55:53 -05:00
tildearrow 3054c7ad6f write pattern documentation 2022-02-09 02:12:37 -05:00
tildearrow fa5a732b68 GUI: extensions no longer case-sensitive
fixes #154
2022-02-08 23:13:54 -05:00
tildearrow 70a993aacb treat slide up as well 2022-02-08 23:01:39 -05:00
tildearrow 5b7240bb4f and fix it again 2022-02-08 22:49:52 -05:00
tildearrow f1730baefa fix artificial intelligence bomb
and a couple of songs that used 02xx after note off
2022-02-08 22:46:58 -05:00
tildearrow fd8b144185 aaaaaaa 2022-02-08 22:06:42 -05:00
tildearrow c8b149b4c8 GUI: allow setting macro release points 2022-02-08 21:59:30 -05:00
tildearrow 27333dc812 GUI: add hover function to PlotCustom
allows for fixed arp macro to be displayed as notes
2022-02-08 21:30:06 -05:00
tildearrow 4756599df0 fix timer ticking during row play 2022-02-08 17:43:26 -05:00
tildearrow a23a2ce91e force X11 if SDL_VIDEODRIVER not set
workaround for Wayland HiDPI issue #153
2022-02-08 17:35:41 -05:00
tildearrow a64f8f7a29 implement target resets slides flag 2022-02-08 17:24:24 -05:00
tildearrow e0b0da2072 implement note off resets slides flag 2022-02-08 17:17:01 -05:00
tildearrow 43c9c58034 implement legacy volume slides flag 2022-02-08 17:05:18 -05:00
tildearrow 23dc509524 implement reset macro on porta flag 2022-02-08 17:02:27 -05:00
tildearrow 6fb5ca0f78 implement compatible arpeggio flag 2022-02-08 16:48:19 -05:00
tildearrow 3d8991cdb8 save compat flags in the file 2022-02-08 16:43:40 -05:00
tildearrow 5cb9682673 freaking clang extension adding random headers 2022-02-08 16:15:53 -05:00
tildearrow 89d47da795 prepare to add more compatibility flags 2022-02-08 15:32:10 -05:00
tildearrow dea79c2adb inhibit note on if user has edited pattern
issue #82
untested
2022-02-08 13:31:57 -05:00
tildearrow bf537881ce possibly implement envelope release points
no way to set them yet tho other than the MML string
2022-02-08 13:11:04 -05:00
tildearrow 480ae960e4 add interface documentation (partial) 2022-02-08 05:19:32 -05:00
tildearrow 4ce116ca0a prepare for macro release points
issue #142
2022-02-08 03:50:42 -05:00
tildearrow 8991fa98ba i am not sure if this works 2022-02-08 02:11:21 -05:00
tildearrow 211208ed53 GUI: fix UI scaling on macOS
required patching ImGui D:
but hey, it mostly works! issue #35
2022-02-08 02:04:23 -05:00
tildearrow 3cc4add1e3 don't alter instruments in patterns when moving
fixes #150
2022-02-07 23:42:54 -05:00
tildearrow 8d45236cce SMS: add option to disable noise phase reset
issue #83
2022-02-07 23:05:50 -05:00
tildearrow a3beab6815 **UPDATE SUBMODULES** - PLEASE READ
i've updated the submodules. this should make ImGui work on Wayland
again (apparently).

please make sure to do `git submodule update --init --recursive`.
2022-02-07 22:09:20 -05:00
tildearrow 632f17862e better blip_buf excess strategy
fixes #133
2022-02-07 21:31:58 -05:00
tildearrow e6201b8390 SMS: prepare for don't reset phase flag 2022-02-07 18:34:04 -05:00
tildearrow fbb6c4cb4f add a setting to reset on system prop change
issue #131
2022-02-07 17:24:26 -05:00
nicco1690 4d14a19267
Fix typo in Wavetable docs (#149) 2022-02-07 21:37:04 +01:00
freq-mod fd12d5c232
Wave editor doc
Rather simple description
2022-02-07 20:52:21 +01:00
freq-mod 077fae80d6
Complete the instruments documentation 2022-02-07 20:13:27 +01:00
tildearrow bbb78fa720 GUI: disable duty macro on Amiga instrument 2022-02-07 13:32:18 -05:00
tildearrow 97a9be0581 GUI: add move by one row keys 2022-02-07 02:47:32 -05:00
tildearrow 1bb81394aa NES: enable duty and'ing on properNoiseLayout 2022-02-07 00:49:01 -05:00
tildearrow 76beedae0c i mean HAPPENING and the slide NOT HAPPENING 2022-02-07 00:30:37 -05:00
tildearrow e25f5b229c fix arpeggio not happening during slide on SMS 2022-02-07 00:30:15 -05:00
tildearrow 7599f99ca0 maybe fix audio backend not changing post-failure 2022-02-06 17:00:01 -05:00
tildearrow d0457a2e1b VGM export: improvements
- use shorthand command for waiting at 50/60Hz
- don't write stream rate change if DAC is off
2022-02-06 16:47:12 -05:00
tildearrow 28a7348863 add failsafe 2022-02-06 16:29:30 -05:00
tildearrow 127eb1569e dumb clang plugin randomly inserting headers
when i don't want it to
2022-02-06 16:28:04 -05:00
tildearrow 53d46b9aa1 OHHHHHH 2022-02-06 16:21:48 -05:00
tildearrow 8b438a4755 GUI: fix macro open button not appearing at times
fixes #144
2022-02-06 16:11:36 -05:00
tildearrow 20ac87d256 C64: add ring/sync macro 2022-02-06 15:56:10 -05:00
tildearrow 497c947513 fix 2022-02-06 15:48:27 -05:00
tildearrow e2c2e8140b C64 filter mode macro i think 2022-02-06 15:44:06 -05:00
tildearrow 2ea35ef734 Arcade: add LFO wave macro 2022-02-06 02:25:32 -05:00
tildearrow e06e316e10 add two new compatibility flags
proper noise range and duty macro is wave volume
2022-02-06 01:56:50 -05:00
tildearrow 8772439d3e add ability to play by one row 2022-02-06 00:42:07 -05:00
tildearrow 107187a20c GUI: add ability to play from cursor position
Shift-Enter or F7
2022-02-06 00:07:35 -05:00
tildearrow 9091081b9f oh... 2022-02-05 23:53:30 -05:00
tildearrow faed39843e PCE: fix channel 2 being mute?!
another discovery towards LFO fix?
fixes #141
2022-02-05 23:51:29 -05:00
tildearrow b0698dbac3 GUI: audio failure resilience 2022-02-05 23:48:56 -05:00
tildearrow fe47a2ba09 GUI: add audio want/got details 2022-02-05 21:26:24 -05:00
tildearrow 045dfa679a release v0.5.4
sorry this doesn't include too many features as it is another critical
bug fix release
2022-02-05 16:47:22 -05:00
tildearrow 12d4cd6467 add LFO speed macro 2022-02-05 16:40:03 -05:00
tildearrow 6000d702aa fix urgent bug regarding note slides 2022-02-05 16:33:06 -05:00
tildearrow 026b232c02 more LFO fix code 2022-02-05 16:19:22 -05:00
tildearrow 59cbfdcad9 PCE: partial fix to LFO
issue #88
2022-02-05 15:15:27 -05:00
tildearrow 3a2367f56a GUI: rename FMS to FMS/PMS 2022-02-05 14:57:55 -05:00
freq-mod ffb0058ea1
Merge pull request #137 from cam900/patch-2
fm.md: YM2151 has no SSG-EG
2022-02-05 18:18:40 +01:00
freq-mod b863b618ea
Merge pull request #135 from cam900/patch-1
ay8910.md: Fix document correction
2022-02-05 17:56:32 +01:00
cam900 27864aeef2
fm.md: YM2151 has no SSG-EG 2022-02-06 01:49:08 +09:00
cam900 685b4d2f9e
ay8910.md: Fix document correction 2022-02-05 23:48:34 +09:00
tildearrow 80df8e14b7 zzz 2022-02-05 05:40:47 -05:00
tildearrow 91b524811c GUI: potentially fix some truncation warnings 2022-02-05 05:22:57 -05:00
tildearrow 50516d86ae release v0.5.3 2022-02-05 04:42:10 -05:00
tildearrow cb430fc169 Genesis: fix bus overload when using ymfm core 2022-02-05 04:31:20 -05:00
tildearrow 396e918c7a GUI: re-enable some FM parameters
dang it
2022-02-05 04:21:36 -05:00
tildearrow 34ec189be5 release v0.5.2
FAST
2022-02-05 03:10:19 -05:00
tildearrow 07c53b3f5e GUI: the final channel collapse bits 2022-02-05 02:51:56 -05:00
tildearrow 67346fb6ca implement channel collapsing
kind of. TODO: care about selection
2022-02-05 02:41:29 -05:00
tildearrow 67acc7f7ab GUI: fix up cursor and select when hiding channels 2022-02-05 02:24:23 -05:00
tildearrow 560be4f341 FIX IT 2022-02-05 01:57:24 -05:00
tildearrow 088e49a3f4 implement channel hiding, names and song comment 2022-02-05 01:48:35 -05:00
tildearrow 2e157d7b22 GUI: respond to ctrl-shift-S 2022-02-04 23:21:42 -05:00
tildearrow 79b87c40d0 GUI: UI improvements
- add open/save keys
- more play/edit controls layouts!
2022-02-04 23:21:00 -05:00
tildearrow 813c511275 GUI: Game Boy env dir UI change 2022-02-04 22:02:19 -05:00
tildearrow bbd174498e Arcade: fix wrong sample pitch on diff clock rate 2022-02-04 21:40:48 -05:00
tildearrow 58b14fccd6 aaaaaaa 2022-02-04 21:35:32 -05:00
tildearrow 6b040084e0 Genesis: add alternate clock speed 2022-02-04 21:35:24 -05:00
tildearrow 15d310077d revert name of sound master
it was dual AY8930
2022-02-04 20:33:29 -05:00
tildearrow acdf4d6503 Amiga: add stereo separation setting 2022-02-04 17:59:55 -05:00
tildearrow a93a9c19f3 add "force mono audio" option and fix flags not be
ing set after a dispatch reset
2022-02-04 17:04:36 -05:00
tildearrow 16f497fcf1 what happened with sample loading 2022-02-04 16:46:56 -05:00
tildearrow 4e1c6d78c2 fix Neo Geo detuning 2022-02-04 16:21:18 -05:00
freq-mod 31bda87bb7 Update README.md 2022-02-04 16:10:27 -05:00
freq-mod c5612fa9ab add instrument docs 2022-02-04 16:10:27 -05:00
tildearrow 7a941e5b68 GUI: fix MML string input for negative numbers
fixes #124
2022-02-04 15:51:25 -05:00
tildearrow 088b3eece3 clarifications to format 2022-02-04 15:20:49 -05:00
tildearrow c5c7757c6b hide wave macro on STD instruments 2022-02-04 14:46:15 -05:00
tildearrow fcb02ddece update format.md for upcoming features 2022-02-04 14:44:07 -05:00
tildearrow b57e85134e prepare for end of song effect 2022-02-04 14:43:57 -05:00
tildearrow 29174e97cc ignore centerRate in old version 2022-02-04 03:34:38 -05:00
tildearrow 902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow 6a29ee63f5 GUI: fix some windows not being marked as active 2022-02-04 02:56:35 -05:00
tildearrow 2740e8416d GUI: plenty of UI work
- better song info layout
- add BPM indicator
- fix misalignment in FM editor (fixes #98)
2022-02-04 02:51:22 -05:00
tildearrow c1864849a0 PCE: oh yes another sample fix 2022-02-04 01:53:43 -05:00
tildearrow 507f3d7de1 GUI: there we go
now the buttons won't scroll in lists
2022-02-04 00:11:16 -05:00
tildearrow f03b410281 GUI: add new settings and proper inslist scroll
- step on delete
- scroll step
2022-02-04 00:03:30 -05:00
tildearrow 764196c1ad coupé 2022-02-03 18:39:54 -05:00
tildearrow 584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
tildearrow c8f57afda4 consider loop in sample preview
fixes #120
2022-02-03 16:52:27 -05:00
tildearrow 4dd935bbcc Genesis/Neo Geo ext.: fix possible TL bug 2022-02-03 16:17:30 -05:00
tildearrow c682c921a1 fix compatible-style retrigger 2022-02-03 15:43:41 -05:00
tildearrow a95d8e6fa3 GUI: fix MML string on 256-wide waves 2022-02-03 15:30:30 -05:00
freq-mod ead65d8c21 revert OPLL system 2022-02-03 14:41:34 -05:00
freq-mod 8e3355ad4a revert OPL3 and FDS
FDS is wave + pitch mod, so that one goes too
2022-02-03 14:41:34 -05:00
freq-mod 6a78b620c3 revert AY systems back 2022-02-03 14:41:34 -05:00
freq-mod 8a4787fbe4 partially revert previous commit
w/r/t feedback
2022-02-03 14:41:34 -05:00
freq-mod 93dfe8f4ac what am I doing 2022-02-03 14:41:34 -05:00
freq-mod 28f14e241e Change misleading name
PC-9801-86 is Ym2608 without ADPCM + stereo DAC, allowing up to 8ch PCM. That isn't what is done here. Idle Japan's speak board (or PC-9801-73?) is a pure YM2608 with ADPCM intact.
2022-02-03 14:41:34 -05:00
freq-mod 5326cb67c5 typo
also omitted one 2610 variant
2022-02-03 14:41:34 -05:00
freq-mod 8a946eb99f changed channel naming a bit
to be more specific
2022-02-03 14:41:34 -05:00
tildearrow a1aa0be300 GUI: add German notation option 2022-02-03 14:40:09 -05:00
tildearrow 0ceec182a0 SAA: fix negative octaves 2022-02-03 02:46:49 -05:00
tildearrow 9b83c304e5 AY8930: fix negative octaves 2022-02-03 02:46:42 -05:00
tildearrow 35e39d2c32 arcade limits 2022-02-03 02:30:21 -05:00
tildearrow 5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow d638af2017 fix E1xx and E2xx effects 2022-02-03 01:30:03 -05:00
tildearrow 2a15673610 implement loop modality and pitch control flags
issue #113
2022-02-03 00:52:50 -05:00
tildearrow 3379e8b380 prepare for compat flags, piano, comments, etc. 2022-02-03 00:34:48 -05:00
tildearrow 07b767bee1 prepare for ADPCM-B 2022-02-02 23:17:16 -05:00
tildearrow e9f9cfd518 prepare for E5xx behavior flag 2022-02-02 23:16:59 -05:00
tildearrow ccfe3bdd97 Genesis: add ability to use ymfm instead of Nuked 2022-02-02 23:08:45 -05:00
tildearrow 2fdca5a98f update format.md 2022-02-02 18:25:32 -05:00
tildearrow 3b3265f6f2 Merge branch 'master' of github.com:tildearrow/furnace 2022-02-02 18:25:09 -05:00
tildearrow da8e4715bd finally fix the build 2022-02-02 18:24:33 -05:00
tildearrow 3b84c3d4cd add Between_the_Circuits.fur
requested by kleeder
2022-02-02 18:13:00 -05:00
tildearrow e8b2fed06d add cueball.fur
closes #116
2022-02-02 18:11:53 -05:00
LoKiToon fe8226e2e5 Add files via upload 2022-02-02 17:53:25 -05:00
LoKiToon 3d44a1e5c0 Delete GranularFurn 2022-02-02 17:53:25 -05:00
LoKiToon ed1c2e7706 Create GranularFurn 2022-02-02 17:53:25 -05:00
tildearrow 14760e0669 **DO NOT BUILD THIS ONE** 2022-02-02 15:29:20 -05:00
tildearrow 84891cc4e5 GUI: turn loop position slider into a text field 2022-02-02 04:33:53 -05:00
tildearrow 8354f1a610 GUI: slightly tweak volume insertion method
untested as i am on bed
2022-02-02 04:23:36 -05:00
tildearrow dc16d52a7c fix #111 2022-02-02 03:23:33 -05:00
tildearrow 545f3ffdf4 Genesis: add DAC distortion flag 2022-02-02 03:06:30 -05:00
tildearrow ec9cc0e254 remove some debug messages 2022-02-02 02:49:39 -05:00
tildearrow 9c33abaa19 Genesis: fix extended channel 3 muting 2022-02-02 02:46:29 -05:00
tildearrow cbf66b1e62 prepare to add register cheat sheets 2022-02-02 02:14:42 -05:00
tildearrow ed15f01697 GUI: set path when opening file as cmdline arg 2022-02-02 01:14:21 -05:00
tildearrow 26cd33bae6 fix windows build 2022-02-02 01:06:29 -05:00
tildearrow 3e3e165662 fix windows build oh my 2022-02-01 23:59:25 -05:00
tildearrow f03ed7c833 NES: add hardware sweep effect 2022-02-01 18:28:48 -05:00
tildearrow f09a0b40c3 assign note off key to 1
fixes #103 as interim
2022-02-01 18:09:54 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow 3ca7ebd1fc update macOS release script to not use JACK 2022-02-01 16:31:19 -05:00
tildearrow 09106f661f fix Termux build 2022-02-01 16:05:01 -05:00
Christoph Neidahl c83e146d11
Improve devendoring & other CMake stuff (#21)
* Improve devendoring

* Add warning flags for own C++ code

For https://github.com/tildearrow/furnace/pull/12#issuecomment-1017330467.

* Document new CMake options

* pkg-config stuff

* Warnings stuff for MSVC yay

* Use more specific linking vars & functions

* Fix Linux icon location

* DEPENDENCIES_LEGACY_LDFLAGS for JACK too
2022-02-01 15:50:25 -05:00
freq-mod 320bebb4be
Add 12xx duty cycle description (#101) 2022-02-01 15:15:05 -05:00
tildearrow f29d4bce1b implement 11xx effect on FM platforms
please no ch 3
2022-02-01 15:12:06 -05:00
tildearrow 7c9beca93f release 0.5.1 2022-02-01 03:50:11 -05:00
tildearrow 5f918a7d18 SAA: add envelope macro 2022-02-01 03:44:02 -05:00
tildearrow 6c6cb52dd1 GUI: stop notes on octave change 2022-02-01 03:28:36 -05:00
tildearrow 4f5d37d415 VGM export: fix Genesis samples wrongly pitched 2022-02-01 03:23:29 -05:00
tildearrow df97142157 fix improper dir sep when loading sample on Win 2022-02-01 03:20:15 -05:00
tildearrow f75803c3b2 C64: fix filter reset not working well 2022-02-01 03:16:03 -05:00
tildearrow 34a68751e1 GUI: add ability to open files by drag-and-drop 2022-02-01 03:09:53 -05:00
tildearrow 5ec8c8aa07 GUI: prevent color leak in channel names 2022-02-01 03:01:07 -05:00
tildearrow ba08d3515f GUI: fix several file dialog bugs
damn it
2022-02-01 02:52:36 -05:00
tildearrow de931c1d2f did I just make an instrument loader 2022-02-01 01:21:51 -05:00
tildearrow 227fff021e try fixing .dmp loading
what a mess this format was before 1.0
2022-02-01 00:58:00 -05:00
tildearrow 971db17d29 update the macOS release script
asdjhkgkladfgh
2022-01-31 18:22:55 -05:00
tildearrow 80c815fe83 GUI: add panic option 2022-01-31 17:56:49 -05:00
tildearrow 72c548394f now add noise and/or mask macro for real
upcoming is auto-PWM
2022-01-31 17:45:02 -05:00
tildearrow e95258ad91 AEGJDSKADFGIOGSHBJSFKAL;FS 2022-01-31 17:28:17 -05:00
tildearrow d4858f0d40 fqwhjdgl;f'a\?SFG 2022-01-31 17:02:44 -05:00
tildearrow afe318c402 seemingly fix it 2022-01-31 17:00:52 -05:00
tildearrow 23ff23f7e7 again 2022-01-31 16:40:47 -05:00
tildearrow 9492edcdab prepare to fix AY8930 emulation 2022-01-31 16:33:45 -05:00
tildearrow 82e24c0db0 useless change 2022-01-31 16:33:37 -05:00
tildearrow af26ec9faf fix loading some .dmf modules 2022-01-31 16:33:32 -05:00
tildearrow 82d8728ca1 force minimum size on file picker 2022-01-31 15:03:10 -05:00
tildearrow 48046ef86c aw COME on 2022-01-31 13:02:20 -05:00
tildearrow da8380a6e2 prepare to fix loading old .dmp files 2022-01-31 12:55:51 -05:00
tildearrow 0da7aaa56e increase tuning range 2022-01-31 12:55:33 -05:00
tildearrow 88efee49a1 GUI: capital hexadecimal 2022-01-31 02:38:17 -05:00
tildearrow de4875676f PCE: fix samples being one octave higher 2022-01-31 02:28:51 -05:00
tildearrow 432f440be5 VGM export: fix SN chip mode not being set 2022-01-30 23:51:35 -05:00
tildearrow 352441449d fix not able to enter dirs with non-Latin chars 2022-01-30 23:30:13 -05:00
tildearrow ff5357de10 VGM export: fix playback speed being wrong
if audio rate wasn't 44100Hz
2022-01-30 23:07:09 -05:00
tildearrow a1d3d3d873 release 0.5
finally
2022-01-30 18:23:40 -05:00
tildearrow 1fe28ca1a3 GUI: set system font paths for Windows 2022-01-30 18:22:59 -05:00
tildearrow 8963e63806 GUI: update default layout 2022-01-30 18:17:46 -05:00
tildearrow 9abac414cb GUI: interpolate fast macro/wave drags 2022-01-30 18:10:41 -05:00
tildearrow fe0dc38f37 add VGM export warnings 2022-01-30 17:18:10 -05:00
tildearrow 237ad1f517 SMS: possibly fix noise pitch issue
hoping this causes no regressions. fixes #56
2022-01-30 17:10:15 -05:00
tildearrow bf9eb8b0a4 fix two possible pitch slide regressions
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow 5b2f776718 which arcade 2022-01-30 13:26:51 -05:00
tildearrow 9b213223cc VGM export: respect clock rate flags 2022-01-30 13:07:23 -05:00
tildearrow 822d542350 limit volume macro to system maximum
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow de5327d89a GUI: add a volume meter 2022-01-29 18:56:08 -05:00
tildearrow adbe70fa05 GUI: remember window size 2022-01-29 17:27:51 -05:00
tildearrow ab814604b5 limit window size to available space
for smaller than 1280x800 displays
2022-01-29 17:23:45 -05:00
tildearrow f01ce71fb6 GUI: add an option to set modal backdrop color 2022-01-29 14:20:30 -05:00
tildearrow c78532412d GUI: add overflow highlight setting
addresses one UI instability
2022-01-29 14:12:38 -05:00
tildearrow fbb5455292 add PM/AM depth macro 2022-01-29 04:37:53 -05:00
tildearrow 17ca6402d3 add instrument read error messages 2022-01-29 04:25:55 -05:00
tildearrow 28a0f8775f GUI: swap position of FB and ALG in ins edit 2022-01-29 04:25:28 -05:00
tildearrow 54a84c2ce1 preliminary .dmp loading
preliminary I said
some things don't load
2022-01-29 03:21:47 -05:00
tildearrow 386db38c34 GUI: remember last open windows 2022-01-29 01:54:30 -05:00
tildearrow 03c4891acb lol 2022-01-29 01:23:21 -05:00
tildearrow 5dafd10fc7 add several warning dialogs 2022-01-29 01:22:32 -05:00
tildearrow e9accf16db one more change to the format 2022-01-29 00:22:12 -05:00
tildearrow b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow 44649e3ce4 update ymfm readme 2022-01-28 22:33:42 -05:00
tildearrow 3b95baa60e Neo Geo: fix an ymfm bug... 2022-01-28 22:28:08 -05:00
tildearrow fe30e09d16 update readme to clarify build process 2022-01-28 22:23:08 -05:00
tildearrow 629d229bc1 i will finish this later today 2022-01-28 18:12:56 -05:00
tildearrow 09ebadf479 ( 2022-01-28 17:10:22 -05:00
tildearrow bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow 8c353548f5 prepare for system flags
issue #61
2022-01-28 03:40:06 -05:00
tildearrow 0567a3f71b GUI: add chip names option 2022-01-28 03:17:35 -05:00
tildearrow 9b62eb9d34 GUI: don't display a tooltip on the oscilloscope 2022-01-28 03:08:55 -05:00
tildearrow e443e71a20 make furnace discord server
sure
2022-01-28 02:52:48 -05:00
tildearrow f0eca1bea2 huh? the screenshot did not update 2022-01-28 01:28:30 -05:00
tildearrow faa6273718 update readme and screenshot
to reflect upcoming 0.5 version
2022-01-28 01:26:40 -05:00
tildearrow 30e72a348b GUI: add ability to dock editors
closes #58
2022-01-28 01:26:26 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow 0071894471 GUI: add a preliminary oscilloscope 2022-01-27 17:49:00 -05:00
tildearrow 17375cdbe0 GUI: tweak mixer a bit 2022-01-27 17:24:47 -05:00
tildearrow 8dc2b23db9 GUI: turn ins type into a combo box 2022-01-27 16:59:51 -05:00
tildearrow b812fc4041 prepare for sample C-4 freq
issue #70
2022-01-27 16:52:06 -05:00
tildearrow 3d25cfc501 and again 2022-01-27 16:13:45 -05:00
tildearrow e15c4b612f fix it again 2022-01-27 16:11:40 -05:00
tildearrow 5edbce6f4f fix system font on macOS 2022-01-27 16:11:05 -05:00
tildearrow cd9b2b675e VGM export: dual chip for real 2022-01-27 15:47:57 -05:00
tildearrow c4163699b6 Arcade: add noise freq macro
issue #16
2022-01-27 15:42:31 -05:00
tildearrow 30b553e87e AY: add envelope and auto-envelope macros 2022-01-27 15:31:48 -05:00
tildearrow ab38377bc5 GUI: add alternate FM names option 2022-01-27 15:01:05 -05:00
tildearrow 60a1e6f395 VGM export: kind of dual chip support 2022-01-27 13:10:51 -05:00
tildearrow 3405018a91 prepare to add a setting for tech names in FM par
ams
2022-01-27 04:51:34 -05:00
tildearrow 578542ff16 fix no GUI build again 2022-01-27 04:27:21 -05:00
tildearrow 17b1a65280 fix no GUI build 2022-01-27 04:25:16 -05:00
tildearrow c577eeafac VGM export: implement sys selection/loop options
the final thing to do is dual chip support, but I wanna get 0.5
out already
2022-01-27 02:46:40 -05:00
tildearrow 3ed738dd6a Arcade: fix arpeggio macro 2022-01-27 02:35:16 -05:00
tildearrow 3cf71c4ccb Neo Geo: implement FM macros 2022-01-27 02:32:34 -05:00
tildearrow 5eb974456d Arcade: implement FM macros 2022-01-27 02:17:09 -05:00
tildearrow 684daa29e3 more uninitialized stuff :< 2022-01-27 02:02:33 -05:00
tildearrow c47851e7c7 GUI: highlight loop 2022-01-27 01:04:26 -05:00
tildearrow 8edcbc8d39 fix 0Bxx and 0Dxx commands
now wiz lab and sixeight-v2 play correctly
TODO: fix walkSong
2022-01-27 00:29:37 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow 30b012cc5e Game Boy: initialize uninitialized variable 2022-01-26 18:03:25 -05:00
tildearrow 1347d16da4 Genesis: fully implement volume macro 2022-01-26 18:03:08 -05:00
tildearrow 143543e0b4 GUI: and more macro editor work 2022-01-26 17:22:29 -05:00
tildearrow 554b69e9f3 GUI: MML strings for waveforms
issue #67
2022-01-26 16:29:49 -05:00
tildearrow a895cb9c5e NES: fix issue for real 2022-01-26 16:07:55 -05:00
tildearrow bf19feab89 NES: actually set chip type to 2A07 if PAL
fixes #72
see also #27
2022-01-26 15:55:37 -05:00
tildearrow f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow 1981dc6033 GUI: MML string improvements 2022-01-26 15:23:50 -05:00
tildearrow e195031538 add MML strings in macro editor
completely UNTESTED as I wrote this on bed
2022-01-26 13:13:17 -05:00
tildearrow c822532b54 several improvements to new macro UI
now it is fully usable
well, almost
2022-01-26 03:49:46 -05:00
tildearrow 4d1b69e905 fix Ctrl-C not stopping in console mode 2022-01-26 03:00:58 -05:00
tildearrow d882fd33f8 GB: lower volume
somehow a fix brought in a bug
2022-01-26 03:00:49 -05:00
tildearrow 496501803f GUI: add advanced VGM export menu
does NOT work yet!
2022-01-26 00:26:15 -05:00
tildearrow b2d2da1f1c correct names for Genesis and SMS 2022-01-25 22:29:00 -05:00
tildearrow 8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow c7ee0ce642 save my register writes 2022-01-25 16:52:55 -05:00
tildearrow 3672ceccb7 VGM export: write loop point
proper channel reset after loop pending!!!
2022-01-25 16:44:21 -05:00
tildearrow 503a79c904 what? 2022-01-25 15:51:53 -05:00
tildearrow 61a1932bce add walkSong 2022-01-25 15:06:29 -05:00
tildearrow 6d54023b70 VGM export: report number of total writes 2022-01-25 04:43:56 -05:00
tildearrow 4db26806d6 fix a typo regarding Cxxx effect 2022-01-25 04:14:17 -05:00
tildearrow b527fc06b2 try to unglitch the sample loops again
this time it works better but it slightly moves the song clock...
will look at it when i wake up
2022-01-25 03:34:11 -05:00
tildearrow e8163b71e2 try to unglitch the sample loops
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2022-01-25 03:24:32 -05:00
tildearrow 0c8ec07633 VGM export: kind of implement sample loop
for PCE, NES and Genesis
kinda glitchy
2022-01-25 03:12:53 -05:00
tildearrow b6c536c907 VGM export: fix PC Engine samples 2022-01-25 02:38:46 -05:00
tildearrow 2dac7f3b87 add ability to switch octaves using numpad / and * 2022-01-25 00:08:46 -05:00
tildearrow 511b6ba0be VGM export: PCE samples (kinda) 2022-01-24 18:04:09 -05:00
tildearrow cda191afee VGM export: NES samples 2022-01-24 17:48:58 -05:00
tildearrow 92b5620497 VGM export: fix sample glitch if length&255==0 2022-01-24 17:19:34 -05:00
tildearrow 9d2032d627 VGM export: Arcade sample looping 2022-01-24 17:13:47 -05:00
tildearrow d945e5299a Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6' 2022-01-24 15:53:02 -05:00
tildearrow bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow 50a0f1f360 VGM export: fix up SegaPCM
turns out it is capable of arbitrary loop position!
2022-01-24 15:23:42 -05:00
tildearrow 9654c6a85d add -vgmout parameter
to output VGM files from command line
2022-01-24 13:15:07 -05:00
tildearrow fedc045909 add SegaPCM commands
let's hope it works
2022-01-24 13:06:06 -05:00
tildearrow 993ab767b6 ADPCM memory safety 2022-01-24 12:47:18 -05:00
tildearrow e221bcb023 VGM export: bake SegaPCM samples
after this, the following has to be done:
- PCM playback
- PCM playback on PCE and NES (let's hope this is possible)
2022-01-24 12:39:05 -05:00
tildearrow ea796c2d6b VGM export: fix noise in Neo Geo 2022-01-24 02:57:49 -05:00
tildearrow 066f0f074f fix clicking 2022-01-24 02:55:01 -05:00
tildearrow 1b4081a044 VGM export: implement ADPCM storage
possibly first open-source Neo Geo tracker that exports to .vgm
2022-01-24 02:52:45 -05:00
tildearrow a3a2e3ff47 add more chips to VGM export
missing:
- Sega PCM
- Neo Geo ADPCM
2022-01-24 02:09:03 -05:00
tildearrow 0ab0ebdddb GUI: actually add the export VGM option 2022-01-24 01:10:38 -05:00
tildearrow 858d5343b8 earliest VGM export!
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow 35ee06d6cf fix ECxx effect
fixes #57
2022-01-23 22:00:46 -05:00
tildearrow 9fe0efd63a VGM export skeleton DOES NOT WORK
VGM export not there yet. please don't use it.
2022-01-23 21:50:45 -05:00
tildearrow f42a326693 GUI: revamp the macro editor 2022-01-23 17:55:02 -05:00
tildearrow 0928dea37a oops 2022-01-23 17:02:24 -05:00
tildearrow c5282df819 GUI: rename Absolute to Fixed
see issue #55
2022-01-23 17:02:09 -05:00
tildearrow beeb074975 GUI: prepare for modern macro view 2022-01-23 17:01:19 -05:00
tildearrow 5e2a827e68 GUI: add setting to change macro UI 2022-01-23 16:46:32 -05:00
tildearrow 32e56be9b7 GUI: add the last FM macro tab 2022-01-23 16:34:20 -05:00
tildearrow 9274033358 GUI: disable macro loop with right click
issue #53
2022-01-23 15:56:03 -05:00
tildearrow 524f8c312e Genesis: implement arp macros 2022-01-23 15:55:12 -05:00
tildearrow 45d9bef2a8 Genesis: restore LFO value when changing order 2022-01-23 15:15:46 -05:00
tildearrow cd2854d027 it works 2022-01-23 15:12:00 -05:00
tildearrow b39b1c0a25 Genesis: implement FM macros (partial, untested) 2022-01-23 13:19:19 -05:00
tildearrow 04f0c6a7cb prepare the skeleton for VGM export 2022-01-23 13:19:06 -05:00
tildearrow ccc2467d7b run all the 60 macros
one more step and then we have FM macros
2022-01-23 03:27:44 -05:00
tildearrow a45c697004 now Neo Geo 2022-01-23 00:57:47 -05:00
tildearrow e79a1bd64d bring command-line audio export back! 2022-01-22 23:50:49 -05:00
tildearrow 5a2a3a03c0 add furnace test suite 2022-01-22 23:50:26 -05:00
tildearrow 58c9edf9c1 store FM macros in file
a few more steps and then we'll have functional FM macros
2022-01-22 22:21:21 -05:00
tildearrow 9940222a6f prepare for storage of FM macros 2022-01-22 18:28:43 -05:00
tildearrow f286e65dc1 fix it! 2022-01-22 18:06:18 -05:00
tildearrow d62b111c78 Genesis: separate channel state from instrument
paves way for FM macros
with this change, extended channel 3 mode breaks! do not use
until I diagnose the problem.
2022-01-22 17:43:57 -05:00
tildearrow c5956b939e GUI: change modifier key to Command on macOS 2022-01-22 16:34:44 -05:00
tildearrow 67b47b43b2 prepare to add compatibility flags 2022-01-22 15:30:23 -05:00
tildearrow 8ccd465a1b Merge branch 'master' of github.com:tildearrow/furnace 2022-01-22 13:14:24 -05:00
tildearrow 7a9ca149b2
Merge pull request #12 from OPNA2608/master
GitHub Action CI
2022-01-22 13:14:10 -05:00
tildearrow c8a5ab8787 GUI: implement use system font 2022-01-22 03:37:57 -05:00
tildearrow 12428a9fcd fix scrolling on differing font sizes 2022-01-22 03:15:43 -05:00
tildearrow 28c339cb6d implement selecting with shift 2022-01-22 03:12:02 -05:00
tildearrow c64c1c1c2d Amiga: tune it a bit 2022-01-22 02:54:46 -05:00
tildearrow da7893f015 use the old version of Exo font
i liked it more
2022-01-22 02:54:32 -05:00
tildearrow 413fbd985a NES: same thing 2022-01-22 02:38:01 -05:00
tildearrow 371c23a7ee Genesis: fix sample desync when muting DAC channel 2022-01-22 02:36:58 -05:00
tildearrow 4327654415 GUI: slight color change 2022-01-22 02:34:36 -05:00
tildearrow 79dc5904b4 GUI: apply primary/secondary colors 2022-01-22 02:32:17 -05:00
tildearrow 71abb69e88 GUI: add ability to change colors
only partially works. primary/secondary colors don't work yet
2022-01-22 01:50:52 -05:00
tildearrow 031a61e771 GUI: oops i missed something 2022-01-22 00:30:42 -05:00
tildearrow 8b79bf78a9 add Furnace instrument loading
TODO: .dmp loading
2022-01-22 00:14:48 -05:00
tildearrow 969a5d203b GUI: fix detune values
fixes #51
2022-01-21 23:30:05 -05:00
tildearrow 2fa565180f temporarily limit font range
until I can load unifont dynamically to not run out of memory
2022-01-21 18:20:38 -05:00
tildearrow 724b1cd1a8 move more wavetable loading logic
now it's safer
2022-01-21 18:17:05 -05:00
tildearrow 186e491c59 allow loading wavetables 2022-01-21 17:59:48 -05:00
tildearrow c82440a7bc GUI: finish op macro UI
now to revamp the other UIs...
2022-01-21 17:13:50 -05:00
tildearrow 945416642a GUI: improve OP macro UI 2022-01-21 17:00:28 -05:00
tildearrow b8e6ce36bf update demos/README.md 2022-01-21 15:35:18 -05:00
tildearrow c8eeac4f63 update mac release script
no longer pack the .zip, but got to figure out a way to insert
files on the .dmg
2022-01-21 15:34:06 -05:00
OPNA2608 c061b36720 Fix MSVC linking 2022-01-21 13:47:09 +01:00
Christoph Neidahl 2c2ef754c2 Init GitHub Action CI 2022-01-21 13:47:09 +01:00
tildearrow 61639e5123 release v0.4.6
don't worry, this won't be the final release
2022-01-21 04:42:18 -05:00
tildearrow 4cffcc01e5 ffffiiiiixxxx #47 2022-01-21 04:35:25 -05:00
tildearrow bc32809ecb fix #46 2022-01-21 04:27:00 -05:00
tildearrow f5b71e35b1 i will release 0.4.6 to fix clipboard bug first 2022-01-21 03:45:59 -05:00
tildearrow 5fcb83a7f5 GUI: set column width 2022-01-21 03:13:32 -05:00
tildearrow b9902902be GUI: prepare for FM macros
the most complicated UI to date
2022-01-21 02:54:52 -05:00
tildearrow 3b5370681a GUI: set size constraints for wave editor 2022-01-21 02:06:49 -05:00
tildearrow 9307a14a1d GUI: display C64/AY/SAA wave macros differently
hopefully better
2022-01-21 01:56:30 -05:00
tildearrow e06911258e TIA: fix mute being ignored at times 2022-01-20 23:14:18 -05:00
tildearrow d8e8fd4031 SAA1099 doesn't like DC offset correction 2022-01-20 23:09:04 -05:00
tildearrow ff0e48679b arcade: fix PCM channels not muting when Nuked-OPM 2022-01-20 22:13:56 -05:00
tildearrow 730561d3a3 arcade: add effects to control AMD/PMD 2022-01-20 17:54:11 -05:00
tildearrow e10f61eda2 GUI: set a minimum window size for the ins editor 2022-01-20 17:42:14 -05:00
tildearrow 4b43694db0 fix negative notes 2022-01-20 16:56:35 -05:00
tildearrow 46fd774f30 allow sample preview via keyboard 2022-01-20 16:51:31 -05:00
tildearrow 05bbfaced2 get rid of a debug message 2022-01-20 16:41:18 -05:00
tildearrow 917c9cf2e3 Genesis: allow sample preview 2022-01-20 16:40:18 -05:00
tildearrow 0b7772e76c PCE: allow sample preview 2022-01-20 16:33:20 -05:00
tildearrow e23df0f09e move config file to proper directory on macOS 2022-01-20 16:27:11 -05:00
tildearrow aa82ccfbc5 GUI: allow use of negative octaves
closes #41
2022-01-20 16:21:35 -05:00
tildearrow 0f28ae0fee implement Furnace-style PCM on Arcade/Gen/NES/PCE 2022-01-20 16:09:05 -05:00
tildearrow 812d0397a8 GUI: rename Amiga ins type to sample 2022-01-20 14:18:15 -05:00
tildearrow 751f6d025a prepare to add effect descriptions 2022-01-20 13:48:20 -05:00
tildearrow 8d1e14e844 GUI: implement pattern cursor wrapping
to be tested. see issue #34
2022-01-20 13:15:37 -05:00
tildearrow 8ab97a959c add ps_fopen to properly handle fopen on Windows
fixes #22
2022-01-20 05:04:03 -05:00
tildearrow 06dfb7e803 dirent: use custom UTF-16 to UTF-8 converter
see issue #22
files/dirs with non-Latin chars are displayed after this commit
they still do not load though, but a fix is guaranteed
2022-01-20 04:52:20 -05:00
tildearrow 1ee23ac198 AY8930: fix first channel envelope reset at random 2022-01-20 03:25:57 -05:00
tildearrow 75ce5f4e2a add auto-envelope mode (29xy effect)
this closes #32
2022-01-20 03:23:03 -05:00
tildearrow 04240ffa46 GUI: move cursor up on pull delete
fixes #28
2022-01-20 02:53:59 -05:00
tildearrow 4ee17d35cd implement sample loop on the rest of systems 2022-01-20 02:46:28 -05:00
tildearrow 3954a23f3e GUI: add double-click to toggle solo
closes #33
2022-01-20 02:28:55 -05:00
tildearrow 86f0ec45fa GUI: allow order input 2022-01-20 02:11:03 -05:00
tildearrow b66918bf62 don't compile icon.c under Windows either
MSVC weirds out
2022-01-20 01:46:03 -05:00
tildearrow 1e0131cdac and do it for real 2022-01-20 01:40:50 -05:00
tildearrow 0282c9c0b4 GUI: re-arrange FM parameter layout 2022-01-20 01:39:54 -05:00
tildearrow 93c4ab0cc8 GUI: rewrite note preview logic
now with polyphony! see issue #16
2022-01-20 01:32:16 -05:00
tildearrow 6db9d312ec fix crash when previewing size 0 waves 2022-01-20 00:43:08 -05:00
tildearrow d8571eda08 add types for ins/wave formats 2022-01-20 00:39:28 -05:00
tildearrow 797ffd62da GUI: center file picker and limit to win size 2022-01-20 00:31:36 -05:00
tildearrow 3a87017821 GUI: force a minimum file picker window size
see issue #16
2022-01-20 00:13:50 -05:00
tildearrow 7ad715da38 GUI: hide duty macro if PCE 2022-01-20 00:09:30 -05:00
tildearrow 85dd6c3579 add ability to preview wavetables
issue #16
2022-01-20 00:07:53 -05:00
tildearrow 85bb081f3b prevent clock drift when previewing samples 2022-01-19 23:23:47 -05:00
tildearrow e394b5ca5a C64: solve one ADSR bug
set decay to 0 if sustain is 15
2022-01-19 22:58:37 -05:00
tildearrow 51a89adb3d more headache 2022-01-19 22:05:39 -05:00
tildearrow abea8e5dce fix clipboard pasting bug
NOT ANOTHER OF THESE!
2022-01-19 21:53:21 -05:00
tildearrow fee174a65a fix ECxx accuracy 2022-01-19 21:53:09 -05:00
tildearrow 18df843864 reduce clicking on play/loop 2022-01-19 21:04:51 -05:00
tildearrow 0e346f5d73 temporarily reduce channel limit to 63
thanks ImGui
2022-01-19 18:24:37 -05:00
tildearrow 9f6b8ed521 prepare for different order edit modes
see issue #31
2022-01-19 18:19:52 -05:00
tildearrow 7c509ba9b8 highlight cursor row when edit mode is on
closes #29
2022-01-19 18:10:42 -05:00
tildearrow a47a571f0b add row number base setting
closes #30
2022-01-19 18:04:07 -05:00
tildearrow f39e522e7e really allow 8 effect columns
third time is the charm
2022-01-19 17:34:20 -05:00
tildearrow 6b2819019c now release 0.4.5 for real
please no more crash bugs. i have plenty to work on.
2022-01-19 17:10:21 -05:00
tildearrow 64a7744f10 one more crash fix! 2022-01-19 17:09:34 -05:00
tildearrow 068fb0f3ce release v0.4.5 2022-01-19 17:02:27 -05:00
tildearrow 379d90ae4d add more fonts
partially related to an issue when displaying non-Latin characters
however a true fix isn't coming yet as I haven't figured out a way
to load glyphs during run-time as needed
2022-01-19 16:58:01 -05:00
tildearrow f32f079ef8 fix more crashes on the file dialog
oh yes, the wonders of dealing with this useless broken file dialog.
honestly I didn't think it was broken to this point...

and no, I don't want to use the **other** file dialog as it requires
C++17 which is too ahead of time
2022-01-19 15:03:33 -05:00
tildearrow b091404d63 increase effect column limit to 8 2022-01-19 13:10:41 -05:00
tildearrow e24738fcda possibly fix a crash when opening file picker
with missing directory
2022-01-19 05:44:19 -05:00
tildearrow 62a499644f add wavetable saving 2022-01-19 05:10:06 -05:00
tildearrow 7c40948680 release v0.4.4 2022-01-19 04:34:12 -05:00
tildearrow 44ef49d267 GUI: fix note pasting
issue #23
2022-01-19 04:32:40 -05:00
tildearrow dce289a5a0 add early code for saving instruments 2022-01-19 03:28:29 -05:00
tildearrow a989fa8920 prepare for ins/wave loading/saving 2022-01-19 03:15:20 -05:00
tildearrow 464714df00 GUI: add clone instrument/wave 2022-01-19 02:59:44 -05:00
tildearrow fe757ac6e7 release 0.4.3
urgent release due to serious bug when removing systems
2022-01-19 01:40:15 -05:00
tildearrow efee5c3d7a now remove debug messages 2022-01-19 01:36:47 -05:00
tildearrow aa1a3f8aab oh yes more fixes 2022-01-19 01:36:20 -05:00
tildearrow f98662d329 slide accuracy fixes 2022-01-19 01:27:32 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 1642f29df8 fix critical bug when removing systems 2022-01-18 22:02:04 -05:00
tildearrow 32cdeb108f update two submodules 2022-01-18 21:51:58 -05:00
tildearrow 20bca9cce4 AY8930 code attribution 2022-01-18 18:32:42 -05:00
tildearrow 850e270f7d update doc 2022-01-18 18:22:17 -05:00
tildearrow 5a7cf57aa2 AY8930: implement noise and/or mask
cannot confirm whether this behavior is accurate to hardware though...
thanks Eulous for details on this!
2022-01-18 18:21:27 -05:00
tildearrow 488bd45907 lower PCE volume a bit
see issue #16
2022-01-18 17:35:41 -05:00
tildearrow a956f37f1b Genesis/Neo Geo: fix extended channel mode volume 2022-01-18 17:18:07 -05:00
tildearrow 64745648a0 allow negative octaves 2022-01-18 16:55:32 -05:00
tildearrow 4bfc85bebc prepare for FM macros
issue #19
2022-01-18 16:32:53 -05:00
tildearrow 2363f1dd58 GUI: reduce height of AY8930 duty macro to 8 2022-01-18 15:54:15 -05:00
tildearrow 05fd372728 AY: fix wave macro and effect 2022-01-18 15:48:40 -05:00
tildearrow a148a04e2c disable delay locking bug emulation entirely
so it appears the bug emulation caused an actual bug
2022-01-18 15:24:42 -05:00
tildearrow 104295e06d update TIA doc 2022-01-18 15:16:03 -05:00
tildearrow 0356cf2c7a TIA: add 10xx effect for selecting shape 2022-01-18 15:12:36 -05:00
tildearrow 1d5277c27b more devendoring fixes 2022-01-18 02:56:12 -05:00
tildearrow 75118e404b fix the AppImage script........... again 2022-01-18 02:19:17 -05:00
tildearrow 36e448a815 and of course the AppImage broke. let's fix it 2022-01-18 02:17:21 -05:00
tildearrow f652d6c738 fix devendor again and prepare for 0.4.2 2022-01-18 02:09:47 -05:00
tildearrow aaca180683 add per-channel audio export 2022-01-18 02:04:03 -05:00
tildearrow 9b8044a401 add export one audio file per system mode 2022-01-18 01:26:22 -05:00
tildearrow a60eae00e5 add install directives for resource files
fixes #6
2022-01-18 01:00:08 -05:00
tildearrow 4419f72218 devendor libraries 2022-01-18 00:45:17 -05:00
tildearrow 345962092e add notifyWaveChange
fixes #8
2022-01-18 00:25:10 -05:00
tildearrow af30d4990a GUI: add algorithm text 2022-01-18 00:04:13 -05:00
tildearrow 6d9f5db6a4 add notifyInsChange
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow 8d4d47950c rewrite audio export
now it is possible to export audio from the GUI!
multiple export coming soon
2022-01-17 23:34:29 -05:00
tildearrow a377ba1f96 fix clicking if chip rate is less than audio rate 2022-01-17 22:15:00 -05:00
tildearrow 15f8a9b66f GUI: prevent stuck note if ImGui wants capture kb 2022-01-17 21:34:57 -05:00
tildearrow 7165d39105 Neo Geo/AY: implement 20xx command 2022-01-17 21:14:35 -05:00
tildearrow df3ae12278 fix furnace for 32-bit 2022-01-17 21:08:14 -05:00
tildearrow a0896f949c and againnnnn 2022-01-17 18:18:28 -05:00
tildearrow d73c0512eb fix Microsoft C compiler build... again 2022-01-17 18:15:47 -05:00
tildearrow cba4385607 ignore speed change if speed is 0
fixes #9
2022-01-17 18:05:29 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow 84e9d52d7f Microsoft C compiler compatibility
unsupported and not recommended!
2022-01-17 17:44:17 -05:00
tildearrow d828018500 release v0.4.1
fixes critical AppImage fail issue and some other things
2022-01-17 17:31:48 -05:00
tildearrow 9b018aadb2 update linux release script. again. 2022-01-17 17:16:05 -05:00
tildearrow f3a61f3222 fix build in old compiler 2022-01-17 17:12:24 -05:00
tildearrow f58d926c37 update linux release script
as of now Ubuntu 16.04 is required to build the AppImage
2022-01-17 17:00:04 -05:00
tildearrow 69be47b419 PCE: no abort 2022-01-17 16:59:34 -05:00
tildearrow ecd2955c0f honor arcade core setting 2022-01-17 16:27:57 -05:00
tildearrow 6884494b5c fix issue with volume macro+slide 2022-01-17 16:23:47 -05:00
tildearrow dde2462025 proper non-QWERTY keyboard support 2022-01-17 14:53:46 -05:00
tildearrow 5900e3bb6e extra error messages for audio init fail 2022-01-17 14:36:40 -05:00
tildearrow 1f4c721749 fix build in some cases
link against SDL2-static
2022-01-17 14:26:02 -05:00
tildearrow 8b89f1b516 prepare for writing register dumps 2022-01-17 13:29:35 -05:00
tildearrow 871a417e25 add a demos directory 2022-01-17 03:59:45 -05:00
tildearrow 49fa75f4b5 GUI: add transpose keys 2022-01-17 02:06:05 -05:00
tildearrow 1632b2864a possibly fix crash when switching JACK backend out 2022-01-17 01:49:36 -05:00
tildearrow 6ca3c4ec4d dynamic audio settings changing 2022-01-17 01:42:26 -05:00
tildearrow d6d6bf80ec move audio init/quit to separate functions 2022-01-17 01:20:02 -05:00
tildearrow 3026bf8ba9 temporarily disable audio export
I need to rewrite the audio export code so it becomes possible to export
audio from the GUI
2022-01-16 23:32:13 -05:00
tildearrow 12236248dd prepare for eventual export 2022-01-16 23:21:27 -05:00
tildearrow 499af535da GUI: audio quality option
not working yet
2022-01-16 17:38:52 -05:00
tildearrow 7b797c3028 GUI: improve settings management 2022-01-16 17:25:43 -05:00
tildearrow 818ebcd195 hmmm 2022-01-16 15:16:05 -05:00
tildearrow bca84f2f9c update readme again 2022-01-16 04:43:54 -05:00
tildearrow f4f1d744f7 update readme 2022-01-16 04:42:40 -05:00
tildearrow 35834a1116 release 0.4 2022-01-16 04:23:23 -05:00
tildearrow 8c80af4a46 SAA1099: fix octave not being set in last 2 chans 2022-01-16 01:55:54 -05:00
tildearrow 9193ec0f14 add attribution for SAA1099 core 2022-01-16 01:47:19 -05:00
tildearrow 85c7612194 TIA: one more mute refinement 2022-01-16 01:43:55 -05:00
tildearrow b8538fa091 GUI: fix some cases in where curNibble remains 1 2022-01-16 01:37:16 -05:00
tildearrow 45b6c19867 rename system to platform
easier to understand
2022-01-16 01:17:30 -05:00
tildearrow 6fe8e73d7f update readme 2022-01-16 01:11:50 -05:00
tildearrow ed5279f96c update documentation 2022-01-16 01:10:43 -05:00
tildearrow c09ce1892b Amiga: limit sample length 2022-01-15 22:49:53 -05:00
tildearrow 93f82637ad Amiga: respect max period 2022-01-15 22:49:09 -05:00
tildearrow 5666cd3bce prevent setting speed to 0 and update year 2022-01-15 22:38:51 -05:00
tildearrow 3a340b99f4 add getPreferInsType 2022-01-15 22:11:40 -05:00
tildearrow 848373cb07 GUI: add sample tips 2022-01-15 21:57:56 -05:00
tildearrow 31f8378cef Amiga: take loop pos into account 2022-01-15 18:03:37 -05:00
tildearrow 785f7e4d40 samples may have loop points 2022-01-15 17:54:21 -05:00
tildearrow 755042a8fe Amiga: fix max volume 2022-01-15 17:54:09 -05:00
tildearrow c9b69f885a GUI: correct volume macro range for Amiga 2022-01-15 17:42:17 -05:00
tildearrow 79b86da98b Amiga: get rid of a debug message 2022-01-15 17:32:39 -05:00
tildearrow 113a1577b6 do the Amiga 2022-01-15 17:28:33 -05:00
tildearrow be9f3c8101 update format with new chips 2022-01-15 15:51:58 -05:00
tildearrow a06a82ca89 prepare for amiga system 2022-01-15 15:50:53 -05:00
tildearrow 2f1cdab36b fix mixing being done wrongly 2022-01-15 00:24:06 -05:00
tildearrow 29ca2033d9 AY: remove redundant break 2022-01-14 23:38:07 -05:00
tildearrow 10c78e3fd2 now actually finish SAA1099 2022-01-14 23:37:03 -05:00
tildearrow 0e2230d036 hopefully finish the SAA1099 platform 2022-01-14 23:26:22 -05:00
tildearrow d2cef16adf WHAT?! 2022-01-14 20:34:15 -05:00
tildearrow e05db17ce2 it plays notes 2022-01-14 18:19:52 -05:00
tildearrow 740521b469 AY: don't write to bufR 2022-01-14 16:35:19 -05:00
tildearrow 307665f531 prepare for SAA1099 2022-01-14 16:29:27 -05:00
tildearrow 390eb66647 TIA: absolute arp macros are now periodic 2022-01-14 15:34:54 -05:00
tildearrow c23ba3b532 add TIA instrument type 2022-01-14 15:21:57 -05:00
tildearrow 3afb0f815d lower the volume of TIA by half 2022-01-14 14:12:49 -05:00
tildearrow 1d3429d568 C64: don't gate on legato 2022-01-14 13:55:19 -05:00
tildearrow 268e1029ad update readme 2022-01-14 12:23:19 -05:00
tildearrow ad145a13e4 fix the desync 2022-01-14 04:41:32 -05:00
tildearrow 573ce69dc7 add TIA platform
currently there is a desync bug which remains to be fixed...
2022-01-14 03:37:36 -05:00
tildearrow 8c7e58b3d5 GUI: only open file if able to save 2022-01-14 00:34:22 -05:00
tildearrow 6d2aa8d23e change AY frequency 2022-01-14 00:26:10 -05:00
tildearrow dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow b26208f2c1 fix changing order if 0Bxx is present 2022-01-13 20:54:34 -05:00
tildearrow 805cf69c52 deprecate macro heights
now we do everything based on the ins type
2022-01-13 20:44:45 -05:00
tildearrow 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow 0545775de6 prepare for better ins del safety 2022-01-13 17:40:29 -05:00
tildearrow fea783eaac fix macOS build 2022-01-13 16:12:02 -05:00
tildearrow 943f88b306 add four more macros
they eventually will be used
2022-01-13 13:55:33 -05:00
tildearrow 36e52ec564 update format.md 2022-01-13 03:31:58 -05:00
tildearrow 3ac0079ffa update readme 2022-01-13 03:05:41 -05:00
tildearrow 11cf0dc560 prevent saving unsupported systems to .dmf 2022-01-13 03:05:36 -05:00
tildearrow 0b352ecd9a add AY-3-8910 platform!
this paves the way for eventual AY-3-8930 platform...
2022-01-13 02:52:19 -05:00
tildearrow 2fcb474544 stuff
implement two systems and system vol/pan
2022-01-13 01:03:57 -05:00
tildearrow 177fe0fbdd release 0.3.1
- added `25xx` and `26xx` effects in Neo Geo platform for
  envelope period slides
- added `3xxx` and `4xxx` effects in C64 for fine duty/cutoff control
- made home/end keys work
- deleting a single note will delete related instrument value as well
- fix instrument value input when there are less than 16 instruments
- added `Cxxx` effect for mid-song Hz change
- possibly fix a hang when using multiple sound chips
- reduce PC Engine CPU usage
2022-01-12 23:00:22 -05:00
tildearrow 9b40dd994b prepare for more platforms 2022-01-12 22:58:51 -05:00
tildearrow 9ff852d1db PCE: reduce CPU usage 2022-01-12 22:14:20 -05:00
tildearrow cd739f5fde change master clock to sampleRate*256
this hopefully fixes the hang by doing all clock ops on a master clock
rather than one clock per system
2022-01-12 17:45:07 -05:00
tildearrow fa5b99b46a add stuff for diagnosis of hang problem 2022-01-12 17:02:48 -05:00
tildearrow e7dc301d30 update readme 2022-01-12 02:47:06 -05:00
tildearrow 6245b3af31 add Cxxx effect for mid-song Hz change
also add hang detection as I ran into one of them while test multi-chip
2022-01-12 02:45:26 -05:00
tildearrow d19d37c561 update readme again 2022-01-11 18:57:26 -05:00
tildearrow 80c03fcbae GUI: home/end keys 2022-01-11 18:54:31 -05:00
tildearrow 5dfe19e52d GUI: remove instrument when deleting one note 2022-01-11 18:50:44 -05:00
tildearrow b26ef5ac82 GUI: better instrument value input 2022-01-11 18:43:19 -05:00
tildearrow 651db5784e implement more effects
- C64: set fine duty and filter
- Neo Geo: slide SSG envelope
2022-01-11 18:38:26 -05:00
tildearrow 69b56e6d4c prepare for adding wavetable from file 2022-01-11 16:25:55 -05:00
tildearrow d6f97e0c48 fix typo in readme 2022-01-11 04:55:52 -05:00
tildearrow a62b37603d update format spec for eventual ins/wave format 2022-01-11 04:45:07 -05:00
tildearrow 245a566806 release 0.3
- all-new Furnace file format
- ability to add multiple sound chips in a single song!
- made more buttons work
- revamped instrument editor
- revamped wavetable editor with custom width/height
- C64 duty/filter macros may now be absolute
- finally! an icon!

after this release, the focus will be on adding features, fixing bugs
and adding new platforms. enjoy!
2022-01-11 03:58:19 -05:00
tildearrow 314e4c8fd4 update readme 2022-01-11 03:52:26 -05:00
tildearrow 4c5fbc252b allow moving ins/wave/samples up or down 2022-01-11 03:52:11 -05:00
tildearrow 020d278f00 GUI: freeze the first column in orders 2022-01-11 03:40:21 -05:00
tildearrow 5637639950 waveform width/height controls 2022-01-11 03:16:32 -05:00
tildearrow 02b5b05e04 prepare for 0.3 2022-01-10 17:30:36 -05:00
tildearrow 5bcc3d5d6d absolute C64 filter macros!
exclusive to .fur format
2022-01-10 17:04:31 -05:00
tildearrow 9f6bb570c9 absolute C64 duty macros!
exclusive to .fur format
2022-01-10 16:54:58 -05:00
tildearrow 3fdcd3a4fc GUI: final refinements to macro editor (hopefully) 2022-01-10 16:42:51 -05:00
tildearrow 9f14d1959c GUI: prepare for macro height 2022-01-10 15:19:41 -05:00
tildearrow b4127d7222 GUI: TODO 2022-01-10 03:36:49 -05:00
tildearrow c36d19f495 not an oopsie 2022-01-10 03:35:29 -05:00
tildearrow b4cd93886b GUI: change color of C64 instrument a bit 2022-01-10 00:07:08 -05:00
tildearrow d0a2a0f902 auto-determine ins type when adding 2022-01-09 23:50:26 -05:00
tildearrow 7d336d61f7 how did I miss that!!!!!!!! 2022-01-09 22:17:03 -05:00
tildearrow bcacc763a8 GUI: more changes around ins edit 2022-01-09 22:09:45 -05:00
tildearrow 325478e37a GUI: revamp instrument editor 2022-01-09 17:48:09 -05:00
tildearrow 7568f1a1b9 better YMU759 support
time base now loaded as rate and timer no longer bugs out

also you can save YMU759 songs as .fur now, even if it is pointless
2022-01-09 17:08:14 -05:00
tildearrow 9b6db75d4f C64: use full cutoff/duty range
this means .dmf becomes a second-class citizen since it only supports a
range of 0-100 (yeah) for arbitrary reasons...

the last bit to do is add effect that allows you to use the full range
2022-01-09 17:00:52 -05:00
tildearrow 4bbfc22c2a GUI: add/remove options 2022-01-09 16:36:47 -05:00
tildearrow 925a29249b implement Furnace format loading 2022-01-09 14:54:28 -05:00
tildearrow 0b4ad13858 more work 2022-01-09 04:42:58 -05:00
tildearrow 8d9cddde37 implement Furnace format saving
experimental and no loading yet
2022-01-09 03:52:41 -05:00
tildearrow c43cc0ae80 GUI: add option to add more systems 2022-01-08 18:18:23 -05:00
tildearrow e961cf79ca NES: add NESAPU struct
to allow multi-chip support
2022-01-08 17:44:17 -05:00
tildearrow 06c7ac92a2 earliest multi-chip support
no saving, no adding chips yet...
only the beginning
2022-01-08 17:15:12 -05:00
tildearrow 7080434ed4 this does not compile 2022-01-08 16:03:32 -05:00
tildearrow f47543ab98 prepare for multiple chip support, part 2 2022-01-08 03:02:04 -05:00
tildearrow 254bf18036 move the code a bit to load/save other formats 2022-01-08 02:22:04 -05:00
tildearrow 073703f8ba refuse to save YMU759 songs
the .dmf format no longer allows YMU759 songs...
2022-01-08 02:04:43 -05:00
tildearrow 121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -05:00
tildearrow 6aab9f01cf update macOS icon 2022-01-07 18:16:42 -05:00
tildearrow 45d39b2483 add Windows icon 2022-01-07 17:41:47 -05:00
tildearrow c6f17f1360 use the new icon 2022-01-07 03:29:56 -05:00
tildearrow 0ff9eb4356 update logo again
the first one looked bad so i updated it
2022-01-07 02:48:24 -05:00
tildearrow ce436d2e32 now update the icns 2022-01-06 18:40:07 -05:00
tildearrow cfab60ad21 update iconset 2022-01-06 18:38:58 -05:00
tildearrow 6cff9d8753 finally a logo 2022-01-06 18:37:16 -05:00
tildearrow a10972df99 rename the macOS volume 2022-01-06 18:36:59 -05:00
tildearrow 28d3dc2691 release 0.2.2 2022-01-06 13:24:12 -05:00
tildearrow e8dc1e3c8b turn the metronome into a sine 2022-01-04 00:29:59 -05:00
tildearrow 530a9bafc7 add a metronome 2022-01-04 00:02:41 -05:00
tildearrow 943e4e374f better compatibility with old GB modules 2022-01-03 23:22:39 -05:00
tildearrow 4c8ff2edb3 fix clicks on replay 2022-01-03 03:37:58 -05:00
tildearrow 7ed1777bdc fix 128 instrument song failing to read 2022-01-03 03:35:13 -05:00
tildearrow cbc39909e4 release 0.2.1
several fixes and stuff
2022-01-01 12:45:21 -05:00
tildearrow 2608c0d84e GUI: allow instrument preview on ins list/edit 2021-12-31 17:14:30 -05:00
tildearrow f59b808959 GUI: remember last directory in file picker 2021-12-30 22:34:42 -05:00
tildearrow 217e42471b release 0.2
the first release ever with pre-built binaries
2021-12-30 18:58:51 -05:00
tildearrow 0f7ea7c269 GUI: finish the modified thing 2021-12-30 18:52:36 -05:00
tildearrow 9a1853249b finally make the save option work 2021-12-30 18:25:55 -05:00
tildearrow cdfe89565c improvements to AppImage release script 2021-12-30 17:58:46 -05:00
tildearrow e1a7c765fd yay AppImage build script 2021-12-30 17:31:08 -05:00
tildearrow 299ed5d29c and now fix crash if GUI cannot be initialized 2021-12-30 17:30:31 -05:00
tildearrow 8cd54ebe7b fix. a. warning. 2021-12-30 17:30:24 -05:00
tildearrow e43f4eff08 prepare for AppImage 2021-12-30 15:41:45 -05:00
tildearrow b0fdc2e939 error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

YAY FOR MACOS NON-DETERMINISTIC GIT COMMIT
2021-12-29 18:11:36 -05:00
tildearrow 7c6c138007 FINALLY macOS build script works 2021-12-29 18:00:14 -05:00
tildearrow 010dbd9093 IOJNDKHJGDJLSHFGKJFLAD; 2021-12-29 17:51:51 -05:00
tildearrow 6bd68380ce oh myyyyyyyy 2021-12-29 17:50:10 -05:00
tildearrow 51c9113ab4 add mac build script
DOES NOT WORK!!!
2021-12-29 17:47:17 -05:00
tildearrow d2e98301e2 am I gonna make a new format 2021-12-29 17:00:49 -05:00
tildearrow bfa8831aba add note about windows release script 2021-12-29 15:28:50 -05:00
tildearrow f8896d02d9 add a script to make a Windows release 2021-12-29 15:27:26 -05:00
tildearrow dc5990a37e a lot of master system fixes!
fixes forest frolick, professional tracker, YZYX, Monday (kinda),
MasterTracker and Ice Fields
2021-12-29 02:08:50 -05:00
tildearrow 3e34c60b32 fix volume after note off 2021-12-29 00:52:20 -05:00
tildearrow 6222e0933a prepare for more settings work 2021-12-29 00:50:00 -05:00
tildearrow 0bd7278699 GUI: make ins picker a bit more clear 2021-12-28 23:10:30 -05:00
tildearrow 8f9f37f424 are you for real right now 2021-12-28 23:10:13 -05:00
tildearrow be3b4da834 add note preview feature 2021-12-28 18:23:57 -05:00
tildearrow 0479650597 C64: fix volume not being set after skip 2021-12-28 01:20:48 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow b246000f0e better default FM instrument 2021-12-27 17:21:43 -05:00
tildearrow eb28f7f7f1 whaaaaaaaaa 2021-12-27 17:05:03 -05:00
tildearrow 772aac5806 fix crash when muting in ext ch mode 2021-12-27 16:47:37 -05:00
tildearrow 0001af3f35 hmm... 2021-12-27 16:37:33 -05:00
tildearrow 65444d4a99 el diego 2 finally plays back correctly
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow 4f2ce0f907 fix arpeggio macro if value<-12 2021-12-27 16:15:26 -05:00
tildearrow 1605f4f3c0 better global pitch effect
still work in progress
2021-12-27 16:15:11 -05:00
tildearrow 11478fbdfe prevent clipping in ADPCM samples 2021-12-27 15:22:57 -05:00
tildearrow f32c2fa06b early implementation of global pitch
apparently this requires a rewrite of the pitch logic...
2021-12-27 15:22:01 -05:00
tildearrow a0a27e91f3 better default wavetable 2021-12-27 15:21:38 -05:00
tildearrow fa6c9fb7b7 GUI: make undo/redo key global 2021-12-26 23:54:56 -05:00
tildearrow cea595bfb8 GUI: undo, part 2 2021-12-26 18:28:06 -05:00
tildearrow 114ee9a7e4 there might be some memory corruption here 2021-12-26 18:21:25 -05:00
tildearrow ca62347917 GUI: undo, part 1 2021-12-26 18:05:18 -05:00
tildearrow 8d587f72f2 i'll finish this in a bit 2021-12-24 18:27:55 -05:00
tildearrow 8428f7da32 GUI: make the new button work 2021-12-24 18:23:01 -05:00
tildearrow 6635d1c3ec update gitignore 2021-12-24 18:12:55 -05:00
tildearrow 8e993e00c8 prepare for macOS bundle 2021-12-24 18:12:36 -05:00
tildearrow dd8542bb5b GUI: more FM editor tweaks 2021-12-24 00:48:08 -05:00
tildearrow f34620e555 GUI: tweak FM editor a bit 2021-12-24 00:14:02 -05:00
tildearrow eefa41fe91 GUI: sample list now by note/bank number 2021-12-23 22:58:43 -05:00
tildearrow be4ad87a3a GUI: scroll to cursor pos on click 2021-12-23 22:20:54 -05:00
tildearrow c41435353a GUI: allow pat scroll by moving mouse outta window
had to fit 50 chars
2021-12-23 22:14:59 -05:00
tildearrow 7ba8607270 changes to sample rate storage
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.

this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00
tildearrow 830e880a57 GUI: colored channe names 2021-12-23 17:09:33 -05:00
tildearrow 5bef7934d7 GUI: separate selection and cursor 2021-12-23 11:29:11 -05:00
tildearrow 5a549f7436 prepare for undo 2021-12-22 17:59:19 -05:00
tildearrow 45f8441f1d fix order table padding 2021-12-22 17:53:52 -05:00
tildearrow 1065555576 GUI: allow key off input 2021-12-22 17:45:58 -05:00
tildearrow bbb0a14946 GUI: finish order buttons 2021-12-22 17:39:16 -05:00
tildearrow e093e00225 GUI: order buttons 2021-12-22 16:22:47 -05:00
tildearrow dbf0d3fd88 now remove debug info 2021-12-22 12:01:37 -05:00
tildearrow d92e91c5d8 fix popping ADPCM samples in Neo Geo
finally!
2021-12-22 12:00:40 -05:00
tildearrow 00b42767de fix major memory corruption bug in the safeWriter 2021-12-22 11:51:09 -05:00
tildearrow 9841439917 update readme 2021-12-22 04:54:07 -05:00
tildearrow c2669f208e fix wiz lab AGAIN and implement repeat pat
0x0b + 0x0d = broken
2021-12-21 17:42:27 -05:00
tildearrow 7b360b55a7 PCE: aaand fix another bug 2021-12-21 17:21:27 -05:00
tildearrow c6ae198283 fix export crash :< 2021-12-21 16:05:21 -05:00
tildearrow 726b457ae7 another uninitialized variable 2021-12-21 16:02:31 -05:00
tildearrow 48f4f5835b add a sample preview button (hopefully)
the next commit will be about normalizing sample rate
2021-12-21 13:06:14 -05:00
tildearrow 6ee4e33b89 GUI: add status bar 2021-12-21 02:30:09 -05:00
tildearrow 5523a43804 better loop tracking 2021-12-21 02:02:25 -05:00
tildearrow 8d8f26d4f7 PCE: fix pan reset on change order 2021-12-21 01:32:26 -05:00
tildearrow 997c460fc1 greatly improved playback resume
no more song weirding out when changing orders
2021-12-21 01:29:07 -05:00
tildearrow 84f36a8c66 icon fonttttttt 2021-12-21 00:30:55 -05:00
tildearrow 1cc9b9fe20 GUI: more more more work
error dialog boxes and drawOrders improvements
2021-12-20 23:20:30 -05:00
tildearrow 7f3885d2b1 GUI: ability to add/del effect cols and EExx value 2021-12-20 19:46:49 -05:00
tildearrow 969d673e0e allow changing song length 2021-12-20 17:03:55 -05:00
tildearrow 1234dcf2bc properly load unsigned 8-bit samples 2021-12-20 16:33:10 -05:00
tildearrow 548fa2ad73 don't stop the song until it has been loaded 2021-12-20 14:20:05 -05:00
tildearrow f24493efb6 ability to change font size! 2021-12-19 22:51:02 -05:00
tildearrow 498fa99c5a finally fix invalid module disrupting program 2021-12-19 21:11:23 -05:00
tildearrow f327e036ce slightly increase channel name height 2021-12-19 17:13:15 -05:00
tildearrow ed7210aa24 GUI: fix about screen... 2021-12-19 17:01:34 -05:00
tildearrow 245e7acd10 prepare for config management 2021-12-19 16:52:04 -05:00
tildearrow f6144a3343 GUI: add default layout 2021-12-19 16:01:24 -05:00
tildearrow 39dee5a343 prevent crash when loading invalid file 2021-12-19 13:14:41 -05:00
tildearrow ea19f133d6 prepare for eventual release 2021-12-19 13:05:09 -05:00
tildearrow ee67c09c09 update readme again 2021-12-19 03:37:42 -05:00
tildearrow 6006862f86 add a screenshot to readme 2021-12-19 03:36:42 -05:00
tildearrow f42cfcbdc8 custom config directory 2021-12-19 03:16:24 -05:00
tildearrow 8bdbd1074f fix typo in log 2021-12-19 02:18:40 -05:00
tildearrow fbcc9ff4be U N I N I T I A L I Z E D
the bane of a C++ programmer
2021-12-19 02:16:16 -05:00
tildearrow e726ad89e5 GUI: pattern copy/paste! 2021-12-19 02:12:19 -05:00
tildearrow 8551326800 arcade: properly set AM/PM depth
fixes sixeight-v2.dmf
2021-12-19 00:57:29 -05:00
tildearrow 3a0e94df5e genesis: fix muting the PCM channel 2021-12-19 00:51:10 -05:00
tildearrow efd5e844ce genesis: fix massive bug when muting SN 2021-12-19 00:49:47 -05:00
tildearrow e35f48b7a0 and MORE bug emulation
this time the volume DOES reset back to normal if you issue an off after
a 0Axx.
fixes pads.dmf
2021-12-19 00:42:20 -05:00
tildearrow 667526e414 further improve the accuracy of 03xx 2021-12-19 00:27:04 -05:00
tildearrow 97a00c7efd improve 03xx accuracy
portamento stops if same note
2021-12-19 00:02:48 -05:00
tildearrow 2cb7152c06 add about screen 2021-12-18 23:03:50 -05:00
tildearrow c40f1bbe4e fix build error 2021-12-18 18:00:08 -05:00
tildearrow 9d8a2f780b GUI: add a wavetable editor 2021-12-18 17:54:26 -05:00
tildearrow beceefd34b only output playback status in console mode 2021-12-18 04:26:17 -05:00
tildearrow d4046de2e1 update readme 2021-12-18 03:33:35 -05:00
tildearrow b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -05:00
tildearrow c4c019e593 fix E5xx range in old modules 2021-12-18 01:09:43 -05:00
tildearrow 4de343eea7 add ability to save samples 2021-12-18 01:03:59 -05:00
tildearrow a2357df8bb GUI: colors in file dialog 2021-12-17 22:18:53 -05:00
tildearrow 8c57eb9696 add ability to change system 2021-12-17 22:14:41 -05:00
tildearrow 289dd3e565 arcade: fix crash on high sample 2021-12-17 03:33:26 -05:00
tildearrow b6ca7e3dc7 ability to add/remove instruments/waves/samples 2021-12-17 03:33:12 -05:00
tildearrow 2ea2faf9c0 make the file dialog undockable 2021-12-17 00:26:33 -05:00
tildearrow 2baed0cff0 fix windows build... 2021-12-16 15:51:19 -05:00
tildearrow ce32f921bd GUI: prepare for wavetable and sample list/edit 2021-12-16 03:09:18 -05:00
tildearrow 07ab05798b remove an empty line 2021-12-16 03:09:00 -05:00
tildearrow ce71c2e9ad fix memory leak 2021-12-16 02:21:43 -05:00
tildearrow 089304edbd orders scroll freeze 2021-12-15 17:37:24 -05:00
tildearrow e13631b69b typooooo 2021-12-15 17:33:57 -05:00
tildearrow c54df74df1 GUI: rate change and new window title 2021-12-15 17:32:08 -05:00
tildearrow ebb28d912b untested saving code and memory leak fix 2021-12-15 14:15:44 -05:00
tildearrow 2879b5e4d0 arcade: add ymfm-based core
less CPU usage at the cost of some quality
2021-12-15 01:23:58 -05:00
tildearrow 8de60fe2a6 arcade pitch oddity 2021-12-15 00:50:32 -05:00
tildearrow 52087edceb lots of changes
- GUI: ability to load files
- GUI: arrow key navigation
- fix sample volumes
2021-12-15 00:37:27 -05:00
tildearrow 29d7be032a neo geo: remove debug spam 2021-12-14 21:47:44 -05:00
tildearrow f145f8c7d4 GUI: note and value input!! 2021-12-14 17:45:37 -05:00
tildearrow 4da4ec9bba update readme 2021-12-14 14:33:24 -05:00
tildearrow 95e3a098d0 add Neo Geo extended channel 2 support 2021-12-14 14:31:57 -05:00
tildearrow 004e8341c2 reset on end of song 2021-12-14 13:16:35 -05:00
tildearrow 28a9d2c4a3 now the GUI 2021-12-14 12:40:26 -05:00
tildearrow bde8a7f79d warning-free compilation 2021-12-14 12:33:26 -05:00
tildearrow 9da9ed3cd7 GUI: make it dockable 2021-12-14 04:45:44 -05:00
tildearrow 7a70ccfe2e use docking branch 2021-12-13 20:55:40 -05:00
tildearrow 3af0a9feda set default time base of song to 0 2021-12-13 20:31:27 -05:00
tildearrow 9e2e02a12e GUI: colored pattern view 2021-12-13 17:09:46 -05:00
tildearrow 60f06d2908 fix build... 2021-12-13 14:51:35 -05:00
tildearrow 285cc9b766 allow running GUI without loaded module 2021-12-13 14:40:03 -05:00
tildearrow 6b499fbc79 GUI: channel namws 2021-12-13 13:10:56 -05:00
tildearrow efde2c5798 earliest pattern view 2021-12-13 02:03:36 -05:00
tildearrow 9a1683bb45 GUI: C64 and game boy ins edit UI 2021-12-12 18:19:43 -05:00
tildearrow 63fe2e2c95 fix output to audio file 2021-12-12 15:22:27 -05:00
tildearrow 4b32599237 GUI: macro editor (kind of) and order view 2021-12-12 04:21:09 -05:00
tildearrow dcbb41bc2f add IBM Plex license info 2021-12-11 21:18:53 -05:00
tildearrow 926178414c GUI: prepare for standard ins editor 2021-12-11 17:49:55 -05:00
tildearrow 1d2c129c01 GUI: a rough FM ins editor 2021-12-11 17:41:32 -05:00
tildearrow 93c88a093f fix volume regression 2021-12-11 16:51:34 -05:00
tildearrow 2f813c55e0 GUI: instrument selector 2021-12-11 16:44:02 -05:00
tildearrow c6ca40494a aaaaa 2021-12-11 13:41:37 -05:00
tildearrow 1bf64c4f4f NES; don't crash 2021-12-11 13:34:29 -05:00
tildearrow 5ffccc5019 GUI: compile with no GUI 2021-12-11 13:34:11 -05:00
tildearrow af56e3b9dd update readme again 2021-12-11 13:30:06 -05:00
tildearrow a17e91955a add reset() for every platform 2021-12-11 13:14:38 -05:00
tildearrow b0139015d0 update readme 2021-12-11 04:55:31 -05:00
tildearrow f39e2ea112 GUI: play/stop/change order 2021-12-11 03:34:43 -05:00
tildearrow 9b850c1763 GUI: earliest ever GUI 2021-12-11 03:11:40 -05:00
tildearrow e8ac2947ab prepare for the GUI! 2021-12-11 02:10:09 -05:00
tildearrow d4fb9bac83 dev10 2021-12-11 01:56:25 -05:00
tildearrow dec100b8aa YMU759: interpret time base correctly 2021-12-11 00:37:22 -05:00
tildearrow 6858742d7b fix sombras 2021-12-11 00:08:44 -05:00
tildearrow 20a9282efe neo geo: finish it up 2021-12-10 23:41:00 -05:00
tildearrow fbd94bbce9 neo geo: ADPCM!! 2021-12-10 22:51:50 -05:00
tildearrow a95ee7b7ba neo geo: found the problem 2021-12-10 15:16:58 -05:00
tildearrow 8c13774c21 reduce number of compilation steps 2021-12-10 15:16:40 -05:00
tildearrow e365aa4bdb more neo geo stuff 2021-12-10 04:22:13 -05:00
tildearrow 442180956c neo geo: more work 2021-12-09 17:06:28 -05:00
tildearrow d789ae759e neo geo let's goooooo 2021-12-09 13:25:02 -05:00
tildearrow 6cc0d58624 get things ready for neo geo 2021-12-09 03:37:31 -05:00
tildearrow 248cc6d37a properly handle note off in PCM 2021-12-09 03:25:00 -05:00
tildearrow e2a41974ff PCM sample bank support 2021-12-09 03:13:37 -05:00
tildearrow e3f14f3850 1-byte offset should be safe 2021-12-09 02:58:53 -05:00
tildearrow 2dcf5f890e PCE: note off disables PCM mode 2021-12-09 02:54:14 -05:00
tildearrow daed339e07 add a save function
and it loads on DefleMask!
2021-12-09 02:38:55 -05:00
tildearrow d395abe47f actually obey the orders 2021-12-09 01:44:40 -05:00
tildearrow 13c6362edb dev9 2021-12-09 01:24:33 -05:00
tildearrow b358338613 arcade: minor optimization 2021-12-09 01:03:05 -05:00
tildearrow defaf7397a arcade: finish it up
0.12 feature parityyyyyyyy!
2021-12-09 00:46:48 -05:00
tildearrow 7ac225e839 arcade: even more work
PCM tonight
2021-12-08 18:29:50 -05:00
tildearrow 6dcc3416ee arcade: a bit of extra work 2021-12-08 17:54:14 -05:00
tildearrow aff0afa7d1 prepare for arcade platform! 2021-12-08 17:40:35 -05:00
tildearrow f5a22c9d42 macroInt: reset will vars 2021-12-08 03:17:17 -05:00
tildearrow 9362cfa481 add clock drift for exact tempo 2021-12-08 02:57:41 -05:00
tildearrow db2bfb8aa3 don't eat the last row in audio file out 2021-12-08 02:22:19 -05:00
tildearrow 6a02754996 add PAL flag to dispatch
now platforms run at their correct clock speed when in PAL mode

also fix clipping in Genesis
2021-12-08 01:56:40 -05:00
tildearrow fe5f8afa05 uninitialized variables? oh my! 2021-12-08 01:31:35 -05:00
tildearrow 4eec990ec1 when the fix breaks something 2021-12-08 01:16:29 -05:00
tildearrow db46dd79d2 honor arpeggio macro during legato 2021-12-08 00:56:46 -05:00
tildearrow 0ca761d7fd aaaaagain 2021-12-08 00:37:23 -05:00
tildearrow 65ab3a2b5d keyOffAffectsArp is now per-channel 2021-12-08 00:33:00 -05:00
tildearrow 5fbaf71105 one thing is fixing bugs
another is bugging fixes
2021-12-08 00:27:20 -05:00
tildearrow 50f6bb536f treat ED00 correctly 2021-12-07 16:58:23 -05:00
tildearrow 1d390b705b fix rael again
only count the first pattern jump command
2021-12-07 16:32:20 -05:00
tildearrow 3f5b0019dc C64: fix rael 2021-12-07 16:25:42 -05:00
tildearrow 7775ecebc8 Merge branch 'master' of github.com:tildearrow/furnace 2021-12-07 16:09:30 -05:00
tildearrow 7e4370a880 i can't get it working 2021-12-07 16:09:00 -05:00
tildearrow 655ad5139d PCE: remove clip clicks 2021-12-07 14:29:48 -05:00
tildearrow 77bab16ffd update gitignore 2021-12-07 13:48:54 -05:00
tildearrow 9fb02b5318 it compiles with MinGW 2021-12-07 13:48:21 -05:00
tildearrow 137258c269 update SDL to prepare for MinGW 2021-12-07 13:31:02 -05:00
tildearrow 630d968975 update readme 2021-12-07 13:08:48 -05:00
tildearrow d0ce05c8d4 acknowledgements 2021-12-07 13:01:59 -05:00
tildearrow b689d51ec9 audio file output stereo support 2021-12-07 12:33:55 -05:00
tildearrow f71ee6b45d preliminary audio file output 2021-12-07 12:21:23 -05:00
tildearrow 7649b845aa prepare for file output 2021-12-07 04:39:52 -05:00
tildearrow 4cba677c04 i know a better way 2021-12-07 04:32:42 -05:00
tildearrow 7490ed89a1 Revert "Revert "prepare to add file out - does not compile!""
This reverts commit ada8e71884.
2021-12-07 04:22:36 -05:00
tildearrow ada8e71884 Revert "prepare to add file out - does not compile!"
This reverts commit 45b202b85b.
2021-12-07 04:20:11 -05:00
tildearrow 45b202b85b prepare to add file out - does not compile! 2021-12-07 03:52:41 -05:00
5918 changed files with 1148602 additions and 3058 deletions

1
.gitattributes vendored Normal file
View File

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

39
.github/issue_template.md vendored Normal file
View File

@ -0,0 +1,39 @@
# 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!

1
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1 @@
<!-- NOTICE: if you are contributing a new system, please be sure to ask tildearrow first in order to get system IDs allocated! -->

335
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,335 @@
name: Build furnace
on:
push:
branches: master
pull_request:
branches: master
defaults:
run:
shell: bash
env:
BUILD_TYPE: RelWithDebInfo
jobs:
build:
strategy:
matrix:
config:
- { name: 'Windows MSVC x86', os: windows-latest, compiler: msvc, arch: x86 }
- { name: 'Windows MSVC x86_64', os: windows-latest, compiler: msvc, arch: x86_64 }
#- { name: 'Windows MinGW x86', os: ubuntu-20.04, compiler: mingw, arch: x86 }
#- { 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-20.04, arch: x86_64 }
#- { name: 'Linux ARM', os: ubuntu-18.04, arch: armhf }
fail-fast: false
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
steps:
- name: Checkout
uses: actions/checkout@v3.1.0
with:
submodules: recursive
- name: Set Windows arch identifiers
id: windows-identify
if: ${{ matrix.config.compiler == 'msvc' || matrix.config.compiler == 'mingw' }}
run: |
vswhere_target="${{ matrix.config.arch }}"
msvc_target="${{ matrix.config.arch }}"
mingw_target="${{ matrix.config.arch }}"
if [ '${{ matrix.config.arch }}' == 'x86' ]; then
msvc_target="Win32"
elif [ '${{ matrix.config.arch }}' == 'x86_64' ]; then
vswhere_target="amd64"
msvc_target="x64"
fi
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
echo "vswhere target: ${vswhere_target}"
echo "MSVC target: ${msvc_target}"
else
echo "MinGW cross target: ${mingw_target}"
fi
echo "vswhere-target=${vswhere_target}" >> $GITHUB_OUTPUT
echo "msvc-target=${msvc_target}" >> $GITHUB_OUTPUT
echo "mingw-target=${mingw_target}" >> $GITHUB_OUTPUT
- name: Set package identifier
id: package-identify
run: |
package_name="furnace-${GITHUB_SHA}"
package_ext=""
if [ '${{ runner.os }}' == 'Windows' ] || [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
package_name="${package_name}-Windows"
if [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
package_name="${package_name}-MinGW"
else
package_name="${package_name}-MSVC"
fi
package_name="${package_name}-${{ matrix.config.arch }}"
package_ext="" # Directory, uploading will automatically zip it
elif [ '${{ runner.os }}' == 'macOS' ]; then
package_name="${package_name}-macOS-${{ matrix.config.arch }}"
package_ext=".dmg"
else
package_name="${package_name}-Linux-${{ matrix.config.arch }}"
package_ext=".tar.gz"
fi
echo "Package identifier: ${package_name}"
echo "Package file: ${package_name}${package_ext}"
echo "id=${package_name}" >> $GITHUB_OUTPUT
echo "filename=${package_name}${package_ext}" >> $GITHUB_OUTPUT
- name: Set build cores amount
id: build-cores
run: |
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
amount=2
if [ '${{ runner.os }}' == 'macOS' ]; then
amount=3
fi
echo "Amount of cores we can build with: ${amount}"
echo "amount=${amount}" >> $GITHUB_OUTPUT
- name: Setup Toolchain [Windows MSVC]
if: ${{ matrix.config.compiler == 'msvc' }}
uses: vadz/gha-setup-vsdevenv@avoid-deprecation-warnings
with:
arch: ${{ steps.windows-identify.outputs.vswhere-target }}
- name: Setup Toolchain [Windows MinGW]
if: ${{ matrix.config.compiler == 'mingw' }}
run: |
sudo apt update
sudo apt install \
mingw-w64 \
mingw-w64-tools
- name: Install Dependencies [Linux x86_64]
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'x86_64' }}
run: |
sudo apt update
sudo apt install \
libsdl2-dev \
libfmt-dev \
librtmidi-dev \
libsndfile1-dev \
zlib1g-dev \
libjack-jackd2-dev
- name: Install Dependencies [Linux armhf]
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'armhf' }}
run: |
sudo sed -ri "s/^deb /deb [arch=amd64] /" /etc/apt/sources.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ bionic main universe" | sudo tee -a /etc/apt/sources.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main universe" | sudo tee -a /etc/apt/sources.list
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install \
crossbuild-essential-armhf \
appstream
sudo apt install \
libsdl2-dev:armhf \
libfmt-dev:armhf \
librtmidi-dev:armhf \
libsndfile1-dev:armhf \
zlib1g-dev:armhf \
libjack-jackd2-dev:armhf
ls /usr/arm-linux-gnueabihf/lib
- name: Configure (System Libraries)
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'x86_64' }}
run: |
export USE_WAE=ON
export CMAKE_EXTRA_ARGS=()
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_GENERATOR_PLATFORM=${{ steps.windows-identify.outputs.msvc-target }}')
elif [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_TOOLCHAIN_FILE=scripts/Cross-MinGW-${{ steps.windows-identify.outputs.mingw-target }}.cmake')
else
# Test with system libs
CMAKE_EXTRA_ARGS+=(
'-DSYSTEM_FMT=OFF'
'-DSYSTEM_LIBSNDFILE=ON'
'-DSYSTEM_RTMIDI=ON'
'-DSYSTEM_ZLIB=ON'
'-DWITH_JACK=ON'
)
# Too old on Ubuntu
if [ '${{ runner.os }}' == 'macOS' ]; then
CMAKE_EXTRA_ARGS+=('-DSYSTEM_SDL2=ON')
fi
fi
cmake \
-B ${PWD}/build \
-DCMAKE_INSTALL_PREFIX=${PWD}/target \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DWARNINGS_ARE_ERRORS=${USE_WAE} \
"${CMAKE_EXTRA_ARGS[@]}"
- name: Build (System Libraries)
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'x86_64' }}
run: |
cmake \
--build ${PWD}/build \
--config ${{ env.BUILD_TYPE }} \
--parallel ${{ steps.build-cores.outputs.amount }}
- name: Install (System Libraries)
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'x86_64' }}
run: |
cmake \
--install ${PWD}/build \
--config ${{ env.BUILD_TYPE }}
- name: Cleanup (System Libraries)
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' && matrix.config.arch == 'x86_64' }}
run: |
rm -rf build/ target/
- name: Configure
run: |
export USE_WAE=ON
export CMAKE_EXTRA_ARGS=()
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_GENERATOR_PLATFORM=${{ steps.windows-identify.outputs.msvc-target }}')
# Force static linking
# 1. Make MSVC runtime configurable
CMAKE_EXTRA_ARGS+=('-DCMAKE_POLICY_DEFAULT_CMP0091=NEW')
# 2. Use static (debug) runtime
if [ '${{ env.BUILD_TYPE }}' == 'Debug' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug')
else
CMAKE_EXTRA_ARGS+=('-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded')
fi
elif [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_TOOLCHAIN_FILE=scripts/Cross-MinGW-${{ steps.windows-identify.outputs.mingw-target }}.cmake')
if [ '${{ matrix.config.arch }}' == 'x86' ]; then
CMAKE_EXTRA_ARGS+=('-DSUPPORT_XP=ON')
fi
elif [ '${{ runner.os }}' == 'macOS' ]; then
if [ '${{ matrix.config.arch }}' == 'arm64' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_OSX_DEPLOYMENT_TARGET="11.0"' '-DCMAKE_OSX_ARCHITECTURES=arm64')
else
CMAKE_EXTRA_ARGS+=('-DCMAKE_OSX_DEPLOYMENT_TARGET="10.9"')
fi
elif [ '${{ runner.os }}' == 'Linux' ] && [ '${{ matrix.config.arch }}' == 'armhf' ]; then
CMAKE_EXTRA_ARGS+=('-DCMAKE_TOOLCHAIN_FILE=scripts/Cross-Linux-armhf.cmake')
fi
cmake \
-B ${PWD}/build \
-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
run: |
cmake \
--build ${PWD}/build \
--config ${{ env.BUILD_TYPE }} \
--parallel ${{ steps.build-cores.outputs.amount }}
- name: Package [Windows]
if: ${{ runner.os == 'Windows' || matrix.config.compiler == 'mingw' }}
run: |
binPath=build
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
binPath="${binPath}/${{ env.BUILD_TYPE }}"
fi
# always strip on MinGW as it generate massive artifacts
#if [ '${{ matrix.config.compiler }}' == 'mingw' ]; then
# # arch-specific strip prefix
# # TODO maybe extract from cross toolchain files?
# toolPrefix="-w64-mingw32-"
# if [ '${{ matrix.config.arch }}' == 'x86_64' ]; then
# toolPrefix="x86_64${toolPrefix}"
# else
# toolPrefix="i686${toolPrefix}"
# fi
# ${toolPrefix}strip -s "${binPath}/furnace.exe"
#fi
mkdir ${{ steps.package-identify.outputs.filename }}
pushd ${{ steps.package-identify.outputs.filename }}
cp -v ../LICENSE LICENSE.txt
cp -v ../README.md README.txt
cp -vr ../papers ../${binPath}/furnace.exe ./
if [ '${{ matrix.config.compiler }}' == 'msvc' ]; then
cp -v ../${binPath}/furnace.pdb ./
fi
sha256sum ../${binPath}/furnace.exe > checksum.txt
popd
- name: Package [macOS]
if: ${{ runner.os == 'macOS' }}
run: |
pushd build
cpack
mv Furnace-*-Darwin.dmg ../${{ steps.package-identify.outputs.filename }}
popd
- name: Package [Linux]
if: ${{ runner.os == 'Linux' && matrix.config.compiler != 'mingw' }}
run: |
#if [ '${{ env.BUILD_TYPE }}' == 'Release' ]; then
# strip -s build/furnace
#fi
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
popd
cd target
tar -zcv -f ../${{ steps.package-identify.outputs.filename }} furnace
- name: Upload artifact
if: ${{ github.repository == 'tildearrow/furnace' && github.ref_name == 'master' }}
uses: actions/upload-artifact@v3.1.1
with:
name: ${{ steps.package-identify.outputs.id }}
path: ${{ steps.package-identify.outputs.filename }}

29
.gitignore vendored
View File

@ -1,6 +1,31 @@
.vscode/ .vscode/
build/ build/
clangbuild/
nosdl/
release/
t/ t/
*.dmf winbuild/
win32build/
xpbuild/
macbuild/
linuxbuild/
*.swp *.swp
.cache/ .cache/
.DS_Store
test/songs/
test/delta/
test/result/
test/assert_delta
android/local.properties
android/.idea/
android/.gradle/
android/app/build/
android/app/.cxx/
.vs/
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

24
.gitmodules vendored
View File

@ -1,11 +1,17 @@
[submodule "extern/Nuked-OPN2"]
path = extern/Nuked-OPN2
url = https://github.com/nukeykt/Nuked-OPN2
[submodule "extern/SDL"] [submodule "extern/SDL"]
path = extern/SDL path = extern/SDL
url = https://github.com/spurious/SDL-mirror url = https://github.com/libsdl-org/SDL.git
branch = release-2.0.12 branch = release-2.28.x
[submodule "extern/Nuked-OPM"] [submodule "extern/libsndfile"]
path = extern/Nuked-OPM path = extern/libsndfile
url = https://github.com/nukeykt/Nuked-OPM url = https://github.com/libsndfile/libsndfile.git
branch = main branch = master
[submodule "extern/fmt"]
path = extern/fmt
url = https://github.com/fmtlib/fmt.git
[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

File diff suppressed because it is too large Load Diff

103
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,103 @@
# Contributing
contributions to Furnace are welcome!
# Getting ready
log into your Github account, and click the Fork button in the header of the project's page.
then open a terminal and clone your fork:
```
git clone git@github.com:USERNAME/furnace.git
```
(replace `USERNAME` with your username)
# Working
## Code
bug fixes, improvements and several other things accepted.
the coding style is described here:
- indentation: two spaces. **strictly** spaces. do NOT use tabs.
- modified 1TBS style:
- no spaces in function calls
- spaces between arguments in function declarations
- no spaces in operations except for `||` and `&&`
- no space between variable name and assignment
- space between macro in string literals
- space after comment delimiter
- C++ pointer style: `void* variable` rather than `void *variable`
- indent switch cases
- preprocessor directives not intended
- if macro comprises more than one line, indent
- no new line after `template<>`
- prefer built-in types:
- `bool`
- `signed char` or `unsigned char` are 8-bit
- when the type is `char`, **always** specify whether it is signed or not.
- unspecified `char` is signed on x86 and unsigned on ARM, so yeah.
- the only situation in where unspecified `char` is allowed is for C strings (`const char*`).
- `short` or `unsigned short` are 16-bit
- `int` or `unsigned int` are 32-bit
- `float` is 32-bit
- `double` is 64-bit
- `long long int` or `unsigned long long int` are 64-bit
- avoid using 64-bit numbers as I still build for 32-bit systems.
- two `long`s are required to make Windows happy.
- `size_t` are 32-bit or 64-bit, depending on architecture.
- in float/double operations, always use decimal and `f` if single-precision.
- e.g. `1.0f` or `1.0` instead of `1`.
- prefer `NULL` over `nullptr` or any other proprietary null.
- don't use `auto` unless needed.
- use `String` for `std::string` (this is typedef'd in ta-utils.h).
- prefer using operator for String (std::string) comparisons (a=="").
- if you have to work with C strings, only use safe C string operations:
- snprintf
- strncpy
- strncat
- any other operation which specifies a limit
some files (particularly the ones in `src/engine/platform/sound` and `extern/`) don't follow this style.
you don't have to follow this style. I will fix it after I accept your contribution.
additional guidelines:
- in general **strongly** avoid breaking compatibility.
- do not touch loadFur/saveFur unless you know what you're doing!
- new fields must be at the end of each block to ensure forward compatibility
- likewise, the instrument read/write functions in DivInstrument have to be handled carefully
- any change to the format requires a version bump (see `src/engine/engine.h`).
- do not bump the version number under any circumstances!
- if you are making major changes to the playback routine, make sure to test with older songs to ensure nothing breaks.
- I will run a test suite to make sure this is the case.
- if something breaks, you might want to add a compatibility flag (this requires changing the format though).
- do not use `#pragma once`.
- do not memcmp() structs.
- 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:
- avoid Nintendo song covers.
- avoid big label song covers.
- low effort compositions/covers may not be accepted at all.
# Finishing
after you've done your modifications, commit the changes and push.
then open your fork on GitHub and send a pull request.
# I don't know how to use Git but I want to contribute with a demo song
you can also contact me directly! [find me here.](https://tildearrow.org/?p=contact)

344
README.md
View File

@ -1,40 +1,224 @@
# Furnace # Furnace (chiptune tracker)
this is a work-in-progress chip music player (currently) for the .dmf format. ![screenshot](papers/screenshot3.png)
the biggest multi-system chiptune tracker ever made!
[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.
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 ## features
- supports Sega Genesis, Master System, Game Boy, PC Engine, NES and C64 (for now, with more systems coming soon) - over 50 sound chips - and counting:
- clean-room design (zero reverse-engineered code and zero decompilation; using official DMF specs, guesswork and ABX tests only) - Yamaha FM chips:
- bug/quirk implementation for increased playback accuracy - YM2151 (OPM)
- accurate emulation cores (Nuked, MAME, SameBoy, Mednafen PCE, puNES and reSID (hahaha!)) - YM2203 (OPN)
- open-source. GPLv2. - YM2413 (OPLL)
- YM2414 (OPZ) used in Yamaha TX81Z
- YM2608 (OPNA) used in PC-98
- YM2610 (OPNB) used in Neo Geo
- YM2610B (OPNB2)
- YM2612 (OPN2) used in Sega Genesis and FM Towns
- YM3526 (OPL) used in C64 Sound Expander
- YM3812 (OPL2)
- YMF262 (OPL3) with full 4-op support!
- Y8950 (OPL with ADPCM)
- square wave chips:
- AY-3-8910/YM2149(F) used in several computers and game consoles
- Commodore VIC used in the VIC-20
- Microchip AY8930
- TI SN76489 used in Sega Master System and BBC Micro
- PC Speaker
- Philips SAA1099 used in SAM Coupé
- OKI MSM5232 used in some arcade boards
- sample chips:
- SNES
- Amiga
- SegaPCM - all 16 channels
- Capcom QSound
- Yamaha YMZ280B (PCMD8)
- 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
- Konami SCC/SCC+
- 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
- MMC5
- Famicom Disk System
- Sunsoft 5B
- Namco 163
- Family Noraebang (OPLL)
- SID (6581/8580) used in Commodore 64
- Mikey used in Atari Lynx
- 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
- Virtual Boy
- 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.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)
- wavetable synthesizer
- available on wavetable chips
- create complex sounds with ease - provide up to two wavetables, select and effect and let go!
- MIDI input support
- additional features:
- FM macros!
- negative octaves
- advanced arp macros
- arbitrary pitch samples
- sample loop points
- SSG envelopes and ADPCM-B in Neo Geo
- pitchable OPLL drums
- full duty/cutoff range in C64
- full 16-channel SegaPCM
- ability to change tempo mid-song
- decimal tempo/tick rate
- multiple sub-songs in a module
- per-channel oscilloscope with waveform centering
- built-in sample editor
- chip mixing settings
- built-in visualizer in pattern view
- open-source under GPLv2 or later.
---
# quick references
- **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.
## packages
[![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/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
[![Build furnace](https://github.com/tildearrow/furnace/actions/workflows/build.yml/badge.svg)](https://github.com/tildearrow/furnace/actions/workflows/build.yml)
if you can't download these artifacts (because GitHub requires you to be logged in), [go here](https://nightly.link/tildearrow/furnace/workflows/build/master) instead.
**NOTE: do not download the project's source as a .zip or .tar.gz as these do not include the project's submodules which are necessary to proceed with building. please instead use Git as shown below.**
## dependencies ## dependencies
- CMake - CMake
- SDL2 - Git (for cloning the repository)
- zlib - JACK (optional, macOS/Linux only)
- JACK (optional) - 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)
SDL2 and zlib are included as submodules for Windows and macOS. if building under Windows or macOS, no additional dependencies are required.
otherwise, you may also need the following:
- libpulse
- 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.
## getting the source
type the following on a terminal/console: (make sure Git is installed)
```
git clone --recursive https://github.com/tildearrow/furnace.git
cd furnace
```
(the `--recursive` parameter ensures submodules are fetched as well)
## compilation ## compilation
your typical CMake project. clone (including submodules) and: your typical CMake project.
### Windows using MSVC ### Windows using MSVC
as of now tildearrow uses MinGW for Windows builds, but thanks to OPNA2608 this works again!
from the developer tools command prompt: from the developer tools command prompt:
``` ```
mkdir build mkdir build
cd build cd build
cmake .. cmake ..
```
then open the solution file in Visual Studio and build.
alternatively, do:
```
msbuild ALL_BUILD.vcxproj 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 mkdir build
@ -43,10 +227,138 @@ cmake ..
make make
``` ```
## usage on macOS you may do the following instead:
``` ```
./furnace <file> mkdir build
cd build
cmake -G Xcode ..
``` ```
this will play a file (must be in .dmf format). ...and then load the project on Xcode or type `xcodebuild`.
### CMake options
To add an option from the command-line: `-D<NAME>=<VALUE>`
Example: `cmake -DBUILD_GUI=OFF -DWARNINGS_ARE_ERRORS=ON ..`
Available options:
| Name | Default | Description |
| :--: | :-----: | ----------- |
| `BUILD_GUI` | `ON` | Build the tracker (disable to build only a headless player) |
| `USE_RTMIDI` | `ON` | Build with MIDI support using RtMidi |
| `USE_SDL2` | `ON` | Build with SDL2 (required to build with GUI) |
| `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 |
| `SYSTEM_RTMIDI` | `OFF` | Use a system-installed version of RtMidi instead of the vendored one |
| `SYSTEM_ZLIB` | `OFF` | Use a system-installed version of zlib instead of the vendored one |
| `SYSTEM_SDL2` | `OFF` | Use a system-installed version of SDL2 instead of the vendored one |
| `SUPPORT_XP` | `OFF` | Build a Windows XP-compatible binary |
| `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
```
this opens the program.
```
./furnace -console <file>
```
this will play a compatible file.
```
./furnace -console -view commands <file>
```
this will play a compatible file and enable the commands view.
**note that console mode may not work correctly on Windows. you may have to quit using the Task Manager.**
---
# frequently asked questions
> 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 (or later), use this workaround instead (on a Terminal):
```
xattr -d com.apple.quarantine /path/to/Furnace.app
```
(replace /path/to/ with the path where Furnace.app is located)
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...
> ROM export?
**not yet!** coming in 0.7 though, eventually...
> my .dmf song sounds odd at a certain point
Furnace's .dmf compatibility isn't perfect and it's mostly because DefleMask does things different.
> my song sounds terrible after saving as .dmf!
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).
---
# footnotes
copyright (C) 2021-2023 tildearrow and contributors.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
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.
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

64
android/app/build.gradle Normal file
View File

@ -0,0 +1,64 @@
def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY');
def buildAsApplication = !buildAsLibrary
if (buildAsApplication) {
apply plugin: 'com.android.application'
}
else {
apply plugin: 'com.android.library'
}
android {
compileSdkVersion 26
defaultConfig {
if (buildAsApplication) {
applicationId "org.tildearrow.furnace"
}
minSdkVersion 21
targetSdkVersion 26
versionCode 169
versionName "0.6pre9"
externalNativeBuild {
cmake {
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'
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
if (!project.hasProperty('EXCLUDE_NATIVE_LIBS')) {
sourceSets.main {
jniLibs.srcDir 'libs'
}
externalNativeBuild {
cmake {
path 'jni/CMakeLists.txt'
}
}
}
lintOptions {
abortOnError false
}
if (buildAsLibrary) {
libraryVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith(".aar")) {
def fileName = "org.libsdl.app.aar";
output.outputFile = new File(outputFile.parent, fileName);
}
}
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
}

1
android/app/jni Symbolic link
View File

@ -0,0 +1 @@
../../

17
android/app/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,17 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in [sdk]/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.tildearrow.furnace"
android:versionCode="169"
android:versionName="0.6pre9"
android:installLocation="auto">
<!-- OpenGL ES 2.0 -->
<uses-feature android:glEsVersion="0x00020000" />
<!-- Touchscreen support -->
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<!-- Game controller support -->
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-feature
android:name="android.hardware.gamepad"
android:required="false" />
<uses-feature
android:name="android.hardware.usb.host"
android:required="false" />
<!-- External mouse input events -->
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
<!-- Audio recording support -->
<!-- if you want to capture audio, uncomment this. -->
<!-- <uses-feature
android:name="android.hardware.microphone"
android:required="false" /> -->
<!-- Allow downloading to the external storage on Android 5.1 and older -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Allow access to Bluetooth devices -->
<!-- Currently this is just for Steam Controller support and requires setting SDL_HINT_JOYSTICK_HIDAPI_STEAM -->
<!-- <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" /> -->
<!-- <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> -->
<!-- Allow access to the vibrator -->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- if you want to capture audio, uncomment this. -->
<!-- <uses-permission android:name="android.permission.RECORD_AUDIO" /> -->
<!-- Create a Java class extending SDLActivity and place it in a
directory under app/src/main/java matching the package, e.g. app/src/main/java/com/gamemaker/game/MyGame.java
then replace "SDLActivity" with the name of your class (e.g. "MyGame")
in the XML below.
An example Java class can be found in README-android.md
-->
<application android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:allowBackup="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true" >
<!-- Example of setting SDL hints from AndroidManifest.xml:
<meta-data android:name="SDL_ENV.SDL_ACCELEROMETER_AS_JOYSTICK" android:value="0"/>
-->
<activity android:name="MainActivity"
android:label="@string/app_name"
android:alwaysRetainTaskState="true"
android:launchMode="singleInstance"
android:configChanges="layoutDirection|locale|orientation|uiMode|screenLayout|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Let Android know that we can handle some USB devices and should receive this event -->
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<!-- Drop file event -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file"/>
<data android:scheme="content"/>
<data android:host="*"/>
<data android:mimeType="*/*"/>
<data android:pathPattern=".*\\.fur"/>
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -0,0 +1,22 @@
package org.libsdl.app;
import android.hardware.usb.UsbDevice;
interface HIDDevice
{
public int getId();
public int getVendorId();
public int getProductId();
public String getSerialNumber();
public int getVersion();
public String getManufacturerName();
public String getProductName();
public UsbDevice getDevice();
public boolean open();
public int sendFeatureReport(byte[] report);
public int sendOutputReport(byte[] report);
public boolean getFeatureReport(byte[] report);
public void setFrozen(boolean frozen);
public void close();
public void shutdown();
}

View File

@ -0,0 +1,650 @@
package org.libsdl.app;
import android.content.Context;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCallback;
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattDescriptor;
import android.bluetooth.BluetoothManager;
import android.bluetooth.BluetoothProfile;
import android.bluetooth.BluetoothGattService;
import android.hardware.usb.UsbDevice;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.os.*;
//import com.android.internal.util.HexDump;
import java.lang.Runnable;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.UUID;
class HIDDeviceBLESteamController extends BluetoothGattCallback implements HIDDevice {
private static final String TAG = "hidapi";
private HIDDeviceManager mManager;
private BluetoothDevice mDevice;
private int mDeviceId;
private BluetoothGatt mGatt;
private boolean mIsRegistered = false;
private boolean mIsConnected = false;
private boolean mIsChromebook = false;
private boolean mIsReconnecting = false;
private boolean mFrozen = false;
private LinkedList<GattOperation> mOperations;
GattOperation mCurrentOperation = null;
private Handler mHandler;
private static final int TRANSPORT_AUTO = 0;
private static final int TRANSPORT_BREDR = 1;
private static final int TRANSPORT_LE = 2;
private static final int CHROMEBOOK_CONNECTION_CHECK_INTERVAL = 10000;
static public final UUID steamControllerService = UUID.fromString("100F6C32-1735-4313-B402-38567131E5F3");
static public final UUID inputCharacteristic = UUID.fromString("100F6C33-1735-4313-B402-38567131E5F3");
static public final UUID reportCharacteristic = UUID.fromString("100F6C34-1735-4313-B402-38567131E5F3");
static private final byte[] enterValveMode = new byte[] { (byte)0xC0, (byte)0x87, 0x03, 0x08, 0x07, 0x00 };
static class GattOperation {
private enum Operation {
CHR_READ,
CHR_WRITE,
ENABLE_NOTIFICATION
}
Operation mOp;
UUID mUuid;
byte[] mValue;
BluetoothGatt mGatt;
boolean mResult = true;
private GattOperation(BluetoothGatt gatt, GattOperation.Operation operation, UUID uuid) {
mGatt = gatt;
mOp = operation;
mUuid = uuid;
}
private GattOperation(BluetoothGatt gatt, GattOperation.Operation operation, UUID uuid, byte[] value) {
mGatt = gatt;
mOp = operation;
mUuid = uuid;
mValue = value;
}
public void run() {
// This is executed in main thread
BluetoothGattCharacteristic chr;
switch (mOp) {
case CHR_READ:
chr = getCharacteristic(mUuid);
//Log.v(TAG, "Reading characteristic " + chr.getUuid());
if (!mGatt.readCharacteristic(chr)) {
Log.e(TAG, "Unable to read characteristic " + mUuid.toString());
mResult = false;
break;
}
mResult = true;
break;
case CHR_WRITE:
chr = getCharacteristic(mUuid);
//Log.v(TAG, "Writing characteristic " + chr.getUuid() + " value=" + HexDump.toHexString(value));
chr.setValue(mValue);
if (!mGatt.writeCharacteristic(chr)) {
Log.e(TAG, "Unable to write characteristic " + mUuid.toString());
mResult = false;
break;
}
mResult = true;
break;
case ENABLE_NOTIFICATION:
chr = getCharacteristic(mUuid);
//Log.v(TAG, "Writing descriptor of " + chr.getUuid());
if (chr != null) {
BluetoothGattDescriptor cccd = chr.getDescriptor(UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"));
if (cccd != null) {
int properties = chr.getProperties();
byte[] value;
if ((properties & BluetoothGattCharacteristic.PROPERTY_NOTIFY) == BluetoothGattCharacteristic.PROPERTY_NOTIFY) {
value = BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE;
} else if ((properties & BluetoothGattCharacteristic.PROPERTY_INDICATE) == BluetoothGattCharacteristic.PROPERTY_INDICATE) {
value = BluetoothGattDescriptor.ENABLE_INDICATION_VALUE;
} else {
Log.e(TAG, "Unable to start notifications on input characteristic");
mResult = false;
return;
}
mGatt.setCharacteristicNotification(chr, true);
cccd.setValue(value);
if (!mGatt.writeDescriptor(cccd)) {
Log.e(TAG, "Unable to write descriptor " + mUuid.toString());
mResult = false;
return;
}
mResult = true;
}
}
}
}
public boolean finish() {
return mResult;
}
private BluetoothGattCharacteristic getCharacteristic(UUID uuid) {
BluetoothGattService valveService = mGatt.getService(steamControllerService);
if (valveService == null)
return null;
return valveService.getCharacteristic(uuid);
}
static public GattOperation readCharacteristic(BluetoothGatt gatt, UUID uuid) {
return new GattOperation(gatt, Operation.CHR_READ, uuid);
}
static public GattOperation writeCharacteristic(BluetoothGatt gatt, UUID uuid, byte[] value) {
return new GattOperation(gatt, Operation.CHR_WRITE, uuid, value);
}
static public GattOperation enableNotification(BluetoothGatt gatt, UUID uuid) {
return new GattOperation(gatt, Operation.ENABLE_NOTIFICATION, uuid);
}
}
public HIDDeviceBLESteamController(HIDDeviceManager manager, BluetoothDevice device) {
mManager = manager;
mDevice = device;
mDeviceId = mManager.getDeviceIDForIdentifier(getIdentifier());
mIsRegistered = false;
mIsChromebook = mManager.getContext().getPackageManager().hasSystemFeature("org.chromium.arc.device_management");
mOperations = new LinkedList<GattOperation>();
mHandler = new Handler(Looper.getMainLooper());
mGatt = connectGatt();
// final HIDDeviceBLESteamController finalThis = this;
// mHandler.postDelayed(new Runnable() {
// @Override
// public void run() {
// finalThis.checkConnectionForChromebookIssue();
// }
// }, CHROMEBOOK_CONNECTION_CHECK_INTERVAL);
}
public String getIdentifier() {
return String.format("SteamController.%s", mDevice.getAddress());
}
public BluetoothGatt getGatt() {
return mGatt;
}
// 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 /* Android 6.0 (M) */) {
try {
return mDevice.connectGatt(mManager.getContext(), managed, this, TRANSPORT_LE);
} catch (Exception e) {
return mDevice.connectGatt(mManager.getContext(), managed, this);
}
} else {
return mDevice.connectGatt(mManager.getContext(), managed, this);
}
}
private BluetoothGatt connectGatt() {
return connectGatt(false);
}
protected int getConnectionState() {
Context context = mManager.getContext();
if (context == null) {
// We are lacking any context to get our Bluetooth information. We'll just assume disconnected.
return BluetoothProfile.STATE_DISCONNECTED;
}
BluetoothManager btManager = (BluetoothManager)context.getSystemService(Context.BLUETOOTH_SERVICE);
if (btManager == null) {
// This device doesn't support Bluetooth. We should never be here, because how did
// we instantiate a device to start with?
return BluetoothProfile.STATE_DISCONNECTED;
}
return btManager.getConnectionState(mDevice, BluetoothProfile.GATT);
}
public void reconnect() {
if (getConnectionState() != BluetoothProfile.STATE_CONNECTED) {
mGatt.disconnect();
mGatt = connectGatt();
}
}
protected void checkConnectionForChromebookIssue() {
if (!mIsChromebook) {
// We only do this on Chromebooks, because otherwise it's really annoying to just attempt
// over and over.
return;
}
int connectionState = getConnectionState();
switch (connectionState) {
case BluetoothProfile.STATE_CONNECTED:
if (!mIsConnected) {
// We are in the Bad Chromebook Place. We can force a disconnect
// to try to recover.
Log.v(TAG, "Chromebook: We are in a very bad state; the controller shows as connected in the underlying Bluetooth layer, but we never received a callback. Forcing a reconnect.");
mIsReconnecting = true;
mGatt.disconnect();
mGatt = connectGatt(false);
break;
}
else if (!isRegistered()) {
if (mGatt.getServices().size() > 0) {
Log.v(TAG, "Chromebook: We are connected to a controller, but never got our registration. Trying to recover.");
probeService(this);
}
else {
Log.v(TAG, "Chromebook: We are connected to a controller, but never discovered services. Trying to recover.");
mIsReconnecting = true;
mGatt.disconnect();
mGatt = connectGatt(false);
break;
}
}
else {
Log.v(TAG, "Chromebook: We are connected, and registered. Everything's good!");
return;
}
break;
case BluetoothProfile.STATE_DISCONNECTED:
Log.v(TAG, "Chromebook: We have either been disconnected, or the Chromebook BtGatt.ContextMap bug has bitten us. Attempting a disconnect/reconnect, but we may not be able to recover.");
mIsReconnecting = true;
mGatt.disconnect();
mGatt = connectGatt(false);
break;
case BluetoothProfile.STATE_CONNECTING:
Log.v(TAG, "Chromebook: We're still trying to connect. Waiting a bit longer.");
break;
}
final HIDDeviceBLESteamController finalThis = this;
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
finalThis.checkConnectionForChromebookIssue();
}
}, CHROMEBOOK_CONNECTION_CHECK_INTERVAL);
}
private boolean isRegistered() {
return mIsRegistered;
}
private void setRegistered() {
mIsRegistered = true;
}
private boolean probeService(HIDDeviceBLESteamController controller) {
if (isRegistered()) {
return true;
}
if (!mIsConnected) {
return false;
}
Log.v(TAG, "probeService controller=" + controller);
for (BluetoothGattService service : mGatt.getServices()) {
if (service.getUuid().equals(steamControllerService)) {
Log.v(TAG, "Found Valve steam controller service " + service.getUuid());
for (BluetoothGattCharacteristic chr : service.getCharacteristics()) {
if (chr.getUuid().equals(inputCharacteristic)) {
Log.v(TAG, "Found input characteristic");
// Start notifications
BluetoothGattDescriptor cccd = chr.getDescriptor(UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"));
if (cccd != null) {
enableNotification(chr.getUuid());
}
}
}
return true;
}
}
if ((mGatt.getServices().size() == 0) && mIsChromebook && !mIsReconnecting) {
Log.e(TAG, "Chromebook: Discovered services were empty; this almost certainly means the BtGatt.ContextMap bug has bitten us.");
mIsConnected = false;
mIsReconnecting = true;
mGatt.disconnect();
mGatt = connectGatt(false);
}
return false;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
private void finishCurrentGattOperation() {
GattOperation op = null;
synchronized (mOperations) {
if (mCurrentOperation != null) {
op = mCurrentOperation;
mCurrentOperation = null;
}
}
if (op != null) {
boolean result = op.finish(); // TODO: Maybe in main thread as well?
// Our operation failed, let's add it back to the beginning of our queue.
if (!result) {
mOperations.addFirst(op);
}
}
executeNextGattOperation();
}
private void executeNextGattOperation() {
synchronized (mOperations) {
if (mCurrentOperation != null)
return;
if (mOperations.isEmpty())
return;
mCurrentOperation = mOperations.removeFirst();
}
// Run in main thread
mHandler.post(new Runnable() {
@Override
public void run() {
synchronized (mOperations) {
if (mCurrentOperation == null) {
Log.e(TAG, "Current operation null in executor?");
return;
}
mCurrentOperation.run();
// now wait for the GATT callback and when it comes, finish this operation
}
}
});
}
private void queueGattOperation(GattOperation op) {
synchronized (mOperations) {
mOperations.add(op);
}
executeNextGattOperation();
}
private void enableNotification(UUID chrUuid) {
GattOperation op = HIDDeviceBLESteamController.GattOperation.enableNotification(mGatt, chrUuid);
queueGattOperation(op);
}
public void writeCharacteristic(UUID uuid, byte[] value) {
GattOperation op = HIDDeviceBLESteamController.GattOperation.writeCharacteristic(mGatt, uuid, value);
queueGattOperation(op);
}
public void readCharacteristic(UUID uuid) {
GattOperation op = HIDDeviceBLESteamController.GattOperation.readCharacteristic(mGatt, uuid);
queueGattOperation(op);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
////////////// BluetoothGattCallback overridden methods
//////////////////////////////////////////////////////////////////////////////////////////////////////
public void onConnectionStateChange(BluetoothGatt g, int status, int newState) {
//Log.v(TAG, "onConnectionStateChange status=" + status + " newState=" + newState);
mIsReconnecting = false;
if (newState == 2) {
mIsConnected = true;
// Run directly, without GattOperation
if (!isRegistered()) {
mHandler.post(new Runnable() {
@Override
public void run() {
mGatt.discoverServices();
}
});
}
}
else if (newState == 0) {
mIsConnected = false;
}
// Disconnection is handled in SteamLink using the ACTION_ACL_DISCONNECTED Intent.
}
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
//Log.v(TAG, "onServicesDiscovered status=" + status);
if (status == 0) {
if (gatt.getServices().size() == 0) {
Log.v(TAG, "onServicesDiscovered returned zero services; something has gone horribly wrong down in Android's Bluetooth stack.");
mIsReconnecting = true;
mIsConnected = false;
gatt.disconnect();
mGatt = connectGatt(false);
}
else {
probeService(this);
}
}
}
public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
//Log.v(TAG, "onCharacteristicRead status=" + status + " uuid=" + characteristic.getUuid());
if (characteristic.getUuid().equals(reportCharacteristic) && !mFrozen) {
mManager.HIDDeviceFeatureReport(getId(), characteristic.getValue());
}
finishCurrentGattOperation();
}
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
//Log.v(TAG, "onCharacteristicWrite status=" + status + " uuid=" + characteristic.getUuid());
if (characteristic.getUuid().equals(reportCharacteristic)) {
// Only register controller with the native side once it has been fully configured
if (!isRegistered()) {
Log.v(TAG, "Registering Steam Controller with ID: " + getId());
mManager.HIDDeviceConnected(getId(), getIdentifier(), getVendorId(), getProductId(), getSerialNumber(), getVersion(), getManufacturerName(), getProductName(), 0, 0, 0, 0);
setRegistered();
}
}
finishCurrentGattOperation();
}
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
// Enable this for verbose logging of controller input reports
//Log.v(TAG, "onCharacteristicChanged uuid=" + characteristic.getUuid() + " data=" + HexDump.dumpHexString(characteristic.getValue()));
if (characteristic.getUuid().equals(inputCharacteristic) && !mFrozen) {
mManager.HIDDeviceInputReport(getId(), characteristic.getValue());
}
}
public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
//Log.v(TAG, "onDescriptorRead status=" + status);
}
public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, int status) {
BluetoothGattCharacteristic chr = descriptor.getCharacteristic();
//Log.v(TAG, "onDescriptorWrite status=" + status + " uuid=" + chr.getUuid() + " descriptor=" + descriptor.getUuid());
if (chr.getUuid().equals(inputCharacteristic)) {
boolean hasWrittenInputDescriptor = true;
BluetoothGattCharacteristic reportChr = chr.getService().getCharacteristic(reportCharacteristic);
if (reportChr != null) {
Log.v(TAG, "Writing report characteristic to enter valve mode");
reportChr.setValue(enterValveMode);
gatt.writeCharacteristic(reportChr);
}
}
finishCurrentGattOperation();
}
public void onReliableWriteCompleted(BluetoothGatt gatt, int status) {
//Log.v(TAG, "onReliableWriteCompleted status=" + status);
}
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
//Log.v(TAG, "onReadRemoteRssi status=" + status);
}
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
//Log.v(TAG, "onMtuChanged status=" + status);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////// Public API
//////////////////////////////////////////////////////////////////////////////////////////////////////
@Override
public int getId() {
return mDeviceId;
}
@Override
public int getVendorId() {
// Valve Corporation
final int VALVE_USB_VID = 0x28DE;
return VALVE_USB_VID;
}
@Override
public int getProductId() {
// We don't have an easy way to query from the Bluetooth device, but we know what it is
final int D0G_BLE2_PID = 0x1106;
return D0G_BLE2_PID;
}
@Override
public String getSerialNumber() {
// This will be read later via feature report by Steam
return "12345";
}
@Override
public int getVersion() {
return 0;
}
@Override
public String getManufacturerName() {
return "Valve Corporation";
}
@Override
public String getProductName() {
return "Steam Controller";
}
@Override
public UsbDevice getDevice() {
return null;
}
@Override
public boolean open() {
return true;
}
@Override
public int sendFeatureReport(byte[] report) {
if (!isRegistered()) {
Log.e(TAG, "Attempted sendFeatureReport before Steam Controller is registered!");
if (mIsConnected) {
probeService(this);
}
return -1;
}
// We need to skip the first byte, as that doesn't go over the air
byte[] actual_report = Arrays.copyOfRange(report, 1, report.length - 1);
//Log.v(TAG, "sendFeatureReport " + HexDump.dumpHexString(actual_report));
writeCharacteristic(reportCharacteristic, actual_report);
return report.length;
}
@Override
public int sendOutputReport(byte[] report) {
if (!isRegistered()) {
Log.e(TAG, "Attempted sendOutputReport before Steam Controller is registered!");
if (mIsConnected) {
probeService(this);
}
return -1;
}
//Log.v(TAG, "sendFeatureReport " + HexDump.dumpHexString(report));
writeCharacteristic(reportCharacteristic, report);
return report.length;
}
@Override
public boolean getFeatureReport(byte[] report) {
if (!isRegistered()) {
Log.e(TAG, "Attempted getFeatureReport before Steam Controller is registered!");
if (mIsConnected) {
probeService(this);
}
return false;
}
//Log.v(TAG, "getFeatureReport");
readCharacteristic(reportCharacteristic);
return true;
}
@Override
public void close() {
}
@Override
public void setFrozen(boolean frozen) {
mFrozen = frozen;
}
@Override
public void shutdown() {
close();
BluetoothGatt g = mGatt;
if (g != null) {
g.disconnect();
g.close();
mGatt = null;
}
mManager = null;
mIsRegistered = false;
mIsConnected = false;
mOperations.clear();
}
}

View File

@ -0,0 +1,683 @@
package org.libsdl.app;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothManager;
import android.bluetooth.BluetoothProfile;
import android.os.Build;
import android.util.Log;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.hardware.usb.*;
import android.os.Handler;
import android.os.Looper;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
public class HIDDeviceManager {
private static final String TAG = "hidapi";
private static final String ACTION_USB_PERMISSION = "org.libsdl.app.USB_PERMISSION";
private static HIDDeviceManager sManager;
private static int sManagerRefCount = 0;
public static HIDDeviceManager acquire(Context context) {
if (sManagerRefCount == 0) {
sManager = new HIDDeviceManager(context);
}
++sManagerRefCount;
return sManager;
}
public static void release(HIDDeviceManager manager) {
if (manager == sManager) {
--sManagerRefCount;
if (sManagerRefCount == 0) {
sManager.close();
sManager = null;
}
}
}
private Context mContext;
private HashMap<Integer, HIDDevice> mDevicesById = new HashMap<Integer, HIDDevice>();
private HashMap<BluetoothDevice, HIDDeviceBLESteamController> mBluetoothDevices = new HashMap<BluetoothDevice, HIDDeviceBLESteamController>();
private int mNextDeviceId = 0;
private SharedPreferences mSharedPreferences = null;
private boolean mIsChromebook = false;
private UsbManager mUsbManager;
private Handler mHandler;
private BluetoothManager mBluetoothManager;
private List<BluetoothDevice> mLastBluetoothDevices;
private final BroadcastReceiver mUsbBroadcast = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) {
UsbDevice usbDevice = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
handleUsbDeviceAttached(usbDevice);
} else if (action.equals(UsbManager.ACTION_USB_DEVICE_DETACHED)) {
UsbDevice usbDevice = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
handleUsbDeviceDetached(usbDevice);
} else if (action.equals(HIDDeviceManager.ACTION_USB_PERMISSION)) {
UsbDevice usbDevice = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
handleUsbDevicePermission(usbDevice, intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false));
}
}
};
private final BroadcastReceiver mBluetoothBroadcast = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// Bluetooth device was connected. If it was a Steam Controller, handle it
if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Log.d(TAG, "Bluetooth device connected: " + device);
if (isSteamController(device)) {
connectBluetoothDevice(device);
}
}
// Bluetooth device was disconnected, remove from controller manager (if any)
if (action.equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Log.d(TAG, "Bluetooth device disconnected: " + device);
disconnectBluetoothDevice(device);
}
}
};
private HIDDeviceManager(final Context context) {
mContext = context;
HIDDeviceRegisterCallback();
mSharedPreferences = mContext.getSharedPreferences("hidapi", Context.MODE_PRIVATE);
mIsChromebook = mContext.getPackageManager().hasSystemFeature("org.chromium.arc.device_management");
// if (shouldClear) {
// SharedPreferences.Editor spedit = mSharedPreferences.edit();
// spedit.clear();
// spedit.commit();
// }
// else
{
mNextDeviceId = mSharedPreferences.getInt("next_device_id", 0);
}
}
public Context getContext() {
return mContext;
}
public int getDeviceIDForIdentifier(String identifier) {
SharedPreferences.Editor spedit = mSharedPreferences.edit();
int result = mSharedPreferences.getInt(identifier, 0);
if (result == 0) {
result = mNextDeviceId++;
spedit.putInt("next_device_id", mNextDeviceId);
}
spedit.putInt(identifier, result);
spedit.commit();
return result;
}
private void initializeUSB() {
mUsbManager = (UsbManager)mContext.getSystemService(Context.USB_SERVICE);
if (mUsbManager == null) {
return;
}
/*
// Logging
for (UsbDevice device : mUsbManager.getDeviceList().values()) {
Log.i(TAG,"Path: " + device.getDeviceName());
Log.i(TAG,"Manufacturer: " + device.getManufacturerName());
Log.i(TAG,"Product: " + device.getProductName());
Log.i(TAG,"ID: " + device.getDeviceId());
Log.i(TAG,"Class: " + device.getDeviceClass());
Log.i(TAG,"Protocol: " + device.getDeviceProtocol());
Log.i(TAG,"Vendor ID " + device.getVendorId());
Log.i(TAG,"Product ID: " + device.getProductId());
Log.i(TAG,"Interface count: " + device.getInterfaceCount());
Log.i(TAG,"---------------------------------------");
// Get interface details
for (int index = 0; index < device.getInterfaceCount(); index++) {
UsbInterface mUsbInterface = device.getInterface(index);
Log.i(TAG," ***** *****");
Log.i(TAG," Interface index: " + index);
Log.i(TAG," Interface ID: " + mUsbInterface.getId());
Log.i(TAG," Interface class: " + mUsbInterface.getInterfaceClass());
Log.i(TAG," Interface subclass: " + mUsbInterface.getInterfaceSubclass());
Log.i(TAG," Interface protocol: " + mUsbInterface.getInterfaceProtocol());
Log.i(TAG," Endpoint count: " + mUsbInterface.getEndpointCount());
// Get endpoint details
for (int epi = 0; epi < mUsbInterface.getEndpointCount(); epi++)
{
UsbEndpoint mEndpoint = mUsbInterface.getEndpoint(epi);
Log.i(TAG," ++++ ++++ ++++");
Log.i(TAG," Endpoint index: " + epi);
Log.i(TAG," Attributes: " + mEndpoint.getAttributes());
Log.i(TAG," Direction: " + mEndpoint.getDirection());
Log.i(TAG," Number: " + mEndpoint.getEndpointNumber());
Log.i(TAG," Interval: " + mEndpoint.getInterval());
Log.i(TAG," Packet size: " + mEndpoint.getMaxPacketSize());
Log.i(TAG," Type: " + mEndpoint.getType());
}
}
}
Log.i(TAG," No more devices connected.");
*/
// Register for USB broadcasts and permission completions
IntentFilter filter = new IntentFilter();
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
filter.addAction(HIDDeviceManager.ACTION_USB_PERMISSION);
mContext.registerReceiver(mUsbBroadcast, filter);
for (UsbDevice usbDevice : mUsbManager.getDeviceList().values()) {
handleUsbDeviceAttached(usbDevice);
}
}
UsbManager getUSBManager() {
return mUsbManager;
}
private void shutdownUSB() {
try {
mContext.unregisterReceiver(mUsbBroadcast);
} catch (Exception e) {
// We may not have registered, that's okay
}
}
private boolean isHIDDeviceInterface(UsbDevice usbDevice, UsbInterface usbInterface) {
if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_HID) {
return true;
}
if (isXbox360Controller(usbDevice, usbInterface) || isXboxOneController(usbDevice, usbInterface)) {
return true;
}
return false;
}
private boolean isXbox360Controller(UsbDevice usbDevice, UsbInterface usbInterface) {
final int XB360_IFACE_SUBCLASS = 93;
final int XB360_IFACE_PROTOCOL = 1; // Wired
final int XB360W_IFACE_PROTOCOL = 129; // Wireless
final int[] SUPPORTED_VENDORS = {
0x0079, // GPD Win 2
0x044f, // Thrustmaster
0x045e, // Microsoft
0x046d, // Logitech
0x056e, // Elecom
0x06a3, // Saitek
0x0738, // Mad Catz
0x07ff, // Mad Catz
0x0e6f, // PDP
0x0f0d, // Hori
0x1038, // SteelSeries
0x11c9, // Nacon
0x12ab, // Unknown
0x1430, // RedOctane
0x146b, // BigBen
0x1532, // Razer Sabertooth
0x15e4, // Numark
0x162e, // Joytech
0x1689, // Razer Onza
0x1949, // Lab126, Inc.
0x1bad, // Harmonix
0x20d6, // PowerA
0x24c6, // PowerA
0x2c22, // Qanba
0x2dc8, // 8BitDo
0x9886, // ASTRO Gaming
};
if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC &&
usbInterface.getInterfaceSubclass() == XB360_IFACE_SUBCLASS &&
(usbInterface.getInterfaceProtocol() == XB360_IFACE_PROTOCOL ||
usbInterface.getInterfaceProtocol() == XB360W_IFACE_PROTOCOL)) {
int vendor_id = usbDevice.getVendorId();
for (int supportedVid : SUPPORTED_VENDORS) {
if (vendor_id == supportedVid) {
return true;
}
}
}
return false;
}
private boolean isXboxOneController(UsbDevice usbDevice, UsbInterface usbInterface) {
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
0x2e24, // Hyperkin
};
if (usbInterface.getId() == 0 &&
usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_VENDOR_SPEC &&
usbInterface.getInterfaceSubclass() == XB1_IFACE_SUBCLASS &&
usbInterface.getInterfaceProtocol() == XB1_IFACE_PROTOCOL) {
int vendor_id = usbDevice.getVendorId();
for (int supportedVid : SUPPORTED_VENDORS) {
if (vendor_id == supportedVid) {
return true;
}
}
}
return false;
}
private void handleUsbDeviceAttached(UsbDevice usbDevice) {
connectHIDDeviceUSB(usbDevice);
}
private void handleUsbDeviceDetached(UsbDevice usbDevice) {
List<Integer> devices = new ArrayList<Integer>();
for (HIDDevice device : mDevicesById.values()) {
if (usbDevice.equals(device.getDevice())) {
devices.add(device.getId());
}
}
for (int id : devices) {
HIDDevice device = mDevicesById.get(id);
mDevicesById.remove(id);
device.shutdown();
HIDDeviceDisconnected(id);
}
}
private void handleUsbDevicePermission(UsbDevice usbDevice, boolean permission_granted) {
for (HIDDevice device : mDevicesById.values()) {
if (usbDevice.equals(device.getDevice())) {
boolean opened = false;
if (permission_granted) {
opened = device.open();
}
HIDDeviceOpenResult(device.getId(), opened);
}
}
}
private void connectHIDDeviceUSB(UsbDevice usbDevice) {
synchronized (this) {
int interface_mask = 0;
for (int interface_index = 0; interface_index < usbDevice.getInterfaceCount(); interface_index++) {
UsbInterface usbInterface = usbDevice.getInterface(interface_index);
if (isHIDDeviceInterface(usbDevice, usbInterface)) {
// Check to see if we've already added this interface
// This happens with the Xbox Series X controller which has a duplicate interface 0, which is inactive
int interface_id = usbInterface.getId();
if ((interface_mask & (1 << interface_id)) != 0) {
continue;
}
interface_mask |= (1 << interface_id);
HIDDeviceUSB device = new HIDDeviceUSB(this, usbDevice, interface_index);
int id = device.getId();
mDevicesById.put(id, device);
HIDDeviceConnected(id, device.getIdentifier(), device.getVendorId(), device.getProductId(), device.getSerialNumber(), device.getVersion(), device.getManufacturerName(), device.getProductName(), usbInterface.getId(), usbInterface.getInterfaceClass(), usbInterface.getInterfaceSubclass(), usbInterface.getInterfaceProtocol());
}
}
}
}
private void initializeBluetooth() {
Log.d(TAG, "Initializing Bluetooth");
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 /* Android 4.3 (JELLY_BEAN_MR2) */)) {
Log.d(TAG, "Couldn't initialize Bluetooth, this version of Android does not support Bluetooth LE");
return;
}
// Find bonded bluetooth controllers and create SteamControllers for them
mBluetoothManager = (BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE);
if (mBluetoothManager == null) {
// This device doesn't support Bluetooth.
return;
}
BluetoothAdapter btAdapter = mBluetoothManager.getAdapter();
if (btAdapter == null) {
// This device has Bluetooth support in the codebase, but has no available adapters.
return;
}
// Get our bonded devices.
for (BluetoothDevice device : btAdapter.getBondedDevices()) {
Log.d(TAG, "Bluetooth device available: " + device);
if (isSteamController(device)) {
connectBluetoothDevice(device);
}
}
// NOTE: These don't work on Chromebooks, to my undying dismay.
IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
mContext.registerReceiver(mBluetoothBroadcast, filter);
if (mIsChromebook) {
mHandler = new Handler(Looper.getMainLooper());
mLastBluetoothDevices = new ArrayList<BluetoothDevice>();
// final HIDDeviceManager finalThis = this;
// mHandler.postDelayed(new Runnable() {
// @Override
// public void run() {
// finalThis.chromebookConnectionHandler();
// }
// }, 5000);
}
}
private void shutdownBluetooth() {
try {
mContext.unregisterReceiver(mBluetoothBroadcast);
} catch (Exception e) {
// We may not have registered, that's okay
}
}
// Chromebooks do not pass along ACTION_ACL_CONNECTED / ACTION_ACL_DISCONNECTED properly.
// This function provides a sort of dummy version of that, watching for changes in the
// connected devices and attempting to add controllers as things change.
public void chromebookConnectionHandler() {
if (!mIsChromebook) {
return;
}
ArrayList<BluetoothDevice> disconnected = new ArrayList<BluetoothDevice>();
ArrayList<BluetoothDevice> connected = new ArrayList<BluetoothDevice>();
List<BluetoothDevice> currentConnected = mBluetoothManager.getConnectedDevices(BluetoothProfile.GATT);
for (BluetoothDevice bluetoothDevice : currentConnected) {
if (!mLastBluetoothDevices.contains(bluetoothDevice)) {
connected.add(bluetoothDevice);
}
}
for (BluetoothDevice bluetoothDevice : mLastBluetoothDevices) {
if (!currentConnected.contains(bluetoothDevice)) {
disconnected.add(bluetoothDevice);
}
}
mLastBluetoothDevices = currentConnected;
for (BluetoothDevice bluetoothDevice : disconnected) {
disconnectBluetoothDevice(bluetoothDevice);
}
for (BluetoothDevice bluetoothDevice : connected) {
connectBluetoothDevice(bluetoothDevice);
}
final HIDDeviceManager finalThis = this;
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
finalThis.chromebookConnectionHandler();
}
}, 10000);
}
public boolean connectBluetoothDevice(BluetoothDevice bluetoothDevice) {
Log.v(TAG, "connectBluetoothDevice device=" + bluetoothDevice);
synchronized (this) {
if (mBluetoothDevices.containsKey(bluetoothDevice)) {
Log.v(TAG, "Steam controller with address " + bluetoothDevice + " already exists, attempting reconnect");
HIDDeviceBLESteamController device = mBluetoothDevices.get(bluetoothDevice);
device.reconnect();
return false;
}
HIDDeviceBLESteamController device = new HIDDeviceBLESteamController(this, bluetoothDevice);
int id = device.getId();
mBluetoothDevices.put(bluetoothDevice, device);
mDevicesById.put(id, device);
// The Steam Controller will mark itself connected once initialization is complete
}
return true;
}
public void disconnectBluetoothDevice(BluetoothDevice bluetoothDevice) {
synchronized (this) {
HIDDeviceBLESteamController device = mBluetoothDevices.get(bluetoothDevice);
if (device == null)
return;
int id = device.getId();
mBluetoothDevices.remove(bluetoothDevice);
mDevicesById.remove(id);
device.shutdown();
HIDDeviceDisconnected(id);
}
}
public boolean isSteamController(BluetoothDevice bluetoothDevice) {
// Sanity check. If you pass in a null device, by definition it is never a Steam Controller.
if (bluetoothDevice == null) {
return false;
}
// If the device has no local name, we really don't want to try an equality check against it.
if (bluetoothDevice.getName() == null) {
return false;
}
return bluetoothDevice.getName().equals("SteamController") && ((bluetoothDevice.getType() & BluetoothDevice.DEVICE_TYPE_LE) != 0);
}
private void close() {
shutdownUSB();
shutdownBluetooth();
synchronized (this) {
for (HIDDevice device : mDevicesById.values()) {
device.shutdown();
}
mDevicesById.clear();
mBluetoothDevices.clear();
HIDDeviceReleaseCallback();
}
}
public void setFrozen(boolean frozen) {
synchronized (this) {
for (HIDDevice device : mDevicesById.values()) {
device.setFrozen(frozen);
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
private HIDDevice getDevice(int id) {
synchronized (this) {
HIDDevice result = mDevicesById.get(id);
if (result == null) {
Log.v(TAG, "No device for id: " + id);
Log.v(TAG, "Available devices: " + mDevicesById.keySet());
}
return result;
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
////////// JNI interface functions
//////////////////////////////////////////////////////////////////////////////////////////////////////
public boolean initialize(boolean usb, boolean bluetooth) {
Log.v(TAG, "initialize(" + usb + ", " + bluetooth + ")");
if (usb) {
initializeUSB();
}
if (bluetooth) {
initializeBluetooth();
}
return true;
}
public boolean openDevice(int deviceID) {
Log.v(TAG, "openDevice deviceID=" + deviceID);
HIDDevice device = getDevice(deviceID);
if (device == null) {
HIDDeviceDisconnected(deviceID);
return false;
}
// Look to see if this is a USB device and we have permission to access it
UsbDevice usbDevice = device.getDevice();
if (usbDevice != null && !mUsbManager.hasPermission(usbDevice)) {
HIDDeviceOpenPending(deviceID);
try {
final int FLAG_MUTABLE = 0x02000000; // PendingIntent.FLAG_MUTABLE, but don't require SDK 31
int flags;
if (Build.VERSION.SDK_INT >= 31 /* Android 12.0 (S) */) {
flags = FLAG_MUTABLE;
} else {
flags = 0;
}
mUsbManager.requestPermission(usbDevice, PendingIntent.getBroadcast(mContext, 0, new Intent(HIDDeviceManager.ACTION_USB_PERMISSION), flags));
} catch (Exception e) {
Log.v(TAG, "Couldn't request permission for USB device " + usbDevice);
HIDDeviceOpenResult(deviceID, false);
}
return false;
}
try {
return device.open();
} catch (Exception e) {
Log.e(TAG, "Got exception: " + Log.getStackTraceString(e));
}
return false;
}
public int sendOutputReport(int deviceID, byte[] report) {
try {
//Log.v(TAG, "sendOutputReport deviceID=" + deviceID + " length=" + report.length);
HIDDevice device;
device = getDevice(deviceID);
if (device == null) {
HIDDeviceDisconnected(deviceID);
return -1;
}
return device.sendOutputReport(report);
} catch (Exception e) {
Log.e(TAG, "Got exception: " + Log.getStackTraceString(e));
}
return -1;
}
public int sendFeatureReport(int deviceID, byte[] report) {
try {
//Log.v(TAG, "sendFeatureReport deviceID=" + deviceID + " length=" + report.length);
HIDDevice device;
device = getDevice(deviceID);
if (device == null) {
HIDDeviceDisconnected(deviceID);
return -1;
}
return device.sendFeatureReport(report);
} catch (Exception e) {
Log.e(TAG, "Got exception: " + Log.getStackTraceString(e));
}
return -1;
}
public boolean getFeatureReport(int deviceID, byte[] report) {
try {
//Log.v(TAG, "getFeatureReport deviceID=" + deviceID);
HIDDevice device;
device = getDevice(deviceID);
if (device == null) {
HIDDeviceDisconnected(deviceID);
return false;
}
return device.getFeatureReport(report);
} catch (Exception e) {
Log.e(TAG, "Got exception: " + Log.getStackTraceString(e));
}
return false;
}
public void closeDevice(int deviceID) {
try {
Log.v(TAG, "closeDevice deviceID=" + deviceID);
HIDDevice device;
device = getDevice(deviceID);
if (device == null) {
HIDDeviceDisconnected(deviceID);
return;
}
device.close();
} catch (Exception e) {
Log.e(TAG, "Got exception: " + Log.getStackTraceString(e));
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////// Native methods
//////////////////////////////////////////////////////////////////////////////////////////////////////
private native void HIDDeviceRegisterCallback();
private native void HIDDeviceReleaseCallback();
native void HIDDeviceConnected(int deviceID, String identifier, int vendorId, int productId, String serial_number, int release_number, String manufacturer_string, String product_string, int interface_number, int interface_class, int interface_subclass, int interface_protocol);
native void HIDDeviceOpenPending(int deviceID);
native void HIDDeviceOpenResult(int deviceID, boolean opened);
native void HIDDeviceDisconnected(int deviceID);
native void HIDDeviceInputReport(int deviceID, byte[] report);
native void HIDDeviceFeatureReport(int deviceID, byte[] report);
}

View File

@ -0,0 +1,309 @@
package org.libsdl.app;
import android.hardware.usb.*;
import android.os.Build;
import android.util.Log;
import java.util.Arrays;
class HIDDeviceUSB implements HIDDevice {
private static final String TAG = "hidapi";
protected HIDDeviceManager mManager;
protected UsbDevice mDevice;
protected int mInterfaceIndex;
protected int mInterface;
protected int mDeviceId;
protected UsbDeviceConnection mConnection;
protected UsbEndpoint mInputEndpoint;
protected UsbEndpoint mOutputEndpoint;
protected InputThread mInputThread;
protected boolean mRunning;
protected boolean mFrozen;
public HIDDeviceUSB(HIDDeviceManager manager, UsbDevice usbDevice, int interface_index) {
mManager = manager;
mDevice = usbDevice;
mInterfaceIndex = interface_index;
mInterface = mDevice.getInterface(mInterfaceIndex).getId();
mDeviceId = manager.getDeviceIDForIdentifier(getIdentifier());
mRunning = false;
}
public String getIdentifier() {
return String.format("%s/%x/%x/%d", mDevice.getDeviceName(), mDevice.getVendorId(), mDevice.getProductId(), mInterfaceIndex);
}
@Override
public int getId() {
return mDeviceId;
}
@Override
public int getVendorId() {
return mDevice.getVendorId();
}
@Override
public int getProductId() {
return mDevice.getProductId();
}
@Override
public String getSerialNumber() {
String result = null;
if (Build.VERSION.SDK_INT >= 21 /* Android 5.0 (LOLLIPOP) */) {
try {
result = mDevice.getSerialNumber();
}
catch (SecurityException exception) {
//Log.w(TAG, "App permissions mean we cannot get serial number for device " + getDeviceName() + " message: " + exception.getMessage());
}
}
if (result == null) {
result = "";
}
return result;
}
@Override
public int getVersion() {
return 0;
}
@Override
public String getManufacturerName() {
String result = null;
if (Build.VERSION.SDK_INT >= 21 /* Android 5.0 (LOLLIPOP) */) {
result = mDevice.getManufacturerName();
}
if (result == null) {
result = String.format("%x", getVendorId());
}
return result;
}
@Override
public String getProductName() {
String result = null;
if (Build.VERSION.SDK_INT >= 21 /* Android 5.0 (LOLLIPOP) */) {
result = mDevice.getProductName();
}
if (result == null) {
result = String.format("%x", getProductId());
}
return result;
}
@Override
public UsbDevice getDevice() {
return mDevice;
}
public String getDeviceName() {
return getManufacturerName() + " " + getProductName() + "(0x" + String.format("%x", getVendorId()) + "/0x" + String.format("%x", getProductId()) + ")";
}
@Override
public boolean open() {
mConnection = mManager.getUSBManager().openDevice(mDevice);
if (mConnection == null) {
Log.w(TAG, "Unable to open USB device " + getDeviceName());
return false;
}
// Force claim our interface
UsbInterface iface = mDevice.getInterface(mInterfaceIndex);
if (!mConnection.claimInterface(iface, true)) {
Log.w(TAG, "Failed to claim interfaces on USB device " + getDeviceName());
close();
return false;
}
// Find the endpoints
for (int j = 0; j < iface.getEndpointCount(); j++) {
UsbEndpoint endpt = iface.getEndpoint(j);
switch (endpt.getDirection()) {
case UsbConstants.USB_DIR_IN:
if (mInputEndpoint == null) {
mInputEndpoint = endpt;
}
break;
case UsbConstants.USB_DIR_OUT:
if (mOutputEndpoint == null) {
mOutputEndpoint = endpt;
}
break;
}
}
// Make sure the required endpoints were present
if (mInputEndpoint == null || mOutputEndpoint == null) {
Log.w(TAG, "Missing required endpoint on USB device " + getDeviceName());
close();
return false;
}
// Start listening for input
mRunning = true;
mInputThread = new InputThread();
mInputThread.start();
return true;
}
@Override
public int sendFeatureReport(byte[] report) {
int res = -1;
int offset = 0;
int length = report.length;
boolean skipped_report_id = false;
byte report_number = report[0];
if (report_number == 0x0) {
++offset;
--length;
skipped_report_id = true;
}
res = mConnection.controlTransfer(
UsbConstants.USB_TYPE_CLASS | 0x01 /*RECIPIENT_INTERFACE*/ | UsbConstants.USB_DIR_OUT,
0x09/*HID set_report*/,
(3/*HID feature*/ << 8) | report_number,
mInterface,
report, offset, length,
1000/*timeout millis*/);
if (res < 0) {
Log.w(TAG, "sendFeatureReport() returned " + res + " on device " + getDeviceName());
return -1;
}
if (skipped_report_id) {
++length;
}
return length;
}
@Override
public int sendOutputReport(byte[] report) {
int r = mConnection.bulkTransfer(mOutputEndpoint, report, report.length, 1000);
if (r != report.length) {
Log.w(TAG, "sendOutputReport() returned " + r + " on device " + getDeviceName());
}
return r;
}
@Override
public boolean getFeatureReport(byte[] report) {
int res = -1;
int offset = 0;
int length = report.length;
boolean skipped_report_id = false;
byte report_number = report[0];
if (report_number == 0x0) {
/* Offset the return buffer by 1, so that the report ID
will remain in byte 0. */
++offset;
--length;
skipped_report_id = true;
}
res = mConnection.controlTransfer(
UsbConstants.USB_TYPE_CLASS | 0x01 /*RECIPIENT_INTERFACE*/ | UsbConstants.USB_DIR_IN,
0x01/*HID get_report*/,
(3/*HID feature*/ << 8) | report_number,
mInterface,
report, offset, length,
1000/*timeout millis*/);
if (res < 0) {
Log.w(TAG, "getFeatureReport() returned " + res + " on device " + getDeviceName());
return false;
}
if (skipped_report_id) {
++res;
++length;
}
byte[] data;
if (res == length) {
data = report;
} else {
data = Arrays.copyOfRange(report, 0, res);
}
mManager.HIDDeviceFeatureReport(mDeviceId, data);
return true;
}
@Override
public void close() {
mRunning = false;
if (mInputThread != null) {
while (mInputThread.isAlive()) {
mInputThread.interrupt();
try {
mInputThread.join();
} catch (InterruptedException e) {
// Keep trying until we're done
}
}
mInputThread = null;
}
if (mConnection != null) {
UsbInterface iface = mDevice.getInterface(mInterfaceIndex);
mConnection.releaseInterface(iface);
mConnection.close();
mConnection = null;
}
}
@Override
public void shutdown() {
close();
mManager = null;
}
@Override
public void setFrozen(boolean frozen) {
mFrozen = frozen;
}
protected class InputThread extends Thread {
@Override
public void run() {
int packetSize = mInputEndpoint.getMaxPacketSize();
byte[] packet = new byte[packetSize];
while (mRunning) {
int r;
try
{
r = mConnection.bulkTransfer(mInputEndpoint, packet, packetSize, 1000);
}
catch (Exception e)
{
Log.v(TAG, "Exception in UsbDeviceConnection bulktransfer: " + e);
break;
}
if (r < 0) {
// Could be a timeout or an I/O error
}
if (r > 0) {
byte[] data;
if (r == packetSize) {
data = packet;
} else {
data = Arrays.copyOfRange(packet, 0, r);
}
if (!mFrozen) {
mManager.HIDDeviceInputReport(mDeviceId, data);
}
}
}
}
}
}

View File

@ -0,0 +1,86 @@
package org.libsdl.app;
import android.content.Context;
import java.lang.Class;
import java.lang.reflect.Method;
/**
SDL library initialization
*/
public class SDL {
// This function should be called first and sets up the native code
// so it can call into the Java classes
public static void setupJNI() {
SDLActivity.nativeSetupJNI();
SDLAudioManager.nativeSetupJNI();
SDLControllerManager.nativeSetupJNI();
}
// This function should be called each time the activity is started
public static void initialize() {
setContext(null);
SDLActivity.initialize();
SDLAudioManager.initialize();
SDLControllerManager.initialize();
}
// This function stores the current activity (SDL or not)
public static void setContext(Context context) {
SDLAudioManager.setContext(context);
mContext = context;
}
public static Context getContext() {
return mContext;
}
public static void loadLibrary(String libraryName) throws UnsatisfiedLinkError, SecurityException, NullPointerException {
if (libraryName == null) {
throw new NullPointerException("No library name provided.");
}
try {
// Let's see if we have ReLinker available in the project. This is necessary for
// some projects that have huge numbers of local libraries bundled, and thus may
// trip a bug in Android's native library loader which ReLinker works around. (If
// loadLibrary works properly, ReLinker will simply use the normal Android method
// internally.)
//
// To use ReLinker, just add it as a dependency. For more information, see
// https://github.com/KeepSafe/ReLinker for ReLinker's repository.
//
Class<?> relinkClass = mContext.getClassLoader().loadClass("com.getkeepsafe.relinker.ReLinker");
Class<?> relinkListenerClass = mContext.getClassLoader().loadClass("com.getkeepsafe.relinker.ReLinker$LoadListener");
Class<?> contextClass = mContext.getClassLoader().loadClass("android.content.Context");
Class<?> stringClass = mContext.getClassLoader().loadClass("java.lang.String");
// Get a 'force' instance of the ReLinker, so we can ensure libraries are reinstalled if
// they've changed during updates.
Method forceMethod = relinkClass.getDeclaredMethod("force");
Object relinkInstance = forceMethod.invoke(null);
Class<?> relinkInstanceClass = relinkInstance.getClass();
// Actually load the library!
Method loadMethod = relinkInstanceClass.getDeclaredMethod("loadLibrary", contextClass, stringClass, stringClass, relinkListenerClass);
loadMethod.invoke(relinkInstance, mContext, libraryName, null, null);
}
catch (final Throwable e) {
// Fall back
try {
System.loadLibrary(libraryName);
}
catch (final UnsatisfiedLinkError ule) {
throw ule;
}
catch (final SecurityException se) {
throw se;
}
}
}
protected static Context mContext;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,514 @@
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;
import android.media.AudioTrack;
import android.media.MediaRecorder;
import android.os.Build;
import android.util.Log;
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);
}
}
protected static int[] open(boolean isCapture, int sampleRate, int audioFormat, int desiredChannels, int desiredFrames, int deviceId) {
int channelConfig;
int sampleSize;
int frameSize;
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 /* 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 /* Android 5.1 (LOLLIPOP_MR1) */) {
if (sampleRate < 8000) {
sampleRate = 8000;
} else if (sampleRate > 48000) {
sampleRate = 48000;
}
}
if (audioFormat == AudioFormat.ENCODING_PCM_FLOAT) {
int minSDKVersion = (isCapture ? 23 /* Android 6.0 (M) */ : 21 /* Android 5.0 (LOLLIPOP) */);
if (Build.VERSION.SDK_INT < minSDKVersion) {
audioFormat = AudioFormat.ENCODING_PCM_16BIT;
}
}
switch (audioFormat)
{
case AudioFormat.ENCODING_PCM_8BIT:
sampleSize = 1;
break;
case AudioFormat.ENCODING_PCM_16BIT:
sampleSize = 2;
break;
case AudioFormat.ENCODING_PCM_FLOAT:
sampleSize = 4;
break;
default:
Log.v(TAG, "Requested format " + audioFormat + ", getting ENCODING_PCM_16BIT");
audioFormat = AudioFormat.ENCODING_PCM_16BIT;
sampleSize = 2;
break;
}
if (isCapture) {
switch (desiredChannels) {
case 1:
channelConfig = AudioFormat.CHANNEL_IN_MONO;
break;
case 2:
channelConfig = AudioFormat.CHANNEL_IN_STEREO;
break;
default:
Log.v(TAG, "Requested " + desiredChannels + " channels, getting stereo");
desiredChannels = 2;
channelConfig = AudioFormat.CHANNEL_IN_STEREO;
break;
}
} else {
switch (desiredChannels) {
case 1:
channelConfig = AudioFormat.CHANNEL_OUT_MONO;
break;
case 2:
channelConfig = AudioFormat.CHANNEL_OUT_STEREO;
break;
case 3:
channelConfig = AudioFormat.CHANNEL_OUT_STEREO | AudioFormat.CHANNEL_OUT_FRONT_CENTER;
break;
case 4:
channelConfig = AudioFormat.CHANNEL_OUT_QUAD;
break;
case 5:
channelConfig = AudioFormat.CHANNEL_OUT_QUAD | AudioFormat.CHANNEL_OUT_FRONT_CENTER;
break;
case 6:
channelConfig = AudioFormat.CHANNEL_OUT_5POINT1;
break;
case 7:
channelConfig = AudioFormat.CHANNEL_OUT_5POINT1 | AudioFormat.CHANNEL_OUT_BACK_CENTER;
break;
case 8:
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");
desiredChannels = 6;
channelConfig = AudioFormat.CHANNEL_OUT_5POINT1;
}
break;
default:
Log.v(TAG, "Requested " + desiredChannels + " channels, getting stereo");
desiredChannels = 2;
channelConfig = AudioFormat.CHANNEL_OUT_STEREO;
break;
}
/*
Log.v(TAG, "Speaker configuration (and order of channels):");
if ((channelConfig & 0x00000004) != 0) {
Log.v(TAG, " CHANNEL_OUT_FRONT_LEFT");
}
if ((channelConfig & 0x00000008) != 0) {
Log.v(TAG, " CHANNEL_OUT_FRONT_RIGHT");
}
if ((channelConfig & 0x00000010) != 0) {
Log.v(TAG, " CHANNEL_OUT_FRONT_CENTER");
}
if ((channelConfig & 0x00000020) != 0) {
Log.v(TAG, " CHANNEL_OUT_LOW_FREQUENCY");
}
if ((channelConfig & 0x00000040) != 0) {
Log.v(TAG, " CHANNEL_OUT_BACK_LEFT");
}
if ((channelConfig & 0x00000080) != 0) {
Log.v(TAG, " CHANNEL_OUT_BACK_RIGHT");
}
if ((channelConfig & 0x00000100) != 0) {
Log.v(TAG, " CHANNEL_OUT_FRONT_LEFT_OF_CENTER");
}
if ((channelConfig & 0x00000200) != 0) {
Log.v(TAG, " CHANNEL_OUT_FRONT_RIGHT_OF_CENTER");
}
if ((channelConfig & 0x00000400) != 0) {
Log.v(TAG, " CHANNEL_OUT_BACK_CENTER");
}
if ((channelConfig & 0x00000800) != 0) {
Log.v(TAG, " CHANNEL_OUT_SIDE_LEFT");
}
if ((channelConfig & 0x00001000) != 0) {
Log.v(TAG, " CHANNEL_OUT_SIDE_RIGHT");
}
*/
}
frameSize = (sampleSize * desiredChannels);
// Let the user pick a larger buffer if they really want -- but ye
// gods they probably shouldn't, the minimums are horrifyingly high
// latency already
int minBufferSize;
if (isCapture) {
minBufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat);
} else {
minBufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, audioFormat);
}
desiredFrames = Math.max(desiredFrames, (minBufferSize + frameSize - 1) / frameSize);
int[] results = new int[4];
if (isCapture) {
if (mAudioRecord == null) {
mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, sampleRate,
channelConfig, audioFormat, desiredFrames * frameSize);
// see notes about AudioTrack state in audioOpen(), above. Probably also applies here.
if (mAudioRecord.getState() != AudioRecord.STATE_INITIALIZED) {
Log.e(TAG, "Failed during initialization of AudioRecord");
mAudioRecord.release();
mAudioRecord = null;
return null;
}
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */ && deviceId != 0) {
mAudioRecord.setPreferredDevice(getOutputAudioDeviceInfo(deviceId));
}
mAudioRecord.startRecording();
}
results[0] = mAudioRecord.getSampleRate();
results[1] = mAudioRecord.getAudioFormat();
results[2] = mAudioRecord.getChannelCount();
} else {
if (mAudioTrack == null) {
mAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, channelConfig, audioFormat, desiredFrames * frameSize, AudioTrack.MODE_STREAM);
// Instantiating AudioTrack can "succeed" without an exception and the track may still be invalid
// Ref: https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/media/java/android/media/AudioTrack.java
// Ref: http://developer.android.com/reference/android/media/AudioTrack.html#getState()
if (mAudioTrack.getState() != AudioTrack.STATE_INITIALIZED) {
/* Try again, with safer values */
Log.e(TAG, "Failed during initialization of Audio Track");
mAudioTrack.release();
mAudioTrack = null;
return null;
}
if (Build.VERSION.SDK_INT >= 24 /* Android 7.0 (N) */ && deviceId != 0) {
mAudioTrack.setPreferredDevice(getInputAudioDeviceInfo(deviceId));
}
mAudioTrack.play();
}
results[0] = mAudioTrack.getSampleRate();
results[1] = mAudioTrack.getAudioFormat();
results[2] = mAudioTrack.getChannelCount();
}
results[3] = desiredFrames;
Log.v(TAG, "Opening " + (isCapture ? "capture" : "playback") + ", got " + results[3] + " frames of " + results[2] + " channel " + getAudioFormatString(results[1]) + " audio at " + results[0] + " Hz");
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[] 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);
}
/**
* This method is called by SDL using JNI.
*/
public static void audioWriteFloatBuffer(float[] buffer) {
if (mAudioTrack == null) {
Log.e(TAG, "Attempted to make audio call with uninitialized audio!");
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) {
i += result;
} else if (result == 0) {
try {
Thread.sleep(1);
} catch(InterruptedException e) {
// Nom nom
}
} else {
Log.w(TAG, "SDL audio: error return from write(float)");
return;
}
}
}
/**
* This method is called by SDL using JNI.
*/
public static void audioWriteShortBuffer(short[] buffer) {
if (mAudioTrack == null) {
Log.e(TAG, "Attempted to make audio call with uninitialized audio!");
return;
}
for (int i = 0; i < buffer.length;) {
int result = mAudioTrack.write(buffer, i, buffer.length - i);
if (result > 0) {
i += result;
} else if (result == 0) {
try {
Thread.sleep(1);
} catch(InterruptedException e) {
// Nom nom
}
} else {
Log.w(TAG, "SDL audio: error return from write(short)");
return;
}
}
}
/**
* This method is called by SDL using JNI.
*/
public static void audioWriteByteBuffer(byte[] buffer) {
if (mAudioTrack == null) {
Log.e(TAG, "Attempted to make audio call with uninitialized audio!");
return;
}
for (int i = 0; i < buffer.length; ) {
int result = mAudioTrack.write(buffer, i, buffer.length - i);
if (result > 0) {
i += result;
} else if (result == 0) {
try {
Thread.sleep(1);
} catch(InterruptedException e) {
// Nom nom
}
} else {
Log.w(TAG, "SDL audio: error return from write(byte)");
return;
}
}
}
/**
* This method is called by SDL using JNI.
*/
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) {
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 /* 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);
}
}
/** This method is called by SDL using JNI. */
public static int captureReadByteBuffer(byte[] buffer, boolean blocking) {
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);
}
}
/** This method is called by SDL using JNI. */
public static void audioClose() {
if (mAudioTrack != null) {
mAudioTrack.stop();
mAudioTrack.release();
mAudioTrack = null;
}
}
/** This method is called by SDL using JNI. */
public static void captureClose() {
if (mAudioRecord != null) {
mAudioRecord.stop();
mAudioRecord.release();
mAudioRecord = null;
}
}
/** This method is called by SDL using JNI. */
public static void audioSetThreadPriority(boolean iscapture, int device_id) {
try {
/* Set thread name */
if (iscapture) {
Thread.currentThread().setName("SDLAudioC" + device_id);
} else {
Thread.currentThread().setName("SDLAudioP" + device_id);
}
/* Set thread priority */
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_AUDIO);
} catch (Exception e) {
Log.v(TAG, "modify thread properties failed " + e.toString());
}
}
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

@ -0,0 +1,854 @@
package org.libsdl.app;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import android.content.Context;
import android.os.Build;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.util.Log;
import android.view.InputDevice;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
public class SDLControllerManager
{
public static native int nativeSetupJNI();
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 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);
public static native int onNativePadDown(int device_id, int keycode);
public static native int onNativePadUp(int device_id, int keycode);
public static native void onNativeJoy(int device_id, int axis,
float value);
public static native void onNativeHat(int device_id, int hat_id,
int x, int y);
protected static SDLJoystickHandler mJoystickHandler;
protected static SDLHapticHandler mHapticHandler;
private static final String TAG = "SDLControllerManager";
public static void initialize() {
if (mJoystickHandler == null) {
if (Build.VERSION.SDK_INT >= 19 /* Android 4.4 (KITKAT) */) {
mJoystickHandler = new SDLJoystickHandler_API19();
} else {
mJoystickHandler = new SDLJoystickHandler_API16();
}
}
if (mHapticHandler == null) {
if (Build.VERSION.SDK_INT >= 26 /* Android 8.0 (O) */) {
mHapticHandler = new SDLHapticHandler_API26();
} else {
mHapticHandler = new SDLHapticHandler();
}
}
}
// Joystick glue code, just a series of stubs that redirect to the SDLJoystickHandler instance
public static boolean handleJoystickMotionEvent(MotionEvent event) {
return mJoystickHandler.handleMotionEvent(event);
}
/**
* This method is called by SDL using JNI.
*/
public static void pollInputDevices() {
mJoystickHandler.pollInputDevices();
}
/**
* This method is called by SDL using JNI.
*/
public static void pollHapticDevices() {
mHapticHandler.pollHapticDevices();
}
/**
* This method is called by SDL using JNI.
*/
public static void hapticRun(int device_id, float intensity, int length) {
mHapticHandler.run(device_id, intensity, length);
}
/**
* This method is called by SDL using JNI.
*/
public static void hapticStop(int device_id)
{
mHapticHandler.stop(device_id);
}
// Check if a given device is considered a possible SDL joystick
public static boolean isDeviceSDLJoystick(int deviceId) {
InputDevice device = InputDevice.getDevice(deviceId);
// We cannot use InputDevice.isVirtual before API 16, so let's accept
// only nonnegative device ids (VIRTUAL_KEYBOARD equals -1)
if ((device == null) || (deviceId < 0)) {
return false;
}
int sources = device.getSources();
/* This is called for every button press, so let's not spam the logs */
/*
if ((sources & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
Log.v(TAG, "Input device " + device.getName() + " has class joystick.");
}
if ((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) {
Log.v(TAG, "Input device " + device.getName() + " is a dpad.");
}
if ((sources & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) {
Log.v(TAG, "Input device " + device.getName() + " is a gamepad.");
}
*/
return ((sources & InputDevice.SOURCE_CLASS_JOYSTICK) != 0 ||
((sources & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD) ||
((sources & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD)
);
}
}
class SDLJoystickHandler {
/**
* Handles given MotionEvent.
* @param event the event to be handled.
* @return if given event was processed.
*/
public boolean handleMotionEvent(MotionEvent event) {
return false;
}
/**
* Handles adding and removing of input devices.
*/
public void pollInputDevices() {
}
}
/* Actual joystick functionality available for API >= 12 devices */
class SDLJoystickHandler_API16 extends SDLJoystickHandler {
static class SDLJoystick {
public int device_id;
public String name;
public String desc;
public ArrayList<InputDevice.MotionRange> axes;
public ArrayList<InputDevice.MotionRange> hats;
}
static class RangeComparator implements Comparator<InputDevice.MotionRange> {
@Override
public int compare(InputDevice.MotionRange arg0, InputDevice.MotionRange arg1) {
// Some controllers, like the Moga Pro 2, return AXIS_GAS (22) for right trigger and AXIS_BRAKE (23) for left trigger - swap them so they're sorted in the right order for SDL
int arg0Axis = arg0.getAxis();
int arg1Axis = arg1.getAxis();
if (arg0Axis == MotionEvent.AXIS_GAS) {
arg0Axis = MotionEvent.AXIS_BRAKE;
} else if (arg0Axis == MotionEvent.AXIS_BRAKE) {
arg0Axis = MotionEvent.AXIS_GAS;
}
if (arg1Axis == MotionEvent.AXIS_GAS) {
arg1Axis = MotionEvent.AXIS_BRAKE;
} else if (arg1Axis == MotionEvent.AXIS_BRAKE) {
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;
}
}
private final ArrayList<SDLJoystick> mJoysticks;
public SDLJoystickHandler_API16() {
mJoysticks = new ArrayList<SDLJoystick>();
}
@Override
public void pollInputDevices() {
int[] deviceIds = InputDevice.getDeviceIds();
for (int device_id : deviceIds) {
if (SDLControllerManager.isDeviceSDLJoystick(device_id)) {
SDLJoystick joystick = getJoystick(device_id);
if (joystick == null) {
InputDevice joystickDevice = InputDevice.getDevice(device_id);
joystick = new SDLJoystick();
joystick.device_id = device_id;
joystick.name = joystickDevice.getName();
joystick.desc = getJoystickDescriptor(joystickDevice);
joystick.axes = new ArrayList<InputDevice.MotionRange>();
joystick.hats = new ArrayList<InputDevice.MotionRange>();
List<InputDevice.MotionRange> ranges = joystickDevice.getMotionRanges();
Collections.sort(ranges, new RangeComparator());
for (InputDevice.MotionRange range : ranges) {
if ((range.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
if (range.getAxis() == MotionEvent.AXIS_HAT_X || range.getAxis() == MotionEvent.AXIS_HAT_Y) {
joystick.hats.add(range);
} else {
joystick.axes.add(range);
}
}
}
mJoysticks.add(joystick);
SDLControllerManager.nativeAddJoystick(joystick.device_id, joystick.name, joystick.desc,
getVendorId(joystickDevice), getProductId(joystickDevice), false,
getButtonMask(joystickDevice), joystick.axes.size(), getAxisMask(joystick.axes), joystick.hats.size()/2, 0);
}
}
}
/* Check removed devices */
ArrayList<Integer> removedDevices = null;
for (SDLJoystick joystick : mJoysticks) {
int device_id = joystick.device_id;
int i;
for (i = 0; i < deviceIds.length; i++) {
if (device_id == deviceIds[i]) break;
}
if (i == deviceIds.length) {
if (removedDevices == null) {
removedDevices = new ArrayList<Integer>();
}
removedDevices.add(device_id);
}
}
if (removedDevices != null) {
for (int device_id : removedDevices) {
SDLControllerManager.nativeRemoveJoystick(device_id);
for (int i = 0; i < mJoysticks.size(); i++) {
if (mJoysticks.get(i).device_id == device_id) {
mJoysticks.remove(i);
break;
}
}
}
}
}
protected SDLJoystick getJoystick(int device_id) {
for (SDLJoystick joystick : mJoysticks) {
if (joystick.device_id == device_id) {
return joystick;
}
}
return null;
}
@Override
public boolean handleMotionEvent(MotionEvent event) {
int actionPointerIndex = event.getActionIndex();
int action = event.getActionMasked();
if (action == MotionEvent.ACTION_MOVE) {
SDLJoystick joystick = getJoystick(event.getDeviceId());
if (joystick != null) {
for (int i = 0; i < joystick.axes.size(); i++) {
InputDevice.MotionRange range = joystick.axes.get(i);
/* Normalize the value to -1...1 */
float value = (event.getAxisValue(range.getAxis(), actionPointerIndex) - range.getMin()) / range.getRange() * 2.0f - 1.0f;
SDLControllerManager.onNativeJoy(joystick.device_id, i, value);
}
for (int i = 0; i < joystick.hats.size() / 2; i++) {
int hatX = Math.round(event.getAxisValue(joystick.hats.get(2 * i).getAxis(), actionPointerIndex));
int hatY = Math.round(event.getAxisValue(joystick.hats.get(2 * i + 1).getAxis(), actionPointerIndex));
SDLControllerManager.onNativeHat(joystick.device_id, i, hatX, hatY);
}
}
}
return true;
}
public String getJoystickDescriptor(InputDevice joystickDevice) {
String desc = joystickDevice.getDescriptor();
if (desc != null && !desc.isEmpty()) {
return desc;
}
return joystickDevice.getName();
}
public int getProductId(InputDevice joystickDevice) {
return 0;
}
public int getVendorId(InputDevice joystickDevice) {
return 0;
}
public int getAxisMask(List<InputDevice.MotionRange> ranges) {
return -1;
}
public int getButtonMask(InputDevice joystickDevice) {
return -1;
}
}
class SDLJoystickHandler_API19 extends SDLJoystickHandler_API16 {
@Override
public int getProductId(InputDevice joystickDevice) {
return joystickDevice.getProductId();
}
@Override
public int getVendorId(InputDevice joystickDevice) {
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;
int[] keys = new int[] {
KeyEvent.KEYCODE_BUTTON_A,
KeyEvent.KEYCODE_BUTTON_B,
KeyEvent.KEYCODE_BUTTON_X,
KeyEvent.KEYCODE_BUTTON_Y,
KeyEvent.KEYCODE_BACK,
KeyEvent.KEYCODE_MENU,
KeyEvent.KEYCODE_BUTTON_MODE,
KeyEvent.KEYCODE_BUTTON_START,
KeyEvent.KEYCODE_BUTTON_THUMBL,
KeyEvent.KEYCODE_BUTTON_THUMBR,
KeyEvent.KEYCODE_BUTTON_L1,
KeyEvent.KEYCODE_BUTTON_R1,
KeyEvent.KEYCODE_DPAD_UP,
KeyEvent.KEYCODE_DPAD_DOWN,
KeyEvent.KEYCODE_DPAD_LEFT,
KeyEvent.KEYCODE_DPAD_RIGHT,
KeyEvent.KEYCODE_BUTTON_SELECT,
KeyEvent.KEYCODE_DPAD_CENTER,
// These don't map into any SDL controller buttons directly
KeyEvent.KEYCODE_BUTTON_L2,
KeyEvent.KEYCODE_BUTTON_R2,
KeyEvent.KEYCODE_BUTTON_C,
KeyEvent.KEYCODE_BUTTON_Z,
KeyEvent.KEYCODE_BUTTON_1,
KeyEvent.KEYCODE_BUTTON_2,
KeyEvent.KEYCODE_BUTTON_3,
KeyEvent.KEYCODE_BUTTON_4,
KeyEvent.KEYCODE_BUTTON_5,
KeyEvent.KEYCODE_BUTTON_6,
KeyEvent.KEYCODE_BUTTON_7,
KeyEvent.KEYCODE_BUTTON_8,
KeyEvent.KEYCODE_BUTTON_9,
KeyEvent.KEYCODE_BUTTON_10,
KeyEvent.KEYCODE_BUTTON_11,
KeyEvent.KEYCODE_BUTTON_12,
KeyEvent.KEYCODE_BUTTON_13,
KeyEvent.KEYCODE_BUTTON_14,
KeyEvent.KEYCODE_BUTTON_15,
KeyEvent.KEYCODE_BUTTON_16,
};
int[] masks = new int[] {
(1 << 0), // A -> A
(1 << 1), // B -> B
(1 << 2), // X -> X
(1 << 3), // Y -> Y
(1 << 4), // BACK -> BACK
(1 << 6), // MENU -> START
(1 << 5), // MODE -> GUIDE
(1 << 6), // START -> START
(1 << 7), // THUMBL -> LEFTSTICK
(1 << 8), // THUMBR -> RIGHTSTICK
(1 << 9), // L1 -> LEFTSHOULDER
(1 << 10), // R1 -> RIGHTSHOULDER
(1 << 11), // DPAD_UP -> DPAD_UP
(1 << 12), // DPAD_DOWN -> DPAD_DOWN
(1 << 13), // DPAD_LEFT -> DPAD_LEFT
(1 << 14), // DPAD_RIGHT -> DPAD_RIGHT
(1 << 4), // SELECT -> BACK
(1 << 0), // DPAD_CENTER -> A
(1 << 15), // L2 -> ??
(1 << 16), // R2 -> ??
(1 << 17), // C -> ??
(1 << 18), // Z -> ??
(1 << 20), // 1 -> ??
(1 << 21), // 2 -> ??
(1 << 22), // 3 -> ??
(1 << 23), // 4 -> ??
(1 << 24), // 5 -> ??
(1 << 25), // 6 -> ??
(1 << 26), // 7 -> ??
(1 << 27), // 8 -> ??
(1 << 28), // 9 -> ??
(1 << 29), // 10 -> ??
(1 << 30), // 11 -> ??
(1 << 31), // 12 -> ??
// We're out of room...
0xFFFFFFFF, // 13 -> ??
0xFFFFFFFF, // 14 -> ??
0xFFFFFFFF, // 15 -> ??
0xFFFFFFFF, // 16 -> ??
};
boolean[] has_keys = joystickDevice.hasKeys(keys);
for (int i = 0; i < keys.length; ++i) {
if (has_keys[i]) {
button_mask |= masks[i];
}
}
return button_mask;
}
}
class SDLHapticHandler_API26 extends SDLHapticHandler {
@Override
public void run(int device_id, float intensity, int length) {
SDLHaptic haptic = getHaptic(device_id);
if (haptic != null) {
Log.d("SDL", "Rtest: Vibe with intensity " + intensity + " for " + length);
if (intensity == 0.0f) {
stop(device_id);
return;
}
int vibeValue = Math.round(intensity * 255);
if (vibeValue > 255) {
vibeValue = 255;
}
if (vibeValue < 1) {
stop(device_id);
return;
}
try {
haptic.vib.vibrate(VibrationEffect.createOneShot(length, vibeValue));
}
catch (Exception e) {
// Fall back to the generic method, which uses DEFAULT_AMPLITUDE, but works even if
// something went horribly wrong with the Android 8.0 APIs.
haptic.vib.vibrate(length);
}
}
}
}
class SDLHapticHandler {
static class SDLHaptic {
public int device_id;
public String name;
public Vibrator vib;
}
private final ArrayList<SDLHaptic> mHaptics;
public SDLHapticHandler() {
mHaptics = new ArrayList<SDLHaptic>();
}
public void run(int device_id, float intensity, int length) {
SDLHaptic haptic = getHaptic(device_id);
if (haptic != null) {
haptic.vib.vibrate(length);
}
}
public void stop(int device_id) {
SDLHaptic haptic = getHaptic(device_id);
if (haptic != null) {
haptic.vib.cancel();
}
}
public void pollHapticDevices() {
final int deviceId_VIBRATOR_SERVICE = 999999;
boolean hasVibratorService = false;
int[] deviceIds = InputDevice.getDeviceIds();
// It helps processing the device ids in reverse order
// For example, in the case of the XBox 360 wireless dongle,
// so the first controller seen by SDL matches what the receiver
// considers to be the first controller
for (int i = deviceIds.length - 1; i > -1; i--) {
SDLHaptic haptic = getHaptic(deviceIds[i]);
if (haptic == null) {
InputDevice device = InputDevice.getDevice(deviceIds[i]);
Vibrator vib = device.getVibrator();
if (vib.hasVibrator()) {
haptic = new SDLHaptic();
haptic.device_id = deviceIds[i];
haptic.name = device.getName();
haptic.vib = vib;
mHaptics.add(haptic);
SDLControllerManager.nativeAddHaptic(haptic.device_id, haptic.name);
}
}
}
/* Check VIBRATOR_SERVICE */
Vibrator vib = (Vibrator) SDL.getContext().getSystemService(Context.VIBRATOR_SERVICE);
if (vib != null) {
hasVibratorService = vib.hasVibrator();
if (hasVibratorService) {
SDLHaptic haptic = getHaptic(deviceId_VIBRATOR_SERVICE);
if (haptic == null) {
haptic = new SDLHaptic();
haptic.device_id = deviceId_VIBRATOR_SERVICE;
haptic.name = "VIBRATOR_SERVICE";
haptic.vib = vib;
mHaptics.add(haptic);
SDLControllerManager.nativeAddHaptic(haptic.device_id, haptic.name);
}
}
}
/* Check removed devices */
ArrayList<Integer> removedDevices = null;
for (SDLHaptic haptic : mHaptics) {
int device_id = haptic.device_id;
int i;
for (i = 0; i < deviceIds.length; i++) {
if (device_id == deviceIds[i]) break;
}
if (device_id != deviceId_VIBRATOR_SERVICE || !hasVibratorService) {
if (i == deviceIds.length) {
if (removedDevices == null) {
removedDevices = new ArrayList<Integer>();
}
removedDevices.add(device_id);
}
} // else: don't remove the vibrator if it is still present
}
if (removedDevices != null) {
for (int device_id : removedDevices) {
SDLControllerManager.nativeRemoveHaptic(device_id);
for (int i = 0; i < mHaptics.size(); i++) {
if (mHaptics.get(i).device_id == device_id) {
mHaptics.remove(i);
break;
}
}
}
}
}
protected SDLHaptic getHaptic(int device_id) {
for (SDLHaptic haptic : mHaptics) {
if (haptic.device_id == device_id) {
return haptic;
}
}
return null;
}
}
class SDLGenericMotionListener_API12 implements View.OnGenericMotionListener {
// Generic Motion (mouse hover, joystick...) events go here
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
float x, y;
int action;
switch ( event.getSource() ) {
case InputDevice.SOURCE_JOYSTICK:
return SDLControllerManager.handleJoystickMotionEvent(event);
case InputDevice.SOURCE_MOUSE:
action = event.getActionMasked();
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:
x = event.getX(0);
y = event.getY(0);
SDLActivity.onNativeMouse(0, action, x, y, false);
return true;
default:
break;
}
break;
default:
break;
}
// Event was not managed
return false;
}
public boolean supportsRelativeMouse() {
return false;
}
public boolean inRelativeMode() {
return false;
}
public boolean setRelativeMouseEnabled(boolean enabled) {
return false;
}
public void reclaimRelativeMouseModeIfNeeded()
{
}
public float getEventX(MotionEvent event) {
return event.getX(0);
}
public float getEventY(MotionEvent event) {
return event.getY(0);
}
}
class SDLGenericMotionListener_API24 extends SDLGenericMotionListener_API12 {
// Generic Motion (mouse hover, joystick...) events go here
private boolean mRelativeModeEnabled;
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
// Handle relative mouse mode
if (mRelativeModeEnabled) {
if (event.getSource() == InputDevice.SOURCE_MOUSE) {
int action = event.getActionMasked();
if (action == MotionEvent.ACTION_HOVER_MOVE) {
float x = event.getAxisValue(MotionEvent.AXIS_RELATIVE_X);
float y = event.getAxisValue(MotionEvent.AXIS_RELATIVE_Y);
SDLActivity.onNativeMouse(0, action, x, y, true);
return true;
}
}
}
// Event was not managed, call SDLGenericMotionListener_API12 method
return super.onGenericMotion(v, event);
}
@Override
public boolean supportsRelativeMouse() {
return true;
}
@Override
public boolean inRelativeMode() {
return mRelativeModeEnabled;
}
@Override
public boolean setRelativeMouseEnabled(boolean enabled) {
mRelativeModeEnabled = enabled;
return true;
}
@Override
public float getEventX(MotionEvent event) {
if (mRelativeModeEnabled) {
return event.getAxisValue(MotionEvent.AXIS_RELATIVE_X);
} else {
return event.getX(0);
}
}
@Override
public float getEventY(MotionEvent event) {
if (mRelativeModeEnabled) {
return event.getAxisValue(MotionEvent.AXIS_RELATIVE_Y);
} else {
return event.getY(0);
}
}
}
class SDLGenericMotionListener_API26 extends SDLGenericMotionListener_API24 {
// Generic Motion (mouse hover, joystick...) events go here
private boolean mRelativeModeEnabled;
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
float x, y;
int action;
switch ( event.getSource() ) {
case InputDevice.SOURCE_JOYSTICK:
return SDLControllerManager.handleJoystickMotionEvent(event);
case InputDevice.SOURCE_MOUSE:
// DeX desktop mouse cursor is a separate non-standard input type.
case InputDevice.SOURCE_MOUSE | InputDevice.SOURCE_TOUCHSCREEN:
action = event.getActionMasked();
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:
x = event.getX(0);
y = event.getY(0);
SDLActivity.onNativeMouse(0, action, x, y, false);
return true;
default:
break;
}
break;
case InputDevice.SOURCE_MOUSE_RELATIVE:
action = event.getActionMasked();
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:
x = event.getX(0);
y = event.getY(0);
SDLActivity.onNativeMouse(0, action, x, y, true);
return true;
default:
break;
}
break;
default:
break;
}
// Event was not managed
return false;
}
@Override
public boolean supportsRelativeMouse() {
return (!SDLActivity.isDeXMode() || Build.VERSION.SDK_INT >= 27 /* Android 8.1 (O_MR1) */);
}
@Override
public boolean inRelativeMode() {
return mRelativeModeEnabled;
}
@Override
public boolean setRelativeMouseEnabled(boolean enabled) {
if (!SDLActivity.isDeXMode() || Build.VERSION.SDK_INT >= 27 /* Android 8.1 (O_MR1) */) {
if (enabled) {
SDLActivity.getContentView().requestPointerCapture();
} else {
SDLActivity.getContentView().releasePointerCapture();
}
mRelativeModeEnabled = enabled;
return true;
} else {
return false;
}
}
@Override
public void reclaimRelativeMouseModeIfNeeded()
{
if (mRelativeModeEnabled && !SDLActivity.isDeXMode()) {
SDLActivity.getContentView().requestPointerCapture();
}
}
@Override
public float getEventX(MotionEvent event) {
// Relative mouse in capture mode will only have relative for X/Y
return event.getX(0);
}
@Override
public float getEventY(MotionEvent event) {
// Relative mouse in capture mode will only have relative for X/Y
return event.getY(0);
}
}

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;
}
}

View File

@ -0,0 +1,41 @@
package org.tildearrow.furnace;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.widget.Toast;
import org.libsdl.app.SDLActivity;
public class MainActivity extends SDLActivity {
static final int TA_FILE_REQUEST=1000;
static final int TA_FILE_SAVE_REQUEST=1001;
public void showFileDialog() {
Intent picker=new Intent(Intent.ACTION_GET_CONTENT);
picker.setType("*/*");
picker=Intent.createChooser(picker,"test");
startActivityForResult(picker,TA_FILE_REQUEST);
}
public void showSaveFileDialog() {
Intent picker=new Intent(Intent.ACTION_CREATE_DOCUMENT);
picker.addCategory(Intent.CATEGORY_OPENABLE);
picker.setType("*/*");
startActivityForResult(picker,TA_FILE_SAVE_REQUEST);
}
@Override protected void onActivityResult(int request, int result, Intent intent) {
super.onActivityResult(request,result,intent);
if (request==TA_FILE_REQUEST) {
if (result==RESULT_OK) {
Uri path=intent.getData();
Context context=getApplicationContext();
Toast toast=Toast.makeText(context,path.toString(),Toast.LENGTH_SHORT);
toast.show();
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>

View File

@ -0,0 +1,3 @@
<resources>
<string name="app_name">Furnace</string>
</resources>

View File

@ -0,0 +1,8 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>

25
android/build.gradle Normal file
View File

@ -0,0 +1,25 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenCentral()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

17
android/gradle.properties Normal file
View File

@ -0,0 +1,17 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

Binary file not shown.

View File

@ -0,0 +1,6 @@
#Thu Nov 11 18:20:34 PST 2021
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

160
android/gradlew vendored Executable file
View File

@ -0,0 +1,160 @@
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

90
android/gradlew.bat vendored Normal file
View File

@ -0,0 +1,90 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

1
android/settings.gradle Normal file
View File

@ -0,0 +1 @@
include ':app'

19
demos/README.md Normal file
View File

@ -0,0 +1,19 @@
# demos
demo songs for Furnace.
these demo songs are not under the GPL. all rights are reserved to the original author(s).
# submit demo songs!
contact me or send a pull request if you want your song to be added to this collection. be noted we have three rules:
- Nintendo covers are frowned upon
- big label music covers also are discouraged
- low effort compositions/covers may not be accepted at all.
make sure to put your demo song under the respective category.
tildearrow also accepts demo songs in the .dmf format as well as the .fur format.
thank you for contributing!

BIN
demos/amiga/bruno_time.fur Normal file

Binary file not shown.

Binary file not shown.

BIN
demos/amiga/m7 vibe.fur Normal file

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.

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.

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/Red_Planet.fur Normal file

Binary file not shown.

BIN
demos/ay8930/duty fun.fur Normal file

Binary file not shown.

BIN
demos/ay8930/joyful.fur Normal file

Binary file not shown.

BIN
demos/c64/C64 junk.fur Normal file

Binary file not shown.

BIN
demos/c64/ChaosTune.fur Normal file

Binary file not shown.

BIN
demos/c64/DOOM_E1M1.fur Normal file

Binary file not shown.

BIN
demos/c64/DOOM_E1M3.fur Normal file

Binary file not shown.

BIN
demos/c64/The_Snippet.fur Normal file

Binary file not shown.

BIN
demos/c64/yeah!.fur Normal file

Binary file not shown.

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.

Binary file not shown.

BIN
demos/gameboy/snowdin.fur Normal file

Binary file not shown.

BIN
demos/gameboy/spreadtro.fur Normal file

Binary file not shown.

Binary file not shown.

BIN
demos/genesis/Carnage.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.

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