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.

70 lines
1.9 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef SND_MIXGROUP_MANAGER_H
  8. #define SND_MIXGROUP_MANAGER_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. enum MXRMixGroupFields_t
  13. {
  14. MXR_MIXGROUP_NONE = 0,
  15. MXR_MIXGROUP_VOL,
  16. MXR_MIXGROUP_LEVEL,
  17. MXR_MIXGROUP_DSP,
  18. MXR_MIXGROUP_SOLO,
  19. MXR_MIXGROUP_MUTE
  20. };
  21. struct mixervalues_t
  22. {
  23. //public:
  24. float volume;
  25. float level;
  26. float dsp;
  27. mixervalues_t(void)
  28. {
  29. volume = 1.0;
  30. level = 1.0;
  31. dsp = 1.0;
  32. }
  33. };
  34. void MXR_SetSoloActive(void);
  35. bool MXR_LoadAllSoundMixers( void );
  36. void MXR_ReleaseMemory( void );
  37. int MXR_GetMixGroupListFromDirName( const char *pDirname, byte *pList, int listMax );
  38. bool MXR_IsMusicGroup( int ruleIndex );
  39. void MXR_GetMixGroupFromSoundsource( channel_t *pchan );
  40. void MXR_GetValuesFromMixGroupIndex( mixervalues_t *mixValues, int imixgroup );
  41. void MXR_GetVolFromMixGroup( channel_t *ch, mixervalues_t *mixValues, int *plast_mixgroupid );
  42. char *MXR_GetGroupnameFromId( int mixgroupid );
  43. int MXR_GetMixgroupFromName( const char *pszgroupname );
  44. int MXR_GetFirstValidMixGroup( channel_t *pChannel );
  45. void MXR_DebugShowMixVolumes( void );
  46. #ifdef _DEBUG
  47. void MXR_DebugSetMixGroupVolume( const CCommand &args );
  48. #endif //_DEBUG
  49. static void MXR_SetSoundMixer( const CCommand &args );
  50. static void MXR_ListMixGroups( const CCommand &args );
  51. void MXR_UpdateAllDuckerVolumes( void );
  52. // // sound mixers
  53. // int g_csoundmixers = 0; // total number of soundmixers found
  54. // extern int g_cgrouprules; // total number of group rules found
  55. // int g_cgroupclass = 0;
  56. int MXR_GetMixLayerIndexFromName( const char *szmixlayername );
  57. void S_SetMixGroupOfMixLayer( int nMixGroupIndex, int nMixLayerIndex, MXRMixGroupFields_t nMixGroupField, float flValue );
  58. #endif // SND_MIXGROUP_MANAGER_H