-
Notifications
You must be signed in to change notification settings - Fork 10
/
DolbyDigitalPlusPreprocessing.ts
50 lines (43 loc) · 2.07 KB
/
DolbyDigitalPlusPreprocessing.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import {map, mapArray} from '../common/Mapper';
import DolbyDigitalPlusDynamicRangeCompression from './DolbyDigitalPlusDynamicRangeCompression';
import DolbyDigitalPlusLfeLowPassFilter from './DolbyDigitalPlusLfeLowPassFilter';
import DolbyDigitalPlusNinetyDegreePhaseShift from './DolbyDigitalPlusNinetyDegreePhaseShift';
import DolbyDigitalPlusThreeDbAttenuation from './DolbyDigitalPlusThreeDbAttenuation';
/**
* @export
* @class DolbyDigitalPlusPreprocessing
*/
export class DolbyDigitalPlusPreprocessing {
/**
* It indicates a gain change to be applied in the Dolby Digital decoder in order to implement dynamic range compression. The values typically indicate gain reductions (cut) during loud passages and gain increases (boost) during quiet passages based on desired compression characteristics.
* @type {DolbyDigitalPlusDynamicRangeCompression}
* @memberof DolbyDigitalPlusPreprocessing
*/
public dynamicRangeCompression?: DolbyDigitalPlusDynamicRangeCompression;
/**
* It applies a 120 Hz low-pass filter to the low-frequency effects (LFE) channel. This is only allowed if the `channelLayout` contains a LFE channel.
* @type {DolbyDigitalPlusLfeLowPassFilter}
* @memberof DolbyDigitalPlusPreprocessing
*/
public lfeLowPassFilter?: DolbyDigitalPlusLfeLowPassFilter;
/**
* @type {DolbyDigitalPlusNinetyDegreePhaseShift}
* @memberof DolbyDigitalPlusPreprocessing
*/
public ninetyDegreePhaseShift?: DolbyDigitalPlusNinetyDegreePhaseShift;
/**
* @type {DolbyDigitalPlusThreeDbAttenuation}
* @memberof DolbyDigitalPlusPreprocessing
*/
public threeDbAttenuation?: DolbyDigitalPlusThreeDbAttenuation;
constructor(obj?: Partial<DolbyDigitalPlusPreprocessing>) {
if(!obj) {
return;
}
this.dynamicRangeCompression = map(obj.dynamicRangeCompression, DolbyDigitalPlusDynamicRangeCompression);
this.lfeLowPassFilter = map(obj.lfeLowPassFilter);
this.ninetyDegreePhaseShift = map(obj.ninetyDegreePhaseShift);
this.threeDbAttenuation = map(obj.threeDbAttenuation);
}
}
export default DolbyDigitalPlusPreprocessing;