Commit graph

544 commits

Author SHA1 Message Date
tildearrow
84ba63db24 add PC speaker system
haha
2022-03-04 18:18:43 -05:00
Natt Akuma
9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07: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
99bee89cca GUI: better adapt shades to light theme 2022-03-03 16:59:31 -05:00
tildearrow
e0cda2a77f GUI: add colors base setting
pave the way for.light themes
2022-03-03 12:44:29 -05: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
cam900
c4f2090b48 Deflemask compatibility 2022-03-03 13:07:16 +09:00
tildearrow
db4d72b1b0 attribution 2022-03-02 21:17:55 -05: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
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
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
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
1e5d7a623a GUI: report why does window creation fail 2022-03-01 20:59:38 -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
cam900
1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00
tildearrow
7b6502c682 prepare for OPLL proper drums mode 2022-03-01 04:33:02 -05:00
tildearrow
f8046facfc GUI: make sliders right-clickable 2022-02-28 22:42:52 -05: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
cam900
ee013ad7a9 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-27 06:41:11 +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
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
27c1522085 port legacy dmf extension fix from 0.5-fixes 2022-02-25 02:40:30 -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
BlastBrothers
36eec8f170 Fix Invert box position 2022-02-24 19:16:58 -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
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
957c2b84b6 GUI: attribution 2022-02-23 21:35:51 -05:00
BlastBrothers
1c33fe0edb force update 2022-02-23 11:51:02 -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
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
56acd5ccbb oopsie 2022-02-22 23:50:38 -05:00
tildearrow
2a97f17b88 attribution 2022-02-22 23:50:18 -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
bb074bee4c update credits 2022-02-22 21:20:04 -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
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
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
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
2d90881a55 GUI: a few more visualizer tweaks 2022-02-22 00:13:32 -05:00
tildearrow
df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
tildearrow
f54aeb4c08 GUI: add ability to remap note keys 2022-02-21 18:01:41 -05: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
tildearrow
db553ba91c GUI: possibly fix clipboard pasting 2022-02-21 13:31:32 -05:00
Waldemar Pawlaszek
1d5813aba3
Merge branch 'tildearrow:master' into master 2022-02-21 12:53:52 +01:00
tildearrow
eb2e08c834 GUI: add ability to rename patterns 2022-02-21 03:05:00 -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
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
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
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
0d5aa002d3 prepare for custom note/value input map 2022-02-18 13:11:41 -05:00
tildearrow
ce2af4303e yay for more compatibility flags
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow
fbed03dd0c fix E1xy/E2xy behaving wrong with arps 2022-02-18 01:27:26 -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
585efbec13 GUI: increase maximum octave
issue #179
2022-02-17 22:07:59 -05:00
tildearrow
7d9749d0ef GUI: prevent crash when unable to load a font 2022-02-17 21:40:31 -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
8eaf94cbce GUI: display correct keybinds in menu bar 2022-02-17 03:33:43 -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
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
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
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
6850daaca0 GUI: fix BPM not considering time base 2022-02-14 02:32:18 -05:00
tildearrow
53482105dc add an option to select audio device 2022-02-13 21:42:57 -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
303cf406a9 GUI: this is ugly 2022-02-12 23:04:15 -05:00
tildearrow
3da54fc519 GUI: LFO shape macro hover 2022-02-12 21:50:29 -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
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
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
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
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
d1e166a34e add a little visual to channel names 2022-02-10 03:15:39 -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
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
1c361003c2 GUI: fix mistakes in op macro editor 2022-02-09 12:27:20 -05:00
tildearrow
fa5a732b68 GUI: extensions no longer case-sensitive
fixes #154
2022-02-08 23:13:54 -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
5cb9682673 freaking clang extension adding random headers 2022-02-08 16:15:53 -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
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
fbb6c4cb4f add a setting to reset on system prop change
issue #131
2022-02-07 17:24:26 -05: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
8b438a4755 GUI: fix macro open button not appearing at times
fixes #144
2022-02-06 16:11:36 -05:00