import { Volume } from "../../component/channel/Volume"; import { Decibels } from "../type/Units"; import { Gain } from "./Gain"; import { Param } from "./Param"; import { ToneAudioNode, ToneAudioNodeOptions } from "./ToneAudioNode"; interface DestinationOptions extends ToneAudioNodeOptions { volume: Decibels; mute: boolean; } /** * A single master output which is connected to the * AudioDestinationNode (aka your speakers). * It provides useful conveniences such as the ability * to set the volume and mute the entire application. * It also gives you the ability to apply master effects to your application. * * @example * //the audio will go from the oscillator to the speakers * oscillator.connect(Destination); * //a convenience for connecting to the master output is also provided: * oscillator.toDestination(); * //the above two examples are equivalent. * @category Core */ export declare class Destination extends ToneAudioNode { readonly name: string; input: Volume; output: Gain; /** * The volume of the master output. */ volume: Param; constructor(options: Partial); static getDefaults(): DestinationOptions; /** * Mute the output. * @example * //mute the output * Destination.mute = true; */ mute: boolean; /** * Add a master effects chain. NOTE: this will disconnect any nodes which were previously * chained in the master effects chain. * @param nodes All arguments will be connected in a row and the Master will be routed through it. * @return {Destination} this * @example * //some overall compression to keep the levels in check * var masterCompressor = new Tone.Compressor({ * "threshold" : -6, * "ratio" : 3, * "attack" : 0.5, * "release" : 0.1 * }); * //give a little boost to the lows * var lowBump = new Tone.Filter(200, "lowshelf"); * //route everything through the filter * //and compressor before going to the speakers * Destination.chain(lowBump, masterCompressor); */ chain(...args: Array): this; /** * Clean up */ dispose(): this; } export {};