import { v4 as uuidv4 } from 'uuid';

import { pickRandomColor } from '../edit2025/getSections';
import {
  EQ_PRESETS,
  FLAT_PRESET_NAME,
} from '../focusedObjectPanel/TrackEQSubsection/eqPresets';
import { DEFAULT_INSTRUMENT, StudioTrack } from './types';

export const defaultTrackHeight = 160;
export const defaultStudioTrackHeight = 88;
export const maxAutoStudioTrackHeight = 178;
export const largeTrackHeight = 240;
export const minimumTrackHeight = 32;

export default function createTrack(editMode?: boolean): StudioTrack {
  const id = uuidv4();
  return {
    id,
    input: null,
    color: pickRandomColor(id),
    name: 'New Track',
    clips: [],
    clipCreationIntents: [],
    height: editMode ? defaultTrackHeight : defaultStudioTrackHeight,
    solo: false,
    mute: false,
    arm: false,
    amplitude: 1,
    balance: 0,
    instrument: DEFAULT_INSTRUMENT,
    soloTakeLaneId: null,
    takeLanesExpanded: false,
    takeLanes: [],
    eq: EQ_PRESETS[FLAT_PRESET_NAME],
  };
}
