diff --git a/components/audio/DAW/CustomWaveform/CustomTimeline.jsx b/components/audio/DAW/CustomWaveform/CustomTimeline.jsx index 7743a2f..7768e13 100644 --- a/components/audio/DAW/CustomWaveform/CustomTimeline.jsx +++ b/components/audio/DAW/CustomWaveform/CustomTimeline.jsx @@ -53,7 +53,10 @@ export default function CustomTimeline() { // Set the cutRegion so effects know what region to apply to setCutRegion(activeRegion); setShowEffectsModal(true); - }, [activeRegion, setShowEffectsModal, setCutRegion]); + if (logOperation) { + logOperation('effects_rack_toggled', {}); + } + }, [activeRegion, setShowEffectsModal, setCutRegion, logOperation]); // Handle splice (excise) region - keep only the selected region const handleSplice = useCallback(async () => { diff --git a/components/audio/DAW/Effects/EQ.js b/components/audio/DAW/Effects/EQ.js index 95a3cd7..d96d2c6 100644 --- a/components/audio/DAW/Effects/EQ.js +++ b/components/audio/DAW/Effects/EQ.js @@ -739,7 +739,7 @@ export async function processEQRegion(audioBuffer, startSample, endSample, param * Professional Parametric EQ with visual frequency response * Features: 8-band parametric EQ, spectrum analyzer, linear phase option */ -export default function EQ({ width, modalMode = false, onApply }) { +export default function EQ({ width, modalMode = false, onApply, logOperation = null }) { const { audioRef, addToEditHistory, @@ -1151,6 +1151,9 @@ export default function EQ({ width, modalMode = false, onApply }) { // Force new array and deep clone to trigger React re-render setEqBands(preset.bands.map(band => ({ ...band }))); setEqGain(preset.outputGain); + if (logOperation && presetKey !== 'flat') { + logOperation('eq_preset_applied', { presetName: preset.name }); + } } }} className="bg-secondary text-white border-0" diff --git a/components/audio/DAW/Effects/EffectControlModal.js b/components/audio/DAW/Effects/EffectControlModal.js index 353fe7c..278252c 100644 --- a/components/audio/DAW/Effects/EffectControlModal.js +++ b/components/audio/DAW/Effects/EffectControlModal.js @@ -33,7 +33,7 @@ const effectComponents = { stereowide: lazy(() => import('./StereoWidener')) }; -export default function EffectControlModal() { +export default function EffectControlModal({ logOperation = null }) { const { showEffectControlModal, setShowEffectControlModal, @@ -53,6 +53,13 @@ export default function EffectControlModal() { setSelectedEffect(null); }; + const handleApply = () => { + if (logOperation && selectedEffect) { + logOperation('effect_applied', { effectType: selectedEffect.id }); + } + handleClose(); + }; + if (!selectedEffect) { return null; @@ -115,7 +122,7 @@ export default function EffectControlModal() { > {EffectComponent ? (