Files
KGStudio/src/core/track/KGTrackAutomationPoint.ts
T
2026-05-08 15:44:07 -07:00

69 lines
1.2 KiB
TypeScript

import { Expose } from 'class-transformer';
import type { Selectable } from '../../components/interfaces';
export type TrackAutomationType = 'volume' | 'pan';
export class KGTrackAutomationPoint implements Selectable {
@Expose()
private id: string = '';
@Expose()
private beat: number = 0;
@Expose()
private value: number = 0;
@Expose()
private selected: boolean = false;
constructor(id: string, beat: number = 0, value: number = 0) {
this.id = id;
this.beat = beat;
this.value = value;
}
public getId(): string {
return this.id;
}
public getBeat(): number {
return this.beat;
}
public getValue(): number {
return this.value;
}
public setId(id: string): void {
this.id = id;
}
public setBeat(beat: number): void {
this.beat = beat;
}
public setValue(value: number): void {
this.value = value;
}
public select(): void {
this.selected = true;
}
public deselect(): void {
this.selected = false;
}
public isSelected(): boolean {
return this.selected;
}
public getRootType(): string {
return 'KGTrackAutomationPoint';
}
public getCurrentType(): string {
return 'KGTrackAutomationPoint';
}
}