UNPKG

motion-canvas-multitrack

Version:

A plug and play audio plugin for Motion Canvas

68 lines (67 loc) 1.53 kB
import { Dispatch, StateUpdater } from "preact/hooks"; export interface Audio { id: string; name: string; source: string; offset: number; active: boolean; duration: number; track_id: string; recoding: boolean; buffer?: AudioBuffer; buffer_line: string; } export interface Export { data: any; name: string; frame: number; mimeType: string; subDirectories: string[]; } export interface SaveState { audios: Audio[]; tracks: Track[]; } export interface Track { id: string; muted: boolean; volume: number; main: boolean; } export interface StyleSheet { [key: string]: React.CSSProperties; } export type MultiTrackProps = { set_tracks: Dispatch<StateUpdater<Track[]>>; set_audios: Dispatch<StateUpdater<Audio[]>>; audios: Audio[]; tracks: Track[]; scroll: number; }; export type RecordProps = { set_audios: Dispatch<StateUpdater<Audio[]>>; audio_ctx: AudioContext; }; export type AudioFileProps = { set_audios: Dispatch<StateUpdater<Audio[]>>; audios: Audio[]; audio: Audio; }; export type AudioHierarchyProps = { set_audios: Dispatch<StateUpdater<Audio[]>>; audios: Audio[]; }; export type AudioTrackProps = { scroll: number; audio: Audio; }; export type RecordTrackProps = { audio: Audio; }; export type TrackLineProps = { set_tracks: Dispatch<StateUpdater<Track[]>>; set_audios: Dispatch<StateUpdater<Audio[]>>; audios: Audio[]; track: Track; scroll: number; };