1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 23:52:26 +00:00
Commit Graph

9851 Commits

Author SHA1 Message Date
Thomas Harte
b6f40fdcc7
Merge pull request #1067 from TomHarte/MachineLeak
macOS: Avoid likely leak of machines.
2022-07-15 15:36:21 -04:00
Thomas Harte
3de1e762b7 Avoid retain cycles. 2022-07-15 15:22:12 -04:00
Thomas Harte
ee7ef81054 Avoid potential attempt to free enqueued buffers at dealloc. 2022-07-15 15:21:58 -04:00
Thomas Harte
bae47fca20 Free buffers before disposing of queue. 2022-07-15 15:13:21 -04:00
Thomas Harte
41af76bed8 Fix variable name. 2022-07-15 15:13:03 -04:00
Thomas Harte
a7515fe156
Merge pull request #1066 from TomHarte/AudioAssert
macOS: Fix stereo buffering, various audio asserts.
2022-07-15 14:44:55 -04:00
Thomas Harte
60f997a52c Fix stereo buffering, various audio asserts. 2022-07-14 21:59:40 -04:00
Thomas Harte
f465fe65f4
Merge pull request #1061 from TomHarte/MacintoshPixels
Microtweak: simplify Macintosh pixel serialisation.
2022-07-14 18:54:10 -04:00
Thomas Harte
3d6ce6c13f
Merge pull request #1065 from TomHarte/QueueShakeup
Consolidate/simplify queue classes.
2022-07-14 18:53:59 -04:00
Thomas Harte
bf03bda314 Generalise AsyncTaskQueue, DeferringAsyncTaskQueue and AsyncUpdater into a single template. 2022-07-14 16:39:26 -04:00
Thomas Harte
126838e7c7 Thanks to std::swap and move semantics, there's no need for indirection here. 2022-07-14 15:52:31 -04:00
Thomas Harte
8310b40812
Merge pull request #1064 from TomHarte/FewerAudioAllocations
macOS: perform audio buffer allocations ahead of time.
2022-07-14 14:58:51 -04:00
Thomas Harte
9133e25a7b Allocate buffers once, ahead of time, and reuse. 2022-07-14 14:44:10 -04:00
Thomas Harte
ddfc2e4ca4 Provide sample length ahead of time. 2022-07-14 14:34:11 -04:00
Thomas Harte
5aa129fbd3
Merge pull request #1063 from TomHarte/EventDriven
Switch macOS to an event-driven emulation.
2022-07-14 11:37:20 -04:00
Thomas Harte
18f01bcd48 Switch back to std::list as a kneejerk fix for AsyncTaskQueue. 2022-07-13 22:26:59 -04:00
Thomas Harte
4c031bd335 Don't use kAudioQueueProperty_IsRunning as it seems not to be trustworthy. 2022-07-13 22:22:19 -04:00
Thomas Harte
79f8cab5e2 Attempt to reduce memory allocations. 2022-07-13 21:41:04 -04:00
Thomas Harte
92efad4970 Switch to std::vector. 2022-07-13 21:36:01 -04:00
Thomas Harte
6a509c1280 Improve comments, marginally reduce dynamic_casting. 2022-07-13 18:36:40 -04:00
Thomas Harte
dcb68c16fe Eliminate AudioQueueBufferMaxLength. 2022-07-13 15:24:43 -04:00
Thomas Harte
75f3f1a77f Avoid the whole thread hop for a zero-length run_for. 2022-07-13 15:05:34 -04:00
Thomas Harte
10108303e7 Eliminate AudioQueueStop, which is very slow, use AudioQueueStart only as required. 2022-07-13 15:04:58 -04:00
Thomas Harte
b7ad94c676 Attempt to get a bit more rigorous in diagnosing queue stoppages. 2022-07-12 21:43:33 -04:00
Thomas Harte
1c537a877e Remove unnecessary lock. 2022-07-12 16:22:19 -04:00
Thomas Harte
0270997acd Add insurance against calls before setup. 2022-07-12 16:03:09 -04:00
Thomas Harte
4b9d92929a Tweak logic. 2022-07-12 16:02:30 -04:00
Thomas Harte
5b69324ee9 Tidy up comments. 2022-07-12 15:58:16 -04:00
Thomas Harte
cce449ba8f Merge branch 'master' into EventDriven 2022-07-12 15:06:52 -04:00
Thomas Harte
df15d60b9e Switch to AudioQueueNewOutputWithDispatchQueue, reducing runloop contention. 2022-07-12 15:03:35 -04:00
Thomas Harte
a0e01d4c34 Add overt flushes to the SDL target. 2022-07-12 11:03:58 -04:00
Thomas Harte
59da143e6a Add overt flushes to the SDL target. 2022-07-12 10:57:22 -04:00
Thomas Harte
4ddbf095f3 Fully banish flush from the processors. 2022-07-12 10:49:53 -04:00
Thomas Harte
4e9ae65459 Reintroduce sync matching. 2022-07-12 09:56:13 -04:00
Thomas Harte
d16dc3a5d7 Move limit up to 20fps. 2022-07-12 07:45:07 -04:00
Thomas Harte
a1544f3033 Do a better job of keeping the queue populated. 2022-07-11 20:50:02 -04:00
Thomas Harte
f2fb9cf596 Avoid unnecessary queue jump. 2022-07-10 21:35:05 -04:00
Thomas Harte
6dabdaca45 Switch to int; attempt to do a better job of initial audio filling. 2022-07-09 13:33:46 -04:00
Thomas Harte
51ed3f2ed0 Reduce modal-related thread hopping. 2022-07-09 13:03:45 -04:00
Thomas Harte
b097b1296b Adopt granular flushing widely. 2022-07-08 16:04:32 -04:00
Thomas Harte
b03d91d5dd Permit granular specification of what to flush. 2022-07-08 15:38:29 -04:00
Thomas Harte
cf5c6c2144
Merge pull request #1062 from TomHarte/6502BRK
Correct 6502 for switched BRK presumption.
2022-07-08 11:24:23 -04:00
Thomas Harte
3a2d27a636 Correct for switched BRK presumption. 2022-07-08 11:15:48 -04:00
Thomas Harte
5c3084c37c Fix construction order. 2022-07-07 20:09:37 -04:00
Thomas Harte
07ce0f0133 Attempt safe shutdown. 2022-07-07 16:56:10 -04:00
Thomas Harte
96189bde4b Loop the Master System into the experiment. 2022-07-07 16:46:08 -04:00
Thomas Harte
fc0dc4e5e2 Amiga only, temporarily: attempt to reduce audio maintenance costs. 2022-07-07 16:41:49 -04:00
Thomas Harte
3e2a6ef3f4 Hacks up an [unsafe] return to something best-effort-updater-esque.
For profiling, mainly.
2022-07-07 16:35:45 -04:00
Thomas Harte
01a309909b Elide actions when running behind. 2022-07-07 11:10:54 -04:00
Thomas Harte
7886c2df7a Start experimenting with a more event-based approach to timing. 2022-07-07 10:48:42 -04:00