UNPKG

tauri-plugin-apple-music-kit-api

Version:

Tauri plugin for Apple MusicKit integration - TypeScript API bindings

74 lines (73 loc) 1.83 kB
export interface MusicKitTrack { id: string; title: string; artist: string; album: string; duration: number; artworkUrl?: string; isExplicit: boolean; isPlayable: boolean; } export interface AuthorizationResponse { status: 'authorized' | 'notAuthorized' | 'error'; error?: string; } export interface UnauthorizeResponse { status: 'unauthorized' | 'error'; error?: string; } export interface AuthorizationStatusResponse { status: 'authorized' | 'notAuthorized' | 'notInitialized'; } export interface QueueResponse { items: MusicKitTrack[]; position: number; } export interface QueueOperationResponse { success: boolean; error?: string; } export interface QueueUpdateEvent { items: MusicKitTrack[]; position: number; } export interface PlaybackState { playing: boolean; paused: boolean; currentTrack: { id: string; title: string; artistName: string; albumName: string; genreNames: string; durationInMillis: number; artwork: string; } | null; currentTime: number; duration: number; progress: number; queuePosition: number; shuffleMode: 'on' | 'off'; repeatMode: 'none' | 'all'; volume: number; } export interface StateUpdateEvent extends PlaybackState { } export interface TrackChangeEvent extends PlaybackState { } export interface PlaybackTimeEvent { currentTime: number; } export interface ErrorEvent { error: string; code?: string; } export interface QueueChangeEvent { success: boolean; } export interface MusicKitEventMap { 'musickit-playback-state-changed': StateUpdateEvent; 'musickit-track-changed': TrackChangeEvent; 'musickit-playback-time-changed': PlaybackTimeEvent; 'musickit-queue-changed': QueueChangeEvent; }