Commit graph

585 commits

Author SHA1 Message Date
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
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
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
12d4cd6467 add LFO speed macro 2022-02-05 16:40:03 -05:00
tildearrow
3a2367f56a GUI: rename FMS to FMS/PMS 2022-02-05 14:57:55 -05: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
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
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
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
7a941e5b68 GUI: fix MML string input for negative numbers
fixes #124
2022-02-04 15:51:25 -05:00
tildearrow
c5c7757c6b hide wave macro on STD instruments 2022-02-04 14:46:15 -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
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
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
a95d8e6fa3 GUI: fix MML string on 256-wide waves 2022-02-03 15:30:30 -05:00
tildearrow
a1aa0be300 GUI: add German notation option 2022-02-03 14:40:09 -05:00
tildearrow
3379e8b380 prepare for compat flags, piano, comments, etc. 2022-02-03 00:34:48 -05:00
tildearrow
ccfe3bdd97 Genesis: add ability to use ymfm instead of Nuked 2022-02-02 23:08:45 -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
ed15f01697 GUI: set path when opening file as cmdline arg 2022-02-02 01:14:21 -05:00
tildearrow
3e3e165662 fix windows build oh my 2022-02-01 23:59:25 -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
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
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
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
48046ef86c aw COME on 2022-01-31 13:02:20 -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
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