fix: creator feedback batch Branch 1 — TRAX volume, tooltip, meter boost, slider click, backdrop
- TRAX: LocalGain now applies 0.2× factor so music is quieter relative to desktop audio slider - TRAX tooltip: switched to ToolTipService with Placement=Top to fix z-order in Viewbox overlay - Mic meter: MeterLevel multiplied by 1.2× before clamping for ~20% higher visual readout - Volume sliders: click anywhere on track to jump thumb to that position before dragging - Backdrop: Image Visibility now binds to BackdropVisible; compositor checks IsVisible before blit - Renamed 'Backdrop' to 'Game Capture' in EnsureBackdrop + test assertions
This commit is contained in:
@@ -197,10 +197,15 @@ public class MainViewModel : ViewModelBase
|
||||
private set
|
||||
{
|
||||
if (SetProperty(ref _backdropImage, value))
|
||||
{
|
||||
OnPropertyChanged(nameof(ShowPreviewPlaceholder));
|
||||
OnPropertyChanged(nameof(BackdropVisible));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool BackdropVisible => ActiveScene?.Elements.OfType<Source>().FirstOrDefault(s => s.IsBackdrop)?.IsVisible == true;
|
||||
|
||||
public SceneElement? SelectedElement
|
||||
{
|
||||
get => _selectedElement;
|
||||
@@ -337,7 +342,7 @@ public class MainViewModel : ViewModelBase
|
||||
/// level flashes on the bar) so the creator sees where they're setting it;
|
||||
/// otherwise the realtime live level scaled by volume (raising the volume
|
||||
/// moves ambient noise up the bar). Read-only meter.</summary>
|
||||
private double MeterLevel => MicMuted ? 0 : _volumeAdjusting || _volumeFlash ? MicVolume : Math.Min(1, AudioLevelMeter.ToDisplay((float)AudioLevel) * MicVolume);
|
||||
private double MeterLevel => MicMuted ? 0 : _volumeAdjusting || _volumeFlash ? MicVolume : Math.Min(1, AudioLevelMeter.ToDisplay((float)AudioLevel) * 1.2 * MicVolume);
|
||||
|
||||
public double MeterFillWidth => MeterLevel * 288;
|
||||
|
||||
@@ -595,7 +600,7 @@ public class MainViewModel : ViewModelBase
|
||||
/// Called whenever the game volume/mute change and on TRAX load.</summary>
|
||||
private void UpdateTraxLocalGain()
|
||||
{
|
||||
_musicPlayer.LocalGain = GameMuted ? 0f : (float)GameAudioVolume;
|
||||
_musicPlayer.LocalGain = GameMuted ? 0f : (float)(GameAudioVolume * 0.2);
|
||||
}
|
||||
|
||||
/// <summary>Live desktop/game input level (0..1), fed by the mixer's loopback
|
||||
@@ -1405,7 +1410,7 @@ public class MainViewModel : ViewModelBase
|
||||
|
||||
backdrop = new Source
|
||||
{
|
||||
Name = "Backdrop",
|
||||
Name = "Game Capture",
|
||||
Type = SourceType.DisplayCapture,
|
||||
IsBackdrop = true,
|
||||
IsEnabled = true,
|
||||
@@ -1697,6 +1702,8 @@ public class MainViewModel : ViewModelBase
|
||||
{
|
||||
if (element == null) return;
|
||||
element.IsVisible = !element.IsVisible;
|
||||
if (element is Source { IsBackdrop: true })
|
||||
OnPropertyChanged(nameof(BackdropVisible));
|
||||
}
|
||||
|
||||
private void AddSource(object? parameter)
|
||||
|
||||
Reference in New Issue
Block a user