Commit graph

765 commits

Author SHA1 Message Date
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
f77aafb44d reference player prototype
poor performance
no playback sync yet
2025-10-27 05:15:47 -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
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
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
d2f7c49aa4 remove unused globalPitch variable 2025-10-22 14:25:03 -05:00
tildearrow
29929beeac remove partial pitch linearity
the hacky mode is no more
2025-10-22 14:00:52 -05:00
tildearrow
6c804c3674 pattern data refactor, part 6
crap
2025-10-15 21:56:04 -05:00
tildearrow
7ba6b3680a pattern data refactor, part 5
the engine is done
still does not compile
2025-10-15 21:05:13 -05:00
tildearrow
d4ecf4045b pattern data refactor, part 1
this first stage changes the way notes are encoded
instead of note/octave, it is just note
2025-10-14 05:07:35 -05:00
yohannd1
b8ce3219eb channel drag copy: fix channel copying code (thanks tildearrow & eknous) 2025-10-04 04:05:06 -05:00
yohannd1
1099c79ec8 channel drag copy: initial impl 2025-10-04 04:05:06 -05:00
cam900
1b712e03ee Add notifySampleChanged in dispatch and engine:
This method/variables are for notify sample is changed/altered/added/removed.  can be called together with updateSampleTex for sample update.

multipcm: Fix possible desync with instrument and sample parameter

opl4: Split sample table render and sample data render, Add notifySampleChange for refresh sample parameters
2025-10-01 12:31:39 +02:00
tildearrow
3a06e7b963 remove hasSampleInsHeader()
- it is only used by MultiPCM
- an alternative approach is in place
2025-09-14 14:21:31 -05:00
cam900
957b57f3d9 Add primary MultiPCM support
Partially revert previous commit
Add notifyInsAddition in dispatch for instrument addition
Refresh sample memory when instrument type changed
Fix naming for consistency
Also, this commit fixes a some possible issue in MultiPCM on openMSX core.
Chip ID: Already determined
2025-08-29 16:24:32 +09:00
cam900
bd8d9a56a0 Prepare to add hasSamplePtrHeader and hasSampleInstHeader in dispatch (WIP)
for refresh sample memory when loop/end pointer and instrument parameter changed. Also, this PR has minor code style fixes and add warning in MultiPCM sample map usage.
2025-08-27 22:52:19 +09:00
tildearrow
aa7ab87b21 fix memory corruption when deleting unused samples 2025-08-14 04:03:16 -05:00
tildearrow
387d9e0654 breaking the limit, part 2
all dispatches adapted to 32768 samples.
sample limit unlocked.
testing is required.
2025-07-27 20:16:59 -05:00
tildearrow
98030de8c7 dev233 - breaking the limit, part 1
now up to 32768 wavetables and 32768 samples

this is the first part and does not implement the new sample limit correctly
I have to adapt every dispatch to the new limit... see you in the next part

the format version had to be bumped because the WL and SL .fui features were limited to 256 entries
there are new LW and LS blocks with more space
howwver there's a new issue... we can have a feature larger than 65536, which is a limit imposed by the feature header :<
this will be addressed though
2025-07-26 18:48:23 -05:00
tildearrow
83f97a794f actually set the correct hint for SDL audio driver
issue #2545
2025-06-25 16:46:05 -05:00
tildearrow
032ff82955 fix low quality not working in acquireDirect
performance may be reduced
2025-04-07 23:12:27 -05:00
tildearrow
c064cf089d prepare to fix pitch linearity issues 2025-04-01 14:11:45 -05:00
tildearrow
13b56870ec new demo song
by ALTMUS
2025-03-29 22:26:00 -05:00
tildearrow
1642646899 GUI: fix when using groove 2025-03-11 04:15:14 -05:00
tildearrow
ad8d1b5060 GUI: improve note input timing
during playback, it rounds to nearest cell now
this greatly enhances the recording experience

to-do: test on higher latencies and see if we have to compensate somehow...
2025-03-11 04:03:05 -05:00
tildearrow
dd7e1def3d new chan osc work in progress 2025-03-01 05:05:50 -05:00
Natt Akuma
b084b5f977 Add a missing chrono include
This fixes MSVC v143 build failure
2025-02-20 05:33:06 +07:00
ExecThTs
63c98baf8e fix playback head when partially previewing a sample 2025-02-11 04:59:48 -05:00
tildearrow
9dee51851f prepare for proper center rate
the correct rate is 8372Hz rather than 8363Hz
sadly this will require a compat flag so I am not making this change
effective until 0.7

issue #2347
2025-02-06 02:14:21 -05:00
tildearrow
00ad4e4a46 update copyright year 2025-01-28 18:49:19 -05:00
Natt Akuma
cf3d08ca5a Add fixed octave for block+fnum systems
This isn't implemented in SAA1099, despite also being block+fnum system, as there are no benefits from it
2025-01-09 03:51:14 +07:00
yohannd1
32ea140a61 wave+sample drag&drop, and supporting swap via ctrl-drag 2024-12-19 15:51:21 -03:00
yohannd1
6ffc495c81 instrument swap implemented (thanks to @Eknous-P) 2024-12-19 15:04:10 -03:00
tildearrow
79167c382f possibly fix timer issues
issue #2189
2024-12-09 13:56:20 -05:00
tildearrow
826d1730e0 fix possible ins create type error
when cursor is outside
2024-11-08 03:19:49 -05:00
tildearrow
ac95c05878 SID3: store ins data 2024-09-16 03:09:56 -05:00
tildearrow
47f36f99d9 Merge branch 'master' into SID3 2024-09-13 23:46:13 -05:00
Eknous
8d81ef87b8
channel mask for user presets (#2135)
* user presets channel mask

* update tooltip, mask generator helper thing

* better tooltip

* yea this is better

* update doc

* apply to all subsongs
2024-09-02 15:39:35 -05:00
LTVA1
6e44607ca6
Merge branch 'tildearrow:master' into SID3 2024-08-26 09:40:23 +03:00
tildearrow
b948590a43 change names of single tick effects
to prevent confusion
issue #2063
2024-08-25 16:14:24 -05:00
LTVA1
3bf0c108f8
Merge branch 'master' into SID3 2024-08-25 13:34:19 +03:00
tildearrow
0ab9f6c6fd more.... 2024-08-24 17:41:41 -05:00
LTVA1
12bd2d3829 Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-24 19:15:27 +03:00
Adam Lederer
310ad13916 volume portamento (vol porta) on D3xx and D4xx (D4 is fast version, rate * 256) 2024-08-23 10:50:13 -07:00
LTVA1
093b1fe4dc
Merge branch 'tildearrow:master' into SID3 2024-08-22 14:17:34 +03:00
LTVA1
a4dae5302b account for fadeout length, optimize some progress bar calc 2024-08-22 03:17:35 -05:00
LTVA1
d79bad195a looks like it works, no account for fadeout tho 2024-08-22 03:17:35 -05:00
LTVA1
b6ecd79ffa Merge branch 'master' of https://github.com/tildearrow/furnace into SID3 2024-08-14 21:19:12 +03:00
LTVA1
7c324ec39d naive channel pair refactor (dumb replace one pair with vector of pairs) 2024-08-14 20:01:16 +03:00