HARDT - The Ham Radio DSP Toolkit
Classes | Public Member Functions | Static Public Member Functions | List of all members
HSoundcardReader< T > Class Template Reference

#include <hsoundcardreader.h>

Inheritance diagram for HSoundcardReader< T >:
Inheritance graph
[legend]
Collaboration diagram for HSoundcardReader< T >:
Collaboration graph
[legend]

Public Member Functions

 HSoundcardReader (int device, H_SAMPLE_RATE rate, int channels, H_SAMPLE_FORMAT format, int blocksize=DEFAULT_BLOCKSIZE, HProbe< T > *probe=nullptr)
 
 ~HSoundcardReader ()
 
int Read (T *dest, size_t blocksize)
 
bool Command (HCommand *command)
 
- Public Member Functions inherited from HReader< T >
virtual ~HReader ()=default
 
HReader< T > * Reader ()
 
- Public Member Functions inherited from HObject
 HObject ()
 

Static Public Member Functions

static int callback (const void *inputBuffer, void *outputBuffer, unsigned long blocksize, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
 

Detailed Description

template<class T>
class HSoundcardReader< T >

Read sound from a soundcard

Constructor & Destructor Documentation

◆ HSoundcardReader()

template<class T >
HSoundcardReader< T >::HSoundcardReader ( int  device,
H_SAMPLE_RATE  rate,
int  channels,
H_SAMPLE_FORMAT  format,
int  blocksize = DEFAULT_BLOCKSIZE,
HProbe< T > *  probe = nullptr 
)

Construct a new HSoundcardReader

Parameters
deviceDevice id
rateSamplerate
channelsNumber of channels. If more than 1, then samples is returned multiplexed
formatSample format
blocksizeNumber of samples per chunk read
probeProbe

◆ ~HSoundcardReader()

template<class T >
HSoundcardReader< T >::~HSoundcardReader

Default destructor

Member Function Documentation

◆ callback()

template<class T >
int HSoundcardReader< T >::callback ( const void *  inputBuffer,
void *  outputBuffer,
unsigned long  blocksize,
const PaStreamCallbackTimeInfo *  timeInfo,
PaStreamCallbackFlags  statusFlags,
void *  userData 
)
static

Callback method, should only be called by the PortAudio layer

Parameters
inputBufferPointer to buffer containing incomming samples
outputBufferPointer to buffer where output samples should be placed (not relevant for reading)
blocksizeNumber of samples to read before calling this callback
timeInfoTiming information from PortAudio API layer
statusFlagsCallback flags for the PortAudio API layer
userDataPointer to a struct with user data (buffers, etc.)

◆ Command()

template<class T >
bool HSoundcardReader< T >::Command ( HCommand command)
inlinevirtual

Execute and/or pass on a command

Parameters
commandCommand

Implements HReader< T >.

◆ Read()

template<class T >
int HSoundcardReader< T >::Read ( T *  dest,
size_t  blocksize 
)
virtual

Read a block of samples from the soundcard

Parameters
destDestination buffer
blocksizeNumber of samples to read

Implements HReader< T >.


The documentation for this class was generated from the following files: