These docs describe the main branch, including unreleased changes. Read the 0.6.0 docs.

OpenTUI 0.4.4

npm

This release has no release notes. The list below comes from its published type declarations.

API changes#

@opentui/core#

Added

  • class AudioInitializationError extends Error
  • class AudioStream<M = AudioStreamMetadata> extends EventEmitter<AudioStreamEvents<M>>
  • class AudioStreamError extends Error
  • const NativeAudioStreamCloseReason: { readonly PreserveNativeTerminal: 0; readonly TransportError: 1; readonly Disposed: 2; }
  • const NativeAudioStreamFormat: { readonly Mp3: 1; readonly Flac: 2; }
  • const NativeAudioStreamState: { readonly Initializing: 0; readonly Buffering: 1; readonly Playing: 2; readonly Ended: 3; readonly Failed: 4; readonly Cancelled: 5; readonly Reconnecting: 6; }
  • constructor AudioInitializationError(action: AudioInitializationAction, message: string, status?: number, cause?: unknown)
  • constructor AudioStreamError(message: string, context: AudioStreamErrorContext, cause?: unknown)
  • function createIcyStreamDemuxer(options: IcyStreamDemuxerOptions): AudioStreamDemuxer<AudioStreamMetadata>
  • interface AudioStreamBodyOptions<M = AudioStreamMetadata> extends AudioStreamOptions
  • interface AudioStreamBufferOptions
  • interface AudioStreamConnectContext
  • interface AudioStreamConnection<I = unknown>
  • interface AudioStreamConnector<I = unknown>
  • interface AudioStreamContentTypeContext
  • interface AudioStreamDemuxer<M>
  • interface AudioStreamErrorContext
  • interface AudioStreamEvents<M = AudioStreamMetadata>
  • interface AudioStreamMetadata
  • interface AudioStreamOptions
  • interface AudioStreamReconnectEvent
  • interface AudioStreamReconnectOptions
  • interface AudioStreamRetryContext
  • interface AudioStreamSourceOptions<I = unknown, M = AudioStreamMetadata> extends AudioStreamOptions
  • interface AudioStreamStats
  • interface AudioStreamUrlOptions extends AudioStreamOptions
  • interface IcyStreamDemuxerOptions
  • method Audio.playStream<M = AudioStreamMetadata>(source: AudioStreamBody, options?: AudioStreamBodyOptions<M>): Promise<AudioStream<M>>
  • method Audio.playStreamSource<I, M = AudioStreamMetadata>(connector: AudioStreamConnector<I>, options?: AudioStreamSourceOptions<I, M>): Promise<AudioStream<M>>
  • method Audio.playStreamUrl(source: string | URL, options?: AudioStreamUrlOptions): Promise<AudioStream<AudioStreamMetadata>>
  • readonly property Audio.sampleRate: number
  • property AudioEngineLib.audioCloseStream: (engine: AudioEngineHandle, streamId: number, reason: NativeAudioStreamCloseReason) => { status: number; stats: NativeAudioStreamStats | null; }
  • property AudioEngineLib.audioCreateStream: (engine: AudioEngineHandle, options: AudioStreamCreateOptions) => { status: number; streamId: number | null; }
  • property AudioEngineLib.audioEndStream: (engine: AudioEngineHandle, streamId: number) => number
  • property AudioEngineLib.audioGetStreamStats: (engine: AudioEngineHandle, streamId: number) => NativeAudioStreamStats | null
  • property AudioEngineLib.audioRestartStream: (engine: AudioEngineHandle, streamId: number) => number
  • property AudioEngineLib.audioSetStreamGroup: (engine: AudioEngineHandle, streamId: number, groupId: number) => number
  • property AudioEngineLib.audioSetStreamPan: (engine: AudioEngineHandle, streamId: number, pan: number) => number
  • property AudioEngineLib.audioSetStreamVolume: (engine: AudioEngineHandle, streamId: number, volume: number) => number
  • property AudioEngineLib.audioWriteStream: (engine: AudioEngineHandle, streamId: number, data: Uint8Array) => number
  • type AudioInitializationAction = "resolveRenderLib" | "createAudioEngine" | "start"
  • type AudioStreamAction = "fetch" | "response" | "source" | "demuxer" | "create" | "write" | "end" | "restart" | "stats" | "decoder" | "destroy" | "setVolume" | "setPan" | "setGroup"
  • type AudioStreamBody = ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>
  • type AudioStreamContentTypePolicy = "validate" | "ignore" | ((context: AudioStreamContentTypeContext) => boolean)
  • type AudioStreamCreateOptions = { capacityMs: number; startupMs: number; resumeMs: number; volume: number; pan: number; groupId: number; maxProbeBytes: number; format: NativeAudioStreamFormat; }
  • type AudioStreamDemuxOutput<M> = { type: "audio"; data: Uint8Array; } | { type: "metadata"; metadata: M | null; }
  • type AudioStreamDemuxerFactory<M> = () => AudioStreamDemuxer<M>
  • type AudioStreamFormat = "mp3" | "flac"
  • type AudioStreamMetadataFormat = "icy"
  • type AudioStreamRetryDecision = false | { readonly delayMs?: number; }
  • type AudioStreamRetryPhase = "connect" | "read"
  • type AudioStreamState = "initializing" | "buffering" | "playing" | "reconnecting" | "ended" | "errored" | "disposed"
  • type NativeAudioStreamCloseReason = NativeAudioStreamCloseReasonType
  • type NativeAudioStreamFormat = NativeAudioStreamFormatType
  • type NativeAudioStreamState = NativeAudioStreamStateType
  • type NativeAudioStreamStats = { bytesReceived: bigint; framesDecoded: bigint; framesPlayed: bigint; state: number; sampleRate: number; channels: number; bufferedFrames: number; capacityFrames: number; underruns: number; errorCode: number; readyGeneration: number; }