env_microphone
class hierarchy |
---|
CEnvMicrophone defined in envmicrophone.cpp
|
env_microphone
is a point entity available in all Source games. It acts as a microphone. In "Speaker mode", it picks up sound and rebroadcasts it at a Speaker target. It ignores the Hears X spawnflags and does not fire the SoundLevel output. In "Measuring mode", it measures the sound level at a Measure target and outputs the sound level as a value between 0 and 1. It only hears sounds that match the Hears X spawnflags.
Contents
Flags
- [
1
] : Hears combat sounds
- [
2
] : Hears world sounds
- [
4
] : Hears player sounds
- [
8
] : Hears bullet impacts
- [
16
] : Swallows sounds routed through speakers
- Note:In speaker mode, sounds heard by the microphone will not play from their source, instead only being heard through this microphone's speaker.
- [
32
] : Hears explosions
- [
64
] : Ignores non-attenuated sounds
Keyvalues
Targetname:
- Name
(targetname)
<string> - The targetname that other entities refer to this entity by.
- Speaker target
(SpeakerName)
<targetname> - The name of an
info_target
at which to play any sounds heard by this microphone. If specified, the microphone will consider itself in Speaker mode. This should not be anenv_speaker
. - Bug:If the speaker entity is moving, sounds will start playing at the correct position, but they will not follow the speaker as they continue playing.
- Note: If multiple
info_target
with the same name are referenced only one will output sounds.
- Measure target
(target)
<targetname> - If the speaker is in Measuring mode, this is the name of the entity where the sound level is to be measured.
- Listen Filter
(ListenFilter)
<filter> - The name of a filter entity which specifies the only entities the microphone can hear. Sounds emitted by other entities will not be heard.
- Speaker DSP Preset
(speaker_dsp_preset)
<choices> - Only useful in Speaker mode. If specified, sounds played back through speakers will be affected by the selected DSP.
- Bug:Having multiple
env_microphone
s with different DSP presets active at the same time will cause only one of the DSP presets to work, even if the microphones are nowhere near each other. This is because this entity just sets a ConVar calleddsp_speaker
.- 0: Use environment default
- 50: (No effect)
- 51: (No effect)
- 52: (No effect)
- 53: (No effect)
- 54: (No effect)
- 55: Loud speaker
- 56: Very small speaker
- 57: Echoing speaker
- 58: Small speaker
- 59: Tiny speaker
- Note:This keyvalue can also use the settings seen on the DSP page.
- Sensitivity (0-10)
(Sensitivity)
<float> - Sensitivity in measuring mode. 1 is normal, and anything between there and 10 is increasingly sensitive.
- Smoothing (0-1)
(SmoothFactor)
<float> - How much to smooth the output value of measuring mode.
- Maximum hearing range (0=infinite)
(MaxRange)
<float> - Sounds beyond this range won't be heard.
- Warning:setting this to 0, or greater 1024 when the microphone is in Speaker mode can be very bad for performance!
EnableDisable:
- Start Disabled
(StartDisabled)
<boolean> - Stay dormant until activated (with the
Enable
input).
Inputs
SetSpeakerName
<targetname>- Sets the
info_target
through which the microphone should emit what it hears.
EnableDisable:
Enable
Disable
- Enable/disable this entity from performing its task. It might also disappear from view.
Outputs
SoundLevel
<float>- Fired in Measuring mode whenever the sound level changes.
OnRoutedSound
- Fired whenever a sound is routed out through the specified speaker (if any).
OnHeardSound
- Fired whenever this microphone hears any sound it cares about.