mroctopus / app /src /utils /colorScheme.js
Ewan
Add drum transcription with madmom onset detection + spectral classification
eed42a3
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;
}