mirror of
https://github.com/captbaritone/webamp.git
synced 2026-07-21 09:09:01 +00:00
Type the equalizer action creators
This commit is contained in:
parent
96ef91cff6
commit
e71dac807d
1 changed files with 15 additions and 11 deletions
|
|
@ -1,10 +1,11 @@
|
|||
import { BANDS } from "../constants";
|
||||
|
||||
import { SET_EQ_ON, SET_EQ_OFF, SET_BAND_VALUE } from "../actionTypes";
|
||||
import { Band, Dispatchable } from "../types";
|
||||
|
||||
const BAND_SNAP_DISTANCE = 10;
|
||||
const BAND_MID_POINT_VALUE = 50;
|
||||
export function setEqBand(band, value) {
|
||||
export function setEqBand(band: Band, value: number): Dispatchable {
|
||||
if (
|
||||
value < BAND_MID_POINT_VALUE + BAND_SNAP_DISTANCE &&
|
||||
value > BAND_MID_POINT_VALUE - BAND_SNAP_DISTANCE
|
||||
|
|
@ -14,37 +15,40 @@ export function setEqBand(band, value) {
|
|||
return { type: SET_BAND_VALUE, band, value };
|
||||
}
|
||||
|
||||
function _setEqTo(value) {
|
||||
function _setEqTo(value: number): Dispatchable {
|
||||
return dispatch => {
|
||||
Object.keys(BANDS).forEach(key => {
|
||||
Object.values(BANDS).forEach(band => {
|
||||
dispatch({
|
||||
type: SET_BAND_VALUE,
|
||||
value,
|
||||
band: BANDS[key]
|
||||
band: band
|
||||
});
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export function setEqToMax() {
|
||||
export function setEqToMax(): Dispatchable {
|
||||
return _setEqTo(100);
|
||||
}
|
||||
|
||||
export function setEqToMid() {
|
||||
export function setEqToMid(): Dispatchable {
|
||||
return _setEqTo(50);
|
||||
}
|
||||
|
||||
export function setEqToMin() {
|
||||
export function setEqToMin(): Dispatchable {
|
||||
return _setEqTo(0);
|
||||
}
|
||||
|
||||
export function setPreamp(value) {
|
||||
export function setPreamp(value: number): Dispatchable {
|
||||
return { type: SET_BAND_VALUE, band: "preamp", value };
|
||||
}
|
||||
|
||||
export function toggleEq() {
|
||||
export function toggleEq(): Dispatchable {
|
||||
return (dispatch, getState) => {
|
||||
const type = getState().equalizer.on ? SET_EQ_OFF : SET_EQ_ON;
|
||||
dispatch({ type });
|
||||
if (getState().equalizer.on) {
|
||||
dispatch({ type: SET_EQ_OFF });
|
||||
} else {
|
||||
dispatch({ type: SET_EQ_ON });
|
||||
}
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue