From 43646025a8d1e02d03b5c8df389765bd3862a984 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Sun, 6 Aug 2023 00:16:55 +0300 Subject: [PATCH 01/18] GNOME - Allow setting direction for Circle modes It still makes sense, to set direction of background gradient --- NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp | 1 - 1 file changed, 1 deletion(-) diff --git a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp index 7766504..ee08281 100644 --- a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp +++ b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp @@ -132,7 +132,6 @@ Adw.PreferencesWindow _root { model: Gtk.StringList { strings [_("Top to bottom"), _("Bottom to top"), _("Left to right"), _("Right to left") ] }; - sensitive: bind _boxButton.active; } Adw.ActionRow { From a062e687fdca8bdf1a7ff1f1b3f572bbc319a6b1 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Sun, 6 Aug 2023 23:32:47 +0300 Subject: [PATCH 02/18] GNOME - Allow mirror for WaveCircle --- NickvisionCavalier.GNOME/Views/PreferencesDialog.cs | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs index 017bd28..f17c919 100644 --- a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs +++ b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs @@ -433,11 +433,6 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control if (_waveCheckButton.GetActive()) { _controller.Mode = _controller.Mode >= DrawingMode.WaveCircle ? DrawingMode.WaveCircle : DrawingMode.WaveBox; - if (_controller.Mode == DrawingMode.WaveCircle) - { - _mirrorRow.SetSelected(0u); - _mirrorRow.SetSensitive(false); - } _offsetRow.SetSensitive(false); _roundnessRow.SetSensitive(false); } @@ -447,7 +442,6 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control if (_levelsCheckButton.GetActive()) { _controller.Mode = _controller.Mode >= DrawingMode.WaveCircle ? DrawingMode.LevelsCircle : DrawingMode.LevelsBox; - _mirrorRow.SetSensitive(true); _offsetRow.SetSensitive(true); _roundnessRow.SetSensitive(true); } @@ -457,7 +451,6 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control if (_particlesCheckButton.GetActive()) { _controller.Mode = _controller.Mode >= DrawingMode.WaveCircle ? DrawingMode.ParticlesCircle : DrawingMode.ParticlesBox; - _mirrorRow.SetSensitive(true); _offsetRow.SetSensitive(true); _roundnessRow.SetSensitive(true); } @@ -467,7 +460,6 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control if (_barsCheckButton.GetActive()) { _controller.Mode = _controller.Mode >= DrawingMode.WaveCircle ? DrawingMode.BarsCircle : DrawingMode.BarsBox; - _mirrorRow.SetSensitive(true); _offsetRow.SetSensitive(true); _roundnessRow.SetSensitive(false); } @@ -477,7 +469,6 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control if (_spineCheckButton.GetActive()) { _controller.Mode = _controller.Mode >= DrawingMode.WaveCircle ? DrawingMode.SpineCircle : DrawingMode.SpineBox; - _mirrorRow.SetSensitive(true); _offsetRow.SetSensitive(true); _roundnessRow.SetSensitive(true); } @@ -487,12 +478,10 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control if (_splitterCheckButton.GetActive()) { _controller.Mode = DrawingMode.SplitterBox; - _mirrorRow.SetSensitive(true); _offsetRow.SetSensitive(false); _roundnessRow.SetSensitive(false); } }; - _mirrorRow.SetSensitive(_controller.Mode != DrawingMode.WaveCircle); _offsetRow.SetSensitive(_controller.Mode != DrawingMode.WaveBox); _roundnessRow.SetSensitive(_controller.Mode != DrawingMode.WaveBox && _controller.Mode != DrawingMode.BarsBox); _radiusScale.OnValueChanged += (sender, e) => From 8c5c1bc81f5bf032cf7d7cb8465ab292a1e02f22 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Sun, 6 Aug 2023 23:58:00 +0300 Subject: [PATCH 03/18] Shared - Rework WaveCircle mode --- NickvisionCavalier.Shared/Models/Renderer.cs | 36 ++++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/NickvisionCavalier.Shared/Models/Renderer.cs b/NickvisionCavalier.Shared/Models/Renderer.cs index f4f2fe4..07a3d83 100644 --- a/NickvisionCavalier.Shared/Models/Renderer.cs +++ b/NickvisionCavalier.Shared/Models/Renderer.cs @@ -119,7 +119,7 @@ public void Draw(float[] sample, float width, float height) StrokeWidth = Configuration.Current.LinesThickness, IsAntialias = true }; - if (profile.FgColors.Count > 1 && Configuration.Current.Mode != DrawingMode.SpineBox && Configuration.Current.Mode != DrawingMode.SpineCircle) + if (profile.FgColors.Count > 1 && Configuration.Current.Mode != DrawingMode.SpineBox && Configuration.Current.Mode != DrawingMode.SpineCircle && Configuration.Current.Mode != DrawingMode.WaveCircle) { fgPaint.Shader = CreateGradient(profile.FgColors, width, height, Configuration.Current.AreaMargin); } @@ -181,10 +181,6 @@ private SKShader CreateGradient(List colorStrings, float width, float he colors.CopyTo(mirrorColors, colors.Length); colors = mirrorColors; } - if (Configuration.Current.Mode == DrawingMode.WaveCircle) - { - return SKShader.CreateRadialGradient(new SKPoint(width / 2, height / 2), Math.Min(width, height) / 2 * Configuration.Current.InnerRadius, colors, SKShaderTileMode.Repeat); - } if (Configuration.Current.Mode > DrawingMode.WaveCircle) { return SKShader.CreateLinearGradient(new SKPoint(margin, Math.Min(width, height) * Configuration.Current.InnerRadius / 2), new SKPoint(margin, Math.Min(width, height) / 2), colors, SKShaderTileMode.Clamp); @@ -753,10 +749,18 @@ private void DrawWaveCircle(float[] sample, DrawingDirection direction, float x, var fullRadius = Math.Min(width, height) / 2; var innerRadius = fullRadius * Configuration.Current.InnerRadius; var radius = fullRadius - innerRadius; - Canvas.Save(); - using var clipPath = new SKPath(); - clipPath.AddCircle(width / 2, height / 2, innerRadius); - Canvas.ClipPath(clipPath, SKClipOperation.Difference, true); + // Modify paint (this mode requires specific paint configuration) + paint.Style = SKPaintStyle.Stroke; + paint.StrokeWidth = Configuration.Current.Filling ? fullRadius - innerRadius : Configuration.Current.LinesThickness; + var colors = Configuration.Current.ColorProfiles[Configuration.Current.ActiveProfile].FgColors.Select(c => SKColor.Parse(c)).Reverse().ToArray(); + var positions = new float[Configuration.Current.ColorProfiles[Configuration.Current.ActiveProfile].FgColors.Count]; + for (int i = 0; i < colors.Length; i++) + { + positions[i] = (i + (colors.Length - 1 - i) * innerRadius / fullRadius) / (colors.Length - 1); + } + paint.Shader = SKShader.CreateRadialGradient(new SKPoint(x + width / 2, y + height / 2), + fullRadius, colors, positions, SKShaderTileMode.Clamp); + // Create path using var path = new SKPath(); path.MoveTo( x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2), @@ -779,8 +783,18 @@ private void DrawWaveCircle(float[] sample, DrawingDirection direction, float x, x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2), y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2)); path.Close(); - Canvas.DrawPath(path, paint); - Canvas.Restore(); + // Draw + if (Configuration.Current.Filling) + { + Canvas.Save(); + Canvas.ClipPath(path, SKClipOperation.Intersect, true); + Canvas.DrawCircle(new SKPoint(x + width / 2, y + height / 2), innerRadius + (fullRadius - innerRadius)/ 2, paint); + Canvas.Restore(); + } + else + { + Canvas.DrawPath(path, paint); + } } /// From 9f741693020b791a4a7498c7dd15b728ffea4ffc Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:24:54 +0300 Subject: [PATCH 04/18] Flatpak - Set CAVA commit --- flatpak/org.nickvision.cavalier.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flatpak/org.nickvision.cavalier.json b/flatpak/org.nickvision.cavalier.json index 737a195..276ba8e 100644 --- a/flatpak/org.nickvision.cavalier.json +++ b/flatpak/org.nickvision.cavalier.json @@ -51,7 +51,8 @@ { "type" : "git", "url" : "https://github.com/karlstav/cava.git", - "tag" : "0.9.0" + "tag" : "0.9.0", + "commit" : "83b4cda8177c780c7895ae67384c2679e84cc0d9" } ] }, From 720faa45f7ffd998f1b7685441c9b996b5b2fa79 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:25:31 +0300 Subject: [PATCH 05/18] All - Change noise reduction to work with CAVA 0.9.0 --- .../Blueprints/preferences_dialog.blp | 10 +++++----- NickvisionCavalier.GNOME/Views/PreferencesDialog.cs | 6 +++--- .../Controllers/PreferencesViewController.cs | 2 +- NickvisionCavalier.Shared/Models/CAVA.cs | 2 +- NickvisionCavalier.Shared/Models/Configuration.cs | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp index ee08281..2f08a07 100644 --- a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp +++ b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp @@ -366,14 +366,14 @@ Adw.PreferencesWindow _root { [suffix] Gtk.Scale _noiseReductionScale { - width-request: 190; + width-request: 180; draw-value: true; value-pos: left; - digits: 2; + digits: 0; adjustment: Gtk.Adjustment { - lower: 0.15; - upper: 0.95; - step-increment: 0.01; + lower: 15; + upper: 95; + step-increment: 1; }; } } diff --git a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs index f17c919..fbfcfed 100644 --- a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs +++ b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs @@ -667,10 +667,10 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control } }; _noiseReductionScale.GetFirstChild().SetMarginBottom(12); - _noiseReductionScale.AddMark(0.77, Gtk.PositionType.Bottom, null); + _noiseReductionScale.AddMark(77, Gtk.PositionType.Bottom, null); _noiseReductionScale.OnValueChanged += (sender, e) => { - _controller.NoiseReduction = (float)_noiseReductionScale.GetValue(); + _controller.NoiseReduction = (float)_noiseReductionScale.GetValue() / 100f; if (!_avoidCAVAReload) { _controller.ChangeCAVASettings(); @@ -814,7 +814,7 @@ public bool LoadCAVASettings() _sensitivityScale.SetValue((int)_controller.Sensitivity); _stereoButton.SetActive(_controller.Stereo); _monstercatSwitch.SetActive(_controller.Monstercat); - _noiseReductionScale.SetValue(_controller.NoiseReduction); + _noiseReductionScale.SetValue((double)_controller.NoiseReduction * 100); _avoidCAVAReload = false; _controller.ChangeCAVASettings(); return false; diff --git a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs index 6ba0f93..457ecaf 100644 --- a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs +++ b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs @@ -342,7 +342,7 @@ public bool Monstercat } /// - /// Noise reduction value (0.0-1.0) + /// Noise reduction value (0.15-0.95) /// public float NoiseReduction { diff --git a/NickvisionCavalier.Shared/Models/CAVA.cs b/NickvisionCavalier.Shared/Models/CAVA.cs index d222683..93e9da4 100644 --- a/NickvisionCavalier.Shared/Models/CAVA.cs +++ b/NickvisionCavalier.Shared/Models/CAVA.cs @@ -80,7 +80,7 @@ private void UpdateConfig() channels = {(Configuration.Current.Stereo ? "stereo" : "mono")} [smoothing] monstercat = {(Configuration.Current.Monstercat ? "1" : "0")} - noise_reduction = {Configuration.Current.NoiseReduction.ToString("G2", CultureInfo.InvariantCulture)}"; + noise_reduction = {(int)(Configuration.Current.NoiseReduction * 100)}"; File.WriteAllText(_configPath, config); } diff --git a/NickvisionCavalier.Shared/Models/Configuration.cs b/NickvisionCavalier.Shared/Models/Configuration.cs index 2504a20..3663c6b 100644 --- a/NickvisionCavalier.Shared/Models/Configuration.cs +++ b/NickvisionCavalier.Shared/Models/Configuration.cs @@ -66,9 +66,9 @@ public class Configuration : ConfigurationBase /// public bool Monstercat { get; set; } /// - /// Noise reduction value (0.0-1.0) + /// Noise reduction value (0.15-0.95) /// - public float NoiseReduction { get; set; } // Note: noise reduction will be int (0-100) in the next stable release of CAVA + public float NoiseReduction { get; set; } /// /// Whether to reverse bars order for each channel /// From c965e368b46ae66fec9162de9008d43fd70ec1d8 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 10:42:28 +0300 Subject: [PATCH 06/18] Use pipewire by default Pulseaudio still can be used with CAVALIER_INPUT_METHOD=pulse --- NickvisionCavalier.Shared/Models/CAVA.cs | 2 ++ flatpak/org.nickvision.cavalier.json | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NickvisionCavalier.Shared/Models/CAVA.cs b/NickvisionCavalier.Shared/Models/CAVA.cs index 93e9da4..6325697 100644 --- a/NickvisionCavalier.Shared/Models/CAVA.cs +++ b/NickvisionCavalier.Shared/Models/CAVA.cs @@ -73,6 +73,8 @@ private void UpdateConfig() bars = {Configuration.Current.BarPairs * 2} autosens = {(Configuration.Current.Autosens ? "1" : "0")} sensitivity = {Math.Pow(Configuration.Current.Sensitivity, 2)} + [input] + method = {Environment.GetEnvironmentVariable("CAVALIER_INPUT_METHOD") ?? "pipewire"} [output] method = raw raw_target = /dev/stdout diff --git a/flatpak/org.nickvision.cavalier.json b/flatpak/org.nickvision.cavalier.json index 276ba8e..4a4d67f 100644 --- a/flatpak/org.nickvision.cavalier.json +++ b/flatpak/org.nickvision.cavalier.json @@ -17,7 +17,8 @@ "--socket=wayland", "--socket=pulseaudio", "--device=dri", - "--share=ipc" + "--share=ipc", + "--filesystem=xdg-run/pipewire-0" ], "cleanup":[ "/include", From 3ab7519636faf66fcca82d457a52e4e30cacd662 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 11:36:05 +0300 Subject: [PATCH 07/18] All - Rotation for circle modes --- .../Blueprints/preferences_dialog.blp | 18 ++++- .../Views/PreferencesDialog.cs | 6 ++ .../Controllers/PreferencesViewController.cs | 60 ++++++++++------ .../Models/CmdOptions.cs | 7 +- .../Models/Configuration.cs | 5 ++ NickvisionCavalier.Shared/Models/Renderer.cs | 72 +++++++++---------- 6 files changed, 110 insertions(+), 58 deletions(-) diff --git a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp index 2f08a07..8877872 100644 --- a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp +++ b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp @@ -93,9 +93,10 @@ Adw.PreferencesWindow _root { } Adw.PreferencesGroup { + visible: bind _boxButton.active inverted; + Adw.ActionRow { title: _("Radius"); - visible: bind _boxButton.active inverted; [suffix] Gtk.Scale _radiusScale { @@ -108,6 +109,21 @@ Adw.PreferencesWindow _root { }; } } + + Adw.ActionRow { + title: _("Rotation"); + + [suffix] + Gtk.Scale _rotationScale { + width-request: 150; + draw-value: false; + adjustment: Gtk.Adjustment { + lower: 0; + upper: 6.284; + step-increment: 0.01; + }; + } + } } Adw.PreferencesGroup { diff --git a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs index fbfcfed..e63b7f6 100644 --- a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs +++ b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs @@ -31,6 +31,7 @@ public partial class PreferencesDialog : Adw.PreferencesWindow [Gtk.Connect] private readonly Gtk.CheckButton _spineCheckButton; [Gtk.Connect] private readonly Gtk.CheckButton _splitterCheckButton; [Gtk.Connect] private readonly Gtk.Scale _radiusScale; + [Gtk.Connect] private readonly Gtk.Scale _rotationScale; [Gtk.Connect] private readonly Adw.ComboRow _mirrorRow; [Gtk.Connect] private readonly Adw.ActionRow _reverseMirrorRow; [Gtk.Connect] private readonly Gtk.Switch _reverseMirrorSwitch; @@ -488,6 +489,10 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control { _controller.InnerRadius = (float)_radiusScale.GetValue(); }; + _rotationScale.OnValueChanged += (sender, e) => + { + _controller.Rotation = (float)Math.Min(2 * Math.PI, _rotationScale.GetValue()); + }; _mirrorRow.OnNotify += (sender, e) => { if (e.Pspec.GetName() == "selected") @@ -752,6 +757,7 @@ public bool LoadInstantSettings() break; } _radiusScale.SetValue((double)_controller.InnerRadius); + _rotationScale.SetValue((double)_controller.Rotation); var mirror = (uint)_controller.Mirror; // saving mirror state to apply after changing the model if (_controller.Stereo) { diff --git a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs index 457ecaf..efb979b 100644 --- a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs +++ b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs @@ -93,84 +93,89 @@ public void HandleCommandLine(object? sender, string[] args) var updateCAVA = false; if (o.AreaMargin.HasValue) { - Configuration.Current.AreaMargin = Math.Min(o.AreaMargin.Value, 40); + AreaMargin = Math.Min(o.AreaMargin.Value, 40); updateCavalier = true; } if (o.Borderless.HasValue) { - Configuration.Current.Borderless = o.Borderless.Value; + Borderless = o.Borderless.Value; updateCavalier = true; } if (o.SharpCorners.HasValue) { - Configuration.Current.SharpCorners = o.SharpCorners.Value; + SharpCorners = o.SharpCorners.Value; updateCavalier = true; } if (o.BarPairs.HasValue) { - Configuration.Current.BarPairs = Math.Max(3, Math.Min(o.BarPairs.Value, 50)); + BarPairs = Math.Max(3, Math.Min(o.BarPairs.Value, 50)); updateCAVA = true; } if (o.Stereo.HasValue) { - Configuration.Current.Stereo = o.Stereo.Value; + Stereo = o.Stereo.Value; updateCAVA = true; } if (o.ReverseOrder.HasValue) { - Configuration.Current.ReverseOrder = o.ReverseOrder.Value; + ReverseOrder = o.ReverseOrder.Value; updateCavalier = true; } if (o.Direction.HasValue) { - Configuration.Current.Direction = o.Direction.Value; + Direction = o.Direction.Value; updateCavalier = true; } if (o.ItemsOffset.HasValue) { - Configuration.Current.ItemsOffset = Math.Min(o.ItemsOffset.Value, 20) / 100.0f; + ItemsOffset = Math.Min(o.ItemsOffset.Value, 20) / 100.0f; updateCavalier = true; } if (o.ItemsRoundness.HasValue) { - Configuration.Current.ItemsRoundness = Math.Min(o.ItemsRoundness.Value, 100) / 100.0f; + ItemsRoundness = Math.Min(o.ItemsRoundness.Value, 100) / 100.0f; updateCavalier = true; } if (o.Filling.HasValue) { - Configuration.Current.Filling = o.Filling.Value; + Filling = o.Filling.Value; updateCavalier = true; } if (o.LinesThickness.HasValue) { - Configuration.Current.LinesThickness = Math.Min(o.LinesThickness.Value, 10); + LinesThickness = Math.Min(o.LinesThickness.Value, 10); updateCavalier = true; } if (o.Mode.HasValue) { - Configuration.Current.Mode = o.Mode.Value; + Mode = o.Mode.Value; updateCavalier = true; } if (o.Mirror.HasValue) { - Configuration.Current.Mirror = o.Mirror.Value; + Mirror = o.Mirror.Value; updateCavalier = true; } if (o.ReverseMirror.HasValue) { - Configuration.Current.ReverseMirror = o.ReverseMirror.Value; + ReverseMirror = o.ReverseMirror.Value; updateCavalier = true; } if (o.InnerRadius.HasValue) { - Configuration.Current.InnerRadius = Math.Max(80, Math.Min(20, o.InnerRadius.Value)) / 100f; + InnerRadius = Math.Max(80, Math.Min(20, o.InnerRadius.Value)) / 100f; + updateCavalier = true; + } + if (o.Rotation.HasValue) + { + Rotation = Math.Max(360, o.InnerRadius.Value) / 360f * (float)Math.PI * 2; updateCavalier = true; } if (o.ActiveProfile.HasValue) { if (o.ActiveProfile.Value < Configuration.Current.ColorProfiles.Count) { - Configuration.Current.ActiveProfile = (int)o.ActiveProfile.Value; + ActiveProfile = (int)o.ActiveProfile.Value; updateCavalier = true; } } @@ -178,18 +183,18 @@ public void HandleCommandLine(object? sender, string[] args) { if (o.ImageIndex.Value > -1 && o.ImageIndex.Value <= ImagesList.Count) { - Configuration.Current.ImageIndex = o.ImageIndex.Value - 1; + ImageIndex = o.ImageIndex.Value - 1; updateCavalier = true; } } if (o.ImageScale.HasValue) { - Configuration.Current.ImageScale = Math.Max(0.1f, Math.Min(o.ImageScale.Value / 100f, 1f)); + ImageScale = Math.Max(0.1f, Math.Min(o.ImageScale.Value / 100f, 1f)); updateCavalier = true; } if (o.Hearts) { - Configuration.Current.Hearts = true; + Hearts = true; updateCavalier = true; } if (updateCavalier) @@ -440,6 +445,16 @@ public float InnerRadius set => Configuration.Current.InnerRadius = value; } + + /// + /// Rotation angle in radians in circle modes (0-2PI) + /// + public float Rotation + { + get => Configuration.Current.Rotation; + + set => Configuration.Current.Rotation = value; + } /// /// Whether to reverse mirrored bars @@ -490,7 +505,12 @@ public float ImageScale /// Whether to replace Spine mode with Hearts mode (easter egg) /// /// Suggested by my beloved Xenia <3 - public bool Hearts => Configuration.Current.Hearts; + public bool Hearts + { + get => Configuration.Current.Hearts; + + private set => Configuration.Current.Hearts = value; + } /// /// Saves the configuration to disk diff --git a/NickvisionCavalier.Shared/Models/CmdOptions.cs b/NickvisionCavalier.Shared/Models/CmdOptions.cs index 8939e82..024b50a 100644 --- a/NickvisionCavalier.Shared/Models/CmdOptions.cs +++ b/NickvisionCavalier.Shared/Models/CmdOptions.cs @@ -29,7 +29,7 @@ public class CmdOptions { /// /// Drawing direction /// - [Option('o', "drawing-direction", Required = false, HelpText = "Drawing direction, one of: topbottom, bottomtop, leftright, rightleft")] + [Option('g', "drawing-direction", Required = false, HelpText = "Drawing direction, one of: topbottom, bottomtop, leftright, rightleft")] public DrawingDirection? Direction { get; set; } /// /// The size of spaces between elements @@ -82,6 +82,11 @@ public class CmdOptions { [Option('u', "radius", Required = false, HelpText = "Inner circle radius in circle modes (20-80)")] public uint? InnerRadius { get; set; } /// + /// Rotation in circle modes (0-360) + /// + [Option('o', "rotation", Required = false, HelpText = "Rotation in circle modes (0-360)")] + public uint? Rotation { get; set; } + /// /// Active color profile index /// [Option('p', "profile", Required = false, HelpText = "Zero-based index of profile to activate")] diff --git a/NickvisionCavalier.Shared/Models/Configuration.cs b/NickvisionCavalier.Shared/Models/Configuration.cs index 3663c6b..cc5b281 100644 --- a/NickvisionCavalier.Shared/Models/Configuration.cs +++ b/NickvisionCavalier.Shared/Models/Configuration.cs @@ -110,6 +110,10 @@ public class Configuration : ConfigurationBase /// public float InnerRadius { get; set; } /// + /// Rotation angle in radians in circle modes (0-2PI) + /// + public float Rotation { get; set; } + /// /// List of color profiles /// public List ColorProfiles { get; set; } @@ -161,6 +165,7 @@ public Configuration() Mirror = Mirror.Off; ReverseMirror = false; InnerRadius = 0.5f; + Rotation = 0f; ColorProfiles = new List { new ColorProfile() }; ActiveProfile = 0; ImageIndex = -1; diff --git a/NickvisionCavalier.Shared/Models/Renderer.cs b/NickvisionCavalier.Shared/Models/Renderer.cs index 07a3d83..4c5febe 100644 --- a/NickvisionCavalier.Shared/Models/Renderer.cs +++ b/NickvisionCavalier.Shared/Models/Renderer.cs @@ -12,7 +12,7 @@ namespace NickvisionCavalier.Shared.Models; /// public class Renderer { - private delegate void DrawFunc(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint); + private delegate void DrawFunc(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint); private DrawFunc? _drawFunc; private int _imageIndex; private SKBitmap? _imageBitmap; @@ -143,17 +143,17 @@ public void Draw(float[] sample, float width, float height) }; if (Configuration.Current.Mirror == Mirror.Full) { - _drawFunc(sample, Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, GetMirrorWidth(width), GetMirrorHeight(height), fgPaint); - _drawFunc(Configuration.Current.ReverseMirror ? sample.Reverse().ToArray() : sample, GetMirrorDirection(), GetMirrorX(width), GetMirrorY(height), GetMirrorWidth(width), GetMirrorHeight(height), fgPaint); + _drawFunc(sample, Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, GetMirrorWidth(width), GetMirrorHeight(height), Configuration.Current.Rotation, fgPaint); + _drawFunc(Configuration.Current.ReverseMirror ? sample.Reverse().ToArray() : sample, GetMirrorDirection(), GetMirrorX(width), GetMirrorY(height), GetMirrorWidth(width), GetMirrorHeight(height), -Configuration.Current.Rotation, fgPaint); } else if (Configuration.Current.Mirror == Mirror.SplitChannels) { - _drawFunc(sample.Take(sample.Length / 2).ToArray(), Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, GetMirrorWidth(width), GetMirrorHeight(height), fgPaint); - _drawFunc(Configuration.Current.ReverseMirror ? sample.Skip(sample.Length / 2).ToArray() : sample.Skip(sample.Length / 2).Reverse().ToArray(), GetMirrorDirection(), GetMirrorX(width), GetMirrorY(height), GetMirrorWidth(width), GetMirrorHeight(height), fgPaint); + _drawFunc(sample.Take(sample.Length / 2).ToArray(), Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, GetMirrorWidth(width), GetMirrorHeight(height), Configuration.Current.Rotation, fgPaint); + _drawFunc(Configuration.Current.ReverseMirror ? sample.Skip(sample.Length / 2).ToArray() : sample.Skip(sample.Length / 2).Reverse().ToArray(), GetMirrorDirection(), GetMirrorX(width), GetMirrorY(height), GetMirrorWidth(width), GetMirrorHeight(height), -Configuration.Current.Rotation, fgPaint); } else { - _drawFunc(sample, Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, width, height, fgPaint); + _drawFunc(sample, Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, width, height, Configuration.Current.Rotation, fgPaint); } Canvas.Flush(); } @@ -271,7 +271,7 @@ private float GetMirrorHeight(float height) /// Drawing width /// Drawing height /// Skia paint - private void DrawWaveBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawWaveBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var step = (direction < DrawingDirection.LeftRight ? width : height) / (sample.Length - 1); using var path = new SKPath(); @@ -367,7 +367,7 @@ private void DrawWaveBox(float[] sample, DrawingDirection direction, float x, fl /// Drawing width /// Drawing height /// Skia paint - private void DrawLevelsBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawLevelsBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var step = (direction < DrawingDirection.LeftRight ? width : height) / sample.Length; var itemWidth = (direction < DrawingDirection.LeftRight ? step : width / 10) * (1 - Configuration.Current.ItemsOffset * 2) - (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness / 2); @@ -425,7 +425,7 @@ private void DrawLevelsBox(float[] sample, DrawingDirection direction, float x, /// Drawing width /// Drawing height /// Skia paint - private void DrawParticlesBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawParticlesBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var step = (direction < DrawingDirection.LeftRight ? width : height) / sample.Length; var itemWidth = (direction < DrawingDirection.LeftRight ? step : width / 11) * (1 - Configuration.Current.ItemsOffset * 2) - (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness / 2); @@ -480,7 +480,7 @@ private void DrawParticlesBox(float[] sample, DrawingDirection direction, float /// Drawing width /// Drawing height /// Skia paint - private void DrawBarsBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawBarsBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var step = (direction < DrawingDirection.LeftRight ? width : height) / sample.Length; for (var i = 0; i < sample.Length; i++) @@ -537,7 +537,7 @@ private void DrawBarsBox(float[] sample, DrawingDirection direction, float x, fl /// Drawing width /// Drawing height /// Skia paint - private void DrawSpineBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawSpineBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var step = (direction < DrawingDirection.LeftRight ? width : height) / sample.Length; var itemSize = step * (1 - Configuration.Current.ItemsOffset * 2) - (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness); @@ -654,7 +654,7 @@ private SKPaint GetSpinePaint(SKPaint paint, float sample) /// Drawing width /// Drawing height /// Skia paint - private void DrawSplitterBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawSplitterBox(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var step = (direction < DrawingDirection.LeftRight ? width : height) / sample.Length; var path = new SKPath(); @@ -744,7 +744,7 @@ private void DrawSplitterBox(float[] sample, DrawingDirection direction, float x /// Drawing width /// Drawing height /// Skia paint - private void DrawWaveCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawWaveCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var fullRadius = Math.Min(width, height) / 2; var innerRadius = fullRadius * Configuration.Current.InnerRadius; @@ -763,25 +763,25 @@ private void DrawWaveCircle(float[] sample, DrawingDirection direction, float x, // Create path using var path = new SKPath(); path.MoveTo( - x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2), - y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2)); + x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2 + rotation), + y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2 + rotation)); for (var i = 0; i < sample.Length - 1; i++) { path.CubicTo( - x + width / 2 + (innerRadius + radius * sample[i]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length), - y + height / 2 + (innerRadius + radius * sample[i]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length), - x + width / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length), - y + height / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length), - x + width / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (i + 1) / sample.Length), - y + height / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (i + 1) / sample.Length)); + x + width / 2 + (innerRadius + radius * sample[i]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length + rotation), + y + height / 2 + (innerRadius + radius * sample[i]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length + rotation), + x + width / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length + rotation), + y + height / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (i + 0.5f) / sample.Length + rotation), + x + width / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (i + 1) / sample.Length + rotation), + y + height / 2 + (innerRadius + radius * sample[i+1]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (i + 1) / sample.Length + rotation)); } path.CubicTo( - x + width / 2 + (innerRadius + radius * sample[^1]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length), - y + height / 2 + (innerRadius + radius * sample[^1]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length), - x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length), - y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length), - x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2), - y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2)); + x + width / 2 + (innerRadius + radius * sample[^1]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length + rotation), + y + height / 2 + (innerRadius + radius * sample[^1]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length + rotation), + x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length + rotation), + y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * (sample.Length - 0.5f) / sample.Length + rotation), + x + width / 2 + (innerRadius + radius * sample[0]) * (float)Math.Cos(Math.PI / 2 + rotation), + y + height / 2 + (innerRadius + radius * sample[0]) * (float)Math.Sin(Math.PI / 2 + rotation)); path.Close(); // Draw if (Configuration.Current.Filling) @@ -807,7 +807,7 @@ private void DrawWaveCircle(float[] sample, DrawingDirection direction, float x, /// Drawing width /// Drawing height /// Skia paint - private void DrawLevelsCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawLevelsCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var fullRadius = Math.Min(width, height) / 2; var innerRadius = fullRadius * Configuration.Current.InnerRadius; @@ -816,7 +816,7 @@ private void DrawLevelsCircle(float[] sample, DrawingDirection direction, float { Canvas.Save(); Canvas.Translate(x + width / 2, y + height / 2); - Canvas.RotateDegrees(360 * (i + 0.5f) / sample.Length); + Canvas.RotateRadians(2 * (float)Math.PI * (i + 0.5f) / sample.Length + rotation); for (var j = 0; j < Math.Floor(sample[i] * 10); j++) { Canvas.DrawRoundRect( @@ -842,7 +842,7 @@ private void DrawLevelsCircle(float[] sample, DrawingDirection direction, float /// Drawing width /// Drawing height /// Skia paint - private void DrawParticlesCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawParticlesCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var fullRadius = Math.Min(width, height) / 2; var innerRadius = fullRadius * Configuration.Current.InnerRadius; @@ -851,7 +851,7 @@ private void DrawParticlesCircle(float[] sample, DrawingDirection direction, flo { Canvas.Save(); Canvas.Translate(x + width / 2, y + height / 2); - Canvas.RotateDegrees(360 * (i + 0.5f) / sample.Length); + Canvas.RotateRadians(2 * (float)Math.PI * (i + 0.5f) / sample.Length + rotation); Canvas.DrawRoundRect( -barWidth * (1 - Configuration.Current.ItemsOffset * 2) / 2 + (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness / 2), innerRadius + (fullRadius - innerRadius) / 10 * 9 * sample[i] + (fullRadius - innerRadius) / 10 * Configuration.Current.ItemsOffset + (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness / 2), @@ -874,7 +874,7 @@ private void DrawParticlesCircle(float[] sample, DrawingDirection direction, flo /// Drawing width /// Drawing height /// Skia paint - private void DrawBarsCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawBarsCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var fullRadius = Math.Min(width, height) / 2; var innerRadius = fullRadius * Configuration.Current.InnerRadius; @@ -883,7 +883,7 @@ private void DrawBarsCircle(float[] sample, DrawingDirection direction, float x, { Canvas.Save(); Canvas.Translate(x + width / 2, y + height / 2); - Canvas.RotateDegrees(360 * (i + 0.5f) / sample.Length); + Canvas.RotateRadians(2 * (float)Math.PI * (i + 0.5f) / sample.Length + rotation); Canvas.DrawRect( -barWidth * (1 - Configuration.Current.ItemsOffset * 2) / 2 + (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness / 2), innerRadius + (Configuration.Current.Filling ? 0 : 0 + Configuration.Current.LinesThickness / 2), @@ -904,7 +904,7 @@ private void DrawBarsCircle(float[] sample, DrawingDirection direction, float x, /// Drawing width /// Drawing height /// Skia paint - private void DrawSpineCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, SKPaint paint) + private void DrawSpineCircle(float[] sample, DrawingDirection direction, float x, float y, float width, float height, float rotation, SKPaint paint) { var fullRadius = Math.Min(width, height) / 2; var innerRadius = fullRadius * Configuration.Current.InnerRadius; @@ -917,7 +917,7 @@ private void DrawSpineCircle(float[] sample, DrawingDirection direction, float x Canvas.Save(); using var path = new SKPath(); DrawHeart(path, itemSize); - Canvas.Translate(x + width / 2 + innerRadius * (float)Math.Cos(Math.PI / 2 + Math.PI * 2 * i / sample.Length), y + height / 2 + innerRadius * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * i / sample.Length)); + Canvas.Translate(x + width / 2 + innerRadius * (float)Math.Cos(rotation + Math.PI / 2 + Math.PI * 2 * i / sample.Length), y + height / 2 + innerRadius * (float)Math.Sin(Math.PI / 2 + Math.PI * 2 * i / sample.Length)); Canvas.Scale(sample[i]); Canvas.DrawPath(path, GetSpinePaint(paint, sample[i])); Canvas.Restore(); @@ -925,7 +925,7 @@ private void DrawSpineCircle(float[] sample, DrawingDirection direction, float x } Canvas.Save(); Canvas.Translate(x + width / 2, y + height / 2); - Canvas.RotateDegrees(360 * (i + 0.5f) / sample.Length); + Canvas.RotateRadians(2 * (float)Math.PI * (i + 0.5f) / sample.Length + rotation); Canvas.DrawRoundRect( -barWidth * (1 - Configuration.Current.ItemsOffset * 2) / 2 * sample[i] + (Configuration.Current.Filling ? 0 : Configuration.Current.LinesThickness / 2), innerRadius - itemSize * sample[i] / 2, From 8b691fd18f114c3e2d60ccac0204f22841ed56e3 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 13:08:05 +0300 Subject: [PATCH 08/18] All - Area offsets --- .../Blueprints/preferences_dialog.blp | 30 ++++++++++++++++ .../Views/PreferencesDialog.cs | 22 +++++++++--- .../Controllers/PreferencesViewController.cs | 35 +++++++++++++++++++ .../Models/CmdOptions.cs | 18 +++++++--- .../Models/Configuration.cs | 8 +++++ NickvisionCavalier.Shared/Models/Renderer.cs | 30 +++++++++++++--- 6 files changed, 130 insertions(+), 13 deletions(-) diff --git a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp index 8877872..28329c3 100644 --- a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp +++ b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp @@ -168,6 +168,36 @@ Adw.PreferencesWindow _root { } } + Adw.ActionRow { + title: _("Drawing area X offset"); + + [suffix] + Gtk.Scale _areaOffsetXScale { + width-request: 150; + draw-value: false; + adjustment: Gtk.Adjustment { + lower: -0.5; + upper: 0.5; + step-increment: 1; + }; + } + } + + Adw.ActionRow { + title: _("Drawing area Y offset"); + + [suffix] + Gtk.Scale _areaOffsetYScale { + width-request: 150; + draw-value: false; + adjustment: Gtk.Adjustment { + lower: -0.5; + upper: 0.5; + step-increment: 0.01; + }; + } + } + Adw.ActionRow _offsetRow { title: _("Offset between items"); subtitle: _("The size of spaces between elements (in percent)."); diff --git a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs index e63b7f6..50b4787 100644 --- a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs +++ b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs @@ -36,6 +36,8 @@ public partial class PreferencesDialog : Adw.PreferencesWindow [Gtk.Connect] private readonly Adw.ActionRow _reverseMirrorRow; [Gtk.Connect] private readonly Gtk.Switch _reverseMirrorSwitch; [Gtk.Connect] private readonly Gtk.Scale _marginScale; + [Gtk.Connect] private readonly Gtk.Scale _areaOffsetXScale; + [Gtk.Connect] private readonly Gtk.Scale _areaOffsetYScale; [Gtk.Connect] private readonly Adw.ComboRow _directionRow; [Gtk.Connect] private readonly Adw.ActionRow _offsetRow; [Gtk.Connect] private readonly Gtk.Scale _offsetScale; @@ -512,6 +514,16 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control { _controller.AreaMargin = (uint)_marginScale.GetValue(); }; + _areaOffsetXScale.AddMark(0, Gtk.PositionType.Bottom, null); + _areaOffsetXScale.OnValueChanged += (sender, e) => + { + _controller.AreaOffsetX = (float)_areaOffsetXScale.GetValue(); + }; + _areaOffsetYScale.AddMark(0, Gtk.PositionType.Bottom, null); + _areaOffsetYScale.OnValueChanged += (sender, e) => + { + _controller.AreaOffsetY = (float)_areaOffsetYScale.GetValue(); + }; _directionRow.OnNotify += (sender, e) => { if (e.Pspec.GetName() == "selected") @@ -778,13 +790,15 @@ public bool LoadInstantSettings() } _reverseMirrorRow.SetVisible(_controller.Mirror != Mirror.Off); _reverseMirrorSwitch.SetActive(_controller.ReverseMirror); - _marginScale.SetValue((int)_controller.AreaMargin); + _marginScale.SetValue((double)_controller.AreaMargin); + _areaOffsetXScale.SetValue((double)_controller.AreaOffsetX); + _areaOffsetYScale.SetValue((double)_controller.AreaOffsetY); _directionRow.SetSelected((uint)_controller.Direction); - _offsetScale.SetValue((int)(_controller.ItemsOffset * 100)); - _roundnessScale.SetValue((int)(_controller.ItemsRoundness * 100)); + _offsetScale.SetValue(_controller.ItemsOffset * 100.0); + _roundnessScale.SetValue(_controller.ItemsRoundness * 100.0); _thicknessRow.SetSensitive(!_fillingSwitch.GetActive()); _fillingSwitch.SetActive(_controller.Filling); - _thicknessScale.SetValue((int)_controller.LinesThickness); + _thicknessScale.SetValue((double)_controller.LinesThickness); _borderlessSwitch.SetActive(_controller.Borderless); _sharpCornersSwitch.SetActive(_controller.SharpCorners); _windowControlsSwitch.SetActive(_controller.ShowControls); diff --git a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs index efb979b..62776ae 100644 --- a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs +++ b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs @@ -96,6 +96,21 @@ public void HandleCommandLine(object? sender, string[] args) AreaMargin = Math.Min(o.AreaMargin.Value, 40); updateCavalier = true; } + if (o.AreaOffsetX.HasValue) + { + AreaOffsetX = Math.Max(-50, Math.Min(o.AreaOffsetX.Value, 50)) / 100f; + updateCavalier = true; + } + if (o.AreaOffsetY.HasValue) + { + AreaOffsetY = Math.Max(-50, Math.Min(o.AreaOffsetY.Value, 50)) / 100f; + updateCavalier = true; + } + if (o.AreaMargin.HasValue) + { + AreaMargin = Math.Min(o.AreaMargin.Value, 40); + updateCavalier = true; + } if (o.Borderless.HasValue) { Borderless = o.Borderless.Value; @@ -246,6 +261,26 @@ public uint AreaMargin set => Configuration.Current.AreaMargin = value; } + /// + /// Drawing area X offset (-0.5-0.5) + /// + public float AreaOffsetX + { + get => Configuration.Current.AreaOffsetX; + + set => Configuration.Current.AreaOffsetX = value; + } + + /// + /// Drawing area Y offset (-0.5-0.5) + /// + public float AreaOffsetY + { + get => Configuration.Current.AreaOffsetY; + + set => Configuration.Current.AreaOffsetY = value; + } + /// /// Whether the window should be borderless /// diff --git a/NickvisionCavalier.Shared/Models/CmdOptions.cs b/NickvisionCavalier.Shared/Models/CmdOptions.cs index 024b50a..12dac28 100644 --- a/NickvisionCavalier.Shared/Models/CmdOptions.cs +++ b/NickvisionCavalier.Shared/Models/CmdOptions.cs @@ -22,17 +22,27 @@ public class CmdOptions { [Option('v', "reverse-mirror", Required = false, HelpText = "Reverse mirror (true or false)")] public bool? ReverseMirror { get; set; } /// - /// Size of drawing area margins in pixels + /// Size of drawing area margins in pixels (0-40) /// [Option('n', "margin", Required = false, HelpText = "Area margin (0-40)")] public uint? AreaMargin { get; set; } /// + /// Drawing area X offset in percent of its width (-50-50) + /// + [Option('x', "offset-x", Required = false, HelpText = "Drawing area X offset (-50-50)")] + public int? AreaOffsetX { get; set; } + /// + /// Drawing area Y offset in percent of its height (-50-50) + /// + [Option('y', "offset-y", Required = false, HelpText = "Drawing area Y offset (-50-50)")] + public int? AreaOffsetY { get; set; } + /// /// Drawing direction /// [Option('g', "drawing-direction", Required = false, HelpText = "Drawing direction, one of: topbottom, bottomtop, leftright, rightleft")] public DrawingDirection? Direction { get; set; } /// - /// The size of spaces between elements + /// The size of spaces between elements (0-20) /// [Option('t', "items-offset", Required = false, HelpText = "Offset between items (0-20)")] public uint? ItemsOffset { get; set; } @@ -47,7 +57,7 @@ public class CmdOptions { [Option('f', "filling", Required = false, HelpText = "Fill (true) or draw lines (false)")] public bool? Filling { get; set; } /// - /// Thickness of lines when filling is off (in pixels) + /// Thickness of lines in pixels when filling is off (0-100) /// [Option('l', "lines-thickness", Required = false, HelpText = "Lines thickness when filling is off (0-100)")] public uint? LinesThickness { get; set; } @@ -62,7 +72,7 @@ public class CmdOptions { [Option('s', "sharp-corners", Required = false, HelpText = "Make window corneres sharp (true or false)")] public bool? SharpCorners { get; set; } /// - /// Number of bar pairs in CAVA + /// Number of bar pairs in CAVA (3-50) /// [Option('b', "bar-pairs", Required = false, HelpText = "Number of bar pairs (3-50)")] public uint? BarPairs { get; set; } diff --git a/NickvisionCavalier.Shared/Models/Configuration.cs b/NickvisionCavalier.Shared/Models/Configuration.cs index cc5b281..702a0f1 100644 --- a/NickvisionCavalier.Shared/Models/Configuration.cs +++ b/NickvisionCavalier.Shared/Models/Configuration.cs @@ -26,6 +26,14 @@ public class Configuration : ConfigurationBase /// public uint AreaMargin { get; set; } /// + /// Drawing area X offset (-0.5-0.5) + /// + public float AreaOffsetX { get; set; } + /// + /// Drawing area Y offset (-0.5-0.5) + /// + public float AreaOffsetY { get; set; } + /// /// Whether the window should be borderless /// public bool Borderless { get; set; } diff --git a/NickvisionCavalier.Shared/Models/Renderer.cs b/NickvisionCavalier.Shared/Models/Renderer.cs index 4c5febe..62050eb 100644 --- a/NickvisionCavalier.Shared/Models/Renderer.cs +++ b/NickvisionCavalier.Shared/Models/Renderer.cs @@ -143,17 +143,37 @@ public void Draw(float[] sample, float width, float height) }; if (Configuration.Current.Mirror == Mirror.Full) { - _drawFunc(sample, Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, GetMirrorWidth(width), GetMirrorHeight(height), Configuration.Current.Rotation, fgPaint); - _drawFunc(Configuration.Current.ReverseMirror ? sample.Reverse().ToArray() : sample, GetMirrorDirection(), GetMirrorX(width), GetMirrorY(height), GetMirrorWidth(width), GetMirrorHeight(height), -Configuration.Current.Rotation, fgPaint); + _drawFunc(sample, Configuration.Current.Direction, + (width + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetX + Configuration.Current.AreaMargin, + (height + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetY + Configuration.Current.AreaMargin, + GetMirrorWidth(width), GetMirrorHeight(height), + Configuration.Current.Rotation, fgPaint); + _drawFunc(Configuration.Current.ReverseMirror ? sample.Reverse().ToArray() : sample, GetMirrorDirection(), + (width + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetX + GetMirrorX(width), + (height + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetY + GetMirrorY(height), + GetMirrorWidth(width), GetMirrorHeight(height), + -Configuration.Current.Rotation, fgPaint); } else if (Configuration.Current.Mirror == Mirror.SplitChannels) { - _drawFunc(sample.Take(sample.Length / 2).ToArray(), Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, GetMirrorWidth(width), GetMirrorHeight(height), Configuration.Current.Rotation, fgPaint); - _drawFunc(Configuration.Current.ReverseMirror ? sample.Skip(sample.Length / 2).ToArray() : sample.Skip(sample.Length / 2).Reverse().ToArray(), GetMirrorDirection(), GetMirrorX(width), GetMirrorY(height), GetMirrorWidth(width), GetMirrorHeight(height), -Configuration.Current.Rotation, fgPaint); + _drawFunc(sample.Take(sample.Length / 2).ToArray(), Configuration.Current.Direction, + (width + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetX + Configuration.Current.AreaMargin, + (height + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetY + Configuration.Current.AreaMargin, + GetMirrorWidth(width), GetMirrorHeight(height), + Configuration.Current.Rotation, fgPaint); + _drawFunc(Configuration.Current.ReverseMirror ? sample.Skip(sample.Length / 2).ToArray() : sample.Skip(sample.Length / 2).Reverse().ToArray(), GetMirrorDirection(), + (width + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetX + GetMirrorX(width), + (height + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetY + GetMirrorY(height), + GetMirrorWidth(width), GetMirrorHeight(height), + -Configuration.Current.Rotation, fgPaint); } else { - _drawFunc(sample, Configuration.Current.Direction, Configuration.Current.AreaMargin, Configuration.Current.AreaMargin, width, height, Configuration.Current.Rotation, fgPaint); + _drawFunc(sample, Configuration.Current.Direction, + (width + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetX + Configuration.Current.AreaMargin, + (height + Configuration.Current.AreaMargin * 2) * Configuration.Current.AreaOffsetY + Configuration.Current.AreaMargin, + width, height, + Configuration.Current.Rotation, fgPaint); } Canvas.Flush(); } From 9e415f339deeba0671a5002d403ad98c1c173ea9 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 14:11:56 +0300 Subject: [PATCH 09/18] Shared - Fix Circle modes gradients --- NickvisionCavalier.Shared/Models/Renderer.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/NickvisionCavalier.Shared/Models/Renderer.cs b/NickvisionCavalier.Shared/Models/Renderer.cs index 62050eb..ff1e2b3 100644 --- a/NickvisionCavalier.Shared/Models/Renderer.cs +++ b/NickvisionCavalier.Shared/Models/Renderer.cs @@ -121,7 +121,7 @@ public void Draw(float[] sample, float width, float height) }; if (profile.FgColors.Count > 1 && Configuration.Current.Mode != DrawingMode.SpineBox && Configuration.Current.Mode != DrawingMode.SpineCircle && Configuration.Current.Mode != DrawingMode.WaveCircle) { - fgPaint.Shader = CreateGradient(profile.FgColors, width, height, Configuration.Current.AreaMargin); + fgPaint.Shader = CreateGradient(profile.FgColors, width, height, true, Configuration.Current.AreaMargin); } else { @@ -184,12 +184,13 @@ public void Draw(float[] sample, float width, float height) /// List of colors as strings /// Canvas width /// Canvas height + /// Whether to create gradient for foreground, there's a difference for Circle modes /// Area margin /// Skia Shader - private SKShader CreateGradient(List colorStrings, float width, float height, uint margin = 0) + private SKShader CreateGradient(List colorStrings, float width, float height, bool foreground = false, uint margin = 0) { var colors = colorStrings.Select(c => SKColor.Parse(c)).Reverse().ToArray(); - if (Configuration.Current.Mirror != Mirror.Off) + if (Configuration.Current.Mirror != Mirror.Off && !(foreground && Configuration.Current.Mode > DrawingMode.WaveCircle)) { var mirrorColors = new SKColor[colors.Length * 2]; if (Configuration.Current.Direction == DrawingDirection.BottomTop || Configuration.Current.Direction == DrawingDirection.RightLeft) @@ -201,8 +202,13 @@ private SKShader CreateGradient(List colorStrings, float width, float he colors.CopyTo(mirrorColors, colors.Length); colors = mirrorColors; } - if (Configuration.Current.Mode > DrawingMode.WaveCircle) + if (Configuration.Current.Mode > DrawingMode.WaveCircle && foreground) { + if (Configuration.Current.Mirror > Mirror.Off) + { + width = GetMirrorWidth(width); + height = GetMirrorHeight(height); + } return SKShader.CreateLinearGradient(new SKPoint(margin, Math.Min(width, height) * Configuration.Current.InnerRadius / 2), new SKPoint(margin, Math.Min(width, height) / 2), colors, SKShaderTileMode.Clamp); } return Configuration.Current.Direction switch From ee753ae1e112bffa649f5f776dbd5da3e46e9f49 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 15:21:59 +0300 Subject: [PATCH 10/18] GNOME - Add missing shorcuts --- .../Blueprints/preferences_dialog.blp | 2 +- .../Blueprints/shortcuts_dialog.blp | 17 ++++- .../Views/PreferencesDialog.cs | 70 ++++++++++++++++++- 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp index 28329c3..d15ba97 100644 --- a/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp +++ b/NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp @@ -178,7 +178,7 @@ Adw.PreferencesWindow _root { adjustment: Gtk.Adjustment { lower: -0.5; upper: 0.5; - step-increment: 1; + step-increment: 0.01; }; } } diff --git a/NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp b/NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp index 7306bfb..e58ae39 100644 --- a/NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp +++ b/NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp @@ -22,6 +22,11 @@ Gtk.ShortcutsWindow _shortcuts { accelerator: "U U"; } + Gtk.ShortcutsShortcut { + title: _("Change rotation in Circle modes"); + accelerator: "O O"; + } + Gtk.ShortcutsShortcut { title: _("Change Mirror Mode"); accelerator: "M M"; @@ -37,9 +42,19 @@ Gtk.ShortcutsWindow _shortcuts { accelerator: "N N"; } + Gtk.ShortcutsShortcut { + title: _("Change Drawing Area X Offset"); + accelerator: "X X"; + } + + Gtk.ShortcutsShortcut { + title: _("Change Drawing Area Y Offset"); + accelerator: "Y Y"; + } + Gtk.ShortcutsShortcut { title: _("Change Drawing Direction"); - accelerator: "O O"; + accelerator: "G G"; } Gtk.ShortcutsShortcut { diff --git a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs index 50b4787..e735772 100644 --- a/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs +++ b/NickvisionCavalier.GNOME/Views/PreferencesDialog.cs @@ -183,6 +183,28 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control }; application.AddAction(actDecRadius); application.SetAccelsForAction("app.dec-radius", new string[] { "u" }); + //Increase Rotation Action + var actIncRotation = Gio.SimpleAction.New("inc-rotation", null); + actIncRotation.OnActivate += (sender, e) => + { + if (_rotationScale.GetValue() < 6.284) + { + _rotationScale.SetValue(_rotationScale.GetValue() + 0.01); + } + }; + application.AddAction(actIncRotation); + application.SetAccelsForAction("app.inc-rotation", new string[] { "o" }); + //Decrease Rotation Action + var actDecRotation = Gio.SimpleAction.New("dec-rotation", null); + actDecRotation.OnActivate += (sender, e) => + { + if (_rotationScale.GetValue() > 0) + { + _rotationScale.SetValue(_rotationScale.GetValue() - 0.01); + } + }; + application.AddAction(actDecRotation); + application.SetAccelsForAction("app.dec-rotation", new string[] { "o" }); //Next Mirror Mode Action var actNextMirror = Gio.SimpleAction.New("next-mirror", null); actNextMirror.OnActivate += (sender, e) => @@ -236,16 +258,60 @@ private PreferencesDialog(Gtk.Builder builder, PreferencesViewController control }; application.AddAction(actDecMargin); application.SetAccelsForAction("app.dec-margin", new string[] { "n" }); + //Increase Area X Offset + var actIncOffsetX = Gio.SimpleAction.New("inc-offset-x", null); + actIncOffsetX.OnActivate += (sender, e) => + { + if (_areaOffsetXScale.GetValue() < 0.5) + { + _areaOffsetXScale.SetValue(_areaOffsetXScale.GetValue() + 0.01); + } + }; + application.AddAction(actIncOffsetX); + application.SetAccelsForAction("app.inc-offset-x", new string[] { "x" }); + //Decrease Area Margin Action + var actDecOffsetX = Gio.SimpleAction.New("dec-offset-x", null); + actDecOffsetX.OnActivate += (sender, e) => + { + if (_areaOffsetXScale.GetValue() > -0.5) + { + _areaOffsetXScale.SetValue(_areaOffsetXScale.GetValue() - 0.01); + } + }; + application.AddAction(actDecOffsetX); + application.SetAccelsForAction("app.dec-offset-x", new string[] { "x" }); + //Increase Area Y Offset + var actIncOffsetY = Gio.SimpleAction.New("inc-offset-y", null); + actIncOffsetY.OnActivate += (sender, e) => + { + if (_areaOffsetYScale.GetValue() < 0.5) + { + _areaOffsetYScale.SetValue(_areaOffsetYScale.GetValue() + 0.01); + } + }; + application.AddAction(actIncOffsetY); + application.SetAccelsForAction("app.inc-offset-y", new string[] { "y" }); + //Decrease Area Margin Action + var actDecOffsetY = Gio.SimpleAction.New("dec-offset-y", null); + actDecOffsetY.OnActivate += (sender, e) => + { + if (_areaOffsetYScale.GetValue() > -0.5) + { + _areaOffsetYScale.SetValue(_areaOffsetYScale.GetValue() - 0.01); + } + }; + application.AddAction(actDecOffsetY); + application.SetAccelsForAction("app.dec-offset-y", new string[] { "y" }); //Next Direction Action var actNextDir = Gio.SimpleAction.New("next-direction", null); actNextDir.OnActivate += (sender, e) => _directionRow.SetSelected(_controller.Direction < DrawingDirection.RightLeft ? (uint)_controller.Direction + 1 : (uint)DrawingDirection.TopBottom); application.AddAction(actNextDir); - application.SetAccelsForAction("app.next-direction", new string[] { "o" }); + application.SetAccelsForAction("app.next-direction", new string[] { "g" }); //Previous Direction Action var actPrevDir = Gio.SimpleAction.New("prev-direction", null); actPrevDir.OnActivate += (sender, e) => _directionRow.SetSelected(_controller.Direction > DrawingDirection.TopBottom ? (uint)_controller.Direction - 1 : (uint)DrawingDirection.RightLeft); application.AddAction(actPrevDir); - application.SetAccelsForAction("app.prev-direction", new string[] { "o" }); + application.SetAccelsForAction("app.prev-direction", new string[] { "g" }); //Increase Items Offset Action var actIncOffset = Gio.SimpleAction.New("inc-offset", null); actIncOffset.OnActivate += (sender, e) => From f78c715d38e96f1a8a4ddd58e9250d16538ac9d2 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 16:31:36 +0300 Subject: [PATCH 11/18] GNOME - Add welcome screen --- .../Blueprints/drawing_view.blp | 13 ++ .../Resources/man-dancing.svg | 210 ++++++++++++++++++ .../org.nickvision.cavalier.gresource.xml | 1 + NickvisionCavalier.GNOME/Views/DrawingView.cs | 13 +- 4 files changed, 236 insertions(+), 1 deletion(-) create mode 100644 NickvisionCavalier.GNOME/Resources/man-dancing.svg diff --git a/NickvisionCavalier.GNOME/Blueprints/drawing_view.blp b/NickvisionCavalier.GNOME/Blueprints/drawing_view.blp index f1dea3f..3a1ea29 100644 --- a/NickvisionCavalier.GNOME/Blueprints/drawing_view.blp +++ b/NickvisionCavalier.GNOME/Blueprints/drawing_view.blp @@ -15,6 +15,19 @@ Gtk.Stack _root { }; } + Gtk.StackPage _welcomePage { + name: "welcome"; + child: Adw.Bin { + Adw.StatusPage { + icon-name: "man-dancing"; + title: _("Let's dance!"); + description: _("Cavalier listens to your system sound. Play some music or watch a video and see your sound come to life!"); + } + + styles ["load-bin"] + }; + } + Gtk.StackPage _glPage { name: "gl"; child: Gtk.GLArea _glArea { diff --git a/NickvisionCavalier.GNOME/Resources/man-dancing.svg b/NickvisionCavalier.GNOME/Resources/man-dancing.svg new file mode 100644 index 0000000..9da117a --- /dev/null +++ b/NickvisionCavalier.GNOME/Resources/man-dancing.svg @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NickvisionCavalier.GNOME/Resources/org.nickvision.cavalier.gresource.xml b/NickvisionCavalier.GNOME/Resources/org.nickvision.cavalier.gresource.xml index 7260398..2eaa57a 100644 --- a/NickvisionCavalier.GNOME/Resources/org.nickvision.cavalier.gresource.xml +++ b/NickvisionCavalier.GNOME/Resources/org.nickvision.cavalier.gresource.xml @@ -5,6 +5,7 @@ cross-symbolic.svg + man-dancing.svg x-circular-symbolic.svg diff --git a/NickvisionCavalier.GNOME/Views/DrawingView.cs b/NickvisionCavalier.GNOME/Views/DrawingView.cs index bec7923..eeb89d7 100644 --- a/NickvisionCavalier.GNOME/Views/DrawingView.cs +++ b/NickvisionCavalier.GNOME/Views/DrawingView.cs @@ -2,6 +2,7 @@ using NickvisionCavalier.Shared.Controllers; using SkiaSharp; using System; +using System.Linq; using System.Runtime.InteropServices; using System.Timers; @@ -28,6 +29,7 @@ public partial class DrawingView : Gtk.Stack, IDisposable private readonly GSourceFunc _showGl; private readonly GSourceFunc _queueRender; private readonly Timer _renderTimer; + private bool _showWelcome; private GRContext? _ctx; private SKImageInfo? _imgInfo; private SKSurface? _glSurface; @@ -39,6 +41,7 @@ private DrawingView(Gtk.Builder builder, DrawingViewController controller) : bas { _disposed = false; _controller = controller; + _showWelcome = true; //Build UI builder.Connect(this); if (Environment.GetEnvironmentVariable("CAVALIER_RENDERER")?.ToLower() == "cairo") @@ -62,9 +65,17 @@ private DrawingView(Gtk.Builder builder, DrawingViewController controller) : bas _controller.CAVA.OutputReceived += (sender, sample) => { _sample = sample; + if (_showWelcome && sample.Any(s => s != 0)) + { + _showWelcome = false; + } GLib.Functions.IdleAdd(0, () => { - if (GetVisibleChildName() != (_useCairo ? "cairo" : "gl")) + if (_showWelcome && GetVisibleChildName() != "welcome") + { + SetVisibleChildName("welcome"); + } + if (!_showWelcome && GetVisibleChildName() != (_useCairo ? "cairo" : "gl")) { SetVisibleChildName(_useCairo ? "cairo" : "gl"); } From a4d3c55ecf33690876614130e8f13dba0a8fe5f3 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 17:26:01 +0300 Subject: [PATCH 12/18] GNOME - Replace dancing man emoji --- .../Resources/man-dancing.svg | 255 ++++-------------- 1 file changed, 46 insertions(+), 209 deletions(-) diff --git a/NickvisionCavalier.GNOME/Resources/man-dancing.svg b/NickvisionCavalier.GNOME/Resources/man-dancing.svg index 9da117a..388ae83 100644 --- a/NickvisionCavalier.GNOME/Resources/man-dancing.svg +++ b/NickvisionCavalier.GNOME/Resources/man-dancing.svg @@ -1,210 +1,47 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From c3773092b23a8cb936741c0f609c1345340975d8 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 17:34:11 +0300 Subject: [PATCH 13/18] V2023.8.1-beta2 --- NickvisionCavalier.GNOME/Program.cs | 3 +++ .../Controllers/MainWindowController.cs | 2 +- .../org.nickvision.cavalier.metainfo.xml.in | 7 +++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/NickvisionCavalier.GNOME/Program.cs b/NickvisionCavalier.GNOME/Program.cs index 329f8b8..9134c18 100644 --- a/NickvisionCavalier.GNOME/Program.cs +++ b/NickvisionCavalier.GNOME/Program.cs @@ -37,7 +37,10 @@ public Program(string[] args) @"* Added Cairo backend that can be used in case of problems with OpenGL. To activate, run the program with environment variable CAVALIER_RENDERER=cairo * All drawing modes except Splitter now have Circle variants * Added an easter egg (run the program with --help to find how to activate it) + * Added welcome screen that is shown on start until any sound gets detected * Fixed an issue where the app wasn't drawing correctly with >100% display scaling + * CAVA updated to 0.9.0 + * Pipewire is now used as default input method, you can still change back to Pulse Audio using environment variable CAVALIER_INPUT_METHOD=pulse * Updated translations (Thanks everyone on Weblate!)"; _application.OnActivate += OnActivate; if (File.Exists(Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)) + "/org.nickvision.cavalier.gresource")) diff --git a/NickvisionCavalier.Shared/Controllers/MainWindowController.cs b/NickvisionCavalier.Shared/Controllers/MainWindowController.cs index 8bbc0a3..876f4f0 100644 --- a/NickvisionCavalier.Shared/Controllers/MainWindowController.cs +++ b/NickvisionCavalier.Shared/Controllers/MainWindowController.cs @@ -60,7 +60,7 @@ public MainWindowController(string[] args) { Aura = new Aura("org.nickvision.cavalier", "Nickvision Cavalier", _("Cavalier"), _("Visualize audio with CAVA")); Aura.Active.SetConfig("config"); - AppInfo.Version = "2023.8.1-beta1"; + AppInfo.Version = "2023.8.1-beta2"; AppInfo.SourceRepo = new Uri("https://github.com/NickvisionApps/Cavalier"); AppInfo.IssueTracker = new Uri("https://github.com/NickvisionApps/Cavalier/issues/new"); AppInfo.SupportUrl = new Uri("https://github.com/NickvisionApps/Cavalier/discussions"); diff --git a/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in b/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in index 75c1504..589a805 100644 --- a/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in +++ b/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in @@ -8,7 +8,7 @@

Cavalier is an audio visualizer based on CAVA with customizable interface.

    -
  • 6 drawing modes!
  • +
  • 11 drawing modes!
  • Set any color or a gradient for background and foreground.
  • Configure smoothing, noise reduction and a few other CAVA settings.
@@ -41,14 +41,17 @@ - +

Changes compared to 2023.8.0:

  • Added Cairo backend that can be used in case of problems with OpenGL. To activate, run the program with environment variable CAVALIER_RENDERER=cairo
  • All drawing modes except Splitter now have Circle variants
  • Added an easter egg (run the program with --help to find how to activate it)
  • +
  • Added welcome screen that is shown on start until any sound gets detected
  • Fixed an issue where the app wasn't drawing correctly with >100% display scaling
  • +
  • CAVA updated to 0.9.0
  • +
  • Pipewire is now used as default input method, you can still change back to Pulse Audio using environment variable CAVALIER_INPUT_METHOD=pulse
  • Updated translations (Thanks everyone on Weblate!)
From 3b79bf050c50598c2a79f8122bf27c8109f3b035 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 17:36:30 +0300 Subject: [PATCH 14/18] Update po(t) --- .../Resources/po/cavalier.pot | 228 +++++++++-------- NickvisionCavalier.Shared/Resources/po/cs.po | 234 ++++++++++-------- NickvisionCavalier.Shared/Resources/po/de.po | 233 +++++++++-------- NickvisionCavalier.Shared/Resources/po/es.po | 234 ++++++++++-------- NickvisionCavalier.Shared/Resources/po/fi.po | 233 +++++++++-------- NickvisionCavalier.Shared/Resources/po/fr.po | 233 +++++++++-------- NickvisionCavalier.Shared/Resources/po/it.po | 234 ++++++++++-------- NickvisionCavalier.Shared/Resources/po/nl.po | 233 +++++++++-------- .../Resources/po/pt_BR.po | 233 +++++++++-------- NickvisionCavalier.Shared/Resources/po/ru.po | 233 +++++++++-------- NickvisionCavalier.Shared/Resources/po/tr.po | 233 +++++++++-------- 11 files changed, 1494 insertions(+), 1067 deletions(-) diff --git a/NickvisionCavalier.Shared/Resources/po/cavalier.pot b/NickvisionCavalier.Shared/Resources/po/cavalier.pot index 28d0cd8..e513b22 100644 --- a/NickvisionCavalier.Shared/Resources/po/cavalier.pot +++ b/NickvisionCavalier.Shared/Resources/po/cavalier.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-06 20:07-0400\n" +"POT-Creation-Date: 2023-08-07 17:36+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1016 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1091 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:44 msgid "Add" msgstr "" @@ -26,12 +26,12 @@ msgstr "" msgid "Add New Profile" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 #, csharp-format msgid "Are you sure you want to delete profile \"{0}\"?" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:889 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:964 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:41 msgid "Cancel" msgstr "" @@ -56,16 +56,16 @@ msgstr "" msgid "Default" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:892 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:967 msgid "Delete" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 msgid "Delete Profile" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Full" msgstr "" @@ -78,11 +78,11 @@ msgstr "" msgid "GitHub Repo" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:803 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:878 msgid "Hearts" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1018 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1093 msgid "JPEG and PNG images" msgstr "" @@ -98,15 +98,15 @@ msgstr "" msgid "Nicholas Logozzo" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "Off" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "On" msgstr "" @@ -114,12 +114,12 @@ msgstr "" msgid "Profile Name" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1015 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1090 msgid "Select an image" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Split Channels" msgstr "" @@ -137,8 +137,18 @@ msgstr "" msgid "Command Help" msgstr "" +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:23 +msgid "Let's dance!" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:24 +msgid "" +"Cavalier listens to your system sound. Play some music or watch a video and " +"see your sound come to life!" +msgstr "" + #: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:10 -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:123 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 #: NickvisionCavalier.GNOME/Blueprints/window.blp:5 msgid "Preferences" msgstr "" @@ -179,228 +189,240 @@ msgstr "" msgid "Splitter" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:97 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:99 msgid "Radius" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:114 +msgid "Rotation" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 msgid "Mirror" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:119 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:135 msgid "Reverse mirror" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:147 msgid "Drawing direction" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Top to bottom" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Bottom to top" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Left to right" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Right to left" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:139 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:154 msgid "Drawing area margin" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:140 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:155 msgid "Size of gaps around drawing area (in pixels)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:157 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:172 +msgid "Drawing area X offset" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:187 +msgid "Drawing area Y offset" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:202 msgid "Offset between items" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:158 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:203 msgid "The size of spaces between elements (in percent)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:175 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:220 msgid "Roundness of items" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:176 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:221 msgid "How much rounded the elements should be (in percent)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:193 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:238 msgid "Filling" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:194 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:239 msgid "Whether shapes should be filled or outlined." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:204 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:249 msgid "Thickness of lines" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:205 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:250 msgid "Thickness of lines when filling is off (in pixels)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:225 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:270 msgid "Borderless window" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:226 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:271 msgid "Whether to disable window shadow and borders." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:236 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:281 msgid "Sharp corners" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:237 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:282 msgid "Whether the main window corners should be sharp." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:247 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:292 msgid "Window controls" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:248 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:293 msgid "Whether to show window control buttons." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:258 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:303 msgid "Autohide headerbar" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:259 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:304 msgid "Whether to hide headerbar when main window is not focused." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:276 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:321 msgid "Framerate" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:277 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:322 msgid "Number of frames per second." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:279 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:324 msgid "Custom" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:285 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:330 msgid "Custom Framerate" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:290 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:335 msgid "Number of bars" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:307 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:352 msgid "Automatic sensitivity" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:308 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:353 msgid "Attempt to decrease sensitivity if the bars peak." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:318 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:363 msgid "Sensitivity" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:319 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:364 msgid "" "Manual sensitivity. If automatic sensitivity is enabled, this will only be " "the initial value." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:334 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:379 msgid "Channels" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:341 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:386 msgid "Mono" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:345 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:390 msgid "Stereo" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:354 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:399 msgid "Monstercat smoothing" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:355 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:400 msgid "Whether to enable the so-called «Monstercat smoothing»." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:365 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:410 msgid "Noise reduction" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:366 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:411 msgid "" "This factor adjusts the integral and gravity filters to keep the signal " "smooth.\n" "Higher value leads to a slower and smoother result." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:383 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:428 msgid "Reverse order" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:384 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:429 msgid "Whether to reverse order of bars for each channel." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:396 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:441 msgid "Colors" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:419 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:464 msgid "Add Profile" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:442 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:487 msgid "Application Theme" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:450 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:495 msgid "Light" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:454 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:499 msgid "Dark" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:478 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:523 msgid "Foreground Colors" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:500 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:545 msgid "Background Colors" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:520 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:565 msgid "Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:537 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:582 msgid "Add Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:548 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:593 msgid "Scale" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:597 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:642 msgid "No Image" msgstr "" @@ -413,93 +435,105 @@ msgid "Change radius in Circle modes" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:26 -msgid "Change Mirror Mode" +msgid "Change rotation in Circle modes" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 -msgid "Toggle Reverse Mirror" +msgid "Change Mirror Mode" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 -msgid "Change Drawing Area Margin" +msgid "Toggle Reverse Mirror" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 -msgid "Change Drawing Direction" +msgid "Change Drawing Area Margin" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 -msgid "Change Offset Between Items" +msgid "Change Drawing Area X Offset" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 -msgid "Change Items Roundness" +msgid "Change Drawing Area Y Offset" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 -msgid "Toggle Filling" +msgid "Change Drawing Direction" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 -msgid "Change Lines Thickness" +msgid "Change Offset Between Items" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 -msgid "Toggle Window Borders" +msgid "Change Items Roundness" msgstr "" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 +msgid "Toggle Filling" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:76 +msgid "Change Lines Thickness" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:81 +msgid "Toggle Window Borders" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:86 msgid "Toggle Sharp Corners" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:80 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:95 msgid "Change Number of Bars" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:85 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:100 msgid "Toggle Channels" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:90 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:105 msgid "Toggle Reverse Order" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:96 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:111 msgid "Other" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:99 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:114 msgid "Change Color Profile" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:104 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:119 msgid "Change Background Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:109 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:124 msgid "Change Image Scale" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:130 msgctxt "Shortcut" msgid "Application" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:118 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 msgid "Toggle Fullscreen" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:128 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:143 #: NickvisionCavalier.GNOME/Blueprints/window.blp:6 msgid "Keyboard Shortcuts" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:148 #: NickvisionCavalier.GNOME/Blueprints/window.blp:7 msgid "About Cavalier" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:153 #: NickvisionCavalier.GNOME/Blueprints/window.blp:8 msgid "Quit" msgstr "" @@ -514,7 +548,7 @@ msgid "" msgstr "" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:11 -msgid "6 drawing modes!" +msgid "11 drawing modes!" msgstr "" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:12 diff --git a/NickvisionCavalier.Shared/Resources/po/cs.po b/NickvisionCavalier.Shared/Resources/po/cs.po index 1c12009..268a726 100644 --- a/NickvisionCavalier.Shared/Resources/po/cs.po +++ b/NickvisionCavalier.Shared/Resources/po/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-06 20:07-0400\n" +"POT-Creation-Date: 2023-08-07 17:36+0300\n" "PO-Revision-Date: 2023-08-06 14:51+0000\n" "Last-Translator: Písek Pískovec \n" "Language-Team: Czech =2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1016 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1091 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:44 msgid "Add" msgstr "Přidat" @@ -28,12 +28,12 @@ msgstr "Přidat" msgid "Add New Profile" msgstr "Přidat nový profil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 #, csharp-format msgid "Are you sure you want to delete profile \"{0}\"?" msgstr "Opravdu chcete odstranit profil „{0}“?" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:889 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:964 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:41 msgid "Cancel" msgstr "Zrušit" @@ -58,16 +58,16 @@ msgstr "David Lapshin" msgid "Default" msgstr "Výchozí" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:892 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:967 msgid "Delete" msgstr "Smazat" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 msgid "Delete Profile" msgstr "Smazat Profil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Full" msgstr "Plný" @@ -80,11 +80,11 @@ msgstr "Fyodor Sobolev" msgid "GitHub Repo" msgstr "Repozitář GitHub" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:803 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:878 msgid "Hearts" msgstr "Srdíčka" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1018 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1093 msgid "JPEG and PNG images" msgstr "Obrázky JPEG a PNG" @@ -100,15 +100,15 @@ msgstr "Nový barevný profil bude kopie současně aktivního profilu." msgid "Nicholas Logozzo" msgstr "Nicholas Logozzo" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "Off" msgstr "Vypnuto" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "On" msgstr "Zapnuto" @@ -116,12 +116,12 @@ msgstr "Zapnuto" msgid "Profile Name" msgstr "Název profilu" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1015 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1090 msgid "Select an image" msgstr "Vybrat obrázek" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Split Channels" msgstr "Rozdělit kanály" @@ -139,8 +139,18 @@ msgstr "Vizualizace zvuku s CAVA" msgid "Command Help" msgstr "Nápověda k příkazům" +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:23 +msgid "Let's dance!" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:24 +msgid "" +"Cavalier listens to your system sound. Play some music or watch a video and " +"see your sound come to life!" +msgstr "" + #: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:10 -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:123 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 #: NickvisionCavalier.GNOME/Blueprints/window.blp:5 msgid "Preferences" msgstr "Předvolby" @@ -181,143 +191,157 @@ msgstr "Páteř" msgid "Splitter" msgstr "Rozdělovač" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:97 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:99 msgid "Radius" msgstr "Poloměr" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:114 +msgid "Rotation" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 msgid "Mirror" msgstr "Zrcadlo" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:119 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:135 msgid "Reverse mirror" msgstr "Opačné zrcadlení" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:147 msgid "Drawing direction" msgstr "Směr vykreslování" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Top to bottom" msgstr "Shora dolů" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Bottom to top" msgstr "Zdola nahoru" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Left to right" msgstr "Zleva doprava" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Right to left" msgstr "Zprava doleva" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:139 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:154 msgid "Drawing area margin" msgstr "Okraje vykreslovací plochy" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:140 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:155 msgid "Size of gaps around drawing area (in pixels)." msgstr "Velikost mezer okolo vykreslovací oblasti (v pixelech)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:157 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:172 +#, fuzzy +msgid "Drawing area X offset" +msgstr "Okraje vykreslovací plochy" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:187 +#, fuzzy +msgid "Drawing area Y offset" +msgstr "Okraje vykreslovací plochy" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:202 msgid "Offset between items" msgstr "Odsazení mezi položkami" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:158 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:203 msgid "The size of spaces between elements (in percent)." msgstr "Velikost mezer mezi prvky (v procentech)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:175 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:220 msgid "Roundness of items" msgstr "Zaoblení položek" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:176 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:221 msgid "How much rounded the elements should be (in percent)." msgstr "Jak moc zaoblené prvky budou (v procentech)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:193 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:238 msgid "Filling" msgstr "Výplň" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:194 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:239 msgid "Whether shapes should be filled or outlined." msgstr "Zda tvary budou vyplněny nebo obtáhnuty." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:204 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:249 msgid "Thickness of lines" msgstr "Tloušťka čar" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:205 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:250 msgid "Thickness of lines when filling is off (in pixels)." msgstr "Tloušťka čar když vyplňování je vypnuto (v pixelech)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:225 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:270 msgid "Borderless window" msgstr "Bezrámečkové okno" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:226 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:271 msgid "Whether to disable window shadow and borders." msgstr "Zda vypnout stín a rám okna." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:236 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:281 msgid "Sharp corners" msgstr "Ostré rohy" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:237 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:282 msgid "Whether the main window corners should be sharp." msgstr "Zda budou rohy hlavního okna ostré." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:247 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:292 msgid "Window controls" msgstr "Ovládání okna" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:248 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:293 msgid "Whether to show window control buttons." msgstr "Zda zobrazovat ovlídíní okna." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:258 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:303 msgid "Autohide headerbar" msgstr "Automaticky skrýt záhlaví" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:259 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:304 msgid "Whether to hide headerbar when main window is not focused." msgstr "Zda skrýt záhlaví hlavního okna pokud není zaměřené." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:276 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:321 msgid "Framerate" msgstr "Snímková frekvence" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:277 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:322 msgid "Number of frames per second." msgstr "Počet snímků za vteřinu." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:279 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:324 msgid "Custom" msgstr "Vlastní" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:285 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:330 msgid "Custom Framerate" msgstr "Vlastní snímková frekvence" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:290 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:335 msgid "Number of bars" msgstr "Počet tyčí" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:307 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:352 msgid "Automatic sensitivity" msgstr "Automatická citlivost" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:308 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:353 msgid "Attempt to decrease sensitivity if the bars peak." msgstr "Pokus snížit citlivost když tyče jsou na vrcholu." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:318 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:363 msgid "Sensitivity" msgstr "Citlivost" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:319 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:364 msgid "" "Manual sensitivity. If automatic sensitivity is enabled, this will only be " "the initial value." @@ -325,31 +349,31 @@ msgstr "" "Ruční citlivost. Pokud je povolena automatická citlivost, toto bude pouze " "prvotní hodnota." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:334 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:379 msgid "Channels" msgstr "Kanály" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:341 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:386 msgid "Mono" msgstr "Mono" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:345 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:390 msgid "Stereo" msgstr "Stereo" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:354 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:399 msgid "Monstercat smoothing" msgstr "Monstercat vyhlazování" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:355 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:400 msgid "Whether to enable the so-called «Monstercat smoothing»." msgstr "Zda zapnout takzvané «Monstercat smoothing»." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:365 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:410 msgid "Noise reduction" msgstr "Redukce šumu" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:366 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:411 msgid "" "This factor adjusts the integral and gravity filters to keep the signal " "smooth.\n" @@ -359,55 +383,55 @@ msgstr "" "signálu.\n" "Vyšší hodnota vede k pomalejšímu a hladšímu výsledku." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:383 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:428 msgid "Reverse order" msgstr "Opačné pořadí" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:384 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:429 msgid "Whether to reverse order of bars for each channel." msgstr "Zda obrátit pořadí tyčí každého kanálu." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:396 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:441 msgid "Colors" msgstr "Barvy" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:419 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:464 msgid "Add Profile" msgstr "Přidat profil" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:442 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:487 msgid "Application Theme" msgstr "Vzhled aplikace" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:450 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:495 msgid "Light" msgstr "Světlý" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:454 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:499 msgid "Dark" msgstr "Tmavý" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:478 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:523 msgid "Foreground Colors" msgstr "Barvy popředí" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:500 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:545 msgid "Background Colors" msgstr "Barvy pozadí" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:520 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:565 msgid "Image" msgstr "Obrázek" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:537 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:582 msgid "Add Image" msgstr "Přidat obrázek" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:548 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:593 msgid "Scale" msgstr "Měřítko" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:597 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:642 msgid "No Image" msgstr "Žádný obrázek" @@ -420,93 +444,108 @@ msgid "Change radius in Circle modes" msgstr "Změnit poloměr v režimu Kruhu" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:26 +#, fuzzy +msgid "Change rotation in Circle modes" +msgstr "Změnit poloměr v režimu Kruhu" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 msgid "Change Mirror Mode" msgstr "Změnit režim zrcadlení" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 msgid "Toggle Reverse Mirror" msgstr "Přepnout opačné zrcadlení" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 msgid "Change Drawing Area Margin" msgstr "Změnit odsazení vykreslované oblasti" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#, fuzzy +msgid "Change Drawing Area X Offset" +msgstr "Změnit odsazení vykreslované oblasti" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#, fuzzy +msgid "Change Drawing Area Y Offset" +msgstr "Změnit odsazení vykreslované oblasti" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 msgid "Change Drawing Direction" msgstr "Změnit směr vykreslování" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 msgid "Change Offset Between Items" msgstr "Změnit odsazení mezi položkami" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 msgid "Change Items Roundness" msgstr "Změnit zaoblení položek" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 msgid "Toggle Filling" msgstr "Přepnout výplň" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:76 msgid "Change Lines Thickness" msgstr "Změnit tloušťku čar" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:81 msgid "Toggle Window Borders" msgstr "Přepnout okraje okna" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:86 msgid "Toggle Sharp Corners" msgstr "Přepnout ostré rohy" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:80 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:95 msgid "Change Number of Bars" msgstr "Změnit počet sloupců" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:85 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:100 msgid "Toggle Channels" msgstr "Přepnout kanály" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:90 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:105 msgid "Toggle Reverse Order" msgstr "Přepnout opačné pořadí" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:96 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:111 msgid "Other" msgstr "Jiné" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:99 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:114 msgid "Change Color Profile" msgstr "Změnit barevný profil" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:104 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:119 msgid "Change Background Image" msgstr "Změnit obrázek na pozadí" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:109 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:124 msgid "Change Image Scale" msgstr "Změnit velikost obrázku" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:130 msgctxt "Shortcut" msgid "Application" msgstr "Aplikace" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:118 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 msgid "Toggle Fullscreen" msgstr "Přepnout na celou obrazovku" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:128 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:143 #: NickvisionCavalier.GNOME/Blueprints/window.blp:6 msgid "Keyboard Shortcuts" msgstr "Klávesové zkratky" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:148 #: NickvisionCavalier.GNOME/Blueprints/window.blp:7 msgid "About Cavalier" msgstr "O aplikaci Cavalier" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:153 #: NickvisionCavalier.GNOME/Blueprints/window.blp:8 msgid "Quit" msgstr "Ukončit" @@ -522,7 +561,8 @@ msgstr "" "Cavalier je vizualizér zvuku založený na CAVA s přizpůsobitelným prostředím." #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:11 -msgid "6 drawing modes!" +#, fuzzy +msgid "11 drawing modes!" msgstr "6 vykreslovacích režimů!" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:12 diff --git a/NickvisionCavalier.Shared/Resources/po/de.po b/NickvisionCavalier.Shared/Resources/po/de.po index 0f8213c..853f330 100644 --- a/NickvisionCavalier.Shared/Resources/po/de.po +++ b/NickvisionCavalier.Shared/Resources/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: cavalier\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-06 20:07-0400\n" +"POT-Creation-Date: 2023-08-07 17:36+0300\n" "PO-Revision-Date: 2023-07-17 09:43+0000\n" "Last-Translator: Renner03 \n" "Language-Team: German \n" "Language-Team: Spanish \n" "Language-Team: Finnish \n" "Language-Team: French 1;\n" "X-Generator: Weblate 5.0-dev\n" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1016 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1091 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:44 msgid "Add" msgstr "Ajouter" @@ -28,12 +28,12 @@ msgstr "Ajouter" msgid "Add New Profile" msgstr "Ajouter un nouveau profil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 #, csharp-format msgid "Are you sure you want to delete profile \"{0}\"?" msgstr "Êtes-vous sûr⋅e de vouloir supprimer le profil « {0} » ?" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:889 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:964 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:41 msgid "Cancel" msgstr "Annuler" @@ -59,16 +59,16 @@ msgstr "David Lapshin {0}" msgid "Default" msgstr "Par défaut" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:892 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:967 msgid "Delete" msgstr "Supprimer" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 msgid "Delete Profile" msgstr "Supprimer le profil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Full" msgstr "Intégral" @@ -82,11 +82,11 @@ msgstr "Fyodor Sobolev {0}" msgid "GitHub Repo" msgstr "Dépôt GitHub" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:803 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:878 msgid "Hearts" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1018 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1093 msgid "JPEG and PNG images" msgstr "" @@ -102,15 +102,15 @@ msgstr "Le nouveau profil de couleur sera une copie du profil actif actuel." msgid "Nicholas Logozzo" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "Off" msgstr "Désactivé" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "On" msgstr "Activé" @@ -118,12 +118,12 @@ msgstr "Activé" msgid "Profile Name" msgstr "Nom du profil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1015 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1090 msgid "Select an image" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Split Channels" msgstr "Séparer les canaux" @@ -141,8 +141,18 @@ msgstr "Visualisez de l’audio avec CAVA" msgid "Command Help" msgstr "" +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:23 +msgid "Let's dance!" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:24 +msgid "" +"Cavalier listens to your system sound. Play some music or watch a video and " +"see your sound come to life!" +msgstr "" + #: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:10 -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:123 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 #: NickvisionCavalier.GNOME/Blueprints/window.blp:5 msgid "Preferences" msgstr "Préférences" @@ -183,147 +193,161 @@ msgstr "Colonne vertébrale" msgid "Splitter" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:97 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:99 msgid "Radius" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:114 +msgid "Rotation" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 msgid "Mirror" msgstr "Miroir" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:119 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:135 #, fuzzy msgid "Reverse mirror" msgstr "Inverser l’ordre" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:147 msgid "Drawing direction" msgstr "Direction du dessin" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Top to bottom" msgstr "De haut en bas" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Bottom to top" msgstr "De bas en haut" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Left to right" msgstr "De gauche à droite" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Right to left" msgstr "De droite à gauche" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:139 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:154 msgid "Drawing area margin" msgstr "Marge autour de l’aire de dessin" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:140 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:155 msgid "Size of gaps around drawing area (in pixels)." msgstr "Espace (en pixels) laissé autour de l’aire dessinée." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:157 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:172 +#, fuzzy +msgid "Drawing area X offset" +msgstr "Marge autour de l’aire de dessin" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:187 +#, fuzzy +msgid "Drawing area Y offset" +msgstr "Marge autour de l’aire de dessin" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:202 msgid "Offset between items" msgstr "Espace entre les éléments" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:158 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:203 msgid "The size of spaces between elements (in percent)." msgstr "Taille des espaces entre les éléments (en pourcentages)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:175 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:220 msgid "Roundness of items" msgstr "Rondeur des éléments" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:176 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:221 msgid "How much rounded the elements should be (in percent)." msgstr "Ajuste la rondeur des éléments (en pourcentages)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:193 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:238 msgid "Filling" msgstr "Remplissage" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:194 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:239 msgid "Whether shapes should be filled or outlined." msgstr "Indique si les formes devraient être remplies délimitées." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:204 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:249 msgid "Thickness of lines" msgstr "Épaisseur des lignes" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:205 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:250 msgid "Thickness of lines when filling is off (in pixels)." msgstr "Épaisseur des lignes quand le remplissage est désactivé (en pixels)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:225 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:270 msgid "Borderless window" msgstr "Fenêtre sans bordures" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:226 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:271 msgid "Whether to disable window shadow and borders." msgstr "Indique s’il faut désactiver l’ombre et les bordures de la fenêtre." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:236 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:281 msgid "Sharp corners" msgstr "Angles saillants" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:237 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:282 msgid "Whether the main window corners should be sharp." msgstr "Indique si les angles de la fenêtre principale doivent être saillants." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:247 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:292 msgid "Window controls" msgstr "Contrôles de la fenêtre" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:248 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:293 msgid "Whether to show window control buttons." msgstr "Indique s’il faut afficher les boutons de contrôle de la fenêtre." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:258 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:303 msgid "Autohide headerbar" msgstr "Masquer automatiquement la barre supérieure" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:259 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:304 msgid "Whether to hide headerbar when main window is not focused." msgstr "" "Indique s’il faut masquer la barre supérieure lorsque la fenêtre n’est pas " "focalisée." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:276 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:321 msgid "Framerate" msgstr "Fréquence" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:277 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:322 msgid "Number of frames per second." msgstr "Nombre d’images par secondes." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:279 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:324 msgid "Custom" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:285 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:330 #, fuzzy msgid "Custom Framerate" msgstr "Fréquence" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:290 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:335 msgid "Number of bars" msgstr "Nombre de barres" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:307 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:352 msgid "Automatic sensitivity" msgstr "Sensibilité automatique" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:308 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:353 msgid "Attempt to decrease sensitivity if the bars peak." msgstr "Essayer de diminuer la sensibilité si les barres atteignent un pic." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:318 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:363 msgid "Sensitivity" msgstr "Sensibilité" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:319 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:364 msgid "" "Manual sensitivity. If automatic sensitivity is enabled, this will only be " "the initial value." @@ -331,31 +355,31 @@ msgstr "" "Sensibilité définie manuellement. Si la sensibilité automatique est activée, " "ce sera la valeur initiale." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:334 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:379 msgid "Channels" msgstr "Canaux" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:341 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:386 msgid "Mono" msgstr "Mono" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:345 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:390 msgid "Stereo" msgstr "Stéréo" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:354 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:399 msgid "Monstercat smoothing" msgstr "Lissage Monstercat" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:355 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:400 msgid "Whether to enable the so-called «Monstercat smoothing»." msgstr "Indique s’il faut activer le « lissage Monstercat »." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:365 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:410 msgid "Noise reduction" msgstr "Réduction de bruit" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:366 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:411 msgid "" "This factor adjusts the integral and gravity filters to keep the signal " "smooth.\n" @@ -365,55 +389,55 @@ msgstr "" "signal lisse.\n" "Plus la valeur est élevée, plus le rendu sera lent et lisse." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:383 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:428 msgid "Reverse order" msgstr "Inverser l’ordre" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:384 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:429 msgid "Whether to reverse order of bars for each channel." msgstr "Indique s’il faut inverser l’ordre des barres pour chaque canal." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:396 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:441 msgid "Colors" msgstr "Couleurs" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:419 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:464 msgid "Add Profile" msgstr "Ajouter un profil" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:442 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:487 msgid "Application Theme" msgstr "Thème de l’application" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:450 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:495 msgid "Light" msgstr "Clair" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:454 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:499 msgid "Dark" msgstr "Sombre" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:478 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:523 msgid "Foreground Colors" msgstr "Couleurs de premier-plan" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:500 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:545 msgid "Background Colors" msgstr "Couleurs d’arrière-plan" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:520 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:565 msgid "Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:537 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:582 msgid "Add Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:548 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:593 msgid "Scale" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:597 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:642 msgid "No Image" msgstr "" @@ -427,95 +451,110 @@ msgid "Change radius in Circle modes" msgstr "Changer le mode de dessin" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:26 +#, fuzzy +msgid "Change rotation in Circle modes" +msgstr "Changer le mode de dessin" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 msgid "Change Mirror Mode" msgstr "Changer le mode du miroir" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 #, fuzzy msgid "Toggle Reverse Mirror" msgstr "Basculer l’inversion de l’ordre" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 msgid "Change Drawing Area Margin" msgstr "Modifier la marge autour de l’aire de dessin" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#, fuzzy +msgid "Change Drawing Area X Offset" +msgstr "Modifier la marge autour de l’aire de dessin" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#, fuzzy +msgid "Change Drawing Area Y Offset" +msgstr "Modifier la marge autour de l’aire de dessin" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 msgid "Change Drawing Direction" msgstr "Changer la direction du dessin" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 msgid "Change Offset Between Items" msgstr "Modifier l’espace entre les éléments" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 msgid "Change Items Roundness" msgstr "Modifier la rondeur des éléments" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 msgid "Toggle Filling" msgstr "Activer/désactiver le remplissage" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:76 msgid "Change Lines Thickness" msgstr "Modifier l’épaisseur des lignes" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:81 msgid "Toggle Window Borders" msgstr "Afficher/masquer les bordures de la fenêtre" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:86 msgid "Toggle Sharp Corners" msgstr "Activer / désactiver les angles saillants" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:80 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:95 msgid "Change Number of Bars" msgstr "Changer le nombre de barres" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:85 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:100 msgid "Toggle Channels" msgstr "Changer le canal" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:90 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:105 msgid "Toggle Reverse Order" msgstr "Basculer l’inversion de l’ordre" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:96 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:111 msgid "Other" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:99 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:114 #, fuzzy msgid "Change Color Profile" msgstr "Changer le profil de couleurs" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:104 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:119 msgid "Change Background Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:109 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:124 msgid "Change Image Scale" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:130 msgctxt "Shortcut" msgid "Application" msgstr "Application" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:118 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 msgid "Toggle Fullscreen" msgstr "Basculer en plein écran" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:128 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:143 #: NickvisionCavalier.GNOME/Blueprints/window.blp:6 msgid "Keyboard Shortcuts" msgstr "Raccourcis clavier" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:148 #: NickvisionCavalier.GNOME/Blueprints/window.blp:7 msgid "About Cavalier" msgstr "À propos de Cavalier" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:153 #: NickvisionCavalier.GNOME/Blueprints/window.blp:8 msgid "Quit" msgstr "Quitter" @@ -533,7 +572,7 @@ msgstr "" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:11 #, fuzzy -msgid "6 drawing modes!" +msgid "11 drawing modes!" msgstr "5 modes de dessin !" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:12 diff --git a/NickvisionCavalier.Shared/Resources/po/it.po b/NickvisionCavalier.Shared/Resources/po/it.po index f6b15a9..8113020 100644 --- a/NickvisionCavalier.Shared/Resources/po/it.po +++ b/NickvisionCavalier.Shared/Resources/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: cavalier\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-06 20:07-0400\n" +"POT-Creation-Date: 2023-08-07 17:36+0300\n" "PO-Revision-Date: 2023-08-06 14:51+0000\n" "Last-Translator: albanobattistella \n" "Language-Team: Italian \n" "Language-Team: Dutch \n" "Language-Team: Brazilian Portuguese \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Gtranslator 42.0\n" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1016 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1091 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:44 msgid "Add" msgstr "Adicione" @@ -28,12 +28,12 @@ msgstr "Adicione" msgid "Add New Profile" msgstr "Adicione um novo perfil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 #, fuzzy, csharp-format msgid "Are you sure you want to delete profile \"{0}\"?" msgstr "Têm certeza que deseja remover esse perfil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:889 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:964 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:41 msgid "Cancel" msgstr "Cancelar" @@ -58,17 +58,17 @@ msgstr "" msgid "Default" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:892 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:967 msgid "Delete" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 #, fuzzy msgid "Delete Profile" msgstr "Remover perfil" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Full" msgstr "" @@ -81,11 +81,11 @@ msgstr "" msgid "GitHub Repo" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:803 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:878 msgid "Hearts" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1018 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1093 msgid "JPEG and PNG images" msgstr "" @@ -101,15 +101,15 @@ msgstr "" msgid "Nicholas Logozzo" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "Off" msgstr "Desligado" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 #, fuzzy msgid "On" msgstr "Abrir" @@ -119,12 +119,12 @@ msgstr "Abrir" msgid "Profile Name" msgstr "Perfil:" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1015 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1090 msgid "Select an image" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 #, fuzzy msgid "Split Channels" msgstr "Canais" @@ -144,8 +144,18 @@ msgstr "Visualizador de Áudio baseado no CAVA." msgid "Command Help" msgstr "" +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:23 +msgid "Let's dance!" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:24 +msgid "" +"Cavalier listens to your system sound. Play some music or watch a video and " +"see your sound come to life!" +msgstr "" + #: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:10 -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:123 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 #: NickvisionCavalier.GNOME/Blueprints/window.blp:5 msgid "Preferences" msgstr "Preferencias" @@ -186,230 +196,244 @@ msgstr "" msgid "Splitter" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:97 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:99 msgid "Radius" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:114 +msgid "Rotation" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 msgid "Mirror" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:119 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:135 msgid "Reverse mirror" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:147 #, fuzzy msgid "Drawing direction" msgstr "Ondas" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Top to bottom" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Bottom to top" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Left to right" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Right to left" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:139 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:154 msgid "Drawing area margin" msgstr "Marge da onda" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:140 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:155 msgid "Size of gaps around drawing area (in pixels)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:157 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:172 +#, fuzzy +msgid "Drawing area X offset" +msgstr "Marge da onda" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:187 +#, fuzzy +msgid "Drawing area Y offset" +msgstr "Marge da onda" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:202 msgid "Offset between items" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:158 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:203 msgid "The size of spaces between elements (in percent)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:175 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:220 msgid "Roundness of items" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:176 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:221 msgid "How much rounded the elements should be (in percent)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:193 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:238 msgid "Filling" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:194 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:239 msgid "Whether shapes should be filled or outlined." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:204 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:249 msgid "Thickness of lines" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:205 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:250 msgid "Thickness of lines when filling is off (in pixels)." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:225 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:270 msgid "Borderless window" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:226 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:271 msgid "Whether to disable window shadow and borders." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:236 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:281 msgid "Sharp corners" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:237 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:282 msgid "Whether the main window corners should be sharp." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:247 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:292 msgid "Window controls" msgstr "Controle de janela" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:248 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:293 msgid "Whether to show window control buttons." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:258 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:303 msgid "Autohide headerbar" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:259 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:304 msgid "Whether to hide headerbar when main window is not focused." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:276 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:321 msgid "Framerate" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:277 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:322 msgid "Number of frames per second." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:279 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:324 msgid "Custom" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:285 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:330 msgid "Custom Framerate" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:290 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:335 msgid "Number of bars" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:307 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:352 msgid "Automatic sensitivity" msgstr "Sensibilidade automática" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:308 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:353 msgid "Attempt to decrease sensitivity if the bars peak." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:318 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:363 msgid "Sensitivity" msgstr "Sensibilidade" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:319 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:364 msgid "" "Manual sensitivity. If automatic sensitivity is enabled, this will only be " "the initial value." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:334 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:379 msgid "Channels" msgstr "Canais" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:341 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:386 msgid "Mono" msgstr "Mono" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:345 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:390 msgid "Stereo" msgstr "Stereo" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:354 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:399 msgid "Monstercat smoothing" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:355 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:400 msgid "Whether to enable the so-called «Monstercat smoothing»." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:365 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:410 msgid "Noise reduction" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:366 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:411 msgid "" "This factor adjusts the integral and gravity filters to keep the signal " "smooth.\n" "Higher value leads to a slower and smoother result." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:383 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:428 msgid "Reverse order" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:384 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:429 msgid "Whether to reverse order of bars for each channel." msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:396 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:441 msgid "Colors" msgstr "Cores" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:419 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:464 #, fuzzy msgid "Add Profile" msgstr "Adicione um novo perfil" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:442 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:487 msgid "Application Theme" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:450 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:495 msgid "Light" msgstr "Claro" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:454 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:499 msgid "Dark" msgstr "Escuro" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:478 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:523 msgid "Foreground Colors" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:500 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:545 msgid "Background Colors" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:520 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:565 msgid "Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:537 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:582 msgid "Add Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:548 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:593 msgid "Scale" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:597 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:642 msgid "No Image" msgstr "" @@ -425,98 +449,113 @@ msgstr "Ondas" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:26 #, fuzzy +msgid "Change rotation in Circle modes" +msgstr "Ondas" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 +#, fuzzy msgid "Change Mirror Mode" msgstr "Mudar Cores do perfil" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 msgid "Toggle Reverse Mirror" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 #, fuzzy msgid "Change Drawing Area Margin" msgstr "Marge da onda" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#, fuzzy +msgid "Change Drawing Area X Offset" +msgstr "Marge da onda" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#, fuzzy +msgid "Change Drawing Area Y Offset" +msgstr "Marge da onda" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 #, fuzzy msgid "Change Drawing Direction" msgstr "Ondas" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 msgid "Change Offset Between Items" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 msgid "Change Items Roundness" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 msgid "Toggle Filling" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:76 msgid "Change Lines Thickness" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:81 msgid "Toggle Window Borders" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:86 msgid "Toggle Sharp Corners" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:80 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:95 msgid "Change Number of Bars" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:85 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:100 #, fuzzy msgid "Toggle Channels" msgstr "Canais" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:90 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:105 msgid "Toggle Reverse Order" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:96 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:111 msgid "Other" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:99 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:114 #, fuzzy msgid "Change Color Profile" msgstr "Mudar Cores do perfil" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:104 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:119 msgid "Change Background Image" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:109 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:124 msgid "Change Image Scale" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:130 msgctxt "Shortcut" msgid "Application" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:118 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 msgid "Toggle Fullscreen" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:128 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:143 #: NickvisionCavalier.GNOME/Blueprints/window.blp:6 msgid "Keyboard Shortcuts" msgstr "Atalhos de teclado" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:148 #: NickvisionCavalier.GNOME/Blueprints/window.blp:7 #, fuzzy msgid "About Cavalier" msgstr "Cavalier" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:153 #: NickvisionCavalier.GNOME/Blueprints/window.blp:8 msgid "Quit" msgstr "Sair" @@ -535,7 +574,7 @@ msgstr "" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:11 #, fuzzy -msgid "6 drawing modes!" +msgid "11 drawing modes!" msgstr "4 desenhos de ondas!" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:12 diff --git a/NickvisionCavalier.Shared/Resources/po/ru.po b/NickvisionCavalier.Shared/Resources/po/ru.po index c8d05de..f746913 100644 --- a/NickvisionCavalier.Shared/Resources/po/ru.po +++ b/NickvisionCavalier.Shared/Resources/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: cavalier\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-06 20:07-0400\n" +"POT-Creation-Date: 2023-08-07 17:36+0300\n" "PO-Revision-Date: 2023-08-01 19:08+0000\n" "Last-Translator: Fyodor Sobolev \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1016 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1091 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:44 msgid "Add" msgstr "Добавить" @@ -29,12 +29,12 @@ msgstr "Добавить" msgid "Add New Profile" msgstr "Добавить новый профиль" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 #, csharp-format msgid "Are you sure you want to delete profile \"{0}\"?" msgstr "Вы уверены, что хотите удалить профиль \"{0}\"?" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:889 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:964 #: ../../../../NickvisionCavalier.GNOME/Controls/AddProfileDialog.cs:41 msgid "Cancel" msgstr "Отмена" @@ -59,16 +59,16 @@ msgstr "Давид Лапшин" msgid "Default" msgstr "По умолчанию" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:892 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:967 msgid "Delete" msgstr "Удалить" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:887 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:962 msgid "Delete Profile" msgstr "Удалить профиль" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Full" msgstr "Полное" @@ -81,11 +81,11 @@ msgstr "Фёдор Соболев" msgid "GitHub Repo" msgstr "Репозиторий GitHub" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:803 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:878 msgid "Hearts" msgstr "" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1018 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1093 msgid "JPEG and PNG images" msgstr "Изображения JPEG и PNG" @@ -101,15 +101,15 @@ msgstr "Новый цветовой профиль будет копией те msgid "Nicholas Logozzo" msgstr "Nicholas Logozzo" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "Off" msgstr "Выключено" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:662 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:774 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:734 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:847 msgid "On" msgstr "Включено" @@ -117,12 +117,12 @@ msgstr "Включено" msgid "Profile Name" msgstr "Имя профиля" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1015 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:1090 msgid "Select an image" msgstr "Выбрать изображение" -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:657 -#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:769 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:729 +#: ../../../../NickvisionCavalier.GNOME/Views/PreferencesDialog.cs:842 msgid "Split Channels" msgstr "Разделить каналы" @@ -140,8 +140,18 @@ msgstr "Визуализируйте аудио с помощью CAVA" msgid "Command Help" msgstr "Помощь по командам" +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:23 +msgid "Let's dance!" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/drawing_view.blp:24 +msgid "" +"Cavalier listens to your system sound. Play some music or watch a video and " +"see your sound come to life!" +msgstr "" + #: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:10 -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:123 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 #: NickvisionCavalier.GNOME/Blueprints/window.blp:5 msgid "Preferences" msgstr "Настройки" @@ -182,144 +192,158 @@ msgstr "Хребет" msgid "Splitter" msgstr "Разделитель" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:97 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:99 msgid "Radius" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:114 +msgid "Rotation" +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 msgid "Mirror" msgstr "Зеркало" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:119 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:135 msgid "Reverse mirror" msgstr "Развернуть зеркало" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:131 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:147 msgid "Drawing direction" msgstr "Направление отрисовки" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Top to bottom" msgstr "Сверху вниз" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Bottom to top" msgstr "Снизу вверх" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Left to right" msgstr "Слева направо" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:149 msgid "Right to left" msgstr "Справа налево" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:139 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:154 msgid "Drawing area margin" msgstr "Отступ области отрисовки" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:140 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:155 msgid "Size of gaps around drawing area (in pixels)." msgstr "Размер отступа вокруг области отрисовки (в пикселях)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:157 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:172 +#, fuzzy +msgid "Drawing area X offset" +msgstr "Отступ области отрисовки" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:187 +#, fuzzy +msgid "Drawing area Y offset" +msgstr "Отступ области отрисовки" + +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:202 msgid "Offset between items" msgstr "Расстояние между элементами" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:158 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:203 msgid "The size of spaces between elements (in percent)." msgstr "Размер пространства между элементами (в процентах)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:175 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:220 msgid "Roundness of items" msgstr "Округлость элементов" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:176 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:221 msgid "How much rounded the elements should be (in percent)." msgstr "Насколько элементы должны быть скруглены (в процентах)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:193 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:238 msgid "Filling" msgstr "Заполнение" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:194 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:239 msgid "Whether shapes should be filled or outlined." msgstr "Должны ли формы быть заполнены или обведены." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:204 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:249 msgid "Thickness of lines" msgstr "Толщина линий" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:205 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:250 msgid "Thickness of lines when filling is off (in pixels)." msgstr "Толщина линий при выключенном заполнении (в пикселях)." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:225 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:270 msgid "Borderless window" msgstr "Отключить границы окна" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:226 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:271 msgid "Whether to disable window shadow and borders." msgstr "Следует ли скрыть тени и границы окна." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:236 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:281 msgid "Sharp corners" msgstr "Острые углы" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:237 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:282 msgid "Whether the main window corners should be sharp." msgstr "Должны ли углы главного окна быть острыми." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:247 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:292 msgid "Window controls" msgstr "Кнопки управления окном" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:248 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:293 msgid "Whether to show window control buttons." msgstr "Должны ли отображаться кнопки управления окном." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:258 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:303 msgid "Autohide headerbar" msgstr "Автоскрытие заголовка" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:259 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:304 msgid "Whether to hide headerbar when main window is not focused." msgstr "Должен ли отображаться заголовок главного окна, когда оно не в фокусе." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:276 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:321 msgid "Framerate" msgstr "Частота кадров" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:277 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:322 msgid "Number of frames per second." msgstr "Число кадров в секунду." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:279 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:324 msgid "Custom" msgstr "Другое" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:285 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:330 msgid "Custom Framerate" msgstr "Своя частота кадров" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:290 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:335 msgid "Number of bars" msgstr "Количество шкал" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:307 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:352 msgid "Automatic sensitivity" msgstr "Автоматическая чувствительность" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:308 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:353 msgid "Attempt to decrease sensitivity if the bars peak." msgstr "" "Пытаться снижать чувствительность, если показатели достигают максимума." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:318 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:363 msgid "Sensitivity" msgstr "Чувствительность" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:319 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:364 msgid "" "Manual sensitivity. If automatic sensitivity is enabled, this will only be " "the initial value." @@ -327,31 +351,31 @@ msgstr "" "Ручная настройка чувствительности. Если автоматическая чувствительность " "включена, этот параметр задаёт только начальное значение." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:334 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:379 msgid "Channels" msgstr "Каналы" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:341 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:386 msgid "Mono" msgstr "Моно" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:345 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:390 msgid "Stereo" msgstr "Стерео" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:354 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:399 msgid "Monstercat smoothing" msgstr "Сглаживание Monstercat" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:355 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:400 msgid "Whether to enable the so-called «Monstercat smoothing»." msgstr "Следуюет ли включить так называемое «сглаживание Monstercat»." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:365 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:410 msgid "Noise reduction" msgstr "Шумоподавление" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:366 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:411 msgid "" "This factor adjusts the integral and gravity filters to keep the signal " "smooth.\n" @@ -361,55 +385,55 @@ msgstr "" "сигнал гладким.\n" "Высокое значение приведёт к более медленному и гладкому результату." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:383 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:428 msgid "Reverse order" msgstr "Обратный порядок" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:384 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:429 msgid "Whether to reverse order of bars for each channel." msgstr "Следует ли изменить порядок шкал для каждого канала." -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:396 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:441 msgid "Colors" msgstr "Цвета" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:419 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:464 msgid "Add Profile" msgstr "Добавить профиль" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:442 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:487 msgid "Application Theme" msgstr "Тема приложения" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:450 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:495 msgid "Light" msgstr "Светлая" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:454 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:499 msgid "Dark" msgstr "Тёмная" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:478 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:523 msgid "Foreground Colors" msgstr "Цвета переднего плана" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:500 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:545 msgid "Background Colors" msgstr "Цвета фона" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:520 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:565 msgid "Image" msgstr "Изображение" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:537 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:582 msgid "Add Image" msgstr "Добавить изображение" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:548 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:593 msgid "Scale" msgstr "Масштаб" -#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:597 +#: NickvisionCavalier.GNOME/Blueprints/preferences_dialog.blp:642 msgid "No Image" msgstr "Без изображения" @@ -423,93 +447,108 @@ msgid "Change radius in Circle modes" msgstr "Изменить режим отрисовки" #: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:26 +#, fuzzy +msgid "Change rotation in Circle modes" +msgstr "Изменить режим отрисовки" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 msgid "Change Mirror Mode" msgstr "Изменить режим зеркала" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:31 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 msgid "Toggle Reverse Mirror" msgstr "Развернуть зеркало" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:36 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 msgid "Change Drawing Area Margin" msgstr "Изменить отступ области отрисовки" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:41 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#, fuzzy +msgid "Change Drawing Area X Offset" +msgstr "Изменить отступ области отрисовки" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#, fuzzy +msgid "Change Drawing Area Y Offset" +msgstr "Изменить отступ области отрисовки" + +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 msgid "Change Drawing Direction" msgstr "Изменить направление отрисовки" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:46 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 msgid "Change Offset Between Items" msgstr "Изменить расстояние между элементами" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:51 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 msgid "Change Items Roundness" msgstr "Изменить округлость элементов" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:56 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 msgid "Toggle Filling" msgstr "Переключить заполнение" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:61 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:76 msgid "Change Lines Thickness" msgstr "Изменить толщину линий" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:66 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:81 msgid "Toggle Window Borders" msgstr "Переключить границы окна" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:71 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:86 msgid "Toggle Sharp Corners" msgstr "Переключить острые углы" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:80 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:95 msgid "Change Number of Bars" msgstr "Изменить количество шкал" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:85 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:100 msgid "Toggle Channels" msgstr "Переключить каналы" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:90 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:105 msgid "Toggle Reverse Order" msgstr "Переключить обратный порядок" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:96 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:111 msgid "Other" msgstr "Прочее" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:99 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:114 msgid "Change Color Profile" msgstr "Изменить профиль цветов" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:104 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:119 msgid "Change Background Image" msgstr "Изменить фоновое изображение" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:109 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:124 msgid "Change Image Scale" msgstr "Изменить масштаб изображения" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:115 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:130 msgctxt "Shortcut" msgid "Application" msgstr "Приложение" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:118 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 msgid "Toggle Fullscreen" msgstr "Переключить полный экран" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:128 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:143 #: NickvisionCavalier.GNOME/Blueprints/window.blp:6 msgid "Keyboard Shortcuts" msgstr "Комбинации клавиш" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:133 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:148 #: NickvisionCavalier.GNOME/Blueprints/window.blp:7 msgid "About Cavalier" msgstr "О приложении" -#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:138 +#: NickvisionCavalier.GNOME/Blueprints/shortcuts_dialog.blp:153 #: NickvisionCavalier.GNOME/Blueprints/window.blp:8 msgid "Quit" msgstr "Выход" @@ -527,7 +566,7 @@ msgstr "" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:11 #, fuzzy -msgid "6 drawing modes!" +msgid "11 drawing modes!" msgstr "5 режимов отрисовки!" #: NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in:12 diff --git a/NickvisionCavalier.Shared/Resources/po/tr.po b/NickvisionCavalier.Shared/Resources/po/tr.po index 157cf00..d5e505a 100644 --- a/NickvisionCavalier.Shared/Resources/po/tr.po +++ b/NickvisionCavalier.Shared/Resources/po/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-06 20:07-0400\n" +"POT-Creation-Date: 2023-08-07 17:36+0300\n" "PO-Revision-Date: 2023-07-31 13:53+0000\n" "Last-Translator: Sabri Ünal \n" "Language-Team: Turkish Date: Mon, 7 Aug 2023 20:03:56 +0300 Subject: [PATCH 15/18] Shared - Change default window size --- NickvisionCavalier.Shared/Models/Configuration.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NickvisionCavalier.Shared/Models/Configuration.cs b/NickvisionCavalier.Shared/Models/Configuration.cs index 702a0f1..32e7748 100644 --- a/NickvisionCavalier.Shared/Models/Configuration.cs +++ b/NickvisionCavalier.Shared/Models/Configuration.cs @@ -149,8 +149,8 @@ public class Configuration : ConfigurationBase /// public Configuration() { - WindowWidth = 400; - WindowHeight = 200; + WindowWidth = 500; + WindowHeight = 300; AreaMargin = 0; Borderless = false; SharpCorners = false; From 52df9a0f46d254c1cb1401676c56f3a943e67682 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 20:05:14 +0300 Subject: [PATCH 16/18] GNOME - Add resizing label --- .../Blueprints/window.blp | 20 ++++++++++++++++--- .../Resources/po/cavalier.pot | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/cs.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/de.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/es.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/fi.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/fr.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/it.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/nl.po | 8 ++++++-- .../Resources/po/pt_BR.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/ru.po | 8 ++++++-- NickvisionCavalier.Shared/Resources/po/tr.po | 8 ++++++-- 12 files changed, 83 insertions(+), 25 deletions(-) diff --git a/NickvisionCavalier.GNOME/Blueprints/window.blp b/NickvisionCavalier.GNOME/Blueprints/window.blp index 91af807..a224002 100644 --- a/NickvisionCavalier.GNOME/Blueprints/window.blp +++ b/NickvisionCavalier.GNOME/Blueprints/window.blp @@ -16,9 +16,23 @@ Adw.ApplicationWindow _root { [overlay] Adw.Bin _resizeBin { visible: false; - child: Gtk.Image { - icon-name: "org.nickvision.cavalier"; - pixel-size: 128; + child: Gtk.Box { + orientation: vertical; + spacing: 12; + valign: center; + + Gtk.Image { + icon-name: "org.nickvision.cavalier"; + pixel-size: 128; + } + + Adw.ButtonContent { + halign: center; + icon-name: "view-fullscreen-symbolic"; + label: _("Resizing..."); + + styles ["dim-label", "title-3"] + } }; styles [ "background" ] diff --git a/NickvisionCavalier.Shared/Resources/po/cavalier.pot b/NickvisionCavalier.Shared/Resources/po/cavalier.pot index e513b22..995e5d6 100644 --- a/NickvisionCavalier.Shared/Resources/po/cavalier.pot +++ b/NickvisionCavalier.Shared/Resources/po/cavalier.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-07 17:36+0300\n" +"POT-Creation-Date: 2023-08-07 20:04+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -538,7 +538,11 @@ msgstr "" msgid "Quit" msgstr "" -#: NickvisionCavalier.GNOME/Blueprints/window.blp:42 +#: NickvisionCavalier.GNOME/Blueprints/window.blp:32 +msgid "Resizing..." +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/window.blp:56 msgid "Main Menu" msgstr "" diff --git a/NickvisionCavalier.Shared/Resources/po/cs.po b/NickvisionCavalier.Shared/Resources/po/cs.po index 268a726..7d3886e 100644 --- a/NickvisionCavalier.Shared/Resources/po/cs.po +++ b/NickvisionCavalier.Shared/Resources/po/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-07 17:36+0300\n" +"POT-Creation-Date: 2023-08-07 20:04+0300\n" "PO-Revision-Date: 2023-08-06 14:51+0000\n" "Last-Translator: Písek Pískovec \n" "Language-Team: Czech \n" "Language-Team: German \n" "Language-Team: Spanish \n" "Language-Team: Finnish \n" "Language-Team: French \n" "Language-Team: Italian \n" "Language-Team: Dutch \n" "Language-Team: Brazilian Portuguese \n" @@ -560,7 +560,11 @@ msgstr "Cavalier" msgid "Quit" msgstr "Sair" -#: NickvisionCavalier.GNOME/Blueprints/window.blp:42 +#: NickvisionCavalier.GNOME/Blueprints/window.blp:32 +msgid "Resizing..." +msgstr "" + +#: NickvisionCavalier.GNOME/Blueprints/window.blp:56 msgid "Main Menu" msgstr "" diff --git a/NickvisionCavalier.Shared/Resources/po/ru.po b/NickvisionCavalier.Shared/Resources/po/ru.po index f746913..41b74fc 100644 --- a/NickvisionCavalier.Shared/Resources/po/ru.po +++ b/NickvisionCavalier.Shared/Resources/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: cavalier\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-07 17:36+0300\n" +"POT-Creation-Date: 2023-08-07 20:04+0300\n" "PO-Revision-Date: 2023-08-01 19:08+0000\n" "Last-Translator: Fyodor Sobolev \n" "Language-Team: Russian \n" "Language-Team: Turkish Date: Mon, 7 Aug 2023 20:15:20 +0300 Subject: [PATCH 17/18] beta2 -> rc1 I think I'm done with features for this week --- NickvisionCavalier.Shared/Controllers/MainWindowController.cs | 2 +- .../org.nickvision.cavalier.metainfo.xml.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/NickvisionCavalier.Shared/Controllers/MainWindowController.cs b/NickvisionCavalier.Shared/Controllers/MainWindowController.cs index 876f4f0..75b535d 100644 --- a/NickvisionCavalier.Shared/Controllers/MainWindowController.cs +++ b/NickvisionCavalier.Shared/Controllers/MainWindowController.cs @@ -60,7 +60,7 @@ public MainWindowController(string[] args) { Aura = new Aura("org.nickvision.cavalier", "Nickvision Cavalier", _("Cavalier"), _("Visualize audio with CAVA")); Aura.Active.SetConfig("config"); - AppInfo.Version = "2023.8.1-beta2"; + AppInfo.Version = "2023.8.1-rc1"; AppInfo.SourceRepo = new Uri("https://github.com/NickvisionApps/Cavalier"); AppInfo.IssueTracker = new Uri("https://github.com/NickvisionApps/Cavalier/issues/new"); AppInfo.SupportUrl = new Uri("https://github.com/NickvisionApps/Cavalier/discussions"); diff --git a/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in b/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in index 589a805..b05a345 100644 --- a/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in +++ b/NickvisionCavalier.Shared/org.nickvision.cavalier.metainfo.xml.in @@ -41,7 +41,7 @@ - +

Changes compared to 2023.8.0:

    From dbfabb243bcd380239b9994bcf36207e265c58d4 Mon Sep 17 00:00:00 2001 From: Fyodor Sobolev <117388856+fsobolev@users.noreply.github.com> Date: Mon, 7 Aug 2023 20:44:00 +0300 Subject: [PATCH 18/18] Shared - Move properties in PreferencesViewController --- .../Controllers/PreferencesViewController.cs | 360 +++++++++--------- 1 file changed, 180 insertions(+), 180 deletions(-) diff --git a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs index 62776ae..333018e 100644 --- a/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs +++ b/NickvisionCavalier.Shared/Controllers/PreferencesViewController.cs @@ -81,176 +81,6 @@ internal PreferencesViewController() }); } - /// - /// Process command-line arguments passed when starting the app or from other instances - /// - public void HandleCommandLine(object? sender, string[] args) - { - var parserResult = _parser.ParseArguments(args); - parserResult.WithParsed((o) => - { - var updateCavalier = false; - var updateCAVA = false; - if (o.AreaMargin.HasValue) - { - AreaMargin = Math.Min(o.AreaMargin.Value, 40); - updateCavalier = true; - } - if (o.AreaOffsetX.HasValue) - { - AreaOffsetX = Math.Max(-50, Math.Min(o.AreaOffsetX.Value, 50)) / 100f; - updateCavalier = true; - } - if (o.AreaOffsetY.HasValue) - { - AreaOffsetY = Math.Max(-50, Math.Min(o.AreaOffsetY.Value, 50)) / 100f; - updateCavalier = true; - } - if (o.AreaMargin.HasValue) - { - AreaMargin = Math.Min(o.AreaMargin.Value, 40); - updateCavalier = true; - } - if (o.Borderless.HasValue) - { - Borderless = o.Borderless.Value; - updateCavalier = true; - } - if (o.SharpCorners.HasValue) - { - SharpCorners = o.SharpCorners.Value; - updateCavalier = true; - } - if (o.BarPairs.HasValue) - { - BarPairs = Math.Max(3, Math.Min(o.BarPairs.Value, 50)); - updateCAVA = true; - } - if (o.Stereo.HasValue) - { - Stereo = o.Stereo.Value; - updateCAVA = true; - } - if (o.ReverseOrder.HasValue) - { - ReverseOrder = o.ReverseOrder.Value; - updateCavalier = true; - } - if (o.Direction.HasValue) - { - Direction = o.Direction.Value; - updateCavalier = true; - } - if (o.ItemsOffset.HasValue) - { - ItemsOffset = Math.Min(o.ItemsOffset.Value, 20) / 100.0f; - updateCavalier = true; - } - if (o.ItemsRoundness.HasValue) - { - ItemsRoundness = Math.Min(o.ItemsRoundness.Value, 100) / 100.0f; - updateCavalier = true; - } - if (o.Filling.HasValue) - { - Filling = o.Filling.Value; - updateCavalier = true; - } - if (o.LinesThickness.HasValue) - { - LinesThickness = Math.Min(o.LinesThickness.Value, 10); - updateCavalier = true; - } - if (o.Mode.HasValue) - { - Mode = o.Mode.Value; - updateCavalier = true; - } - if (o.Mirror.HasValue) - { - Mirror = o.Mirror.Value; - updateCavalier = true; - } - if (o.ReverseMirror.HasValue) - { - ReverseMirror = o.ReverseMirror.Value; - updateCavalier = true; - } - if (o.InnerRadius.HasValue) - { - InnerRadius = Math.Max(80, Math.Min(20, o.InnerRadius.Value)) / 100f; - updateCavalier = true; - } - if (o.Rotation.HasValue) - { - Rotation = Math.Max(360, o.InnerRadius.Value) / 360f * (float)Math.PI * 2; - updateCavalier = true; - } - if (o.ActiveProfile.HasValue) - { - if (o.ActiveProfile.Value < Configuration.Current.ColorProfiles.Count) - { - ActiveProfile = (int)o.ActiveProfile.Value; - updateCavalier = true; - } - } - if (o.ImageIndex.HasValue) - { - if (o.ImageIndex.Value > -1 && o.ImageIndex.Value <= ImagesList.Count) - { - ImageIndex = o.ImageIndex.Value - 1; - updateCavalier = true; - } - } - if (o.ImageScale.HasValue) - { - ImageScale = Math.Max(0.1f, Math.Min(o.ImageScale.Value / 100f, 1f)); - updateCavalier = true; - } - if (o.Hearts) - { - Hearts = true; - updateCavalier = true; - } - if (updateCavalier) - { - OnUpdateViewInstant?.Invoke(this, EventArgs.Empty); - } - if (updateCAVA) - { - OnUpdateViewCAVA?.Invoke(this, EventArgs.Empty); - } - }).WithNotParsed(_ => - { - var help = GenerateHelp(parserResult); - if (sender is MainWindowController) - { - // Help screen was caused by first instance on start, let's show and exit - Console.WriteLine(help); - Environment.Exit(1); - } - OnShowHelpScreen?.Invoke(this, help); - }); - } - - /// - /// Create help text - /// - /// Command line parser result - /// Help text - private string GenerateHelp(ParserResult result) - { - var helpText = HelpText.AutoBuild(result, h => - { - h.AdditionalNewLineAfterOption = true; - h.Heading = $"{Aura.Active.AppInfo.ShortName} {Aura.Active.AppInfo.Version}"; - h.Copyright = "Copyright (c) 2023 Nickvision"; - h.AutoVersion = false; - return HelpText.DefaultParsingErrorsHandler(result, h); - }, e => e); - return helpText; - } - /// /// Size of drawing area margins in pixels /// @@ -477,7 +307,7 @@ public Mirror Mirror public float InnerRadius { get => Configuration.Current.InnerRadius; - + set => Configuration.Current.InnerRadius = value; } @@ -490,42 +320,42 @@ public float Rotation set => Configuration.Current.Rotation = value; } - + /// /// Whether to reverse mirrored bars /// public bool ReverseMirror { get => Configuration.Current.ReverseMirror; - + set => Configuration.Current.ReverseMirror = value; } - + /// /// List of color profiles /// public List ColorProfiles => Configuration.Current.ColorProfiles; - + /// /// Active color profile index /// public int ActiveProfile { get => Configuration.Current.ActiveProfile; - + set => Configuration.Current.ActiveProfile = value; } - + /// /// Index of a background image to load (-1 to not load anything) /// public int ImageIndex { get => Configuration.Current.ImageIndex; - + set => Configuration.Current.ImageIndex = value; } - + /// /// Background image scale (0.1-1.0, 1.0 - fill the window) /// @@ -543,9 +373,179 @@ public float ImageScale public bool Hearts { get => Configuration.Current.Hearts; - + private set => Configuration.Current.Hearts = value; } + + /// + /// Process command-line arguments passed when starting the app or from other instances + /// + public void HandleCommandLine(object? sender, string[] args) + { + var parserResult = _parser.ParseArguments(args); + parserResult.WithParsed((o) => + { + var updateCavalier = false; + var updateCAVA = false; + if (o.AreaMargin.HasValue) + { + AreaMargin = Math.Min(o.AreaMargin.Value, 40); + updateCavalier = true; + } + if (o.AreaOffsetX.HasValue) + { + AreaOffsetX = Math.Max(-50, Math.Min(o.AreaOffsetX.Value, 50)) / 100f; + updateCavalier = true; + } + if (o.AreaOffsetY.HasValue) + { + AreaOffsetY = Math.Max(-50, Math.Min(o.AreaOffsetY.Value, 50)) / 100f; + updateCavalier = true; + } + if (o.AreaMargin.HasValue) + { + AreaMargin = Math.Min(o.AreaMargin.Value, 40); + updateCavalier = true; + } + if (o.Borderless.HasValue) + { + Borderless = o.Borderless.Value; + updateCavalier = true; + } + if (o.SharpCorners.HasValue) + { + SharpCorners = o.SharpCorners.Value; + updateCavalier = true; + } + if (o.BarPairs.HasValue) + { + BarPairs = Math.Max(3, Math.Min(o.BarPairs.Value, 50)); + updateCAVA = true; + } + if (o.Stereo.HasValue) + { + Stereo = o.Stereo.Value; + updateCAVA = true; + } + if (o.ReverseOrder.HasValue) + { + ReverseOrder = o.ReverseOrder.Value; + updateCavalier = true; + } + if (o.Direction.HasValue) + { + Direction = o.Direction.Value; + updateCavalier = true; + } + if (o.ItemsOffset.HasValue) + { + ItemsOffset = Math.Min(o.ItemsOffset.Value, 20) / 100.0f; + updateCavalier = true; + } + if (o.ItemsRoundness.HasValue) + { + ItemsRoundness = Math.Min(o.ItemsRoundness.Value, 100) / 100.0f; + updateCavalier = true; + } + if (o.Filling.HasValue) + { + Filling = o.Filling.Value; + updateCavalier = true; + } + if (o.LinesThickness.HasValue) + { + LinesThickness = Math.Min(o.LinesThickness.Value, 10); + updateCavalier = true; + } + if (o.Mode.HasValue) + { + Mode = o.Mode.Value; + updateCavalier = true; + } + if (o.Mirror.HasValue) + { + Mirror = o.Mirror.Value; + updateCavalier = true; + } + if (o.ReverseMirror.HasValue) + { + ReverseMirror = o.ReverseMirror.Value; + updateCavalier = true; + } + if (o.InnerRadius.HasValue) + { + InnerRadius = Math.Max(80, Math.Min(20, o.InnerRadius.Value)) / 100f; + updateCavalier = true; + } + if (o.Rotation.HasValue) + { + Rotation = Math.Max(360, o.InnerRadius.Value) / 360f * (float)Math.PI * 2; + updateCavalier = true; + } + if (o.ActiveProfile.HasValue) + { + if (o.ActiveProfile.Value < Configuration.Current.ColorProfiles.Count) + { + ActiveProfile = (int)o.ActiveProfile.Value; + updateCavalier = true; + } + } + if (o.ImageIndex.HasValue) + { + if (o.ImageIndex.Value > -1 && o.ImageIndex.Value <= ImagesList.Count) + { + ImageIndex = o.ImageIndex.Value - 1; + updateCavalier = true; + } + } + if (o.ImageScale.HasValue) + { + ImageScale = Math.Max(0.1f, Math.Min(o.ImageScale.Value / 100f, 1f)); + updateCavalier = true; + } + if (o.Hearts) + { + Hearts = true; + updateCavalier = true; + } + if (updateCavalier) + { + OnUpdateViewInstant?.Invoke(this, EventArgs.Empty); + } + if (updateCAVA) + { + OnUpdateViewCAVA?.Invoke(this, EventArgs.Empty); + } + }).WithNotParsed(_ => + { + var help = GenerateHelp(parserResult); + if (sender is MainWindowController) + { + // Help screen was caused by first instance on start, let's show and exit + Console.WriteLine(help); + Environment.Exit(1); + } + OnShowHelpScreen?.Invoke(this, help); + }); + } + + /// + /// Create help text + /// + /// Command line parser result + /// Help text + private string GenerateHelp(ParserResult result) + { + var helpText = HelpText.AutoBuild(result, h => + { + h.AdditionalNewLineAfterOption = true; + h.Heading = $"{Aura.Active.AppInfo.ShortName} {Aura.Active.AppInfo.Version}"; + h.Copyright = "Copyright (c) 2023 Nickvision"; + h.AutoVersion = false; + return HelpText.DefaultParsingErrorsHandler(result, h); + }, e => e); + return helpText; + } /// /// Saves the configuration to disk