import { EqBandType } from "../dawproject/device/eqBandType"; import { Project } from "../dawproject/project"; export interface AudioTrackConfig { file_path: string; sample_duration: number; gain: number; pan: number; eq_settings?: { frequency: number; gain: number; q: number; enabled: boolean; band_type: EqBandType; }[]; compressor_settings?: { threshold: number; ratio: number; attack: number; release: number; input_gain: number; output_gain: number; auto_makeup: boolean; }; } /** * Create a DAW project with the provided audio tracks, each with its gain, panning, EQ, and compressor settings. * * @param audioTracks List of dictionaries where each dictionary contains the following keys: * - 'file_path': The location of the audio file. * - 'sample_duration': The duration of the audio sample in seconds. * - 'gain': The gain setting for the track (in dB). * - 'pan': The panning setting for the track (range -1.0 to 1.0). * - 'eq_settings': List of dictionaries with EQ band settings. Each dictionary should contain: * - 'frequency': The frequency of the EQ band (in Hz). * - 'gain': The gain for the EQ band (in dB). * - 'q': The Q factor for the EQ band. * - 'enabled': Boolean to enable/disable the EQ band. * - 'band_type': Type of EQ band (e.g., 'bell', 'high_shelf', etc.). * - 'compressor_settings': Dictionary with compressor settings: * - 'threshold': Threshold (in dB). * - 'ratio': Compression ratio. * - 'attack': Attack time (in seconds). * - 'release': Release time (in seconds). * - 'input_gain': Input gain (in dB). * - 'output_gain': Output gain (in dB). * - 'auto_makeup': Boolean to enable/disable automatic makeup gain. */ export declare function createProjectWithAudioTracks(audioTracks: AudioTrackConfig[]): Project;