Esempio n. 1
0
        public Receiver()
        {
            MainPower    = new Power(Zone.Main);
            Zone2Power   = new Power(Zone.Zone2);
            MasterVolume = new Volume();
            Zone2Volume  = new Volume();
            NetListTitle = new NetListTitleInfo();
            MainInput    = new Input(Zone.Main);
            Zone2Input   = new Input(Zone.Zone2);

            NetListCursorInfo = new NetListInfo();
            NetListItems      = new ObservableCollection <NetListInfo>();
            NetTitleName      = new NetTitleName();
            NetJacketArt      = new NetJacketArt();
            NetAlbumName      = new NetAlbumName();
            NetArtistName     = new NetArtistName();
            NetTrackFileInfo  = new NetTrackFileInfo();

            MessageReceived += OnMessageReceived;
        }
Esempio n. 2
0
        private void OnMessageReceived(object sender, ISCPMessageEventArgs e)
        {
            switch (e.Message.Command)
            {
            case "MVL":
                MasterVolume.ParseFrom(e.Message);
                break;

            case "ZVL":
                Zone2Volume.ParseFrom(e.Message);
                break;

            case "NLT":
                NetListTitle.ParseFrom(e.Message);
                break;

            case "SLI":
                MainInput.ParseFrom(e.Message);
                break;

            case "SLZ":
                Zone2Input.ParseFrom(e.Message);
                break;

            case "PWR":
                MainPower.ParseFrom(e.Message);
                break;

            case "ZPW":
                Zone2Power.ParseFrom(e.Message);
                break;

            case "NLS":
                var nls = new NetListInfo();
                nls.ParseFrom(e.Message);

                if (nls.InformationType == NetListInformationType.CursorPosition)
                {
                    NetListCursorInfo.ParseFrom(e.Message);
                    lock (NetListItems)
                        NetListItems.Clear();
                }
                else
                {
                    lock (NetListItems)
                        NetListItems.Add(nls);
                }
                break;

            case "NTI":
                NetTitleName.ParseFrom(e.Message);
                break;

            case "NAL":
                NetAlbumName.ParseFrom(e.Message);
                break;

            case "NAT":
                NetArtistName.ParseFrom(e.Message);
                break;

            case "NJA":
                NetJacketArt.ParseFrom(e.Message);
                break;

            case "NFI":
                NetTrackFileInfo.ParseFrom(e.Message);
                break;
            }
        }