You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
875 B
34 lines
875 B
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef IWAVEOUT_H
|
||
|
#define IWAVEOUT_H
|
||
|
#pragma once
|
||
|
|
||
|
|
||
|
// Interface by the voice_tweak app for simple wave output. You must extern a
|
||
|
// specific factory function to create and initialize an instance.
|
||
|
class IWaveOut
|
||
|
{
|
||
|
public:
|
||
|
virtual ~IWaveOut() {}
|
||
|
virtual void Release() = 0;
|
||
|
|
||
|
// Give it samples to mix into the output. The input samples are 16-bit signed mono.
|
||
|
virtual bool PutSamples(short *pSamples, int nSamples) = 0;
|
||
|
|
||
|
// Do idle time processing.
|
||
|
virtual void Idle() = 0;
|
||
|
|
||
|
// Returns the number of samples you've put that haven't been played yet (sitting in the buffer
|
||
|
// waiting to be played).
|
||
|
virtual int GetNumBufferedSamples() = 0;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // IWAVEOUT_H
|