Commit Graph

591 Commits

Author SHA1 Message Date
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
tildearrow b66cc81fc6 fix loading 24-bit samples 2022-06-23 22:33:25 -05:00
tildearrow 7586db9a1b fix Termux build again 2022-06-23 16:25:51 -05:00
tildearrow e3686c2e34 fix song playing from begin if stopped on last row 2022-06-20 22:14:16 -05:00
tildearrow ad5072dad6 more MIDI debugging messages 2022-06-16 23:55:17 -05:00
tildearrow b7d8f3c17a harden sample movement 2022-06-16 23:39:38 -05:00
tildearrow cdbcf7fcd3 fix loading 8-bit samples 2022-06-16 22:10:57 -05:00
tildearrow 327952f3f4 finally support loading floating-point samples 2022-06-16 22:07:12 -05:00
tildearrow ed6a110d44 initialize SF_INFO before loading sample 2022-06-16 21:25:21 -05:00
tildearrow 64fa5f804b finish fade out on audio export option 2022-06-06 04:00:56 -05:00
tildearrow b6ea8ede86 fade out experiments - DO NOT COMPILE 2022-06-06 03:05:55 -05:00
tildearrow 5a0a9db9c3 highlight cur row instead of next one on playback 2022-06-06 01:05:06 -05:00
tildearrow 1f1d2c85bd GUI: add mono/poly note preview button 2022-06-03 18:05:07 -05:00
tildearrow ddcd76328d add ability to move sub-songs 2022-06-01 18:50:30 -05:00
tildearrow 9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
cam900 a3bca9efa7 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 12:18:46 +09:00
tildearrow fc0a51ed56 GUI: add oscilloscope window size setting
and also remember last zoom/winSize value
2022-05-30 21:40:07 -05:00
tildearrow 495aec86bd fix addOrder() undefined behavior 2022-05-30 14:02:54 -05:00
cam900 02dbafb728 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-30 22:20:24 +09:00
tildearrow 9b7145d2b0 harden wavetable loader 2022-05-29 22:21:37 -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 84d4ca63c2 GUI: sample editor preview in selection 2022-05-29 02:13:08 -05: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 08543a2dc9 GUI: drag-and-drop ins/wave/sample loading 2022-05-28 18:51:05 -05:00