Exemple #1
0
 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 }
     };
 }
Exemple #2
0
        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;
        }