MPMA Framework 0.4
|
Combines two mono sources into a stereo source. More...
#include <Source.h>
Public Member Functions | |
MonoToStereoSource (std::shared_ptr< Source > sourceLeft, std::shared_ptr< Source > sourceRight) | |
Constructs a stereo source that combines two mono sources together to form a left and right channel. The sources passed in will be duplicated, so the originals may be freed after the call. If the sources are different lengths, silence will fill in the last portion of the shorter source. | |
virtual nuint | FillData (void *data, nuint maxSamples) |
Instructs the data source to write in the next maxSamples worth of data. It should return how many samples were actually written. If less samples than requested were returned and GetRemainingSamples still returns that there is data left, this may be called multiple times consecutively. All sound samples must be 16-bit signed values. Stereo samples must be interleaved, with the left channel first. | |
virtual nuint | GetRemainingSamples () const |
This must return the number of samples left to be read, or 0 if all data has been read. For stereo sources, a single sample includes both left and right channel data. It may also return FINITE_DATA or INFINITE_DATA. | |
virtual bool | IsStereo () const |
Returns whether the sound is stereo. Stereo sources will have their output collpased to mono if they are used with 3D positioning. The value returned from this must remain constant for any given instance. | |
virtual nuint | GetSampleRate () const |
Returns the number of samples per second that should be played under normal conditions. The value returned from this must remain constant for any given instance. | |
virtual void | Seek (nuint sampleNumber=0) |
Tells the data source to start returning samples from a specific position (not applicable to all sources). |
Combines two mono sources into a stereo source.