public MainPage() { this.InitializeComponent(); _loggerFactory = new LoggerFactory(); _api = new RoonApi(OnPaired, OnUnPaired, ApplicationData.Current.TemporaryFolder.Path, _loggerFactory.CreateLogger("RoonApi")); _apiTransport = new RoonApiTransport(_api); _myIpAddress = "192.168.1.130"; _roonRegister = new RoonApi.RoonRegister { DisplayName = "RICs Roon API Test", DisplayVersion = "1.0.0", Publisher = "Christian Riedl", Email = "*****@*****.**", WebSite = "https://github.com/christian-riedl/roon-extension-test", ExtensionId = "com.ric.test", Token = null, OptionalServices = new string[0], RequiredServices = new string[] { RoonApi.ServiceTransport, RoonApi.ServiceImage, RoonApi.ServiceBrowse, }, ProvidedServices = new string[] { RoonApi.ServiceStatus, RoonApi.ServicePairing, RoonApi.ServiceSettings, RoonApi.ServicePing, RoonApi.ControlVolume, RoonApi.ControlSource } }; }
public Test() { InitializeComponent(); // Init Logger _loggerFactory = new LoggerFactory(); LogLevel logLevel; Enum.TryParse(Properties.Settings.Default.LogLevel, out logLevel); _loggerFactory.AddDebug(logLevel); // Init Roon Api _api = new RoonApi(OnPaired, OnUnPaired, Properties.Settings.Default.PersistDirectory, _loggerFactory.CreateLogger("RoonApi")); _apiTransport = new RoonApiTransport(_api); _apiImage = new RoonApiImage(_api); _apiBrowse = new RoonApiBrowse(_api); _apiStatus = new RoonApiStatus(_api, "All systems roger"); _layout = new List <RoonApiSettings.LayoutBase>(new RoonApiSettings.LayoutBase[] { new RoonApiSettings.LayoutLabel("*A string setting*"), new RoonApiSettings.LayoutString("A string setting", "text", 20) { SubTitle = "subtitle" }, new RoonApiSettings.LayoutButton("A Button", "button", "1"), new RoonApiSettings.LayoutDropDown("A combo setting", "combo", new RoonApiSettings.LayoutDropDownValue[] { new RoonApiSettings.LayoutDropDownValue("text1"), new RoonApiSettings.LayoutDropDownValue("text2"), new RoonApiSettings.LayoutDropDownValue("text3") }) }); _values = new Dictionary <string, string>(); _values.Add("text", "*hudriwudri*"); _values.Add("button", "true"); _values.Add("combo", "text2"); _apiSettings = new RoonApiSettings(_api, _layout, _values, new RoonApiSettings.Functions { ButtonPressed = (bp) => { return(Task.FromResult(true)); }, SaveSettings = (s) => { //values["text"] = "HASERROR"; //layout[0].Error = "Her is an error"; _values["combo"] = s.Settings.Values["combo"]; if (_values["combo"] == "text3") { return(Task.FromResult(true)); } else { return(Task.FromResult(false)); } } }); // Init Controls _apiControlVolume = new RoonApiControlVolume(_api, true); RoonApiControlVolume.Volume volume = new RoonApiControlVolume.Volume { DisplayName = "Ric Volume Control", VolumeMax = 100, VolumeStep = 1, VolumeType = "number", VolumeValue = 4 }; _apiControlVolume.AddControl(volume, new RoonApiControlVolume.VolumeFunctions { SetVolume = (arg) => { System.Diagnostics.Debug.WriteLine($"SETVOLUME {arg.Mode} {arg.Value}"); return(Task.FromResult(true)); }, Mute = (arg) => { System.Diagnostics.Debug.WriteLine($"MUTE {arg.Mute} "); return(Task.FromResult(true)); } }); _apiControlSource = new RoonApiControlSource(_api, true); RoonApiControlSource.Source source = new RoonApiControlSource.Source { DisplayName = "Ric Source Control", SupportsStandBy = true, Status = RoonApiControlSource.EStatus.selected }; _apiControlSource.AddControl(source, new RoonApiControlSource.SourceFunctions { SetStandby = (arg) => { System.Diagnostics.Debug.WriteLine($"STATE {arg.Status}"); return(Task.FromResult(true)); }, SetConvenience = (arg) => { System.Diagnostics.Debug.WriteLine($"SETCONVENIENCE"); return(Task.FromResult(true)); } }); // Init Service Registration _roonRegister = new RoonApi.RoonRegister { DisplayName = "RICs Roon API Test", DisplayVersion = "1.0.0", Publisher = "Christian Riedl", Email = "*****@*****.**", WebSite = "https://github.com/christian-riedl/roon-extension-test", ExtensionId = "com.ric.test", Token = null, OptionalServices = new string[0], RequiredServices = new string[] { RoonApi.ServiceTransport, RoonApi.ServiceImage, RoonApi.ServiceBrowse, }, ProvidedServices = new string[] { RoonApi.ServiceStatus, RoonApi.ServicePairing, RoonApi.ServiceSettings, RoonApi.ServicePing, RoonApi.ControlVolume, RoonApi.ControlSource } }; // Init UI textIpAddress.Text = Properties.Settings.Default.MyIPAddress; textRoonCoreName.Text = Properties.Settings.Default.RoonCoreName; textPersistenceDirectory.Text = Properties.Settings.Default.PersistDirectory; comboLogLevel.Items.AddRange(Enum.GetNames(typeof(LogLevel))); comboLogLevel.SelectedItem = Properties.Settings.Default.LogLevel; comboLogLevel.SelectedValueChanged += (s, e) => Properties.Settings.Default.LogLevel = comboLogLevel.SelectedItem.ToString(); comboLoop.Items.AddRange(Enum.GetNames(typeof(RoonApiTransport.ELoop))); _itemStack = new Stack <string>(); _setZoneSettings = true; _setOutputVolume = true; }