diff --git a/components/tracks/TrackList.tsx b/components/tracks/TrackList.tsx index c317a9f..8272767 100644 --- a/components/tracks/TrackList.tsx +++ b/components/tracks/TrackList.tsx @@ -206,8 +206,8 @@ export function TrackList({
{tracks.map((track) => ( - {/* Track Waveform Row with Overlays */} -
+ {/* Track Waveform Row with bars stacked below */} +
- {/* Effects Bar - Always visible at bottom */} + {/* Automation Bar - Collapsible */} {!track.collapsed && ( -
- {/* Effects Header - Collapsible */} -
{ - onUpdateTrack(track.id, { effectsExpanded: !track.effectsExpanded }); - }} - > - {track.effectsExpanded ? ( - - ) : ( - - )} - Effects - - ({track.effectChain.effects.length}) - -
- - {/* Effects Content - Collapsible, no inner container */} - {track.effectsExpanded && ( -
-
- {track.effectChain.effects.length === 0 ? ( -
- No effects. Click + to add an effect. -
- ) : ( - track.effectChain.effects.map((effect) => ( - { - const updatedChain = { - ...track.effectChain, - effects: track.effectChain.effects.map((e) => - e.id === effect.id ? { ...e, enabled: !e.enabled } : e - ), - }; - onUpdateTrack(track.id, { effectChain: updatedChain }); - }} - onRemove={() => { - const updatedChain = { - ...track.effectChain, - effects: track.effectChain.effects.filter((e) => e.id !== effect.id), - }; - onUpdateTrack(track.id, { effectChain: updatedChain }); - }} - onUpdateParameters={(params) => { - const updatedChain = { - ...track.effectChain, - effects: track.effectChain.effects.map((e) => - e.id === effect.id ? { ...e, parameters: params } : e - ), - }; - onUpdateTrack(track.id, { effectChain: updatedChain }); - }} - onToggleExpanded={() => { - const updatedEffects = track.effectChain.effects.map((e) => - e.id === effect.id ? { ...e, expanded: !e.expanded } : e - ); - onUpdateTrack(track.id, { - effectChain: { ...track.effectChain, effects: updatedEffects }, - }); - }} - /> - )) - )} -
-
- )} -
- )} - - {/* Automation Bar - Collapsible, above effects bar at bottom */} - {!track.collapsed && ( -
+
{/* Automation Header - Clickable to toggle */}
)} + + {/* Effects Bar - Collapsible */} + {!track.collapsed && ( +
+ {/* Effects Header - Collapsible */} +
{ + onUpdateTrack(track.id, { effectsExpanded: !track.effectsExpanded }); + }} + > + {track.effectsExpanded ? ( + + ) : ( + + )} + Effects + + ({track.effectChain.effects.length}) + +
+ + {/* Effects Content - Collapsible, no inner container */} + {track.effectsExpanded && ( +
+
+ {track.effectChain.effects.length === 0 ? ( +
+ No effects. Click + to add an effect. +
+ ) : ( + track.effectChain.effects.map((effect) => ( + { + const updatedChain = { + ...track.effectChain, + effects: track.effectChain.effects.map((e) => + e.id === effect.id ? { ...e, enabled: !e.enabled } : e + ), + }; + onUpdateTrack(track.id, { effectChain: updatedChain }); + }} + onRemove={() => { + const updatedChain = { + ...track.effectChain, + effects: track.effectChain.effects.filter((e) => e.id !== effect.id), + }; + onUpdateTrack(track.id, { effectChain: updatedChain }); + }} + onUpdateParameters={(params) => { + const updatedChain = { + ...track.effectChain, + effects: track.effectChain.effects.map((e) => + e.id === effect.id ? { ...e, parameters: params } : e + ), + }; + onUpdateTrack(track.id, { effectChain: updatedChain }); + }} + onToggleExpanded={() => { + const updatedEffects = track.effectChain.effects.map((e) => + e.id === effect.id ? { ...e, expanded: !e.expanded } : e + ); + onUpdateTrack(track.id, { + effectChain: { ...track.effectChain, effects: updatedEffects }, + }); + }} + /> + )) + )} +
+
+ )} +
+ )}
))}