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.
178 lines
5.1 KiB
178 lines
5.1 KiB
/* |
|
* Copyright (C) 2016 The Android Open Source Project |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
package android.hardware.audio.effect@2.0; |
|
|
|
import android.hardware.audio.common@2.0; |
|
import IEffect; |
|
|
|
interface IEnvironmentalReverbEffect extends IEffect { |
|
/** |
|
* Sets whether the effect should be bypassed. |
|
*/ |
|
setBypass(bool bypass) generates (Result retval); |
|
|
|
/** |
|
* Gets whether the effect should be bypassed. |
|
*/ |
|
getBypass() generates (Result retval, bool bypass); |
|
|
|
enum ParamRange : int16_t { |
|
ROOM_LEVEL_MIN = -6000, |
|
ROOM_LEVEL_MAX = 0, |
|
ROOM_HF_LEVEL_MIN = -4000, |
|
ROOM_HF_LEVEL_MAX = 0, |
|
DECAY_TIME_MIN = 100, |
|
DECAY_TIME_MAX = 20000, |
|
DECAY_HF_RATIO_MIN = 100, |
|
DECAY_HF_RATIO_MAX = 1000, |
|
REFLECTIONS_LEVEL_MIN = -6000, |
|
REFLECTIONS_LEVEL_MAX = 0, |
|
REFLECTIONS_DELAY_MIN = 0, |
|
REFLECTIONS_DELAY_MAX = 65, |
|
REVERB_LEVEL_MIN = -6000, |
|
REVERB_LEVEL_MAX = 0, |
|
REVERB_DELAY_MIN = 0, |
|
REVERB_DELAY_MAX = 65, |
|
DIFFUSION_MIN = 0, |
|
DIFFUSION_MAX = 1000, |
|
DENSITY_MIN = 0, |
|
DENSITY_MAX = 1000 |
|
}; |
|
|
|
/** |
|
* Sets the room level. |
|
*/ |
|
setRoomLevel(int16_t roomLevel) generates (Result retval); |
|
|
|
/** |
|
* Gets the room level. |
|
*/ |
|
getRoomLevel() generates (Result retval, int16_t roomLevel); |
|
|
|
/** |
|
* Sets the room high frequencies level. |
|
*/ |
|
setRoomHfLevel(int16_t roomHfLevel) generates (Result retval); |
|
|
|
/** |
|
* Gets the room high frequencies level. |
|
*/ |
|
getRoomHfLevel() generates (Result retval, int16_t roomHfLevel); |
|
|
|
/** |
|
* Sets the room decay time. |
|
*/ |
|
setDecayTime(uint32_t decayTime) generates (Result retval); |
|
|
|
/** |
|
* Gets the room decay time. |
|
*/ |
|
getDecayTime() generates (Result retval, uint32_t decayTime); |
|
|
|
/** |
|
* Sets the ratio of high frequencies decay. |
|
*/ |
|
setDecayHfRatio(int16_t decayHfRatio) generates (Result retval); |
|
|
|
/** |
|
* Gets the ratio of high frequencies decay. |
|
*/ |
|
getDecayHfRatio() generates (Result retval, int16_t decayHfRatio); |
|
|
|
/** |
|
* Sets the level of reflections in the room. |
|
*/ |
|
setReflectionsLevel(int16_t reflectionsLevel) generates (Result retval); |
|
|
|
/** |
|
* Gets the level of reflections in the room. |
|
*/ |
|
getReflectionsLevel() generates (Result retval, int16_t reflectionsLevel); |
|
|
|
/** |
|
* Sets the reflections delay in the room. |
|
*/ |
|
setReflectionsDelay(uint32_t reflectionsDelay) generates (Result retval); |
|
|
|
/** |
|
* Gets the reflections delay in the room. |
|
*/ |
|
getReflectionsDelay() generates (Result retval, uint32_t reflectionsDelay); |
|
|
|
/** |
|
* Sets the reverb level of the room. |
|
*/ |
|
setReverbLevel(int16_t reverbLevel) generates (Result retval); |
|
|
|
/** |
|
* Gets the reverb level of the room. |
|
*/ |
|
getReverbLevel() generates (Result retval, int16_t reverbLevel); |
|
|
|
/** |
|
* Sets the reverb delay of the room. |
|
*/ |
|
setReverbDelay(uint32_t reverDelay) generates (Result retval); |
|
|
|
/** |
|
* Gets the reverb delay of the room. |
|
*/ |
|
getReverbDelay() generates (Result retval, uint32_t reverbDelay); |
|
|
|
/** |
|
* Sets room diffusion. |
|
*/ |
|
setDiffusion(int16_t diffusion) generates (Result retval); |
|
|
|
/** |
|
* Gets room diffusion. |
|
*/ |
|
getDiffusion() generates (Result retval, int16_t diffusion); |
|
|
|
/** |
|
* Sets room wall density. |
|
*/ |
|
setDensity(int16_t density) generates (Result retval); |
|
|
|
/** |
|
* Gets room wall density. |
|
*/ |
|
getDensity() generates (Result retval, int16_t density); |
|
|
|
struct AllProperties { |
|
int16_t roomLevel; // in millibels, range -6000 to 0 |
|
int16_t roomHfLevel; // in millibels, range -4000 to 0 |
|
uint32_t decayTime; // in milliseconds, range 100 to 20000 |
|
int16_t decayHfRatio; // in permilles, range 100 to 1000 |
|
int16_t reflectionsLevel; // in millibels, range -6000 to 0 |
|
uint32_t reflectionsDelay; // in milliseconds, range 0 to 65 |
|
int16_t reverbLevel; // in millibels, range -6000 to 0 |
|
uint32_t reverbDelay; // in milliseconds, range 0 to 65 |
|
int16_t diffusion; // in permilles, range 0 to 1000 |
|
int16_t density; // in permilles, range 0 to 1000 |
|
}; |
|
|
|
/** |
|
* Sets all properties at once. |
|
*/ |
|
setAllProperties(AllProperties properties) generates (Result retval); |
|
|
|
/** |
|
* Gets all properties at once. |
|
*/ |
|
getAllProperties() generates (Result retval, AllProperties properties); |
|
};
|
|
|