soundcraft-ui-connection
Version:
Library for controlling the Soundcraft Ui series audio mixers
77 lines (76 loc) • 3.13 kB
TypeScript
import { MixerConnection } from '../mixer-connection';
import { MixerStore } from '../state/mixer-store';
import { ChannelType } from '../types';
import { Channel } from './channel';
import { PannableChannel } from './interfaces';
import { AutomixGroupId } from './automix-controller';
/**
* Represents a channel on the master bus
*/
export declare class MasterChannel extends Channel implements PannableChannel {
protected fullChannelId: string;
faderLevelCommand: string;
/** SOLO state of the channel */
readonly solo$: import('rxjs').Observable<boolean>;
/** PAN value of the channel (between `0` and `1`) */
readonly pan$: import('rxjs').Observable<number>;
/** Assigned automix group (`a`, `b`, `none`) */
readonly automixGroup$: import('rxjs').Observable<AutomixGroupId | "none">;
/** Automix weight (linear) for this channel (between `0` and `1`) */
readonly automixWeight$: import('rxjs').Observable<number>;
/** Automix weight (dB) for this channel (between `-12` and `12` dB) */
readonly automixWeightDB$: import('rxjs').Observable<number>;
/** Multitrack selection state for the channel */
readonly multiTrackSelected$: import('rxjs').Observable<boolean>;
constructor(conn: MixerConnection, store: MixerStore, channelType: ChannelType, channel: number);
/**
* Set PAN value of the channel
* @param value value between `0` and `1`
*/
setPan(value: number): void;
/**
* Relatively change PAN value of the channel
* @param offset offset to change (final values are between `0` and `1`)
*/
changePan(offset: number): void;
/**
* Set SOLO state for the channel
* @param value SOLO state
*/
setSolo(value: boolean): void;
/** Enable SOLO for the channel */
solo(): void;
/** Disable SOLO for the channel */
unsolo(): void;
/** Toggle SOLO state for the channel */
toggleSolo(): void;
private multiTrackAssertChannelType;
private multiTrackSetSelection;
/** Select this channel for multitrack recording */
multiTrackSelect(): void;
/** Remove this channel from multitrack recording */
multiTrackUnselect(): void;
/** Toggle multitrack recording for this channel */
multiTrackToggle(): void;
/** Assign this channel to an automix group. This also includes stereo-linked channels.
* @param group `a` or `b` for automix groups. `none` to remove from all groups.
*/
automixAssignGroup(group: AutomixGroupId | 'none'): void;
/** Remove this channel from the automix group */
automixRemove(): void;
/**
* Set automix weight (linear) for the channel
* @param value value between `0` and `1`
*/
automixSetWeight(value: number): void;
/**
* Set automix weight (dB) for the channel
* @param value value between `-12` and `12`
*/
automixSetWeightDB(dbValue: number): void;
/**
* Change the automix weight relatively by adding a given value
* @param offsetDB value (dB) to add to the current value
*/
automixChangeWeightDB(offsetDB: number): void;
}