public static MixerParameterDefinition[] GetEffectParameters(string effect) { MixerParameterDefinition[] result; foreach (MixerEffectDefinition current in MixerEffectDefinitions.s_MixerEffectDefinitions) { if (current.name == effect) { result = current.parameters; return(result); } } result = new MixerParameterDefinition[0]; return(result); }
public static void Refresh() { MixerEffectDefinitions.ClearDefinitions(); MixerEffectDefinitions.RegisterAudioMixerEffect("Attenuation", new MixerParameterDefinition[0]); MixerEffectDefinitions.RegisterAudioMixerEffect("Send", new MixerParameterDefinition[0]); MixerEffectDefinitions.RegisterAudioMixerEffect("Receive", new MixerParameterDefinition[0]); MixerParameterDefinition[] parameterDefinitionArray = new MixerParameterDefinition[7]{ new MixerParameterDefinition() { name = "Threshold", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = -80f, maxRange = 0.0f, defaultValue = -10f, description = "Threshold of side-chain level detector" }, new MixerParameterDefinition() { name = "Ratio", units = "%", displayScale = 100f, displayExponent = 1f, minRange = 0.2f, maxRange = 10f, defaultValue = 2f, description = "Ratio of compression applied when side-chain signal exceeds threshold" }, new MixerParameterDefinition() { name = "Attack Time", units = "ms", displayScale = 1000f, displayExponent = 3f, minRange = 0.0f, maxRange = 10f, defaultValue = 0.1f, description = "Level detector attack time" }, new MixerParameterDefinition() { name = "Release Time", units = "ms", displayScale = 1000f, displayExponent = 3f, minRange = 0.0f, maxRange = 10f, defaultValue = 0.1f, description = "Level detector release time" }, new MixerParameterDefinition() { name = "Make-up Gain", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = -80f, maxRange = 40f, defaultValue = 0.0f, description = "Make-up gain" }, new MixerParameterDefinition() { name = "Knee", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = 0.0f, maxRange = 50f, defaultValue = 10f, description = "Sharpness of compression curve knee" }, new MixerParameterDefinition() { name = "Sidechain Mix", units = "%", displayScale = 100f, displayExponent = 1f, minRange = 0.0f, maxRange = 1f, defaultValue = 1f, description = "Sidechain/source mix. If set to 100% the compressor detects level entirely from sidechain signal." } }; MixerEffectDefinitions.RegisterAudioMixerEffect("Duck Volume", parameterDefinitionArray); MixerEffectDefinitions.AddDefinitionRuntime("Duck Volume", parameterDefinitionArray); foreach (string audioEffectName in MixerEffectDefinitions.GetAudioEffectNames()) { MixerParameterDefinition[] effectParameterDesc = MixerEffectDefinitions.GetAudioEffectParameterDesc(audioEffectName); MixerEffectDefinitions.RegisterAudioMixerEffect(audioEffectName, effectParameterDesc); } }
public override bool GetFloatParameterInfo(string name, out float minRange, out float maxRange, out float defaultValue) { MixerParameterDefinition[] paramDefs = this.m_ParamDefs; for (int i = 0; i < paramDefs.Length; i++) { MixerParameterDefinition mixerParameterDefinition = paramDefs[i]; if (mixerParameterDefinition.name == name) { minRange = mixerParameterDefinition.minRange; maxRange = mixerParameterDefinition.maxRange; defaultValue = mixerParameterDefinition.defaultValue; return(true); } } minRange = 0f; maxRange = 1f; defaultValue = 0.5f; return(false); }
public static void Refresh() { ClearDefinitions(); RegisterAudioMixerEffect("Attenuation", new MixerParameterDefinition[0]); RegisterAudioMixerEffect("Send", new MixerParameterDefinition[0]); RegisterAudioMixerEffect("Receive", new MixerParameterDefinition[0]); var duckVolDef = new MixerParameterDefinition[7]; duckVolDef[0] = new MixerParameterDefinition { name = "Threshold", units = "dB", displayScale = 1.0f, displayExponent = 1.0f, minRange = -80.0f, maxRange = 0.0f, defaultValue = -10.0f, description = "Threshold of side-chain level detector" }; duckVolDef[1] = new MixerParameterDefinition { name = "Ratio", units = "%", displayScale = 100.0f, displayExponent = 1.0f, minRange = 0.2f, maxRange = 10.0f, defaultValue = 2.0f, description = "Ratio of compression applied when side-chain signal exceeds threshold" }; duckVolDef[2] = new MixerParameterDefinition { name = "Attack Time", units = "ms", displayScale = 1000.0f, displayExponent = 3.0f, minRange = 0.0f, maxRange = 10.0f, defaultValue = 0.1f, description = "Level detector attack time" }; duckVolDef[3] = new MixerParameterDefinition { name = "Release Time", units = "ms", displayScale = 1000.0f, displayExponent = 3.0f, minRange = 0.0f, maxRange = 10.0f, defaultValue = 0.1f, description = "Level detector release time" }; duckVolDef[4] = new MixerParameterDefinition { name = "Make-up Gain", units = "dB", displayScale = 1.0f, displayExponent = 1.0f, minRange = -80.0f, maxRange = 40.0f, defaultValue = 0.0f, description = "Make-up gain" }; duckVolDef[5] = new MixerParameterDefinition { name = "Knee", units = "dB", displayScale = 1.0f, displayExponent = 1.0f, minRange = 0.0f, maxRange = 50.0f, defaultValue = 10.0f, description = "Sharpness of compression curve knee" }; duckVolDef[6] = new MixerParameterDefinition { name = "Sidechain Mix", units = "%", displayScale = 100.0f, displayExponent = 1.0f, minRange = 0.0f, maxRange = 1.0f, defaultValue = 1.0f, description = "Sidechain/source mix. If set to 100% the compressor detects level entirely from sidechain signal." }; RegisterAudioMixerEffect("Duck Volume", duckVolDef); AddDefinitionRuntime("Duck Volume", duckVolDef); string[] effectNames = GetAudioEffectNames(); foreach (var effectName in effectNames) { MixerParameterDefinition[] paramDesc = GetAudioEffectParameterDesc(effectName); RegisterAudioMixerEffect(effectName, paramDesc); } }
public static void Refresh() { MixerEffectDefinitions.ClearDefinitions(); MixerEffectDefinitions.RegisterAudioMixerEffect("Attenuation", new MixerParameterDefinition[0]); MixerEffectDefinitions.RegisterAudioMixerEffect("Send", new MixerParameterDefinition[0]); MixerEffectDefinitions.RegisterAudioMixerEffect("Receive", new MixerParameterDefinition[0]); MixerParameterDefinition[] parameterDefinitionArray = new MixerParameterDefinition[7] { new MixerParameterDefinition() { name = "Threshold", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = -80f, maxRange = 0.0f, defaultValue = -10f, description = "Threshold of side-chain level detector" }, new MixerParameterDefinition() { name = "Ratio", units = "%", displayScale = 100f, displayExponent = 1f, minRange = 0.2f, maxRange = 10f, defaultValue = 2f, description = "Ratio of compression applied when side-chain signal exceeds threshold" }, new MixerParameterDefinition() { name = "Attack Time", units = "ms", displayScale = 1000f, displayExponent = 3f, minRange = 0.0f, maxRange = 10f, defaultValue = 0.1f, description = "Level detector attack time" }, new MixerParameterDefinition() { name = "Release Time", units = "ms", displayScale = 1000f, displayExponent = 3f, minRange = 0.0f, maxRange = 10f, defaultValue = 0.1f, description = "Level detector release time" }, new MixerParameterDefinition() { name = "Make-up Gain", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = -80f, maxRange = 40f, defaultValue = 0.0f, description = "Make-up gain" }, new MixerParameterDefinition() { name = "Knee", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = 0.0f, maxRange = 50f, defaultValue = 10f, description = "Sharpness of compression curve knee" }, new MixerParameterDefinition() { name = "Sidechain Mix", units = "%", displayScale = 100f, displayExponent = 1f, minRange = 0.0f, maxRange = 1f, defaultValue = 1f, description = "Sidechain/source mix. If set to 100% the compressor detects level entirely from sidechain signal." } }; MixerEffectDefinitions.RegisterAudioMixerEffect("Duck Volume", parameterDefinitionArray); MixerEffectDefinitions.AddDefinitionRuntime("Duck Volume", parameterDefinitionArray); foreach (string audioEffectName in MixerEffectDefinitions.GetAudioEffectNames()) { MixerParameterDefinition[] effectParameterDesc = MixerEffectDefinitions.GetAudioEffectParameterDesc(audioEffectName); MixerEffectDefinitions.RegisterAudioMixerEffect(audioEffectName, effectParameterDesc); } }
public static void Refresh() { ClearDefinitions(); RegisterAudioMixerEffect("Attenuation", new MixerParameterDefinition[0]); RegisterAudioMixerEffect("Send", new MixerParameterDefinition[0]); RegisterAudioMixerEffect("Receive", new MixerParameterDefinition[0]); MixerParameterDefinition[] definitions = new MixerParameterDefinition[7]; MixerParameterDefinition definition = new MixerParameterDefinition { name = "Threshold", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = -80f, maxRange = 0f, defaultValue = -10f, description = "Threshold of side-chain level detector" }; definitions[0] = definition; MixerParameterDefinition definition2 = new MixerParameterDefinition { name = "Ratio", units = "%", displayScale = 100f, displayExponent = 1f, minRange = 0.2f, maxRange = 10f, defaultValue = 2f, description = "Ratio of compression applied when side-chain signal exceeds threshold" }; definitions[1] = definition2; MixerParameterDefinition definition3 = new MixerParameterDefinition { name = "Attack Time", units = "ms", displayScale = 1000f, displayExponent = 3f, minRange = 0f, maxRange = 10f, defaultValue = 0.1f, description = "Level detector attack time" }; definitions[2] = definition3; MixerParameterDefinition definition4 = new MixerParameterDefinition { name = "Release Time", units = "ms", displayScale = 1000f, displayExponent = 3f, minRange = 0f, maxRange = 10f, defaultValue = 0.1f, description = "Level detector release time" }; definitions[3] = definition4; MixerParameterDefinition definition5 = new MixerParameterDefinition { name = "Make-up Gain", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = -80f, maxRange = 40f, defaultValue = 0f, description = "Make-up gain" }; definitions[4] = definition5; MixerParameterDefinition definition6 = new MixerParameterDefinition { name = "Knee", units = "dB", displayScale = 1f, displayExponent = 1f, minRange = 0f, maxRange = 50f, defaultValue = 10f, description = "Sharpness of compression curve knee" }; definitions[5] = definition6; MixerParameterDefinition definition7 = new MixerParameterDefinition { name = "Sidechain Mix", units = "%", displayScale = 100f, displayExponent = 1f, minRange = 0f, maxRange = 1f, defaultValue = 1f, description = "Sidechain/source mix. If set to 100% the compressor detects level entirely from sidechain signal." }; definitions[6] = definition7; RegisterAudioMixerEffect("Duck Volume", definitions); AddDefinitionRuntime("Duck Volume", definitions); string[] audioEffectNames = GetAudioEffectNames(); foreach (string str in audioEffectNames) { MixerParameterDefinition[] audioEffectParameterDesc = GetAudioEffectParameterDesc(str); RegisterAudioMixerEffect(str, audioEffectParameterDesc); } }
public static bool RegisterAudioMixerEffect(string name, MixerParameterDefinition[] definitions) { foreach (MixerEffectDefinition definition in s_MixerEffectDefinitions) { if (definition.name == name) { return false; } } MixerEffectDefinition item = new MixerEffectDefinition(name, definitions); s_MixerEffectDefinitions.Add(item); ClearDefinitionsRuntime(); foreach (MixerEffectDefinition definition3 in s_MixerEffectDefinitions) { AddDefinitionRuntime(definition3.name, definition3.parameters); } return true; }
private static extern void AddDefinitionRuntime(string name, MixerParameterDefinition[] parameters);
public MixerEffectDefinition(string name, MixerParameterDefinition[] parameters) { this.m_EffectName = name; this.m_Parameters = new MixerParameterDefinition[parameters.Length]; Array.Copy((Array) parameters, (Array) this.m_Parameters, parameters.Length); }
public static bool RegisterAudioMixerEffect(string name, MixerParameterDefinition[] definitions) { using (List<MixerEffectDefinition>.Enumerator enumerator = MixerEffectDefinitions.s_MixerEffectDefinitions.GetEnumerator()) { while (enumerator.MoveNext()) { if (enumerator.Current.name == name) return false; } } MixerEffectDefinition effectDefinition = new MixerEffectDefinition(name, definitions); MixerEffectDefinitions.s_MixerEffectDefinitions.Add(effectDefinition); MixerEffectDefinitions.ClearDefinitionsRuntime(); using (List<MixerEffectDefinition>.Enumerator enumerator = MixerEffectDefinitions.s_MixerEffectDefinitions.GetEnumerator()) { while (enumerator.MoveNext()) { MixerEffectDefinition current = enumerator.Current; MixerEffectDefinitions.AddDefinitionRuntime(current.name, current.parameters); } } return true; }
public static bool RegisterAudioMixerEffect(string name, MixerParameterDefinition[] definitions) { foreach (MixerEffectDefinition current in MixerEffectDefinitions.s_MixerEffectDefinitions) { if (current.name == name) { return false; } } MixerEffectDefinition item = new MixerEffectDefinition(name, definitions); MixerEffectDefinitions.s_MixerEffectDefinitions.Add(item); MixerEffectDefinitions.ClearDefinitionsRuntime(); foreach (MixerEffectDefinition current2 in MixerEffectDefinitions.s_MixerEffectDefinitions) { MixerEffectDefinitions.AddDefinitionRuntime(current2.name, current2.parameters); } return true; }