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
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...
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!
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.
* 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
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