From 69a93f68d5169c964b530e23abbec544b425d965 Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Sun, 7 Mar 2021 10:38:56 +0100 Subject: [PATCH] Fixed bug in caching output values Fixed VoiceMeeter version selection Added device status indicator --- ...buttons, under desk, Arduino Pro Micro.f3d | Bin 0 -> 181720 bytes .../GetDefault/DeviceGetDefaultAction.cs | 2 +- .../SetDefault/DeviceSetDefaultAction.cs | 2 +- .../Settings/SerialDeviceSettingsViewModel.cs | 6 - .../Base/BaseVoiceMeeterSettingsView.xaml.cs | 4 +- .../Base/BaseVoiceMeeterSettingsViewModel.cs | 33 ++++- .../VoiceMeeterGetParameterAction.cs | 57 +++++---- ...eterGetParameterActionSettingsView.xaml.cs | 12 +- .../MassiveKnob.Plugin.VoiceMeeter.csproj | 5 + .../RunMacro/VoiceMeeterRunMacroAction.cs | 13 +- ...ceMeeterRunMacroActionSettingsView.xaml.cs | 12 +- ...ceMeeterRunMacroActionSettingsViewModel.cs | 28 +++- .../Core/IMassiveKnobOrchestrator.cs | 12 ++ .../Core/MassiveKnobOrchestrator.cs | 120 +++++++++++------- Windows/MassiveKnob/Strings.Designer.cs | 27 ++++ Windows/MassiveKnob/Strings.resx | 9 ++ .../MassiveKnob/View/Settings/DeviceView.xaml | 5 + .../ViewModel/SettingsViewModel.cs | 103 ++++++++++++--- Windows/VoicemeeterRemote | 2 +- 19 files changed, 334 insertions(+), 118 deletions(-) create mode 100644 Hardware/Massive Knob housing - 2 pots, 3 buttons, under desk, Arduino Pro Micro.f3d diff --git a/Hardware/Massive Knob housing - 2 pots, 3 buttons, under desk, Arduino Pro Micro.f3d b/Hardware/Massive Knob housing - 2 pots, 3 buttons, under desk, Arduino Pro Micro.f3d new file mode 100644 index 0000000000000000000000000000000000000000..23fa4eca85c0a2fcc7f14bc6f9b6ddd5aa47e058 GIT binary patch literal 181720 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

PL+Ih$m{YbbtCb7~J`;;+SYb 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

fjO1g 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 literal 0 HcmV?d00001 diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs index b2c921b..17c184f 100644 --- a/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs +++ b/Windows/MassiveKnob.Plugin.CoreAudio/GetDefault/DeviceGetDefaultAction.cs @@ -80,7 +80,7 @@ namespace MassiveKnob.Plugin.CoreAudio.GetDefault CheckActive(); - // TODO default OSD + // TODO (should have) OSD for changing default //if (settings.OSD) //OSDManager.Show(args.Device); } diff --git a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs index 4026741..251b661 100644 --- a/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs +++ b/Windows/MassiveKnob.Plugin.CoreAudio/SetDefault/DeviceSetDefaultAction.cs @@ -75,7 +75,7 @@ namespace MassiveKnob.Plugin.CoreAudio.SetDefault await playbackDevice.SetAsDefaultCommunicationsAsync(); - // TODO OSD for default device + // TODO (should have) OSD for changing default //if (settings.OSD) //OSDManager.Show(playbackDevice); } diff --git a/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs index c2d0b3e..55c2e20 100644 --- a/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs +++ b/Windows/MassiveKnob.Plugin.SerialDevice/Settings/SerialDeviceSettingsViewModel.cs @@ -98,12 +98,6 @@ namespace MassiveKnob.Plugin.SerialDevice.Settings } - protected virtual void OnOtherPropertyChanged(string propertyName) - { - PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); - } - - public void OnNext(DeviceNotificationEvent value) { diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs index 31f0dc4..7898e40 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsView.xaml.cs @@ -1,4 +1,6 @@ -namespace MassiveKnob.Plugin.VoiceMeeter.Base +using System; + +namespace MassiveKnob.Plugin.VoiceMeeter.Base { ///

/// Interaction logic for BaseVoiceMeeterSettingsView.xaml diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs index d3bf795..18bca53 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/Base/BaseVoiceMeeterSettingsViewModel.cs @@ -1,5 +1,7 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.ComponentModel; +using System.Linq; using System.Runtime.CompilerServices; using Voicemeeter; @@ -16,10 +18,11 @@ namespace MassiveKnob.Plugin.VoiceMeeter.Base - public class BaseVoiceMeeterSettingsViewModel : INotifyPropertyChanged + public class BaseVoiceMeeterSettingsViewModel : INotifyPropertyChanged, IDisposable { protected readonly BaseVoiceMeeterSettings Settings; public event PropertyChangedEventHandler PropertyChanged; + public event EventHandler Disposed; // ReSharper disable UnusedMember.Global - used by WPF Binding public IList Versions { get; } @@ -52,6 +55,14 @@ namespace MassiveKnob.Plugin.VoiceMeeter.Base new VoiceMeeterVersionViewModel(RunVoicemeeterParam.VoicemeeterBanana, "VoiceMeeter Banana"), new VoiceMeeterVersionViewModel(RunVoicemeeterParam.VoicemeeterPotato, "VoiceMeeter Potato") }; + + UpdateSelectedVersion(); + } + + + private void UpdateSelectedVersion() + { + selectedVersion = Versions.SingleOrDefault(v => v.Version == Settings.Version) ?? Versions.First(); } @@ -63,10 +74,28 @@ namespace MassiveKnob.Plugin.VoiceMeeter.Base } + public virtual void VoiceMeeterVersionChanged() + { + UpdateSelectedVersion(); + OnDependantPropertyChanged(nameof(SelectedVersion)); + } + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } + + protected virtual void OnDependantPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + + public virtual void Dispose() + { + Disposed?.Invoke(this, EventArgs.Empty); + } } public class VoiceMeeterVersionViewModel diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs index afbec34..ac76b15 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterAction.cs @@ -1,5 +1,6 @@ using System; -using System.Threading.Tasks; +using System.Collections.Generic; +using System.Runtime.Remoting.Channels; using System.Windows.Controls; using Microsoft.Extensions.Logging; using Voicemeeter; @@ -12,18 +13,19 @@ namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter public MassiveKnobActionType ActionType { get; } = MassiveKnobActionType.OutputDigital; public string Name { get; } = Strings.GetParameterName; public string Description { get; } = Strings.GetParameterDescription; - - + + public IMassiveKnobActionInstance Create(ILogger logger) { return new Instance(); } - - + + private class Instance : IMassiveKnobActionInstance, IVoiceMeeterAction { private IMassiveKnobActionContext actionContext; private VoiceMeeterGetParameterActionSettings settings; + private VoiceMeeterGetParameterActionSettingsViewModel viewModel; private Parameters parameters; private IDisposable parameterChanged; @@ -48,51 +50,54 @@ namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter private void ApplySettings() { - if (InstanceRegister.Version == RunVoicemeeterParam.None) + if (InstanceRegister.Version == RunVoicemeeterParam.None || string.IsNullOrEmpty(settings.Parameter)) + { + parameterChanged?.Dispose(); + parameterChanged = null; + + parameters?.Dispose(); + parameters = null; return; + } if (parameters == null) parameters = new Parameters(); - if (string.IsNullOrEmpty(settings.Parameter)) - { - parameterChanged?.Dispose(); - parameterChanged = null; - } - if (parameterChanged == null) parameterChanged = parameters.Subscribe(x => ParametersChanged()); - // TODO directly update output depending on value - /* - if (playbackDevice != null) - actionContext.SetDigitalOutput(settings.Inverted ? !playbackDevice.IsMuted : playbackDevice.IsMuted); - */ + ParametersChanged(); } public UserControl CreateSettingsControl() { - var viewModel = new VoiceMeeterGetParameterActionSettingsViewModel(settings); + viewModel = new VoiceMeeterGetParameterActionSettingsViewModel(settings); viewModel.PropertyChanged += (sender, args) => { if (!viewModel.IsSettingsProperty(args.PropertyName)) return; - + actionContext.SetSettings(settings); ApplySettings(); }; + viewModel.Disposed += (sender, args) => + { + if (sender == viewModel) + viewModel = null; + }; + return new VoiceMeeterGetParameterActionSettingsView(viewModel); } - + public void VoiceMeeterVersionChanged() { - // TODO update viewModel - // TODO reset parameterChanged subscription + viewModel?.VoiceMeeterVersionChanged(); actionContext.SetSettings(settings); + ApplySettings(); } @@ -101,11 +106,8 @@ namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter if (InstanceRegister.Version == RunVoicemeeterParam.None || string.IsNullOrEmpty(settings.Parameter)) return; - // TODO if another task is already running, wait / chain - // TODO only start task if not yet initialized - Task.Run(async () => + InstanceRegister.InitializeVoicemeeter().ContinueWith(t => { - await InstanceRegister.InitializeVoicemeeter(); bool on; if (float.TryParse(settings.Value, out var settingsFloatValue)) @@ -130,10 +132,9 @@ namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter on = string.Equals(value, settings.Value, StringComparison.InvariantCultureIgnoreCase); } - // TODO check specific parameter for changes, not just any parameter actionContext.SetDigitalOutput(settings.Inverted ? !on : on); }); } } } -} +} \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs index c62f2d9..10daa31 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/GetParameter/VoiceMeeterGetParameterActionSettingsView.xaml.cs @@ -1,14 +1,22 @@ -namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter +using System; + +namespace MassiveKnob.Plugin.VoiceMeeter.GetParameter { /// /// Interaction logic for VoiceMeeterGetParameterActionSettingsView.xaml /// - public partial class VoiceMeeterGetParameterActionSettingsView + public partial class VoiceMeeterGetParameterActionSettingsView : IDisposable { public VoiceMeeterGetParameterActionSettingsView(VoiceMeeterGetParameterActionSettingsViewModel viewModel) { DataContext = viewModel; InitializeComponent(); } + + + public void Dispose() + { + (DataContext as VoiceMeeterGetParameterActionSettingsViewModel)?.Dispose(); + } } } \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj index 260bd28..76aaf7d 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/MassiveKnob.Plugin.VoiceMeeter.csproj @@ -106,5 +106,10 @@ Designer + + + 5.0.0 + + \ No newline at end of file diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs index e1d6bf1..d786243 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroAction.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using System.Windows.Controls; using Microsoft.Extensions.Logging; @@ -24,6 +25,7 @@ namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro { private IMassiveKnobActionContext actionContext; private VoiceMeeterRunMacroActionSettings settings; + private VoiceMeeterRunMacroActionSettingsViewModel viewModel; public void Initialize(IMassiveKnobActionContext context) @@ -43,7 +45,7 @@ namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro public UserControl CreateSettingsControl() { - var viewModel = new VoiceMeeterRunMacroActionSettingsViewModel(settings); + viewModel = new VoiceMeeterRunMacroActionSettingsViewModel(settings); viewModel.PropertyChanged += (sender, args) => { if (!viewModel.IsSettingsProperty(args.PropertyName)) @@ -52,6 +54,12 @@ namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro actionContext.SetSettings(settings); }; + viewModel.Disposed += (sender, args) => + { + if (sender == viewModel) + viewModel = null; + }; + return new VoiceMeeterRunMacroActionSettingsView(viewModel); } @@ -71,8 +79,7 @@ namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro public void VoiceMeeterVersionChanged() { - // TODO update viewModel - + viewModel?.VoiceMeeterVersionChanged(); actionContext.SetSettings(settings); } } diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs index 692c590..2020978 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsView.xaml.cs @@ -1,14 +1,22 @@ -namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro +using System; + +namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro { /// /// Interaction logic for VoiceMeeterRunMacroActionSettingsView.xaml /// - public partial class VoiceMeeterRunMacroActionSettingsView + public partial class VoiceMeeterRunMacroActionSettingsView : IDisposable { + // ReSharper disable once SuggestBaseTypeForParameter public VoiceMeeterRunMacroActionSettingsView(VoiceMeeterRunMacroActionSettingsViewModel viewModel) { DataContext = viewModel; InitializeComponent(); } + + public void Dispose() + { + (DataContext as VoiceMeeterRunMacroActionSettingsViewModel)?.Dispose(); + } } } diff --git a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs index 8c67693..d8af847 100644 --- a/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs +++ b/Windows/MassiveKnob.Plugin.VoiceMeeter/RunMacro/VoiceMeeterRunMacroActionSettingsViewModel.cs @@ -1,21 +1,26 @@ -using MassiveKnob.Plugin.VoiceMeeter.Base; +using System; +using System.Reactive.Linq; +using System.Reactive.Subjects; +using MassiveKnob.Plugin.VoiceMeeter.Base; namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro { - public class VoiceMeeterRunMacroActionSettingsViewModel : BaseVoiceMeeterSettingsViewModel + public class VoiceMeeterRunMacroActionSettingsViewModel : BaseVoiceMeeterSettingsViewModel, IDisposable { - // ReSharper disable UnusedMember.Global - used by WPF Bindingpriv + private readonly Subject throttledScriptChanged = new Subject(); + private readonly IDisposable scriptChangedSubscription; + + // ReSharper disable UnusedMember.Global - used by WPF Binding public string Script { get => Settings.Script; set { - // TODO timer for change notification if (value == Settings.Script) return; Settings.Script = value; - OnPropertyChanged(); + throttledScriptChanged.OnNext(true); } } // ReSharper restore UnusedMember.Global @@ -24,6 +29,19 @@ namespace MassiveKnob.Plugin.VoiceMeeter.RunMacro // ReSharper disable once SuggestBaseTypeForParameter - by design public VoiceMeeterRunMacroActionSettingsViewModel(VoiceMeeterRunMacroActionSettings settings) : base(settings) { + scriptChangedSubscription = throttledScriptChanged + .Throttle(TimeSpan.FromSeconds(1)) + .Subscribe(b => + { + OnDependantPropertyChanged(nameof(Script)); + }); + } + + + public override void Dispose() + { + scriptChangedSubscription?.Dispose(); + throttledScriptChanged?.Dispose(); } } } diff --git a/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs b/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs index a13b2d0..45ef9c2 100644 --- a/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs +++ b/Windows/MassiveKnob/Core/IMassiveKnobOrchestrator.cs @@ -11,12 +11,24 @@ namespace MassiveKnob.Core MassiveKnobDeviceInfo SetActiveDevice(IMassiveKnobDevice device); + MassiveKnobDeviceStatus DeviceStatus { get; } + IObservable DeviceStatusSubject { get; } + + MassiveKnobActionInfo GetAction(MassiveKnobActionType actionType, int index); MassiveKnobActionInfo SetAction(MassiveKnobActionType actionType, int index, IMassiveKnobAction action); MassiveKnobSettings GetSettings(); void UpdateSettings(Action applyChanges); } + + + public enum MassiveKnobDeviceStatus + { + Disconnected, + Connecting, + Connected + } public class MassiveKnobDeviceInfo diff --git a/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs b/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs index 47e423f..5c5fac7 100644 --- a/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs +++ b/Windows/MassiveKnob/Core/MassiveKnobOrchestrator.cs @@ -17,11 +17,12 @@ namespace MassiveKnob.Core private readonly ILogger logger; private readonly object settingsLock = new object(); - private MassiveKnobSettings massiveKnobSettings; + private readonly MassiveKnobSettings settings; private readonly SerialQueue flushSettingsQueue = new SerialQueue(); private MassiveKnobDeviceInfo activeDevice; private readonly Subject activeDeviceInfoSubject = new Subject(); + private readonly Subject deviceStatusSubject = new Subject(); private IMassiveKnobDeviceContext activeDeviceContext; private readonly List analogInputs = new List(); @@ -48,12 +49,15 @@ namespace MassiveKnob.Core public IObservable ActiveDeviceSubject => activeDeviceInfoSubject; + public MassiveKnobDeviceStatus DeviceStatus { get; private set; } = MassiveKnobDeviceStatus.Disconnected; + public IObservable DeviceStatusSubject => deviceStatusSubject; - public MassiveKnobOrchestrator(IPluginManager pluginManager, ILogger logger, MassiveKnobSettings massiveKnobSettings) + + public MassiveKnobOrchestrator(IPluginManager pluginManager, ILogger logger, MassiveKnobSettings settings) { this.pluginManager = pluginManager; this.logger = logger; - this.massiveKnobSettings = massiveKnobSettings; + this.settings = settings; } @@ -87,11 +91,11 @@ namespace MassiveKnob.Core { lock (settingsLock) { - if (massiveKnobSettings.Device == null) + if (settings.Device == null) return; var allDevices = pluginManager.GetDevicePlugins().SelectMany(dp => dp.Devices); - var device = allDevices.FirstOrDefault(d => d.DeviceId == massiveKnobSettings.Device.DeviceId); + var device = allDevices.FirstOrDefault(d => d.DeviceId == settings.Device.DeviceId); InternalSetActiveDevice(device, false); } @@ -105,7 +109,7 @@ namespace MassiveKnob.Core return InternalSetActiveDevice(device, true); } - + public MassiveKnobActionInfo GetAction(MassiveKnobActionType actionType, int index) { lock (settingsLock) @@ -166,7 +170,7 @@ namespace MassiveKnob.Core { lock (settingsLock) { - return massiveKnobSettings.Clone(); + return settings.Clone(); } } @@ -175,7 +179,7 @@ namespace MassiveKnob.Core { lock (settingsLock) { - applyChanges(massiveKnobSettings); + applyChanges(settings); } FlushSettings(); @@ -193,10 +197,10 @@ namespace MassiveKnob.Core lock (settingsLock) { if (device == null) - massiveKnobSettings.Device = null; + settings.Device = null; else { - massiveKnobSettings.Device = new MassiveKnobSettings.DeviceSettings + settings.Device = new MassiveKnobSettings.DeviceSettings { DeviceId = device.DeviceId, Settings = null @@ -208,7 +212,10 @@ namespace MassiveKnob.Core } ActiveDevice?.Instance.Dispose(); + SetDeviceStatus(null, MassiveKnobDeviceStatus.Disconnected); + // TODO (must have) move initialization to separate Task, to prevent issues at startup + // TODO (must have) exception handling! if (device != null) { var instance = device.Create(new SerilogLoggerProvider(logger.ForContext("Context", new { Device = device.DeviceId })).CreateLogger(null)); @@ -230,11 +237,11 @@ namespace MassiveKnob.Core protected T GetDeviceSettings(IMassiveKnobDeviceContext context) where T : class, new() { if (context != activeDeviceContext) - throw new InvalidOperationException("Caller must be the active device to retrieve the massiveKnobSettings"); + throw new InvalidOperationException("Caller must be the active device to retrieve the settings"); lock (settingsLock) { - return massiveKnobSettings.Device.Settings?.ToObject() ?? new T(); + return settings.Device.Settings?.ToObject() ?? new T(); } } @@ -242,23 +249,40 @@ namespace MassiveKnob.Core protected void SetDeviceSettings(IMassiveKnobDeviceContext context, IMassiveKnobDevice device, T deviceSettings) where T : class, new() { if (context != activeDeviceContext) - throw new InvalidOperationException("Caller must be the active device to update the massiveKnobSettings"); + throw new InvalidOperationException("Caller must be the active device to update the settings"); lock (settingsLock) { - if (massiveKnobSettings.Device == null) - massiveKnobSettings.Device = new MassiveKnobSettings.DeviceSettings + if (settings.Device == null) + settings.Device = new MassiveKnobSettings.DeviceSettings { DeviceId = device.DeviceId }; - massiveKnobSettings.Device.Settings = JObject.FromObject(deviceSettings); + settings.Device.Settings = JObject.FromObject(deviceSettings); } FlushSettings(); } + protected void SetDeviceStatus(IMassiveKnobDeviceContext context, MassiveKnobDeviceStatus status) + { + if (context != null && context != activeDeviceContext) + return; + + lock (settingsLock) + { + if (status == DeviceStatus) + return; + + DeviceStatus = status; + } + + deviceStatusSubject.OnNext(status); + } + + protected T GetActionSettings(IMassiveKnobActionContext context, IMassiveKnobAction action, int index) where T : class, new() { lock (settingsLock) @@ -268,7 +292,7 @@ namespace MassiveKnob.Core return new T(); if (list[index]?.Context != context) - throw new InvalidOperationException("Caller must be the active action to retrieve the massiveKnobSettings"); + throw new InvalidOperationException("Caller must be the active action to retrieve the settings"); var settingsList = GetActionSettingsList(action.ActionType); if (index >= settingsList.Count) @@ -288,7 +312,7 @@ namespace MassiveKnob.Core return; if (list[index]?.Context != context) - throw new InvalidOperationException("Caller must be the active action to retrieve the massiveKnobSettings"); + throw new InvalidOperationException("Caller must be the active action to retrieve the settings"); var settingsList = GetActionSettingsList(action.ActionType); @@ -317,11 +341,6 @@ namespace MassiveKnob.Core lock (settingsLock) { - if (analogOutputValues.TryGetValue(analogInputIndex, out var currentValue) && currentValue == value) - return; - - analogOutputValues[analogInputIndex] = value; - var mapping = GetActionMappingList(MassiveKnobActionType.InputAnalog); if (mapping == null || analogInputIndex >= mapping.Count || mapping[analogInputIndex] == null) return; @@ -343,12 +362,6 @@ namespace MassiveKnob.Core lock (settingsLock) { - if (digitalOutputValues.TryGetValue(digitalInputIndex, out var currentValue) && currentValue == on) - return; - - digitalOutputValues[digitalInputIndex] = on; - - var mapping = GetActionMappingList(MassiveKnobActionType.InputDigital); if (mapping == null || digitalInputIndex >= mapping.Count || mapping[digitalInputIndex] == null) return; @@ -362,13 +375,19 @@ namespace MassiveKnob.Core public void SetAnalogOutput(IMassiveKnobActionContext context, int index, byte value) { - if (activeDevice == null) - return; - IMassiveKnobDeviceInstance deviceInstance; lock (settingsLock) { + if (analogOutputValues.TryGetValue(index, out var currentValue) && currentValue == value) + return; + + analogOutputValues[index] = value; + + + if (activeDevice == null) + return; + var list = GetActionMappingList(MassiveKnobActionType.OutputAnalog); if (index >= list.Count) return; @@ -385,13 +404,19 @@ namespace MassiveKnob.Core public void SetDigitalOutput(IMassiveKnobActionContext context, int index, bool on) { - if (activeDevice == null) - return; - IMassiveKnobDeviceInstance deviceInstance; lock (settingsLock) { + if (digitalOutputValues.TryGetValue(index, out var currentValue) && currentValue == on) + return; + + digitalOutputValues[index] = on; + + + if (activeDevice == null) + return; + var list = GetActionMappingList(MassiveKnobActionType.OutputDigital); if (index >= list.Count) return; @@ -433,16 +458,16 @@ namespace MassiveKnob.Core switch (actionType) { case MassiveKnobActionType.InputAnalog: - return massiveKnobSettings.AnalogInput; + return settings.AnalogInput; case MassiveKnobActionType.InputDigital: - return massiveKnobSettings.DigitalInput; + return settings.DigitalInput; case MassiveKnobActionType.OutputAnalog: - return massiveKnobSettings.AnalogOutput; + return settings.AnalogOutput; case MassiveKnobActionType.OutputDigital: - return massiveKnobSettings.DigitalOutput; + return settings.DigitalOutput; default: throw new ArgumentOutOfRangeException(nameof(actionType), actionType, null); @@ -455,7 +480,7 @@ namespace MassiveKnob.Core lock (settingsLock) { - massiveKnobSettingsSnapshot = massiveKnobSettings.Clone(); + massiveKnobSettingsSnapshot = settings.Clone(); } flushSettingsQueue.Enqueue(async () => @@ -482,10 +507,10 @@ namespace MassiveKnob.Core lock (settingsLock) { - UpdateMapping(analogInputs, specs.AnalogInputCount, massiveKnobSettings.AnalogInput, DelayedInitialize); - UpdateMapping(digitalInputs, specs.DigitalInputCount, massiveKnobSettings.DigitalInput, DelayedInitialize); - UpdateMapping(analogOutputs, specs.AnalogOutputCount, massiveKnobSettings.AnalogOutput, DelayedInitialize); - UpdateMapping(digitalOutputs, specs.DigitalOutputCount, massiveKnobSettings.DigitalOutput, DelayedInitialize); + UpdateMapping(analogInputs, specs.AnalogInputCount, settings.AnalogInput, DelayedInitialize); + UpdateMapping(digitalInputs, specs.DigitalInputCount, settings.DigitalInput, DelayedInitialize); + UpdateMapping(analogOutputs, specs.AnalogOutputCount, settings.AnalogOutput, DelayedInitialize); + UpdateMapping(digitalOutputs, specs.DigitalOutputCount, settings.DigitalOutput, DelayedInitialize); } foreach (var delayedInitializeAction in delayedInitializeActions) @@ -603,21 +628,20 @@ namespace MassiveKnob.Core public void Connecting() { - // TODO (should have) update status ? + owner.SetDeviceStatus(this, MassiveKnobDeviceStatus.Connecting); } public void Connected(DeviceSpecs specs) { - // TODO (should have) update status ? - + owner.SetDeviceStatus(this, MassiveKnobDeviceStatus.Connected); owner.UpdateActiveDeviceSpecs(this, specs); } public void Disconnected() { - // TODO (should have) update status ? + owner.SetDeviceStatus(this, MassiveKnobDeviceStatus.Disconnected); } diff --git a/Windows/MassiveKnob/Strings.Designer.cs b/Windows/MassiveKnob/Strings.Designer.cs index 34f5acc..60fd47e 100644 --- a/Windows/MassiveKnob/Strings.Designer.cs +++ b/Windows/MassiveKnob/Strings.Designer.cs @@ -69,6 +69,33 @@ namespace MassiveKnob { } } + /// + /// Looks up a localized string similar to Connected. + /// + public static string DeviceStatusConnected { + get { + return ResourceManager.GetString("DeviceStatusConnected", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connecting.... + /// + public static string DeviceStatusConnecting { + get { + return ResourceManager.GetString("DeviceStatusConnecting", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnected. + /// + public static string DeviceStatusDisconnected { + get { + return ResourceManager.GetString("DeviceStatusDisconnected", resourceCulture); + } + } + /// /// Looks up a localized string similar to Input #{0}. /// diff --git a/Windows/MassiveKnob/Strings.resx b/Windows/MassiveKnob/Strings.resx index bb908fd..4924581 100644 --- a/Windows/MassiveKnob/Strings.resx +++ b/Windows/MassiveKnob/Strings.resx @@ -120,6 +120,15 @@ Not configured + + Connected + + + Connecting... + + + Disconnected + Input #{0} diff --git a/Windows/MassiveKnob/View/Settings/DeviceView.xaml b/Windows/MassiveKnob/View/Settings/DeviceView.xaml index c540ea7..334a619 100644 --- a/Windows/MassiveKnob/View/Settings/DeviceView.xaml +++ b/Windows/MassiveKnob/View/Settings/DeviceView.xaml @@ -39,6 +39,11 @@ + + + + + diff --git a/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs b/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs index 0c4ff78..f4b4703 100644 --- a/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs +++ b/Windows/MassiveKnob/ViewModel/SettingsViewModel.cs @@ -8,6 +8,7 @@ using System.Reflection; using System.Runtime.CompilerServices; using System.Windows; using System.Windows.Controls; +using System.Windows.Media; using MassiveKnob.Core; using MassiveKnob.Plugin; using MassiveKnob.Settings; @@ -18,7 +19,7 @@ using Serilog.Events; namespace MassiveKnob.ViewModel { // TODO (code quality) split ViewModel for individual views, create viewmodel using container - // TODO (must have) show device status + // TODO (nice to have) installed plugins list public class SettingsViewModel : IDisposable, INotifyPropertyChanged { private readonly Dictionary menuItemControls = new Dictionary @@ -47,6 +48,8 @@ namespace MassiveKnob.ViewModel private IEnumerable analogOutputs; private IEnumerable digitalOutputs; + private IDisposable activeDeviceSubscription; + private IDisposable deviceStatusSubscription; // ReSharper disable UnusedMember.Global - used by WPF Binding public SettingsMenuItem SelectedMenuItem @@ -77,18 +80,18 @@ namespace MassiveKnob.ViewModel { if (value == selectedView) return; - + selectedView = value; OnPropertyChanged(); } } - - + + public IList Devices { get; } public IList Actions { get; } - + public DeviceViewModel SelectedDevice { get => selectedDevice; @@ -141,23 +144,27 @@ namespace MassiveKnob.ViewModel AnalogInputs = Enumerable .Range(0, specs?.AnalogInputCount ?? 0) - .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.InputAnalog, i)); + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.InputAnalog, i)) + .ToList(); DigitalInputs = Enumerable .Range(0, specs?.DigitalInputCount ?? 0) - .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.InputDigital, i)); + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.InputDigital, i)) + .ToList(); AnalogOutputs = Enumerable .Range(0, specs?.AnalogOutputCount ?? 0) - .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.OutputAnalog, i)); + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.OutputAnalog, i)) + .ToList(); DigitalOutputs = Enumerable .Range(0, specs?.DigitalOutputCount ?? 0) - .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.OutputDigital, i)); + .Select(i => new InputOutputViewModel(this, orchestrator, MassiveKnobActionType.OutputDigital, i)) + .ToList(); } } - + public Visibility AnalogInputVisibility => specs.HasValue && specs.Value.AnalogInputCount > 0 ? Visibility.Visible : Visibility.Collapsed; @@ -213,11 +220,12 @@ namespace MassiveKnob.ViewModel OnPropertyChanged(); } } - - + + public IList LoggingLevels { get; } - + private LoggingLevelViewModel selectedLoggingLevel; + public LoggingLevelViewModel SelectedLoggingLevel { get => selectedLoggingLevel; @@ -225,7 +233,7 @@ namespace MassiveKnob.ViewModel { if (value == selectedLoggingLevel) return; - + selectedLoggingLevel = value; OnPropertyChanged(); @@ -235,6 +243,7 @@ namespace MassiveKnob.ViewModel private bool loggingEnabled; + public bool LoggingEnabled { get => loggingEnabled; @@ -245,14 +254,16 @@ namespace MassiveKnob.ViewModel loggingEnabled = value; OnPropertyChanged(); - + ApplyLoggingSettings(); } } // TODO (code quality) do not hardcode path here - public string LoggingOutputPath { get; } = string.Format(Strings.LoggingOutputPath, Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"MassiveKnob", @"Logs")); + public string LoggingOutputPath { get; } = string.Format(Strings.LoggingOutputPath, + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"MassiveKnob", + @"Logs")); private bool runAtStartup; @@ -270,6 +281,55 @@ namespace MassiveKnob.ViewModel ApplyRunAtStartup(); } } + + + public string ConnectionStatusText + { + get + { + if (orchestrator == null) + return "Design-time"; + + switch (orchestrator.DeviceStatus) + { + case MassiveKnobDeviceStatus.Disconnected: + return Strings.DeviceStatusDisconnected; + + case MassiveKnobDeviceStatus.Connecting: + return Strings.DeviceStatusConnecting; + + case MassiveKnobDeviceStatus.Connected: + return Strings.DeviceStatusConnected; + + default: + return null; + } + } + } + + public Brush ConnectionStatusColor + { + get + { + if (orchestrator == null) + return Brushes.Fuchsia; + + switch (orchestrator.DeviceStatus) + { + case MassiveKnobDeviceStatus.Disconnected: + return Brushes.DarkRed; + + case MassiveKnobDeviceStatus.Connecting: + return Brushes.Orange; + + case MassiveKnobDeviceStatus.Connected: + return Brushes.ForestGreen; + + default: + return null; + } + } + } // ReSharper restore UnusedMember.Global @@ -288,11 +348,17 @@ namespace MassiveKnob.ViewModel SelectedMenuItem = activeMenuItem; - orchestrator.ActiveDeviceSubject.Subscribe(info => { Specs = info.Specs; }); + activeDeviceSubscription = orchestrator.ActiveDeviceSubject.Subscribe(info => { Specs = info.Specs; }); + deviceStatusSubscription = orchestrator.DeviceStatusSubject.Subscribe(status => + { + OnDependantPropertyChanged(nameof(ConnectionStatusColor)); + OnDependantPropertyChanged(nameof(ConnectionStatusText)); + }); Devices = pluginManager.GetDevicePlugins() .SelectMany(dp => dp.Devices.Select(d => new DeviceViewModel(dp, d))) + .OrderBy(d => d.Name.ToLower()) .ToList(); var allActions = new List @@ -302,7 +368,8 @@ namespace MassiveKnob.ViewModel allActions.AddRange( pluginManager.GetActionPlugins() - .SelectMany(ap => ap.Actions.Select(a => new ActionViewModel(ap, a)))); + .SelectMany(ap => ap.Actions.Select(a => new ActionViewModel(ap, a))) + .OrderBy(a => a.Name.ToLower())); Actions = allActions; diff --git a/Windows/VoicemeeterRemote b/Windows/VoicemeeterRemote index 5d259cd..e0e17e5 160000 --- a/Windows/VoicemeeterRemote +++ b/Windows/VoicemeeterRemote @@ -1 +1 @@ -Subproject commit 5d259cdaee942029487e37a02e9a32ed9833d80c +Subproject commit e0e17e56feca7987a567a324132f785f1548a33f