Counter Strike : Global Offensive Source Code
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.

50 lines
940 B

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef PHONEMEEXTRACTOR_H
  8. #define PHONEMEEXTRACTOR_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "interface.h"
  13. class CSentence;
  14. typedef enum
  15. {
  16. SPEECH_API_SAPI = 0,
  17. SPEECH_API_LIPSINC,
  18. } PE_APITYPE;
  19. typedef enum
  20. {
  21. SR_RESULT_NORESULT = 0,
  22. SR_RESULT_ERROR,
  23. SR_RESULT_SUCCESS,
  24. SR_RESULT_FAILED
  25. } SR_RESULT;
  26. abstract_class IPhonemeExtractor
  27. {
  28. public:
  29. virtual PE_APITYPE GetAPIType() const = 0;
  30. // Used for menus, etc
  31. virtual char const *GetName() const = 0;
  32. virtual SR_RESULT Extract(
  33. const char *wavfile,
  34. int numsamples,
  35. void (*pfnPrint)( const char *fmt, ... ),
  36. CSentence& inwords,
  37. CSentence& outwords ) = 0;
  38. };
  39. #define VPHONEME_EXTRACTOR_INTERFACE "PHONEME_EXTRACTOR_001"
  40. #endif // PHONEMEEXTRACTOR_H