this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)
the UI is still a work in progress and doesn't work well
this change is big and may break things! further fixes incoming
* Don't apply Wayland videodriver workaround on Haiku
* dirent.d_type-less type detecting in IGFD
The Dumb Way(tm). `stat`'s `st_mode` should be nicer?
* CMake check for dirent.d_type, stat-based fallback
* Move config dir setup to separate function
Nicer to work with than macro kerfuffle.
* Default sysFileDialog to off on Haiku
* Logging stuff
* Honour CMAKE_INSTALL_BINDIR
* Use find_directory on Haiku
Includes forgotten configPath line when home==NULL.
* Address PR review notes
* 'master' of https://github.com/tildearrow/furnace: (55 commits)
GUI: get rid of these stupid icons
update to-do list
MSM6258: the final bits
MSM6258: clock/rate selection
MSM6258: prepare for rate changing
Update n163.md
YM2612: DualPCM per-channel osc
YM2612: more DualPCM muting fixes
YM2612: fix DualPCM muting
GUI: finish the blank ins up
GUI: add "blank new instrument" option
GUI: add mono/poly note preview button
PC speaker: don't use printf/perror
YM2612: CSM arpeggio and slides
YM2612: - C S M -
YM2612: half-working CSM
YM2612: earliest completely untested CSM work
delay collapse/expand pattern/song feature :<
GUI: much more stable osc view
YM2612: fix DAC output not visible in per-chan osc
...
# Conflicts:
# src/engine/platform/genesis.cpp
# src/engine/platform/genesis.h
# src/ta-utils.h
* 'master' of https://github.com/tildearrow/furnace: (46 commits)
PCE: fix two issues
SegaPCM: fix samples bigger than 64KB
SCC: implement VGM soft reset
GUI: add option to clear orders
GUI: implement "clear all subsongs"
GUI: fix crash when deleting current subsong
CI: only 1 core for MinGW
Fix AY8910 envelope hangs
OPL: fix fixed frequency drums
pick nits: the sequel
pick nits
AY: fix possible hang
hide .ftm format
Add x2 icon variations as well
Install more size variations on Linux
OPLL: fix fixed drums freq
GUI: make backupTimer atomic
Have OPN* platforms set the correct YM2149 chip type.
update to-do list
ZX beeper: clarify effects (will be done later)
...
# Conflicts:
# src/engine/platform/segapcm.cpp
* 'master' of https://github.com/tildearrow/furnace: (70 commits)
whoops
GUI: AY8930 credits
GUI: fix inability to close subsongs
BANK
OPN: wire up ExtCh system
fix build failure
dev95 - multiple songs in a single file (READ)
DO NOT USE - THIS FAILS - WORK IN PROGRESS
enforce asset limits
old .dmf loading improvements
add AICA and YMZ ADPCM formats
allocate ID for YMZ280B
harden .fur file saver
Fix AY VGM output, Fix presets
preparations for UI improvements
GUI: add more presets
prepare for ExtCh OPN/OPNA
GUI: clarify that lock layout doesn't work yet
GUI: remember last state of order edit mode
GUI: store edit/followOrders/followPattern state
...
# Conflicts:
# src/engine/fileOps.cpp
# src/engine/platform/ym2610.cpp
# src/engine/platform/ym2610b.cpp
# src/engine/sample.cpp
# src/engine/sample.h
# src/engine/sysDef.cpp
# src/gui/doAction.cpp
# src/gui/sysConf.cpp
* 'master' of https://github.com/tildearrow/furnace:
full linear pitch is now the default
add a full linear pitch mode, part 7
X1-010: implement linear pitch (part 6)
VERA: implement full linear pitch (part 5)
YM2610(B): implement full linear pitch (part 4)
add a full linear pitch mode, part 3
YM2612: implement full linear pitch (part 2)
update readme
re-enable warnings are errors on MSVC
YM2612: early full linear pitch experiment
GUI: window movement only by clicking on title bar
Fix GCC errors 2
Fix GCC errors
Remove SCC from TODO.md
SCC has no config flags currently
Add SCC and SCC+ support
# Conflicts:
# CMakeLists.txt
# src/engine/dispatchContainer.cpp
# src/gui/guiConst.cpp
experimental feature! proceed with caution.
if you experience song corruption or crashes, report issue immediately!
files with multiple songs will be readable in older versions of Furnace,
but only the first song will be read in those versions.
issue #199
* 'master' of https://github.com/tildearrow/furnace:
dev94 - add a full linear pitch mode, part 1
YM2610(B): use f-num/block baseFreq calculation
GUI: remove insLoadAlwaysReplace setting
GUI: right click menu for open instrument
GUI: add a threshold for macro right click
OPZ: remove debug printf
GUI: add macro right click menu
GUI: prepare for macro right click menu
update gitignore
add something
prepare for something
did i fix macOS build?
GUI: macro edit improvements
To prevent rendering samples for systems that are not in use.
Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
* 'master' of https://github.com/tildearrow/furnace:
maybe uninitialized
GUI: prepare for a per-channel oscilloscope?
GUI: add backdrop if system file picker is open
GUI: add ability to customize startup system
GUI: finally implement "don't scroll when moving c ursor" setting
new panning effects (80/81/82)
GUI: fix sample paste crash
GUI: implement sample scroll with mouse wheel
sysDef oopsie
# Conflicts:
# src/gui/guiConst.cpp
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway
in order to toggle the QSound effect use effect 12xx
* 'master' of https://github.com/tildearrow/furnace:
dev90 - linear pitch macro option
dev89 - C64: add test/gate macro
YMU759: update system definition
more changes to autoNoteOn
SoundUnit: ring modulation
GUI: improve the maximize auto-detection a bit
GUI: possibly remember maximized state
NES: fix audio resolution being too low
update to-do list
SoundUnit: more stuff
SoundUnit: max cutoff 16383
effectRows -> effectCols
GUI: rename Amiga/Sample to Sample
This is not a sample properties table
Define the compact wave editor
Menu option, settings file
# Conflicts:
# src/gui/insEdit.cpp
* 'master' of https://github.com/tildearrow/furnace:
fix MSVC oh my
improvements to sysDef and UX changes
# Conflicts:
# src/engine/dispatchContainer.cpp
# src/gui/insEdit.cpp
THIS WILL NOT COMPILE!!!
i'm still working on it
to @cam900: DO NOT PULL TO YOUR ES5506 BRANCH YET - wait until I am done
with this refactor
to @grauw: DO NOT PULL TO YOUR OPL4 BRANCH YET - wait until I am done
with this refactor
* 'master' of https://github.com/tildearrow/furnace: (77 commits)
GUI: use pattern font for input latch
GUI: partially implement note input latch UI
GUI: transpose value does not transpose effect ID
GUI: prepare for note input latch UI
GUI: min ins selector width fix
GUI: separate operation masks
GUI: add missing FDS preset
GUI: prepare for separate operation mask
GUI: "none" instrument should not remove inscolumn
GUI: fix ins 0 being inserted on blank song
GUI: add a "none" option to instrument list
update to-do list
GUI: add "absorb" instrument input mode
use good default instrument when adding ins
better default instrument for OPL/OPLL
GUI: fix selection being visible in dummy row area
Further fix looped sample preview
GUI: fix about screen in power saving mode
VRC6: saw volume 63
GUI: add an effect list window
...
# Conflicts:
# src/engine/platform/amiga.cpp
# src/engine/vgmOps.cpp
# src/gui/dataList.cpp
# src/gui/guiConst.cpp
# src/gui/insEdit.cpp
# src/gui/sampleEdit.cpp
- add "temporary instrument" to DivEngine
- prepare for two things:
- instrument preview on file picker (at least built-in one)
- instrument selector for banks (#364)