Skip to content

Releases: tildearrow/furnace

Furnace v0.6pre7 (beta) - emergency render fix

09 Jul 08:59
Compare
Choose a tag to compare

I can't believe it. I make another release and then suddenly critical issues that warrant a new release.

here's Furnace 0.6pre7, which fixes some severe issues:

  • if DirectX 11 or OpenGL failed to init, it wouldn't fall back to the good old SDL_Renderer. now it does.
  • setting the font size too big and/or running out of video memory would make Furnace unusable when using DirectX 11 or OpenGL. now it's fixed.

and some minor issues too:

  • manual updates
  • a ZSM export bug

following this is a copy of the pre6 release announcement.

old announcement

this release fixes a serious problem in the new config system that would render it useless and still allow for config reset to happen.

it shouldn't reset anymore.

there are a couple more improvements and many fixes as well. see below.

changelog

  • fix a major oversight in the new config system
    • there still was a chance that a corrupted config file would be loaded...
  • fix a major performance regression in audio playback
  • massive documentation updates - thanks to Electric Keet!
    • documentation is now in doc rather than papers/doc. this should make it easier to find.
  • ZSM export improvements
    • MooingLemur has implemented an unofficial but updated and backwards-compatible extension to this format, allowing VERA PCM!
    • additionally, EExx (external command) is now written during export, allowing you to use it for things like synchronizing with graphics.
  • new OpenGL and DirectX 11 render backends
    • prior to this change, Furnace used SDL Renderer for the UI
    • now Furnace will use DirectX 11 by default on Windows and OpenGL on Linux
    • you may see performance and reliability improvements
    • if it fails (e.g. because your card isn't compatible), it will fall back to the SDL Renderer backend
  • per-channel osc improvements:
    • fix for YM2612 variants
    • fix YM2612 DualPCM chan osc
    • fix YM2612 DAC chan osc
    • don't hide title bar
    • add ability to change amplitude
    • add customizable labels
    • fix osc not being clipped to boundaries
    • lots of volume balancing
  • built-in file picker improvements:
    • finally fix sorting
      • sometimes it would change sort orientation randomly
      • sometimes it would not sort at all
      • sort by name didn't work when set to descending
    • replace the "reset path" button with a "home" button
    • search bar has more room to breathe
    • fix files with non-ASCII characters being displayed as "unknown type" and not having size/date information
    • now you can press Escape to cancel and quit the file picker
  • add a "push entire channel when inserting/backspac'ing" settings
    • on by default
  • VGM export fixes:
    • fix loop trail still being added when loop option is off
    • fix NES DPCM not working
    • cap streams to 44100Hz since VGMPlay doesn't like higher frequencies
  • Wayland fixes:
    • fix scaling factor detection when full-screen is on
    • fix mouse input being totally wrong at times
  • POKEY changes:
    • fix E5xx effect when using non-linear pitch
    • add a new effect for enabling two-tone mode
  • sample editor improvements
    • buttons now re-arrange when there isn't enough space
    • warnings that will let you know when a sample is outside of a chip's specs
    • use rate instead of compat rate when saving sample as .wav
    • "Apply filter" now displays cutoff parameters as input boxes instead of sliders
  • add option to select a different SDL audio driver
    • use it if you experience problems when using the default (in the case of Windows, it is WASAPI).
  • C64 changes
    • the default core is now reSID again. sorry.
      • reSIDfp's CPU usage is too high to be the default, despite its unmatched accuracy
    • add a "key priority" system which prioritizes the last used channel's global parameters (filter and volume)
    • fix reSIDfp envelope reset being inconsistent
    • new dSID core featuring low CPU usage
    • improve start-up time when not using reSIDfp
  • tiny playback optimization when a chip is silent
  • colorize destructive operations
  • fix .dmf not saving if it was made with 1.1.8
  • fix force mono audio only playing the right channel
  • fix QuadTone being missing from the new song presets
  • fix wave synth ignoring wave macro on note retrigger when the macro had a single (or repeated) value
  • add option to prevent piano input
  • add option to allow saving patterns in old format
  • add option to disable preset selector on new song
  • add option to display memory usage (Statistics) in bytes rather than KB
  • add ability to duplicate sub-songs
  • fix possible division by zero in the UI
  • don't crash when SDL_Init fails (e.g. because you've built it incorrectly)
  • fix pattern editor focus when selecting instrument
  • improve start-up performance
  • add 8-bit dither option
  • fix one digit effect setting making effect 10xx glitch the pattern view
  • fix tremolo breaking when turned off
  • update Dear ImGui to 1.89 and SDL to 2.28
  • add option for late render clear
    • may improve latency in some setups
  • VERA: fix PCM volume macro
  • VERA: fix custom clock
  • WonderSwan: fix custom clock
  • Game Boy: fix custom clock
  • Game Boy: finally fix wave corruption
  • Game Boy: fix software envelopes not working under some circumstances
  • PC speaker: fix volume macro not taking effect on first tick
  • OPLL: fix volume macro when used on drums
  • YM2612: add forceIns heuristics
    • fixes annoyances when playing from another order with carrying channels
  • SegaPCM: the real memory limit is 2MB
  • SegaPCM: fix volume not being reset on instrument change without volume macro
  • fix asset names carrying over another asset when the current asset name was being edited and another was selected in the list
  • you can no longer game-end-glitch TAS this tracker
    • if the FPS is too low and the intro is enabled, there is a minimal possibility you could load the intro song by exiting as soon as the intro started
  • fix atari breakbeat demo song
  • MIDI output: don't spam logs on error
  • move delete sample button to the right in sample list to prevent accidental clicks
  • add patch number to OPLL patch list
  • fix visualizer breaking when scrolling horizontally and/or having hidden channels
  • new demo songs from Clingojam, SuperJet Spade, Hortus, niffuM, freq-mod, Yuzu4K, Xan, Waverider, TheDuccinator and Bernie

we've been in pre-release for one year

yeah, it's silly I know. even more so after considering the fact we've added lots of features during pre-release phase (something that shouldn't happen).

don't worry though. we eventually will make it to a full 0.6 release.
hopefully this year.

so why don't you tick that "Set as pre-release" option?

because it won't appear on top, and 0.5.x is obsolete.

that's ironic. aren't pre-releases supposed to be "non-production ready"?

you have a point there, but these pre-releases feel like full yet incomplete releases to the point I may declare them mostly stable and production ready.

yeah, we'll get out of "pre-release" soon.

note for Windows users

  • I have been getting reports that the 32-bit version doesn't work on Windows XP due to a missing GetTickCount64() function. if you happen to use XP, please tell me whether it works now.
  • otherwise, download the 64-bit version. you most likely don't need the 32-bit one.

note for macOS users

finally, macOS version! sorry for not including one in the pre5 release.

which one should I download?

  • Intel if you have an Intel-based Mac.
  • arm64 if you have an Apple M1/M2-based Mac.

Furnace is damaged

don't move it to the Trash.
open Terminal, and type this:

xattr -d com.apple.quarantine /path/to/Furnace.app

(replace /path/to/ with the path where Furnace.app is located)

you may need to reboot after doing this before launching Furnace.

note for Linux users

this is the second release not to be provided as an AppImage.
as I mentioned in the previous release, the format is redundant since Furnace already comes with every dependency (bar JACK which is optional) statically linked.
no more making it executable, or having to install FUSE. just extract and have fun.

thanks

  • the ones who contributed demo songs... for the demo songs
  • every bug reporter for reporting bugs
  • Electric Keet for a huge amount of documentation work
  • MooingLemur for ZSM improvements
  • Lunathir for finding the new config system bug
  • nicco1690, Lunathir and Electric Keet for DirectX 11 testing
  • BlastlessAnthony, YohananDiamond and Music Boi JBoy for spotting performance regression
  • you with a Mac for waiting

thanks II

  • Lunathir
  • Yuzu
  • freq-mod
  • NyaongI

for reporting these critical issues

Furnace v0.6pre6 (beta) - important fix to config system

09 Jul 02:06
Compare
Choose a tag to compare

this release fixes a serious problem in the new config system that would render it useless and still allow for config reset to happen.

it shouldn't reset anymore.

there are a couple more improvements and many fixes as well. see below.

changelog

  • fix a major oversight in the new config system
    • there still was a chance that a corrupted config file would be loaded...
  • fix a major performance regression in audio playback
  • massive documentation updates - thanks to Electric Keet!
    • documentation is now in doc rather than papers/doc. this should make it easier to find.
  • ZSM export improvements
    • MooingLemur has implemented an unofficial but updated and backwards-compatible extension to this format, allowing VERA PCM!
    • additionally, EExx (external command) is now written during export, allowing you to use it for things like synchronizing with graphics.
  • new OpenGL and DirectX 11 render backends
    • prior to this change, Furnace used SDL Renderer for the UI
    • now Furnace will use DirectX 11 by default on Windows and OpenGL on Linux
    • you may see performance and reliability improvements
    • if it fails (e.g. because your card isn't compatible), it will fall back to the SDL Renderer backend a bug has been found in where it won't do this. I will release a hotfix.
  • per-channel osc improvements:
    • fix for YM2612 variants
    • fix YM2612 DualPCM chan osc
    • fix YM2612 DAC chan osc
    • don't hide title bar
    • add ability to change amplitude
    • add customizable labels
    • fix osc not being clipped to boundaries
    • lots of volume balancing
  • built-in file picker improvements:
    • finally fix sorting
      • sometimes it would change sort orientation randomly
      • sometimes it would not sort at all
      • sort by name didn't work when set to descending
    • replace the "reset path" button with a "home" button
    • search bar has more room to breathe
    • fix files with non-ASCII characters being displayed as "unknown type" and not having size/date information
    • now you can press Escape to cancel and quit the file picker
  • add a "push entire channel when inserting/backspac'ing" settings
    • on by default
  • VGM export fixes:
    • fix loop trail still being added when loop option is off
    • fix NES DPCM not working
    • cap streams to 44100Hz since VGMPlay doesn't like higher frequencies
  • Wayland fixes:
    • fix scaling factor detection when full-screen is on
    • fix mouse input being totally wrong at times
  • POKEY changes:
    • fix E5xx effect when using non-linear pitch
    • add a new effect for enabling two-tone mode
  • sample editor improvements
    • buttons now re-arrange when there isn't enough space
    • warnings that will let you know when a sample is outside of a chip's specs
    • use rate instead of compat rate when saving sample as .wav
    • "Apply filter" now displays cutoff parameters as input boxes instead of sliders
  • add option to select a different SDL audio driver
    • use it if you experience problems when using the default (in the case of Windows, it is WASAPI).
  • C64 changes
    • the default core is now reSID again. sorry.
      • reSIDfp's CPU usage is too high to be the default, despite its unmatched accuracy
    • add a "key priority" system which prioritizes the last used channel's global parameters (filter and volume)
    • fix reSIDfp envelope reset being inconsistent
    • new dSID core featuring low CPU usage
    • improve start-up time when not using reSIDfp
  • tiny playback optimization when a chip is silent
  • colorize destructive operations
  • fix .dmf not saving if it was made with 1.1.8
  • fix force mono audio only playing the right channel
  • fix QuadTone being missing from the new song presets
  • fix wave synth ignoring wave macro on note retrigger when the macro had a single (or repeated) value
  • add option to prevent piano input
  • add option to allow saving patterns in old format
  • add option to disable preset selector on new song
  • add option to display memory usage (Statistics) in bytes rather than KB
  • add ability to duplicate sub-songs
  • fix possible division by zero in the UI
  • don't crash when SDL_Init fails (e.g. because you've built it incorrectly)
  • fix pattern editor focus when selecting instrument
  • improve start-up performance
  • add 8-bit dither option
  • fix one digit effect setting making effect 10xx glitch the pattern view
  • fix tremolo breaking when turned off
  • update Dear ImGui to 1.89 and SDL to 2.28
  • add option for late render clear
    • may improve latency in some setups
  • VERA: fix PCM volume macro
  • VERA: fix custom clock
  • WonderSwan: fix custom clock
  • Game Boy: fix custom clock
  • Game Boy: finally fix wave corruption
  • Game Boy: fix software envelopes not working under some circumstances
  • PC speaker: fix volume macro not taking effect on first tick
  • OPLL: fix volume macro when used on drums
  • YM2612: add forceIns heuristics
    • fixes annoyances when playing from another order with carrying channels
  • SegaPCM: the real memory limit is 2MB
  • SegaPCM: fix volume not being reset on instrument change without volume macro
  • fix asset names carrying over another asset when the current asset name was being edited and another was selected in the list
  • you can no longer game-end-glitch TAS this tracker
    • if the FPS is too low and the intro is enabled, there is a minimal possibility you could load the intro song by exiting as soon as the intro started
  • fix atari breakbeat demo song
  • MIDI output: don't spam logs on error
  • move delete sample button to the right in sample list to prevent accidental clicks
  • add patch number to OPLL patch list
  • fix visualizer breaking when scrolling horizontally and/or having hidden channels
  • new demo songs from Clingojam, SuperJet Spade, Hortus, niffuM, freq-mod, Yuzu4K, Xan, Waverider, TheDuccinator and Bernie

we've been in pre-release for one year

yeah, it's silly I know. even more so after considering the fact we've added lots of features during pre-release phase (something that shouldn't happen).

don't worry though. we eventually will make it to a full 0.6 release.
hopefully this year.

so why don't you tick that "Set as pre-release" option?

because it won't appear on top, and 0.5.x is obsolete.

that's ironic. aren't pre-releases supposed to be "non-production ready"?

you have a point there, but these pre-releases feel like full yet incomplete releases to the point I may declare them mostly stable and production ready.

yeah, we'll get out of "pre-release" soon.

note for Windows users

  • I have been getting reports that the 32-bit version doesn't work on Windows XP due to a missing GetTickCount64() function. if you happen to use XP, please tell me whether it works now.
  • otherwise, download the 64-bit version. you most likely don't need the 32-bit one.

note for macOS users

finally, macOS version! sorry for not including one in the pre5 release.

which one should I download?

  • Intel if you have an Intel-based Mac.
  • arm64 if you have an Apple M1/M2-based Mac.

Furnace is damaged

don't move it to the Trash.
open Terminal, and type this:

xattr -d com.apple.quarantine /path/to/Furnace.app

(replace /path/to/ with the path where Furnace.app is located)

you may need to reboot after doing this before launching Furnace.

note for Linux users

this is the second release not to be provided as an AppImage.
as I mentioned in the previous release, the format is redundant since Furnace already comes with every dependency (bar JACK which is optional) statically linked.
no more making it executable, or having to install FUSE. just extract and have fun.

thanks

  • the ones who contributed demo songs... for the demo songs
  • every bug reporter for reporting bugs
  • Electric Keet for a huge amount of documentation work
  • MooingLemur for ZSM improvements
  • Lunathir for finding the new config system bug
  • nicco1690, Lunathir and Electric Keet for DirectX 11 testing
  • BlastlessAnthony, YohananDiamond and Music Boi JBoy for spotting performance regression
  • you with a Mac for waiting

Furnace v0.6pre5 (beta) - no tutorial yet

24 May 11:06
Compare
Choose a tag to compare

did I say 0.6pre5 would have a tutorial? well, sadly it doesn't.
the reason is because this version fixes a critical issue in where Furnace would suddenly reset its configuration in some setups (especially when running out of disk space, disk corruption or sudden power-off).
additionally, it massively improves the backup system. now we save several backup files per song rather than a single, global backup.fur.

besides fixing many issues, this release also introduces:

  • Casio PV-1000 chip
  • ZX Spectrum QuadTone engine
  • folders for ins/wave/sample lists
  • smaller .fur files thanks to a new pattern format
  • finally, sample map with pitchable notes and a new UI for it
  • several sample editor improvements

thanks to everyone who helped with the development of this program!

the huge, boring changelog

  • added missing intro tune credits (A M 4 N)
  • fix terminal window showing up on Windows 11 (finally... thanks dj.tuBIG/MaliceX!)
    • sadly this change makes console mode difficult to use. yeah, Windows limitation...
  • fix panning effect in OPZ
  • a new ZX Spectrum beeper engine: QuadTone! (by Natt Akuma)
  • make some chips (NES, SM8521 and Game Boy) more deterministic
  • fix randomize not being really random
  • SegaPCM fixes:
    • fix sample loop
    • fix possible crash
    • fix linear slides being inconsistent with other chips
  • fix a few issues with SNES (mostly regarding BRR samples)
  • a new chip: Casio PV-1000! (thanks cam900)
  • change Commander X16 mixing to match latest revision of hardware
  • fix several issues in the Orders window
  • SN76489 now has a register view
  • Namco C30 improvements:
    • better noise strategy
    • add a noise macro
  • Namco WSG/C15 ROM mode
    • when enabled, this limits you to 8 wavetables and no wave synth
    • designed for those who want to play around and try getting it to run on a real board
  • revamped Amiga emulation - now with a working register view and actual sample memory limits
  • removed some excessive Namco 163 macros (the WaveLoad ones)
  • built-in file picker fixes:
    • "/" no longer appears in the file name input box
    • .. (go to parent directory) is now a button (fixes a sorting issue)
    • fix occasional path resets
    • color Future Composer files
  • prepare a ROM export framework so it becomes easier to work on it for 0.7
  • remember the state of extra channel buttons (that ++ thing)
  • add a disclaimer when exporting AY-3-8914 VGMs
    • not well-supported on VGMPlay
    • this doesn't affect other AY variants
  • fix panning in RF5C68 after jumping to an order
  • fix weird waveform on first note on in Namco 163
  • fix YMF276 emulation (clipping)
  • PCM DAC fixes:
    • muting fix
    • interpolation improvements (especially when playing samples backwards)
    • wave interpolation
  • C64 macro mode usability fix (macro zoom resets when changing macro modes)
  • VIC-20 improvements/fixes:
    • new "on/off" macro
    • fix macro issues with volume
  • added an FM preview
    • for now this feature is exclusive to the OPN instrument type
    • enable it by right-clicking in the algorithm preview
  • implement real-time playback needles in the sample editor
    • not all chips are supported but most are
  • fix sample editor needles getting stuck to the sides when zooming
  • fix possibility of escaping orders when undoing
  • fix some chips not having custom clocks
  • MIDI output improvements:
    • press Stop twice to send MIDI panic
    • follow mute state of channels
    • add "send program change" option
    • MIDI timecode generation and MIDI clock improvements
  • you can now change the position of the buttons in the Orders window
  • finally implement sample maps with note pitching!
    • including a new, easier to use sample map UI
  • add a keybind for New
  • improve config system - never lose a config file again
    • by employing redundancy and several checks, Furnace is ready even if a config file becomes corrupted
    • thanks Lolwe!
  • log rotation - keeps the 5 last log files in the config dir
  • new backup system
    • previously there was a single backup.fur file in the config dir
    • now Furnace is able to save a couple backup files per song
  • fix 1.1.7-1.1.9 .dmf loading
    • it appears sample pitch/start/end worked differently
  • fix a visual glitch in the per-channel oscilloscope and channel volume meters when playing the song
  • new Commander X16 presets for possible future changes in the hardware specification
    • including a Twin OPL3 preset just in case the YM2151 supply issues cannot be solved
  • fix K007232 stereo setting
  • fix "Oscilloscope goes out of bounds" showing the waveform on top of everything
  • fix OPN Extended Channel muting
  • fix MIDI note hang when switching windows while a key is pressed
  • fix a possible crash when using the system file picker on Windows
  • prevent Settings window from being impossible to close at times
  • clarified the VGM export loop trail setting
  • fix missing ADPCM channel oscilloscope in Y8950
  • make the per-chan osc of X1-010 louder
  • many documentation updates
  • fix EDxx when using one-tick gap compat flag
  • fix crash when resampling an 8-bit sample using BLEP synthesis
  • fix some sliders not being right-clickable
  • vertical sliders are now right-clickable
  • VGM export now writes Hz value when possible
  • add options to collapse/expand the pattern and/or song
    • and it's super fast
  • fix AY-3-8910 per-chan osc being weird at times
  • greatly optimize the sample editor for long samples
  • allow pulling selection start/end points in sample editor
  • implement rarely-used 05xy/06xy effects
    • since Furnace supports multiple effect columns, these effects are redundant
    • but DefleMask implemented those, so for compatibility I had to do it
  • wave synth improvements:
    • option to pause preview
    • option to copy current preview to a new wavetable
  • added option to save sample as raw data
  • prevent unreadable text when fonts fail to load
  • Game Boy technical fixes
    • wave is no longer offset by 1
    • new option to toggle inverting the wave
  • SNES global volume control effects
  • fix tall .dmw loading
  • NES changes:
    • sample mode is now DPCM by default
    • 20xx effect to change DPCM pitch
    • another effect to change triangle linear counter
  • fix broken macro after note off in some FM chips
  • finally implement SSG PCM in OPN chips
  • fix out of range effect value crash
  • resampling a sample now uses rate instead of compat rate
  • folders for instruments/waves/samples
    • arbitrary organization of these
  • added an option to disable .fur compression
  • new packed pattern format - big savings in uncompressed files
  • add -subsong command line parameter
  • fix glitchy sound in C64 when more than one channel is changing filter cutoff (#1114)
  • fix QSound glitch when playing song (#1127)
  • fix Sunsoft 5B per-chan osc (kinda)
  • improve sample editor delete/trim when loop is present
  • prevent exit from being clicked by accident when going to file > configure chip
  • improve sample type conversion in sample editor
  • fix arpeggios not working after using E0xx and saving

note for Windows users

  • this release fixes a terminal window opening in Windows 11.
  • as stated in the previous release notes, only use the 32-bit build if you are absolutely certain you need it. otherwise, you don't. get the 64-bit release instead!

note for macOS users

I apologize for the lack of a macOS version of 0.6pre5. I only have a single Mac which is too old to run the latest version of macOS, and buying these here is difficult (sellers charge two to three times the price of one!).
I sometimes cheat, grab the latest artifact and put it here, but I am too late for that now...

note for Linux users

this is the first release not to be provided as an AppImage.
we made this decision after determining that the AppImage format was redundant in the case of Furnace, because every dependency is already statically linked.
no more making it executable, or having to install FUSE. just extract the .tar, and run.

furthermore, the demo songs, instruments and wavetables are readily available after extraction. no more having to use --appimage-extract.

(APRIL FOOLS) Furnace Pro - a new era in Furnace history!

01 Apr 22:42
Compare
Choose a tag to compare

this is a joke release for April Fools' Day 2023. it is discouraged to use it, but you can keep using it normally from April 3 onwards.

Furnace Pro is the ultimate project.

originally conceived by one developer and now carefully crafted by a group of masters, Furnace Pro is here to satisfy your professional chiptune production needs.
with a range of features from 4D user interface to AI-powered MIDISlap Ultimate, Furnace Pro won't let you down, run around and desert you.

Furnace Pro is shareware

feel free to try it out and share it with your friends, but remember: because we poured tons of months and loads of money during development, Furnace Pro is no longer free (as in free beer). register to unlock all of its features!

this is a joke release for April Fools' Day 2023. it is discouraged to use it, but you can keep using it normally from April 3 onwards.

Furnace v0.6pre4-hotfix (beta) - fix to critical initial system bug

25 Feb 07:20
Compare
Choose a tag to compare

this release fixes a critical bug in 0.6pre4 where the initial system would have near-zero volume after the intro plays for the first time.

the changes featured in 0.6pre4 are:

  • new speed system - easier to use and now with groove patterns
  • two new chips: SM8521 (used in Game.com) and Ensoniq ES5506 (32 sample channels)
  • output patchbay which allows you to route chip outputs arbitrarily (useful for JACK)
  • support for more than stereo (OPL3 and ES5506 are the supported chips)
  • optimized SCC and VRC6 emulation
  • true SegaPCM emulation
  • a brand-new intro and welcome screen
  • basic mode with reduced feature set for ease of use
  • 1.1.7 .dmf support
  • re-organized the UI a bit for ease of use
  • a bunch of bug fixes

thanks to the people who found and reported this bug!

32-BIT WINDOWS NOTE

this release features a Windows XP-compatible 32-bit build.
in order to ensure that it will be compatible with XP, I had to disable Native File Dialog and use portable-file-dialogs instead.
because it has a hang issue, the system file picker is not on by default.

only use the 32-bit build if you are absolutely certain you need it. otherwise, you don't. get the 64-bit release instead!

DO NOT USE THIS RELEASE

24 Feb 10:39
Compare
Choose a tag to compare

DO NOT USE THIS RELEASE! a critical bug has been found which breaks initial system volumes.
a hotfix is coming soon.

Furnace v0.6pre3 (beta) - bug fixes

31 Dec 22:43
Compare
Choose a tag to compare

IMPORTANT NOTICE ABOUT 32-BIT

32-BIT RELEASE HAS BEEN RETIRED DUE TO #745. 0.6pre4 will feature a 32-bit version again.

release info

this release fixes several critical and smaller issues which were present in 0.6pre2, including:

  • a crash when changing POKEY chip flags
  • a possible crash when working with high sample rates and small buffer sizes (#812)
  • OPLL not playing correct notes (#805)
  • OPN chips not playing correct notes when low clock rates are selected (#808)
  • bugs introduced by new arp strategy in:
    • MSM5232
    • SegaPCM (#813)
    • PC Engine
    • NES
  • missing POKEY preset
  • sample map retrigger (0Cxx) playing the wrong sample
  • "Classic" pattern header view flashing on every click
  • SegaPCM per-chan osc mute bug
  • YM2608 rim not muting in Nuked+ymfm core
  • YM2612 CSM not having configuration options
  • not compiling under GCC 5
  • QSound ADPCM still being incomplete, and
  • wave macro present in RF5C68 ins type for some reason

upcoming releases will be mostly bug fix ones (besides ES5506 and OPL4 which are planned) as we prepare for a full 0.6 release.
thanks to all bug reporters, testers and contributors!

AppImage notice

yep, I still build it in Ubuntu 16.04 for maximum distro compatibility. I do not plan to switch to 18.04 or higher yet.
the dev builds (artifacts in the Actions tab or nightly.link) are built in Ubuntu 18.04 despite being deprecated. I will only switch to 20.04 after it is fully removed from Actions (2023-04-01).

note for Windows 11 users

I have reports of Furnace opening a terminal/command prompt window on Windows 11. don't know what the cause is, but yeah.

note for macOS users

as stated in the pre1.5 release.

if you're on a fairly recent version of macOS, you may get an "app is damaged" error when opening Furnace.
in this case, open Terminal and type the following:

xattr -d com.apple.quarantine /path/to/Furnace.app
(replace /path/to/ with the path where Furnace.app is located)

you may need to reboot after doing this.

it is not my fault that Apple has decided to enforce application signing in a cruel way!

Furnace v0.6pre2 (beta) - SNES, Virtual Boy, POKEY and more!

25 Dec 05:58
Compare
Choose a tag to compare

a Christmas release? yeah!
many features since 0.6pre1.5! the changes are:

  • SNES! no .spc export though, but yeah. all chip features supported.
  • ZSM export! for playback of Furnace songs in Commander X16 using Calliope.
  • added MSM5232! (a square wave chip)
  • added Virtual Boy! 5 channels of wavetable and one of noise.
  • added POKEY! a 4-channel chip found in Atari 8-bit computers.
  • added T6W28! like SN76489 but noise frequency is separate from channel 3.
  • added Pokémon Mini (like PC Speaker but with pulse width control)
  • added K007232 (2-channel sample chip from Konami) and GA20 (4-channel sample chip from Irem)
  • implemented macros for Extended Channel mode in some FM chips!
  • new ADSR/LFO macro modes (besides sequence one)
  • new arp strategy! if pitch is linear you may now run both arpeggio macro and pitch slides simultaneously
  • new instrument format - up to 97% in file size savings! (assuming an FM instrument with no name)
  • add an effect to disable macros in some channels
  • easy noise for SN76489: the top notes now map to lower periods for easier access of higher frequencies
  • several new demo songs - now in categories!
  • add ability to set custom chip clock rates
  • sample types are now split - one type per chip
  • AY-3-8910 software PCM!
  • add YM2612 CSM without DualPCM
  • add Nuked-OPN2 + ymfm combo core option to YM2203, YM2608, YM2610 and YM2610B for better FM quality (uses slightly modified Nuked core for FM and ymfm core for SSG/ADPCM)
  • fix a bug with seamless audio setting changes and emulation core changes
  • added interpolation for wavetable resize
  • add option to center pattern view
  • new split command stream format - saves space when compressed
  • some improvements to sample editor
  • add ability to select which chips does a sample go to
  • add sample memory warnings in the sample list
  • improve "no ins/wave/sample selected" prompt
  • you can now load multiple instruments, wavetables or samples at once
  • experimental direct stream mode for VGM export! allows DualPCM exports at the cost of high file size.
  • HiDPI rework - Furnace now detects scaling properly and also runs on Wayland
  • preliminary implementation of CSM timer when using ymfm core
  • add interpolation settings to Generic PCM DAC
  • fix a major random crash bug involving the logger!
  • fix Genesis preset's PSG volume
  • fix song becoming unreadable if there is a wave with height 256
  • fix possible crash when selecting all
  • fix seeking bug when Virtual Tempo numerator is higher than denominator
  • fix .dmp saving when using advanced arp macros
  • finally fix macro speed/delay issue
  • add option to clear recent files list
  • fix "song taking a break" bug when VT num is higher than den
  • fix paste not updating selection if cursor moves
  • fix glitch when removing the last order
  • if GUI fails to initialize, report error (Windows)
  • fix instrument movement not relaying to sub-songs properly when they have different pattern lengths
  • implement DPCM loop on NES
  • fix layout loading/saving on Windows when username has special characters
  • fix instrument list being blurry when using a pixel font
  • fix playback sometimes halting on large buffer sizes and/or low sample rates
  • fix unsigned detune - now it matches the actual value on the chip
  • fix effect list being able to have infinite height
  • fix song stopping too early with FFxx
  • fix mouse events not working at all after minimizing (sometimes)
  • fix built-in file picker crashing upon encountering a file with % on its name
  • fix piano not previewing waves/samples
  • fix MIDI input not previewing waves/samples
  • fix piano being clickable under windows
  • fix "I'm feeling lucky" not changing system name
  • fix crash when creating wavetable from sample
  • fix volume bar on extended channel mode
  • many fixes for big endian platforms (thanks OPNA2608!)
  • fix Cxx higher than 40 during .mod import
  • update Backward to work on Windows AArch64
  • invert some compatibility flags
    • they are called "compatibility" for a reason...
  • OPLL fixes
    • finally fix pitch macro
    • fix high pitch sometimes triggering note
    • built-in patch preview (kind of)
    • add setting to not write freq of top/hi-hat
  • split FM instrument type into OPN and OPM
  • split Standard instrument type into SN and NES
  • speed up module loading/internal sample rendering
  • MIDI output improvements and fixes
  • Game Boy: fix zombie mode and macro speed
  • YM2151: fix LFO
  • Generic PCM DAC: fix wavetable mode
  • C64: partially fix wave after gate
  • C64: fix glitches when one tick gap is on
  • YMU759: fix 4-op ins loading in .dmf
  • NES: fix 12xx changing volume after note off
  • NES: envelope and length counter effects
  • VERA: fix pan macro
  • SN: fix clicking when using Nuked-PSG core
  • SAA1099: fix chips going crazy if there is more than one
  • PCE: finally fix LFO
  • YMZ280B: fix VGM export
  • VIC-20: possibly fix sadfgbmk;lhsdhklj;asdf;kj
    • I don't know what did I fix but yeah
  • MSM6295: 127!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • SegaPCM: a couple fixes

thanks everyone who contributed to this project!

coming soon: Furnace 0.6pre3 with ES5506, OPL4, MultiPCM and more bug fixes!

Furnace v0.6pre1.5 (beta) - the never-ending pre-release cycle

22 Sep 10:25
Compare
Choose a tag to compare

this release fixes many bugs found in pre1, including a critical one which made it difficult to save files.

the changes are:

  • new wavetable generator, with shapes (additive) and FM modes!
  • wavetable editing tools like interpolate
  • signed mode for wavetable editor MML string
  • a new look for the channel headers in pattern editor, including a volume bar (which you may enable in Settings > Appearance)
  • several new demo songs
  • twice the max macro length (now 255)
  • macro speed/delay setting OH WAIT it doesn't work well I just remember D: i'll push a hotfix soon
  • add a pattern manager window (including option to save unused patterns)
  • add a chip manager window - now you can move chips!
  • add KVS to FM instruments - allows you to select which operators will have their TL values scaled by volume
    • click on the algorithm preview
  • search in chip and system selector
  • Advanced Arp Macros - now every step of the macro can be either fixed or relative rather than the whole macro
  • Game Boy hardware sequences and software volume! (zombie mode)
    • note that this will not work on VGMPlay due to emulation accuracy issues
  • fix a couple CSM issues
  • fix system file picker not working at all
  • .dmp and .dmw saving
  • fix loading some instruments
  • new sample editor format - now allows for C-4 rate higher than 65535 and loop end position
  • YMZ280B: frequency precision fixes
  • system name is now stored in the song
  • added a Generic PCM DAC chip
  • fix some issues with per-channel oscilloscope
  • new Arcade presets
  • preliminary Future Composer (Amiga) module loading
  • prevent crash when unplugging MIDI device on Windows (untested)
  • add a proper CLI (currently Linux only)
  • add "scale" option in find/replace
  • add option for soft-clipping
  • fix possible crash when editing samples
  • Atari Lynx: fix crash in older machines
  • Sound Unit: implement echo and 64K PCM memory revision
  • fix issues when muting in DualPCM
  • add command stream dump export
  • wave change anti-click for Game Boy and PC Engine!
  • Linux armhf builds now available (e.g. Raspberry Pi)
  • macOS AArch64 (Apple M1) builds now available
  • MMC5: fix PCM issues
  • QSound: fix loop issue on high frequencies
  • fix possible crash when closing Furnace
  • raw sample data import
  • remember last window position and maximized state
  • fix notes sometimes being skipped in jam mode
  • fix instruments becoming Standard type when saving as .dmf in Game Boy/PCE/C64 systems
  • new reSIDfp core for C64
  • WonderSwan: fix possible hang when seeking the song
  • add a "create wave from selection" option in the sample editor
  • AY stereo separation
  • new instruments and fixed others
  • fix 1.1 .dmp loading - now OPLL and FDS instruments load
  • TIA: update to latest Stella core
  • new loop detection strategy
  • add recent file list
  • operator masking
  • fix some CSM clicking
  • doc fixes
  • it's 5:22AM CAN I SLEEP THANK YOU
  • AAAAAA

I am not so happy with this release because there's a critical bug which I had to work around for now
and because i just realized the macro speed/delay functionality is completely broken

for now PLEASE enable low latency mode in Settings > Audio - the fix for that macro thing is coming soon

thanks everyone for contributing

macOS users: if you're on a fairly recent version of macOS, you may get an "app is damaged" error when opening Furnace.
in this case, open Terminal and type the following:

xattr -d com.apple.quarantine /path/to/Furnace.app

(replace /path/to/ with the path where Furnace.app is located)

you may need to reboot after doing this.

it is not my fault that Apple has decided to enforce application signing in a cruel way!

Furnace v0.6pre1 (beta) - the biggest update ever!

29 Jun 10:15
Compare
Choose a tag to compare

almost 2000 commits since 0.5.8 - four months of work

too big for a changelog! here are the basics:

  • several new sound chips (and by several, I mean way too many)
  • major usability changes (more editing power!)
  • per-channel oscilloscope
  • MIDI input
  • true sample editor
  • I forgot because there is way too much to list!

despite this being a pre-release, I am not marking this as a pre-release on GitHub because the changes are too many that 0.5.8 is obsolete by now...

thank you everyone for contributing! see you in the next pre-release!