|
HARDT - The Ham Radio DSP Toolkit
|
#include <houtput.h>


Public Member Functions | |
| void | Ready (O *buffer, size_t blocksize) |
| void | Ready (O value) |
| void | Ready () |
| bool | Start () |
| bool | Stop () |
| HOutput () | |
| HOutput (HWriterConsumer< T > *consumer) | |
| HOutput (std::function< void(O *, size_t)> ready) | |
| HOutput (std::function< void(O *, size_t)> ready, HWriterConsumer< T > *consumer) | |
| HOutput (std::function< void(O)> ready) | |
| HOutput (std::function< void(O)> ready, HWriterConsumer< T > *consumer) | |
| HOutput (std::function< void()> ready) | |
| HOutput (std::function< void()> ready, HWriterConsumer< T > *consumer) | |
| HOutput (HWriter< O > *writer) | |
| HOutput (HWriter< O > *writer, HWriterConsumer< T > *consumer) | |
| HOutput (int chunksize) | |
| HOutput (int chunksize, HWriterConsumer< T > *consumer) | |
| HOutput (std::function< void(O *, size_t)> ready, int chunksize) | |
| HOutput (std::function< void(O *, size_t)> ready, int chunksize, HWriterConsumer< T > *consumer) | |
| HOutput (std::function< void(O)> ready, int chunksize) | |
| HOutput (std::function< void(O)> ready, int chunksize, HWriterConsumer< T > *consumer) | |
| HOutput (std::function< void()> ready, int chunksize) | |
| HOutput (std::function< void()> ready, int chunksize, HWriterConsumer< T > *consumer) | |
| HOutput (HWriter< O > *writer, int chunksize) | |
| HOutput (HWriter< O > *writer, int chunksize, HWriterConsumer< T > *consumer) | |
| int | WriteChunk (T *src, size_t blocksize) |
| virtual int | Output (T *src, size_t blocksize)=0 |
| void | SetWriter (HWriter< O > *writer) |
Public Member Functions inherited from HChunkWriter< T > | |
| int | Write (T *src, size_t blocksize) |
| HChunkWriter () | |
| HChunkWriter (int chunksize) | |
| int | GetChunksize () |
| virtual bool | Command (HCommand *command)=0 |
Public Member Functions inherited from HWriter< T > | |
| virtual | ~HWriter ()=default |
| HWriter< T > * | Writer () |
Public Member Functions inherited from HObject | |
| HObject () | |
Public Member Functions inherited from HWriterConsumer< O > | |
| HWriterConsumer< O > * | Consumer () |
The HOutput class is the base class for components that terminates a chain, such as the output of an DFFT calculation or a signal level indicator. An ouput may require a writer, but the data that the output writes is significant different, to the input samples written to the output. An fft calculation may require 4 blocks of 1024 samples, yet will only perform 1 write to a writer after having calculated the fft's and the averaged spectrum. The writer will then receive a write of length 1 and a pointer to the FFT result object.
For clarity, the HSoundcardWriter is not an HOutput since it actually outputs - allthough in a different physical form - the samples provided 1 to 1.
An HOutput class can be created with any writer, but very few writers will accept any datatype other than sample values in an integer format, so the most common way to use an output type is to provide a HCustomWWriter object which then calls a locally defined handler.
Internally, HOutput implements the HChunkWriter, so writes will be chunked to a size decided upon by the implementing class.
|
inline |
Construct a new HOutput that registers with an upstream writer
|
inline |
Construct a new HOutput that calls a function with a result pointer and the length of the result
|
inline |
Construct a new HOutput that calls a function with an int value
|
inline |
Construct a new HOutput that calls a function
|
inline |
Construct a new HOutput that writes a result to a writer
|
inline |
Construct a new HOutput that writes to a writer and registers with the upstream writer
Construct a new HOutput that processes input in chunks
|
inline |
Construct a new HOutput that processes input in chunks and registers with the upstream writer
|
inline |
Construct a new HOutput that processes input in chunks, then calls a function with a result object and the size of the object
|
inline |
Construct a new HOutput that processes input in chunks, then calls a function with a result object and the size of the object. The output registers with the upstream writer
|
inline |
Construct a new HOutput that processes input in chunks, then calls a function with a value
|
inline |
Construct a new HOutput that processes input in chunks, then calls a function with a value. The output registers with the upstream writer
|
inline |
Construct a new HOutput the processes input in chunks, then calls a function
|
inline |
Construct a new HOutput that processes input in chunks, then calls a function. The output registers with the upstream writer
|
inline |
Construct a new HOutput that processes input in chunks and writes the result to a writer
|
inline |
Construct a new HOutput that processes input in chunks and writes the result to a writer. The output registers with the upstream writer
|
pure virtual |
Process this chunk of samples
Implemented in HFftOutput< T >, HGoertzelOutput< T >, and HSignalLevelOutput< T >.
|
inline |
A result is ready, but no data is available (this behaves more like an event)
|
inline |
A result is ready, buffer has the result and the length of the result is given by blocksize
|
inline |
A result is ready, the result has the value given by value
Implements HWriterConsumer::SetWriter
Implements HWriterConsumer< O >.
|
inlinevirtual |
Initialize before first write
Reimplemented from HWriter< T >.
|
inlinevirtual |
Cleanup after last write
Reimplemented from HWriter< T >.
|
inlinevirtual |
Write a chunk of samples
Implements HChunkWriter< T >.
1.8.17