scrptly
Version:
Scrptly is a Video Development Kit (VDK) for programmatically generating AI-powered videos.
39 lines (35 loc) • 1.17 kB
text/typescript
import AuditoryLayer, { AuditoryLayerProperties, AuditoryLayerSettings } from './AuditoryLayer';
export type AudioLayerSettings =
| (AuditoryLayerSettings & {
source: string;
sourceType?: 'url' | 'asset' | 'base64' | 'file';
})
| (AuditoryLayerSettings & {
prompt: string;
duration?: number; // duration in seconds
modelSettings?: any;
});
export type AudioLayerProperties = AuditoryLayerProperties;
export default class AudioLayer extends AuditoryLayer {
static type = 'audio';
declare settings: AudioLayerSettings;
declare properties: AudioLayerProperties;
constructor(parent: any, properties: AudioLayerProperties = {}, settings: AudioLayerSettings) {
super(parent, properties, settings);
if('source' in settings && 'source' in this.settings && settings.source && !settings.sourceType)
this.settings.sourceType = this.autoDetermineSourceType(settings.source) as any;
}
static get isAsset() {
return true;
}
static get defaultSettings(): Partial<AudioLayerSettings> {
return {
...super.defaultSettings
};
}
static get defaultProperties(): Partial<AudioLayerProperties> {
return {
...super.defaultProperties,
};
}
}