import { InstrumentType } from './types';

// Instrument-specific prompt engineering to generate isolated tracks
export const INSTRUMENT_PROMPTS = {
  drums: (style: string, bpm: number) => ({
    gpt_description_prompt: `${style} ${bpm} BPM`,
    tags: `${style}, ${bpm} bpm`,
    title: `${style} Drums ${bpm} BPM`
  }),
  
  bass: (style: string, bpm: number) => ({
    gpt_description_prompt: `${style} ${bpm} BPM`,
    tags: `${style}, ${bpm} bpm`,
    title: `${style} Bass ${bpm} BPM`
  }),
  
  synthesizer: (style: string, bpm: number) => ({
    gpt_description_prompt: `${style} ${bpm} BPM`,
    tags: `${style}, ${bpm} bpm`,
    title: `${style} Synth ${bpm} BPM`
  }),
  
  guitar: (style: string, bpm: number) => ({
    gpt_description_prompt: `${style} ${bpm} BPM`,
    tags: `${style}, ${bpm} bpm`,
    title: `${style} Guitar ${bpm} BPM`
  }),
  
  other: (style: string, bpm: number) => ({
    gpt_description_prompt: `${style} ${bpm} BPM`,
    tags: `${style}, ${bpm} bpm`,
    title: `${style} ${bpm} BPM`
  })
} as const;

export function getInstrumentPrompt(instrumentType: InstrumentType, style: string, bpm: number) {
  return INSTRUMENT_PROMPTS[instrumentType](style, bpm);
}