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
|
18f01bcd48
|
Switch back to std::list as a kneejerk fix for AsyncTaskQueue .
|
2022-07-13 22:26:59 -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
|
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
|
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 |
|
Thomas Harte
|
7f33a5ca0c
|
Simplify: (i) repetitive type for TaskList ; (ii) unnecessary unique_ptr .
|
2022-06-02 17:02:36 -04:00 |
|
Thomas Harte
|
e389dcb912
|
Further simplify syntax.
|
2022-06-02 16:52:03 -04:00 |
|
Thomas Harte
|
9d278d80f1
|
Remove redundant reset .
|
2022-06-02 16:50:59 -04:00 |
|
Thomas Harte
|
e994910ff6
|
Switch to unique_ptr .
|
2022-06-02 16:46:41 -04:00 |
|
Thomas Harte
|
93679f8d48
|
Reduce potential surprise in DeferringAsyncTaskQueue::flush.
|
2022-06-02 12:50:45 -04:00 |
|
Thomas Harte
|
d18a537509
|
Fiddles with the preprocessor to make kiosk mode match other OSes even on macOS.
|
2021-06-13 19:28:05 -04:00 |
|
Thomas Harte
|
495024d6fe
|
Cleans up all redundant lock/unique_guard declarations.
|
2020-06-15 00:24:10 -04:00 |
|
Thomas Harte
|
3729bddb2a
|
Farewell, BestEffortUpdater.
|
2020-05-09 21:48:04 -04:00 |
|
Thomas Harte
|
5caf74b930
|
Corrects typo.
|
2020-02-04 22:24:37 -05:00 |
|
Thomas Harte
|
3aa2c297a2
|
Adds feedback to the best-effort updater; enables the Cocoa port for audio event requests.
|
2020-01-20 17:38:25 -05:00 |
|
Thomas Harte
|
290db67f09
|
Adds a forward route for event flags. Doesn't yet account for extra time expended.
|
2020-01-20 17:09:01 -05:00 |
|
Thomas Harte
|
4de121142b
|
Adds a flags parameter to the BestEffortUpdater delegate.
On the Cocoa side, cuts Swift out of the update loop, as that seems merely to add code.
|
2020-01-20 16:21:53 -05:00 |
|
Thomas Harte
|
8adb2283b5
|
Rewrites the best-effort updater to try to get better thread affinity.
|
2020-01-20 13:38:46 -05:00 |
|
Thomas Harte
|
0dae608da5
|
Embraces std::make_[unique/shared] in place of .reset(new .
|
2019-12-23 21:31:46 -05:00 |
|
Thomas Harte
|
05d77d3297
|
Also deploys make_unique/shared to avoid type repetition.
|
2019-12-21 23:52:04 -05:00 |
|
Thomas Harte
|
821d40fe74
|
Reinstitutes the cap on maximum updating time.
|
2018-05-16 21:42:05 -04:00 |
|
Thomas Harte
|
5d6b5d9f10
|
Eliminates all emdashes in cross-platform code.
|
2018-05-13 15:34:31 -04:00 |
|
Thomas Harte
|
0b771ce61a
|
Removes all instances of the copyright symbol.
|
2018-05-13 15:19:52 -04:00 |
|
Thomas Harte
|
f4097290c2
|
Made various corrections following a quick for-loop constness audit.
|
2018-04-30 22:23:57 -04:00 |
|
Thomas Harte
|
6656a08c60
|
Introduces missing #includes.
|
2018-03-23 18:05:51 -04:00 |
|
Thomas Harte
|
a301964bd0
|
Ensures all audio queues are fully merged before machine destruction.
Thereby avoids a race condition.
|
2018-03-22 21:59:19 -04:00 |
|
Thomas Harte
|
da3d65c18f
|
Devolves time to cycle conversion to machines.
Thereby avoids a whole bunch of complicated machinations that would otherwise have been required of the multimachine.
|
2018-03-21 22:18:13 -04:00 |
|
Thomas Harte
|
83f73c3f02
|
Installs additional safeguards against unsafe deconstruction.
|
2018-02-28 22:15:22 -05:00 |
|
Thomas Harte
|
ac80d10cd8
|
Separates the component parts of running an audio stream: task deferral, filtering and generation.
Walking towards improving opportunities for composition.
|
2017-12-17 21:26:06 -05:00 |
|
Thomas Harte
|
eb6b612052
|
Adds DeferringAsyncTaskQueue as a base concurrency primitive.
|
2017-12-15 22:14:09 -05:00 |
|
Thomas Harte
|
adb3811847
|
Ensures deterministic initial state for the atomic flag.
|
2017-11-13 22:51:42 -05:00 |
|
Thomas Harte
|
c45d4831ec
|
Introduces an SConstruct file and corrects those errors and warnings that arise in Ubuntu.
|
2017-11-08 22:36:41 -05:00 |
|
Thomas Harte
|
d37ec9e5b0
|
Attempts to ensure good behaviour if dealt an adjustable clock, and const s where possible.
|
2017-10-05 18:23:56 -04:00 |
|
Thomas Harte
|
ec202ed8be
|
Merge branch 'master' into C++BestEffortUpdater
|
2017-10-05 18:17:35 -04:00 |
|
Thomas Harte
|
f40e1fd840
|
Commutes the best-effort updater into C++11.
|
2017-10-05 18:09:58 -04:00 |
|
Thomas Harte
|
ea64125124
|
Added an explicit nilling, to help with debugging.
|
2017-08-13 22:15:25 -04:00 |
|
Thomas Harte
|
825b38850e
|
Removes non-idiomatic line break.
|
2017-07-22 17:30:58 -04:00 |
|
Thomas Harte
|
eb8a2de5d6
|
Settled definitively on flush as more communicative than synchronise (and slightly more locale neutral); culled some more duplication from the Z80.
|
2017-05-15 07:38:59 -04:00 |
|
Thomas Harte
|
e01f3f06c8
|
Completed curly bracket movement.
|
2017-03-26 14:34:47 -04:00 |
|
Thomas Harte
|
583db88299
|
Added a dispatch queue-powered Apple implementation of the async task queue, removed any mention of skip_samples in the AY since it isn't implemented.
|
2016-10-22 21:58:45 -04:00 |
|
Thomas Harte
|
4258401384
|
Implemented flush , added a call to it from the filter speaker's destructor, to ensure no race conditions on accessing the various bits of instance state there and below.
|
2016-10-19 21:15:04 -04:00 |
|
Thomas Harte
|
b7609d2bb4
|
Fixed a potential race condition and simplified generally.
|
2016-10-18 19:32:38 -04:00 |
|
Thomas Harte
|
4829b896f7
|
Documented the async task queue.
|
2016-10-07 17:18:46 -04:00 |
|
Thomas Harte
|
002e923cf1
|
Added shutdown logic.
|
2016-10-07 17:08:29 -04:00 |
|
Thomas Harte
|
e53455a936
|
Not having read the C++ synchronisation primitives before, this async task queue is probably incorrect. But nevertheless, let's have a quick go at employing it — in a hideously thread unsafe fashion — for audio generation. What can possibly go wrong?
|
2016-10-07 16:56:34 -04:00 |
|