Commit graph

2521 commits

Author SHA1 Message Date
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
tildearrow
ff273cc3b9 Masochism Volatile Compiler 2022-05-07 00:08:38 -05: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