ui(audio): the master ladder is always the longest one

The master meter was a fixed 420px, but each sound bay's ladder fills its column — on a wide
window a bay could be longer than the master, which is the opposite of what was asked.

Master now stretches between 420 and 760 px, and the three bay ladders cap at 320 with the same
cap for each, so they stay the same relative size to one another and stay shorter than the
master at every window width.
This commit is contained in:
2026-11-01 13:49:05 -08:00
parent f8e4f2cf29
commit 4c4f22e6bb
+15 -6
View File
@@ -46,6 +46,7 @@
Foreground="{StaticResource Brush.OnSurface}"/> Foreground="{StaticResource Brush.OnSurface}"/>
</Grid> </Grid>
<controls:SegmentMeter Grid.Row="1" Height="10" Margin="0,6,0,0" Orientation="Horizontal" <controls:SegmentMeter Grid.Row="1" Height="10" Margin="0,6,0,0" Orientation="Horizontal"
MaxWidth="320" HorizontalAlignment="Left"
Level="{Binding MicMeterFraction}" Segments="24"/> Level="{Binding MicMeterFraction}" Segments="24"/>
<DockPanel Grid.Row="2" Margin="0,6,0,0" VerticalAlignment="Bottom"> <DockPanel Grid.Row="2" Margin="0,6,0,0" VerticalAlignment="Bottom">
<Button DockPanel.Dock="Left" Width="24" Height="20" Margin="0,0,6,0" <Button DockPanel.Dock="Left" Width="24" Height="20" Margin="0,0,6,0"
@@ -92,6 +93,7 @@
</Grid> </Grid>
<controls:SegmentMeter Grid.Row="1" Height="10" Margin="0,6,0,4" Orientation="Horizontal" <controls:SegmentMeter Grid.Row="1" Height="10" Margin="0,6,0,4" Orientation="Horizontal"
MaxWidth="320" HorizontalAlignment="Left"
Level="{Binding GameMeterFraction}" Segments="24"/> Level="{Binding GameMeterFraction}" Segments="24"/>
<!-- Desktop volume, directly beneath its meter. --> <!-- Desktop volume, directly beneath its meter. -->
@@ -137,6 +139,7 @@
</Grid> </Grid>
<controls:SegmentMeter Grid.Row="1" Height="10" Margin="0,6,0,4" Orientation="Horizontal" <controls:SegmentMeter Grid.Row="1" Height="10" Margin="0,6,0,4" Orientation="Horizontal"
MaxWidth="320" HorizontalAlignment="Left"
Level="{Binding TraxMeterFraction}" Segments="24"/> Level="{Binding TraxMeterFraction}" Segments="24"/>
<DockPanel Grid.Row="2" VerticalAlignment="Center"> <DockPanel Grid.Row="2" VerticalAlignment="Center">
@@ -229,18 +232,24 @@
Foreground="{StaticResource Brush.Attention}"/> Foreground="{StaticResource Brush.Attention}"/>
</Border> </Border>
<!-- Centre: MASTER + the long meter + its reading. --> <!-- Centre: MASTER + the long meter + its reading. The ladder stretches with the
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> window between 420 and 760 px — always longer than the 320-capped bay meters. -->
<TextBlock Text="MASTER" FontSize="12" FontWeight="Bold" VerticalAlignment="Center" <Grid Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="MASTER" FontSize="12" FontWeight="Bold" VerticalAlignment="Center"
Foreground="{StaticResource Brush.OnSurface}"/> Foreground="{StaticResource Brush.OnSurface}"/>
<controls:SegmentMeter Width="420" Height="14" Margin="12,0,0,0" <controls:SegmentMeter Grid.Column="1" Height="14" Margin="12,0,0,0" MinWidth="420" MaxWidth="760"
Orientation="Horizontal" Segments="32" Orientation="Horizontal" Segments="32"
Level="{Binding MasterMeterFraction}" VerticalAlignment="Center"/> Level="{Binding MasterMeterFraction}" VerticalAlignment="Center"/>
<TextBlock Width="72" Margin="10,0,0,0" FontSize="12" <TextBlock Grid.Column="2" Width="72" Margin="10,0,0,0" FontSize="12"
FontFamily="{StaticResource FontFamily.Mono}" VerticalAlignment="Center" FontFamily="{StaticResource FontFamily.Mono}" VerticalAlignment="Center"
Foreground="{StaticResource Brush.OnSurface}" Foreground="{StaticResource Brush.OnSurface}"
Text="{Binding MasterLevelLabel}"/> Text="{Binding MasterLevelLabel}"/>
</StackPanel> </Grid>
<!-- Right: MONO (accessibility, remembered) + the session clock. --> <!-- Right: MONO (accessibility, remembered) + the session clock. -->
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center"> <StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">