Thomas Harte
|
7b1708f0bc
|
Gets explicit that the delegate_ doesn't need a memory barrier.
|
2020-07-31 18:21:47 -04:00 |
|
Thomas Harte
|
495024d6fe
|
Cleans up all redundant lock/unique_guard declarations.
|
2020-06-15 00:24:10 -04:00 |
|
Thomas Harte
|
267006782f
|
Starts to add Qt target; resolves many build warnings.
|
2020-05-30 00:37:06 -04:00 |
|
Thomas Harte
|
c41028cdc7
|
Adds further exposition.
|
2020-05-10 00:44:03 -04:00 |
|
Thomas Harte
|
25996ce180
|
Further doubles down on construction syntax for type conversions.
|
2020-05-09 23:00:39 -04:00 |
|
Thomas Harte
|
eed357abb4
|
Introduces concept of 'average peak volume' in order better to normalise audio sources like the OPLL.
|
2020-05-09 17:57:21 -04:00 |
|
Thomas Harte
|
b0abc4f7bb
|
Implements enough wiring that the Master System will instantiate and talk to an OPLL.
|
2020-04-03 20:05:36 -04:00 |
|
Thomas Harte
|
9087bb9b08
|
Allows audio volume to be set.
|
2020-03-21 22:00:47 -04:00 |
|
Thomas Harte
|
a5e1765ce4
|
Eliminates potential race conditions on validity of delegate_ .
|
2020-02-18 20:33:31 -05:00 |
|
Thomas Harte
|
545a6177bb
|
Makes CompoundSource mono/stereo-aware.
|
2020-02-16 18:45:36 -05:00 |
|
Thomas Harte
|
50d356be2f
|
Ensures all audio sources, including compound sources, announce whether they're stereo correctly.
|
2020-02-16 18:31:45 -05:00 |
|
Thomas Harte
|
9835e800ec
|
Fixed: individual audio generators now either are or are not stereo. The speaker acts accordingly.
|
2020-02-16 18:28:03 -05:00 |
|
Thomas Harte
|
90856a0e7a
|
Adds mixdown/up capability to Speaker.
To deal with occasions when the host machine just always is either mono or stereo, and the emulated machine must cope.
|
2020-02-16 13:50:18 -05:00 |
|
Thomas Harte
|
d55d077a95
|
Fixes the input buffer partial-keep step in stereo.
|
2020-02-16 00:20:22 -05:00 |
|
Thomas Harte
|
e66a3523b6
|
Makes some attempt at stereo support, with the Amstrad CPC being the test case.
|
2020-02-15 18:55:19 -05:00 |
|
Thomas Harte
|
e02d109864
|
Nudges the LowpassSpeaker towards supporting stereo generation.
|
2020-02-15 18:03:12 -05:00 |
|
Thomas Harte
|
49b8e771b5
|
Adds the messaging that would allow a Speaker to output stereo, semantically.
|
2020-02-15 13:40:19 -05:00 |
|
Thomas Harte
|
6bda4034c6
|
Ensures no input data is dropped when changing output rates.
I think this 'completely' deals with the problem. At least until someone wants dynamic output buffer sizes or something like that. We'll see.
|
2020-02-09 19:14:25 -05:00 |
|
Thomas Harte
|
6ae42d07a7
|
Retains existing output when switching filter coefficients.
This eliminates an issue with dynamic rate matching and throwing away the beginnings of buffers.
|
2020-02-09 16:42:07 -05:00 |
|
Thomas Harte
|
b5d6126a2d
|
Avoids unnecessary filter recalculation.
|
2020-02-09 16:32:32 -05:00 |
|
Thomas Harte
|
b514756272
|
Adds the option to run machines at a multiple of their real speeds.
Exposed to SDL users only, for now.
|
2020-01-26 13:25:23 -05:00 |
|
Thomas Harte
|
cb61e84868
|
Starts building out higher-level run_until functionality.
Specifically: you can now run until the next set of speaker samples has been delivered.
|
2020-01-20 12:12:23 -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
|
1c154131f9
|
Expands size of storage in Cycles/HalfCycles; adjusts widely to compensate.
|
2019-10-29 22:36:29 -04:00 |
|
Thomas Harte
|
19198ea665
|
Improves const usage.
|
2019-07-16 22:13:47 -04:00 |
|
Thomas Harte
|
60cedca97b
|
Adds cmath in support of ceilf .
|
2019-07-08 18:14:03 -04:00 |
|
Thomas Harte
|
0b771ce61a
|
Removes all instances of the copyright symbol.
|
2018-05-13 15:19:52 -04:00 |
|
Thomas Harte
|
074b4c3500
|
Eliminates repeating cause of misuse.
Raises the question as to whether an async task queue should be required at construction; let's see how things look as the project develops.
|
2018-04-21 15:01:18 -07:00 |
|
Thomas Harte
|
10f637d2cf
|
Enhances the CompoundSource so that constituents can have different volumes.
|
2018-04-07 14:30:02 -04:00 |
|
Thomas Harte
|
dbe3c5c3f8
|
Ensures artificial frequency limits are honoured.
|
2018-04-05 18:40:07 -04:00 |
|
Thomas Harte
|
3d0c832a21
|
Moves all LowpassSpeaker delegate calls outside of critical sections.
|
2018-03-22 19:01:20 -04:00 |
|
Thomas Harte
|
682c3d8079
|
Adds new hook for watching audio output rate changes.
|
2018-03-22 09:23:01 -04:00 |
|
Thomas Harte
|
48737a32a7
|
Introduces formal setting of the output volume to SampleSource .
Previously every output device was making its own decision. Which is increasingly less sustainable due to the CompoundSource.
|
2018-03-09 13:23:18 -05:00 |
|
Thomas Harte
|
3c5a8d9ff3
|
Adds Super Game Module support for the ColecoVision.
|
2018-03-03 13:08:33 -05:00 |
|
Thomas Harte
|
c12aaea747
|
Attempts to get as far as running the MultiMachine.
In doing so, fixes the long-standing bug that machines that output audio but don't have a listener produce a divide by zero.
|
2018-01-30 22:23:06 -05:00 |
|
Thomas Harte
|
3e1d8ea082
|
Adds is_silent to SampleSource plus shortcut processing to CompoundSource .
|
2018-01-06 18:50:26 -05:00 |
|
Thomas Harte
|
2d892da225
|
Introduces the MSX keyboard toggle sample source.
In support of which, it also introduces a means of sample source composition.
|
2017-12-19 21:08:10 -05:00 |
|
Thomas Harte
|
2dc1d4443e
|
Separates LowpassFilter and SampleSource.
|
2017-12-18 21:39:23 -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 |
|