FakeMonowavePlatform class

An in-memory MonowavePlatform.

This fake records each request and answers with canned values. As a result, a test asserts on the request and not on bytes that the test must decode.

Implemented types

Constructors

FakeMonowavePlatform({int abi = 1})

Properties

abi int
What abiVersion reports.
getter/setter pair
bytePlaybacks List<(int, WaveformDocument)>
Every byte-playback requested, as (byteLength, document).
final
byteRenders List<(int, WaveformDocument)>
Every byte-render requested, as (byteLength, document).
final
decoded Map<Object, WaveformPeaks>
The peaks that the decode methods return, keyed by path or by byte length. An input that is not in this map gets defaultPeaks.
final
decodeRequests List<Object>
Every path passed to decodeFile, and every byte length passed to decodeBytes, in order.
final
defaultPeaks WaveformPeaks Function()
If the input is not in decoded, the decode returns this value. The default is two seconds of silence at 44.1 kHz.
getter/setter pair
exports List<(String, String, WaveformDocument)>
Every export requested, as (sourcePath, outputPath, document).
final
hashCode int
The hash code for this object.
no setterinherited
initializeCount int
How many times a caller awaited ensureInitialized. This count shows a host that loads the C core on every build instead of one time only.
getter/setter pair
nextCaptureError Object?
If a test sets this field, openCapture throws it and opens no session.
getter/setter pair
nextDecodeError Object?
If a test sets this field, the next decode of either kind throws it.
getter/setter pair
nextExportError Object?
If a test sets this field, the next export throws it.
getter/setter pair
nextPlaybackError Object?
If a test sets this field, openPlayback throws it and opens no session.
getter/setter pair
nextRender Int16List?
What renderPcm returns. The default is silence with one frame for each source frame that the document describes. As a result, a host can assert on the length with no need to synthesize audio.
getter/setter pair
nextRenderError Object?
If a test sets this field, the next render throws it.
getter/setter pair
nextResult MinMax?
If a test sets this field, reduceMinMax returns it and does not reduce the samples.
getter/setter pair
playbacks List<FakePlaybackSession>
The sessions that openPlayback returns, newest last.
final
reductions List<Int16List>
Every window passed to reduceMinMax, in order.
final
renders List<(String, WaveformDocument)>
Every render requested, as (sourcePath, document).
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sessions List<FakeCaptureSession>
The sessions that openCapture returns, newest last.
final

Methods

abiVersion() int
The ABI version of the C core. Each time a signature in src/ changes, this version increases.
override
decodeBytes(Uint8List bytes, {int baseSamplesPerPixel = 128}) Future<WaveformPeaks>
This method decodes a container that is already in memory. On web, this method is the only decode path.
override
decodeFile(String path, {int baseSamplesPerPixel = 128}) Future<WaveformPeaks>
This method decodes the audio file at path into a peak pyramid.
override
ensureInitialized() Future<void>
If the C core is not loaded already, this method loads it. A second call does nothing.
override
exportWav({required String sourcePath, required String outputPath, required WaveformDocument document}) Future<void>
This method reads from sourcePath and writes document to outputPath as 16-bit PCM WAV.
override
install() → void
Installs this fake as the platform. Call uninstall in tearDown.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openCapture([CaptureConfig config = const CaptureConfig()]) Future<CaptureSession>
This method opens a microphone capture session.
override
openPlayback({required String sourcePath, required WaveformDocument document}) Future<PlaybackSession>
This method reads from sourcePath and opens a playback session over document.
override
openPlaybackBytes({required Uint8List bytes, required WaveformDocument document}) Future<PlaybackSession>
This method opens a playback session over bytes that are already in memory.
override
reduceMinMax(Int16List samples) MinMax
This method reduces samples to the pair of extremes that the samples span.
override
renderPcm({required String sourcePath, required WaveformDocument document}) Future<Int16List>
This method renders document to 16-bit PCM and writes no file.
override
renderPcmBytes({required Uint8List bytes, required WaveformDocument document}) Future<Int16List>
This method renders document to 16-bit PCM from bytes that are already in memory.
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

uninstall() → void