Commit graph

355 commits

Author SHA1 Message Date
OPNA2608
c3b7350346 Link against libdl for dlopen 2022-11-16 11:07:13 +01:00
tildearrow
f6f6101762 Revert "no WinMain experiment - TEST!"
This reverts commit 4e2dd5ec63.
2022-11-15 22:24:23 -05:00
tildearrow
4e2dd5ec63 no WinMain experiment - TEST! 2022-11-15 21:29:49 -05:00
cam900
46880634b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-15 11:52:30 +09:00
tildearrow
d422372b7f convert presets to new format, part 1 2022-11-13 16:25:50 -05:00
tildearrow
3f2f8a7197 GUI: add a clock 2022-11-10 01:26:59 -05:00
cam900
13b2a72a01 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-26 12:28:24 +09:00
tildearrow
4acb6ccc09 fine, here's your Pong 2022-10-24 03:19:42 -05:00
cam900
487607b6ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-22 10:17:00 +09:00
tildearrow
d96674186e GUI: new scaling factor detection technique 2022-10-20 01:49:33 -05:00
cam900
081773b2da
Merge branch 'master' into es5506_alt 2022-10-12 15:31:38 +09:00
tildearrow
f8896ed64c T 6 W 2 8 2022-10-12 00:12:56 -05:00
tildearrow
38eed64734 update CMakeLists 2022-10-09 15:18:52 -05:00
cam900
f8c494e1dd
Merge branch 'master' into es5506_alt 2022-10-09 20:05:15 +09:00
tildearrow
f76e4044c7 prepare for Virtual Boy 2022-10-08 19:37:22 -05:00
cam900
66f7ab688b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-02 10:52:14 +09:00
tildearrow
5e18edb229 early MSM5232 work 2022-10-01 03:15:40 -05:00
cam900
62f1ba73eb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-29 22:05:41 +09:00
tildearrow
24a72165c9 move config handler to a new class
paves the way for chip flags rewrite
2022-09-29 01:24:26 -05:00
cam900
0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
tildearrow
8eaddcf070 prepare BRR encoding/decoding 2022-09-24 04:27:53 -05:00
tildearrow
c0de45ff0c Merge branch 'snes' of https://github.com/akumanatt/furnace into akumanatt-snes 2022-09-24 02:53:11 -05:00
ZeroByteOrg
c3654eb67c Merge branch 'master' into ZSMv1 2022-09-23 22:24:22 -05:00
Natt Akuma
0ee6d761f5 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-09-18 18:33:25 +07:00
cam900
52476ec1a6 Merge branch 'master' of https://github.com/tildearrow/furnace into vgsound_emu_update 2022-09-16 23:49:11 +09:00
cam900
b461ffe411 Update vgsound_emu library 2022-09-16 23:48:06 +09:00
ZeroByteOrg
b14bf9ea33 Merge branch 'master' into ZSMv1 2022-09-15 12:03:53 -05:00
tildearrow
fcefbb4909 TIA: update to latest Stella core 2022-09-09 23:21:45 -05:00
tildearrow
c3ced46fa3 coming soon: reSIDfp core 2022-08-28 15:10:44 -05:00
ZeroByteOrg
ca4fb5b7d4 Merge branch 'master' into ZSMv1 2022-08-28 10:54:20 -05:00
tildearrow
daf176e197 GUI: prepare for new chip picker 2022-08-26 19:30:13 -05:00
tildearrow
94cf589e92 GUI: prepare for chip manager window 2022-08-19 04:41:45 -05:00
tildearrow
142c21e20b partially fix big-endian build
samples are the next thing to tackle
2022-08-19 00:23:45 -05:00
ZeroByteOrg
941d45ad80 Merge branch 'master' into ZSMv1 2022-08-16 11:24:18 -05:00
tildearrow
d1c5a4725b add option to save unused patterns
closes #106

also prepare for the pattern manager window
2022-08-16 03:42:17 -05:00
tildearrow
f2b6f854a9 add options to not install demo songs/ins 2022-08-04 17:48:10 -05:00
tildearrow
83386d082d add a proper CLI
featuring skip order (left/right) and pause (space)!
currently available on macOS and Linux only.
2022-07-25 17:23:56 -05:00
tildearrow
75c7573f12 Merge branch 'master' of github.com:tildearrow/furnace 2022-07-23 22:19:30 -05:00
tildearrow
617569b6b8 re-enable backward on Windows/macOS 2022-07-23 22:19:07 -05:00
Christoph Neidahl
e08399156a
Haiku support (#596)
* 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
2022-07-23 22:11:30 -05:00
tildearrow
623c0efbba
Merge pull request #578 from tildearrow/ngp
Add generic PCM DAC system
2022-07-23 19:12:51 -05:00
tildearrow
d085f76c7f issue #588, part 3
add check for the existence of inb() and outb()
2022-07-14 22:29:04 -05:00
tildearrow
6f90124d82 issue #588, part 1 2022-07-14 22:15:14 -05:00
tildearrow
936a95c112 fix build on Arch
not my fault that PipeWire is shipped in a broken state
2022-07-13 16:47:09 -05:00
Natt Akuma
d3cd7bbb81 Add generic PCM DAC system
For use with NGP DAC and some arcade system combos
2022-07-03 01:42:47 +07:00
cam900
f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
ZeroByteOrg
40d67d7bb5 Merge branch 'master' into ZSMv1 2022-06-29 13:14:15 -05:00
tildearrow
be7d7002e2 fix opening/saving audio files with non-ASCII char
s on Windows

this required making a wrapper...
2022-06-28 02:00:08 -05:00
tildearrow
01057ced3a fix Android build 2022-06-25 16:09:04 -05:00
cam900
3119ed8cc5 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-06-26 00:47:34 +09:00
cam900
2b5bb91237 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* '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
2022-06-26 00:36:36 +09:00
tildearrow
7586db9a1b fix Termux build again 2022-06-23 16:25:51 -05:00
tildearrow
b90552dfb1 fix Termux build 2022-06-23 16:23:46 -05:00
ZeroByteOrg
ae7b271e1d Merge branch 'master' into ZSMv1 2022-06-23 13:45:12 -05:00
tildearrow
e0bccc8c14 GUI: prepare for colors in the per-chan osc 2022-06-21 18:01:53 -05:00
tildearrow
60334fb03c GUI: add spoiler window 2022-06-20 15:20:02 -05:00
tildearrow
337e2183cd fix build on GCC < 8 2022-06-20 04:55:28 -05:00
tildearrow
03e31c441e prepare for ins preview in system file picker 2022-06-19 00:11:18 -05:00
tildearrow
d8513e0856 GUI: use Native File Dialog on Windows/macOS
latter is untested
2022-06-17 01:28:22 -05:00
Natt Akuma
f3a90d554c WIP SNES support, part 1 2022-06-10 03:19:31 +07:00
ZeroByteOrg
d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
tildearrow
507ad335b1 add instruments to make install 2022-06-06 18:18:45 -05:00
ZeroByteOrg
378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
tildearrow
9edc4818b5 prepare for find and replace window 2022-06-06 05:03:19 -05:00
tildearrow
74dcf69081 pass --with-our-malloc on MinGW 2022-05-31 12:42:47 -05:00
tildearrow
54e93db207 GUI: try using FFTW for per-chan osc wave center
not reliable yet
2022-05-31 03:24:29 -05:00
cam900
4f6f13e938 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: improve unified data view
  GUI: sample editor preview in selection
  finally
  Revert "fudge and bread"
  Revert "fire!"
  Revert "temporarily kill MSVC"
  Revert "MSVC: ughh, f**k you, you d**khead."
  MSVC: ughh, f**k you, you d**khead.
  temporarily kill MSVC
  fire!

# Conflicts:
#	src/engine/engine.h
#	src/engine/playback.cpp
2022-05-30 08:13:27 +09:00
tildearrow
cdcf87c773 Revert "fudge and bread"
This reverts commit 6afe29682d.
2022-05-29 00:44:21 -05:00
cam900
131081a030 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fudge and bread
  what?!
2022-05-29 13:50:09 +09:00
cam900
32152fd89b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (53 commits)
  prepare for better backward writing
  VGM export: fix oops
  GUI: drag-and-drop ins/wave/sample loading
  GUI: add "set loop" to sample editor
  MSM6295: VGM export!
  oops
  MSM6295: add rate select effect (20xx)
  update meteor shower
  MSVC is better than GCC right?
  update to-do list
  door into summer
  GUI: implement input for touch events
  GUI: update SDL hints
  fix Termux build
  add another demo song
  add demos/ecolove.fur
  update to-do list
  update demos/README.md
  add new demo songs
  dev99 - major Fractal system change
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/genesis.cpp
#	src/engine/playback.cpp
#	src/engine/song.h
#	src/engine/vgmOps.cpp
2022-05-29 13:47:39 +09:00
tildearrow
6afe29682d fudge and bread 2022-05-28 23:40:46 -05:00
tildearrow
bf0b207a3d what?! 2022-05-28 23:12:22 -05:00
tildearrow
36c16467a5 fix Termux build 2022-05-27 15:51:57 -05:00
ZeroByteOrg
b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
cam900
cbf20c6320 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (58 commits)
  SMS: early Nuked-PSG modding
  SMS: add modified Nuked-PSG core
  build release and don't strip
  strip MinGW builds
  FDS: a bit more
  FDS: set a post-amp value
  FDS: fix NSFplay core low pass filter precision
  fix .dmf saving
  fix compilation on GCC 12
  Fix multithreading on CI
  Lynx: why did I not commit this
  Lynx: more sample improvements
  Lynx: sample improvements
  Lynx: add sample support!
  GUI: fix wavetable list oversight
  WaveSynth: fix phase modulation - again
  GUI: fix possible wave editor crash
  WaveSynth: fix phase modulation
  Lynx: add phase reset macro
  fix another fucking IGFD crash bug
  ...

# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/presets.cpp
2022-05-27 13:01:06 +09:00
tildearrow
e3ebe0cb92 SMS: add modified Nuked-PSG core 2022-05-26 18:46:20 -05:00
tildearrow
0292f4d4c3 temporarily "fix" MinGW issue 2022-05-24 22:15:43 -05:00
tildearrow
cad0eab9ca another fix 2022-05-24 13:40:38 -05:00
tildearrow
652edb18b7 fix it 2022-05-24 13:17:40 -05:00
tildearrow
914b5f7a88 experiment with backward-cpp again 2022-05-24 13:06:29 -05:00
cam900
17881837ab Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (64 commits)
  finish wave synth!
  update contributing guidelines
  Namco WSG: make non-linear slides faster
  wave synth work
  SoundUnit: fix order of filter bits
  GUI: add Namco arcade presets
  implement some dual wave synth effects
  Y8950: fix ADPCM VGM export
  Namco WSG: finish it up
  Namco WSG: 8 channel WSG (CUS30) now works
  Namco WSG: muting
  Namco WSG: 8 channel WSG (15xx) now works
  Namco WSG: 3 channel WSG now works
  YM2612: change key on/off strategy
  GUI: fix scrollbars not working
  Please enter the commit message for your changes.
  shhhhhhhhhhhh
  update to-do list
  Whoops
  it doesn't work (yet)
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/su.cpp
#	src/engine/playback.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/song.h
#	src/engine/vgmOps.cpp
#	src/gui/presets.cpp
2022-05-25 00:52:00 +09:00
tildearrow
8ea60f37c5 MSM6258: start work - DO NOT USE! 2022-05-23 19:01:10 -05:00
tildearrow
f25cd17590 early OKI MSM6295 work 2022-05-23 01:46:58 -05:00
tildearrow
e17c99dcdf allow building Furnace without SDL2 and libsndfile
for eventual libfurnace
2022-05-22 19:01:50 -05:00
tildearrow
43981eb59f bring up MSM6295 core
vgsound_emu by cam900
2022-05-22 18:06:56 -05:00
tildearrow
98e9a4b28d MSM6258 emulator de-MAMEfication 2022-05-22 17:49:41 -05:00
cam900
f7ba60bfa9 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* '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
2022-05-22 18:24:17 +09:00
Natt Akuma
27a412c134 Merge branch 'master' of https://github.com/tildearrow/furnace into rf5c68 2022-05-21 03:02:08 +07:00
Natt Akuma
581f6d5d05 Merge branch 'master' of https://github.com/tildearrow/furnace into ymz280b 2022-05-21 02:34:51 +07:00
Natt Akuma
b7a6bf5a0b Add RF5C68 and RF5C164 support 2022-05-21 01:45:26 +07:00
tildearrow
7b2237ffac we see it 2022-05-20 13:22:35 -05:00
tildearrow
251734bd04 prepare for the last chips for 0.6pre1
YMZ280B is counted. don't worry.
2022-05-20 02:43:39 -05:00
tildearrow
dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
tildearrow
e1bd5b03f3 de-submodule ImGui
allows for local modification which is necessary

see #442
2022-05-18 15:23:10 -05:00
Natt Akuma
0ae0c6f703 Add YMZ280B support 2022-05-18 21:04:25 +07:00
cam900
028adf2c8e Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* '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
2022-05-18 03:09:55 +09:00
OPNA2608
864e798686 Add x2 icon variations as well 2022-05-16 19:25:15 +02:00
OPNA2608
0851f1dffc Install more size variations on Linux 2022-05-16 19:16:55 +02:00
cam900
2a19834e14 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* '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
2022-05-16 00:37:07 +09:00
tildearrow
c5786b61fb dev95 - multiple songs in a single file (READ)
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
2022-05-15 01:42:49 -05:00