text: //========= Copyright Valve Corporation, All rights reserved. ============//
  //
  // Purpose: 
  //
  // $NoKeywords: $
  //=============================================================================//
  
  #ifndef PHONEMEEXTRACTOR_H
  #define PHONEMEEXTRACTOR_H
  #ifdef _WIN32
  #pragma once
  #endif
  
  #include "interface.h"
  
  class CSentence;
  
  typedef enum
  {
  	SPEECH_API_SAPI = 0,
  	SPEECH_API_LIPSINC,
  } PE_APITYPE;
  
  typedef enum
  {
  	SR_RESULT_NORESULT = 0,
  	SR_RESULT_ERROR,
  	SR_RESULT_SUCCESS,
  	SR_RESULT_FAILED
  } SR_RESULT;
  
  abstract_class IPhonemeExtractor
  {
  public:
  	virtual PE_APITYPE	GetAPIType() const = 0;
  
  	// Used for menus, etc
  	virtual char const *GetName() const = 0;
  
  	virtual SR_RESULT Extract( 
  		const char *wavfile,
  		int numsamples,
  		void (*pfnPrint)( PRINTF_FORMAT_STRING const char *fmt, ... ),
  		CSentence& inwords,
  		CSentence& outwords ) = 0;
  };
  
  #define VPHONEME_EXTRACTOR_INTERFACE		"PHONEME_EXTRACTOR_001"
  
  #endif // PHONEMEEXTRACTOR_H
  