Audible

Exports related to audible media.

interface AudibleCommandFilterArgs 
extends CommandFilterArgs, AudioCommandFileOptions {
  audioRate?: number
  chainInput: string
  clipTime: TimeRange
  commandFiles: Array<CommandFile>
  duration: number
  filterInput?: string
  time: Time
  track: number
}
interface AudibleContext  {
  createBuffer: (seconds: number) => ClientAudio
  createBufferSource: (buffer?: ClientAudio) => AudioBufferSourceNode | undefined
  currentTime: number
  decode: (buffer: ArrayBuffer) => Promise<ClientAudio>
  deleteSource: (id: string) => void
  destination: AudioDestinationNode
  getSource: (id: string) => AudibleContextSource | undefined
  hasSource: (id: string) => boolean
  startAt: (id: string, source: AudioBufferSourceNode, start: number, duration: number, speed?: number, offset?: number) => void
}
interface AudibleContextSource  {
  gainNode: GainNode
  gainSource: AudioBufferSourceNode
}
interface AudibleInstanceObject 
extends InstanceObject {
  endTrim?: number
  gain?: number
  loops?: number
  muted?: boolean
  speed?: number
  startTrim?: number
}
type AudibleType = 'audio' | 'video'
interface MashAudibleProperties 
extends MashProperties {
  buffer?: number
  loop?: boolean
  /** Determines duration of clip frames. */
  quantize?: number
  tracks?: Array<TrackObject>
}
/** @implements AudibleContext */
class AudibleContextClass {
  createBuffer: (seconds: number) => ClientAudio
  createBufferSource: (buffer?: ClientAudio) => AudioBufferSourceNode | undefined
  currentTime: number
  decode: (buffer: ArrayBuffer) => Promise<ClientAudio>
  deleteSource: (id: string) => void
  destination: AudioDestinationNode
  getSource: (id: string) => AudibleContextSource | undefined
  hasSource: (id: string) => boolean
  startAt: (id: string, source: AudioBufferSourceNode, start: number, duration: number, speed?: number, offset?: number) => void
}
function AudibleInstanceMixin<T = Constrained<Instance>>(
  Base: T
): Mixed<T, Instance>
/** Type guard for AudibleType */
function isAudibleType(
  value: Any
): boolean