Commit graph

10544 commits

Author SHA1 Message Date
tildearrow
3c106f7861 improve time tracking on step play
now it fetches row time from song timestamps
also syncs file player!
2025-10-30 01:49:02 -05:00
tildearrow
64b8a8f714 turn volume slider into mix slider
it's far more useful
2025-10-30 01:30:48 -05:00
tildearrow
a6d06d3728 fix cursor movement check 2025-10-30 01:02:26 -05:00
tildearrow
a78c59e17e reference player sync state now in GUI 2025-10-29 20:00:08 -05:00
tildearrow
cb220d41ec DivSongTimestamps, part 8
now remove walkSong()
2025-10-29 19:39:53 -05:00
tildearrow
a49306b4bd more reference player work 2025-10-29 19:25:08 -05:00
tildearrow
c7fe8fea80 speed up sub-song detection 2025-10-29 18:15:47 -05:00
tildearrow
f990dee0c1 DivSongTimestamps, part 7
calculate timestamps on every change that is likely to require
recalculation (inserting/altering/removing song control/speed effects,
changing song speed, changing orders and so on)
2025-10-29 17:56:25 -05:00
tildearrow
3b93c4e0ec DivSongTimestamps, part 6
replace walkSong with calcSongTimestamps in GUI
2025-10-29 04:53:00 -05:00
tildearrow
c1175bcc35 DivSongTimestamps, part 5
deprecate walkSong and remove findSongLength
2025-10-29 04:21:31 -05:00
tildearrow
cc5b1d150f DivSongTimestamps, part 4 2025-10-29 03:55:57 -05:00
tildearrow
b9b7c97469 Merge branch 'master' into filePlayer 2025-10-29 02:45:24 -05:00
tildearrow
3e270a38b5 fix crash when chip output count changes 2025-10-29 02:44:45 -05:00
tildearrow
ecfea6033a DivSongTimestamps, part 3 2025-10-29 02:39:52 -05:00
tildearrow
2f11128c8d DivSongTimestamps, part 2
compilation fixes
2025-10-28 21:13:32 -05:00
tildearrow
8c1c338e91 DivSongTimestamps, part 1
this is actually a refactor
it will replace walkSong and the other function and fix bugs in the process
2025-10-28 21:07:21 -05:00
tildearrow
d3c85ae748 prepare for DivSongTimestamps
this will replace walkSong and findSongLength while
offering more features
2025-10-28 05:31:50 -05:00
tildearrow
25cb78b306 fix playSub() inconsistency in low-latency mode 2025-10-28 03:05:43 -05:00
tildearrow
394c6c35aa earliest implementation of sync
does not loop correctly
2025-10-27 19:34:21 -05:00
tildearrow
7a7a871198 reference player work
memory usage cap, garbage collection and sinc interpolation
also ability to set playback position to a negative value
2025-10-27 14:24:16 -05:00
Eknous-P
76dc7dfb01 Revert "groove calculator"
This reverts commit 6297c4ce52.
2025-10-27 21:15:11 +04:00
Eknous-P
6297c4ce52 groove calculator 2025-10-27 20:52:01 +04:00
tildearrow
f77aafb44d reference player prototype
poor performance
no playback sync yet
2025-10-27 05:15:47 -05:00
tildearrow
9bbfdc6f43 ................... 2025-10-27 01:43:03 -05:00
tildearrow
6589cd04b3 prepare to add a reference player 2025-10-26 21:02:05 -05:00
tildearrow
6738fbdbe4 fix WITH_OGG resulting in dynamic link 2025-10-26 17:12:15 -05:00
tildearrow
529105d845 audio export: confine Opus to 48000Hz 2025-10-26 04:32:07 -05:00
tildearrow
a887b72d36 Merge branch 'asio' - READ
thanks Steinberg for the open-source release of your ASIO SDK!
I am glad you're finally embracing the vast world of free and
open-source software, and allowing us to tap into technologies that
are industry standards.

--- NOTICE --- NOTICE --- NOTICE --- NOTICE --- NOTICE ---

ENABLING ASIO SUPPORT WITHIN FURNACE (enabled by default for Windows)
WILL RESULT IN A GPLv3-LICENSED BINARY.

this is permitted under the GPLv2-or-later's upgrade clause, which
can be found in Section 9 of the GNU General Public License, version 2.

if you do not wish to accept version 3 of the GPL, pass
`-DWITH_ASIO=OFF` to CMake at build time.

future Furnace releases (starting with 0.7) will have ASIO support
enabled - this decision comes after a poll in the Furnace Discord
where the majority (86 versus 22 hitherto) voted in favor.

https://discord.com/channels/936515318220722197/937611049182584852/1431092762278625321
2025-10-26 03:56:36 -05:00
tildearrow
ca5940b95d fix GitHub CI workflow 2025-10-26 03:55:53 -05:00
tildearrow
808523b9c6 change software clipping range
some ASIO drivers overflow when given a 1.0 or -1.0 sample.
this changes the range to -0.9999 - 0.9999, which prevents overflow
with imperceptible impact on output.
2025-10-26 02:25:24 -05:00
tildearrow
54a2507780 GUI: fix ASIO control panel button
falsely stating that there isn't a control panel
2025-10-26 02:24:51 -05:00
tildearrow
99c6cbffa6 ASIO backend, part 8
add control panel button
last commit unless it doesn't work somewhere
2025-10-25 21:23:50 -05:00
tildearrow
8ed69b7a5d ASIO backend, part 7
implement the rest of sample formats
2025-10-25 21:05:15 -05:00
tildearrow
039a23500b fix build.... 2025-10-25 19:49:24 -05:00
tildearrow
275ec988d5 install the correct license file 2025-10-25 19:34:29 -05:00
tildearrow
db2f368813 ASIO backend, part 6
add support for handling device resets
this will be extended to the SDL and PortAudio backends soon
2025-10-25 18:40:02 -05:00
tildearrow
3edf62fc5c ... 2025-10-25 17:08:08 -05:00
tildearrow
9a5e1db6ff ASIO backend, part 5
fix the crash?
2025-10-25 16:57:17 -05:00
tildearrow
02660ae721 mother of a truck... 2025-10-25 16:19:45 -05:00
tildearrow
40d0b1db3a ASIO backend, part 4
more verbosity
2025-10-25 15:43:52 -05:00
tildearrow
6f9db274c3 GUI: fix collapse corrupting pattern 2025-10-25 05:45:39 -05:00
tildearrow
1c1e75b908 get CI to try building 2025-10-25 05:02:58 -05:00
tildearrow
f5b099abab ASIO backend, part 3
this..... fixes it? (at least startup)
2025-10-25 04:54:58 -05:00
tildearrow
f5fd8102c7 ASIO backend, part 2
half-working:
- crashes on exit
- doesn't work on launch (must go to settings > audio and click OK)
2025-10-25 04:30:23 -05:00
tildearrow
0cec98199e prevent Opus from linking dynamically (ssp) 2025-10-25 04:30:01 -05:00
Eknous-P
bb4a7af1db fix chanOsc note text being 5 octaves down 2025-10-25 12:48:47 +04:00
tildearrow
57f3b9cd4d ASIO backend, part 1
DOES NOT FUCKING PLAY SOUND, so don't complain if you can't hear a thing

OK?!?!!
2025-10-25 00:16:15 -05:00
tildearrow
63685ed0a5 prepare for ASIO support
including GPLv3 license option
2025-10-24 15:56:48 -05:00
Eknous-P
fb76701854 rearrange export options and put separators
oh and remove spaces after function args
2025-10-25 00:33:41 +04:00
tildearrow
4e98853784 fix MP3 VBR quality being inverted 2025-10-24 15:04:43 -05:00