Spaces:
Sleeping
Sleeping
| export const COLORS = { | |
| background: '#07070e', | |
| pianoRollBg: '#0a0a14', | |
| hitLine: '#ffffff33', | |
| hitLineGlow: '#ffffff18', | |
| // Note colors — brand-aligned | |
| leftHand: '#8b5cf6', | |
| leftHandGlow: '#a78bfa', | |
| rightHand: '#06b6d4', | |
| rightHandGlow: '#22d3ee', | |
| // Instrument colors | |
| bass: '#f59e0b', | |
| bassGlow: '#fbbf24', | |
| guitar: '#22c55e', | |
| guitarGlow: '#4ade80', | |
| // Tab colors | |
| tabBg: '#0a0a14', | |
| tabString: '#2a2a40', | |
| tabFret: '#f1f5f9', | |
| tabFretPlayed: '#8b5cf6', | |
| tabProgressLine: '#8b5cf6', | |
| // Piano key colors | |
| whiteKey: '#e8e8e8', | |
| whiteKeyActive: '#c4b5fd', | |
| blackKey: '#1a1a2e', | |
| blackKeyActive: '#7c3aed', | |
| keyBorder: '#2a2a40', | |
| // Drum lane colors | |
| drumKick: '#3b82f6', | |
| drumSnare: '#f59e0b', | |
| drumHihat: '#06b6d4', | |
| drumCrash: '#eab308', | |
| drumRide: '#a78bfa', | |
| drumTomHigh: '#22c55e', | |
| drumTomLow: '#16a34a', | |
| // UI | |
| text: '#f1f5f9', | |
| textMuted: '#94a3b8', | |
| controlsBg: '#0a0a14', | |
| controlsBorder: '#1e1e3a', | |
| }; | |
| export const MIDI_SPLIT_POINT = 60; // Middle C (C4) | |
| export function noteColor(midiNumber, instrument = 'piano') { | |
| if (instrument === 'bass') return COLORS.bass; | |
| if (instrument === 'guitar') return COLORS.guitar; | |
| return midiNumber < MIDI_SPLIT_POINT ? COLORS.leftHand : COLORS.rightHand; | |
| } | |
| export function noteGlowColor(midiNumber, instrument = 'piano') { | |
| if (instrument === 'bass') return COLORS.bassGlow; | |
| if (instrument === 'guitar') return COLORS.guitarGlow; | |
| return midiNumber < MIDI_SPLIT_POINT ? COLORS.leftHandGlow : COLORS.rightHandGlow; | |
| } | |