Commit Graph

614 Commits

Author SHA1 Message Date
tildearrow 71e40dc015 support more than 2 output channels
up to 16 on JACK
to-do: add more mixer settings
2023-01-05 02:40:17 -05:00
tildearrow a29f36a5df new dispatch, part 1 2023-01-03 01:09:46 -05:00
cam900 ff937604c7
Merge branch 'master' into es5506_alt 2022-12-29 16:18:24 +09:00
tildearrow 47be21df4d f-num/block range fix 2022-12-26 16:09:38 -05:00
cam900 a793bed56d
Merge branch 'master' into es5506_alt 2022-12-24 12:01:03 +09:00
tildearrow 51ea3cec2a add log file writing 2022-12-18 01:55:21 -05:00
tildearrow ceb27728d3 add option to swap nibbles on raw sample import
issue #791
2022-12-17 22:45:30 -05:00
cam900 80fd78dcdd Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-17 16:53:19 +09:00
tildearrow 6f22ade69a new arp strategy, part 1 2022-12-17 02:07:24 -05:00
cam900 429aed0ab1 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-17 15:00:44 +09:00
tildearrow 9da46ee8ba implement macro masking 2022-12-17 00:09:56 -05:00
cam900 8365d1c977
Merge branch 'master' into es5506_alt 2022-12-15 16:06:59 +09:00
tildearrow 332c6edbed re-initialize dispatch if core settings changed 2022-12-14 17:18:19 -05:00
cam900 37e83c0905 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-10 14:29:13 +09:00
cam900 0f2583c1fb Minor defines 2022-12-10 06:11:46 +09:00
tildearrow 8d8be6cc13 last fix 2022-12-10 06:01:21 +09:00
cam900 2a95e61e9d Add and reorganize constant define includes 2022-12-10 06:01:12 +09:00
cam900 2ec35d903f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-04 16:53:54 +09:00
tildearrow d6d6743740 custom tick rate for presets 2022-12-04 01:11:32 -05:00
cam900 7867b59580 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-30 17:39:43 +09:00
tildearrow b41a015c4b sample preview now defaults to C-4 rate 2022-11-29 00:17:38 -05:00
tildearrow cf38680072 chip sample selection, part 4
partially works
2022-11-26 23:50:20 -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 c5df68f8af GUI: improve create ins from sample functionality
pull request #740
2022-11-13 18:29:37 -05:00
tildearrow ea643c574c convert presets to new format, part 2 2022-11-13 16:57:47 -05:00
tildearrow 3f2f8a7197 GUI: add a clock 2022-11-10 01:26:59 -05:00
tildearrow baa3989502 fix metronome in virtual tempo 2022-11-09 23:52:10 -05:00
cam900 7a803f1e73 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-07 09:45:54 +09:00
tildearrow 63bb5aac6b MIDI input: wave and sample preview 2022-11-06 02:06:51 -05:00
cam900 bf6487b8bd
Merge branch 'master' into es5506_alt 2022-11-03 13:44:07 +09:00
tildearrow 4531e9fc9c load .brr loop position if present 2022-11-01 02:47:27 -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 a8def55d56 fix song stopping too early 2022-10-22 03:46:39 -05:00
tildearrow b073368b21 fix endOfSong inconsistency
fixes #719
2022-10-22 03:31:03 -05:00
cam900 f8c494e1dd
Merge branch 'master' into es5506_alt 2022-10-09 20:05:15 +09:00
tildearrow 68d962fcdb FCS: implement more commands 2022-10-06 15:37:54 -05:00
tildearrow 85eaf91591 FCS: some optimization
speed dial commands and preset delays

FCS = Furnace Command Stream (binary)
2022-10-06 14:37:42 -05:00
tildearrow 16b752dc8a experimental split command stream 2022-10-04 18:57:04 -05:00
tildearrow 1409979561 fix instrument movement not relaying to sub-songs
properly when they have different pattern lengths
2022-10-03 12:16:50 -05:00
tildearrow 8de9e98a45 I may be drunk 2022-10-02 02:08:33 -05:00
tildearrow a14bd4c8d4 call renderSamples() when moving samples 2022-10-02 02:00:31 -05:00
tildearrow 0c79280aae GUI: fix loop not updating samples on SNES 2022-10-02 01:32:12 -05:00
tildearrow 85f739497f fix bug when seeking with VT num>den 2022-10-02 01:02:01 -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 5e4bfe2f11 GUI: sample editor changes 2022-09-30 18:24:20 -05:00
tildearrow 3e997ae886 GUI: add a sample preview rate hint 2022-09-30 17:47:17 -05:00
cam900 987cc113b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-30 20:01:21 +09:00
tildearrow 89311690a0 chip flags rewrite, part 6
fix GUI (partially)
2022-09-30 02:14:54 -05:00
tildearrow 468f434b66 chip flags rewrite, part 5 - DO NOT USE
after fixing the GUI the last thing to do is upgrade all the presets to
the new format
but that will be SO boring
2022-09-30 00:26:54 -05:00
tildearrow 48db9a1d0c chip flags rewrite, part 4 - DO NOT USE
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13: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 0acca7458d chip flags rewrite, part 2
move systemFlags to legacy status
2022-09-29 03:29:24 -05:00
tildearrow 6ed50d717c fix song stop screwing everything up 2022-09-29 00:27:40 -05:00
cam900 013c7b92fb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-27 00:01:10 +09:00
tildearrow 122694d7c9 MIDI output improvements 2022-09-26 01:27:36 -05:00
cam900 b42d5b7c1b
Merge branch 'master' into es5506_alt 2022-09-26 07:31:06 +09:00
tildearrow 656de800cf renderSamples optimization
only render sample types which are used
stability remains to be tested
2022-09-25 17:18:04 -05:00
cam900 5a6cde65ed Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:34:36 +09:00
cam900 0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
tildearrow cbdf23efa7 allow loading .brr samples directly 2022-09-25 01:20:08 -05:00
cam900 e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
tildearrow 02d2077162 MIDI out: turn notes off on reset() 2022-09-22 02:46:55 -05:00
cam900 0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
tildearrow 03e226e52b seamless switchMaster 2022-09-10 23:33:05 -05:00
tildearrow 29f1be3b36 fix audio backend not changing on switchMaster 2022-09-10 23:32:04 -05:00
tildearrow a99f1bd8a0 fix walkSong 2022-09-10 02:34:47 -05:00
tildearrow 187653a70f dev113 - loop detection changes 2022-09-10 01:39:42 -05:00
cam900 d82d7255d1 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-31 19:18:15 +09:00
tildearrow 820b23ecdb fix macros sometimes being out of sync when seekin 2022-08-31 03:05:06 -05:00
tildearrow f3c3d82e4d fix hang when swapping chips
fixes #660
2022-08-31 02:52:35 -05:00
cam900 22211a4ef0 Fix loop 2022-08-27 17:28:08 +09:00
cam900 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
tildearrow d577755035 fix note on sometimes not working in jam mode 2022-08-27 00:37:32 -05:00
tildearrow 1b80b96189 prepare for chip swapping 2022-08-26 03:03:36 -05:00
tildearrow 226f43fea3 several important bug fixes to advanced arp macro 2022-08-22 19:09:08 -05:00
tildearrow c009cb3536 dev112 - prepare for advanced arp macro
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
2022-08-22 15:59:45 -05:00
tildearrow 5fe3a3c35a prepare for moving chips 2022-08-19 16:25:32 -05:00
Natt Akuma 7c42453422
Rewrite per-system effect handling (#548)
* Rewrite per-system effect handling

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
tildearrow 77109c3832 fix instrument move/del screwing up sub-songs 2022-08-15 22:54:31 -05:00
tildearrow 041a76ad81 raw sample import fixes 2022-08-13 06:25:11 -05:00
tildearrow 91f9352eaf implement raw sample import
untested
2022-08-13 05:50:36 -05:00
tildearrow ce2d322e47 GUI: add replace for wave/sample and prepare for
raw sample import
2022-08-13 04:17:32 -05:00
cam900 d44f5f0b2b Prepare for backward and bi-directional loop 2022-08-11 22:21:54 +09:00
tildearrow b8012344e7 fix possible crash when closing Furnace 2022-08-07 17:37:07 -05:00
tildearrow 3a18e1e6fc partially implement command stream binary mode 2022-08-04 18:50:52 -05:00
tildearrow 2e41d117d7 fix some of these command hints 2022-08-04 17:47:59 -05:00
tildearrow d54d853ff8 add a command stream dump option 2022-08-04 00:51:47 -05:00
tildearrow 2b4b320a74 fix noMultiSystem setting being inverted 2022-07-27 02:36:48 -05:00
tildearrow 09e457003b add option for soft-clipping 2022-07-25 18:41:47 -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 8d88ac766c dev103 - store system name and other info in song 2022-07-23 17:02:03 -05:00
cam900 5127d5ef18
Implement sample loop end position, enum-ise sample depth (#557)
TODO: new sample format
2022-07-21 23:36:42 -05:00
tildearrow cd7b333b2d introduce a benchmark mode 2022-07-19 17:01:19 -05:00
tildearrow a4741861ce fix audio output being reset on cmd line export 2022-07-19 15:57:06 -05:00
cam900 f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
tildearrow 9fee9fa363 GUI: run per-chan osc on instrument preview 2022-06-29 01:37:12 -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 fef09fb00d fix major per-channel audio export issue in ExtCh 2022-06-27 03:55:55 -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