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; }