コード例 #1
0
        private void BuildLists(TvBusinessLayer layer)
        {
            DsDevice[] devices1 = DsDevice.GetDevicesOfCat(FilterCategory.VideoCompressorCategory);
            DsDevice[] devices2 = DsDevice.GetDevicesOfCat(FilterCategory.AudioCompressorCategory);
            DsDevice[] devices3 = DsDevice.GetDevicesOfCat(FilterCategory.LegacyAmFilterCategory);

            bool found;
            IList <SoftwareEncoder> encoders = layer.GetSofwareEncodersVideo();

            _bindingVideoEncoders = new BindingList <DisplaySoftwareEncoder>();
            foreach (SoftwareEncoder encoder in encoders)
            {
                found = false;
                DisplaySoftwareEncoder displayEncoder = new DisplaySoftwareEncoder(encoder);
                for (int i = 0; i < devices1.Length; i++)
                {
                    if (devices1[i].Name == encoder.Name)
                    {
                        found = true;
                        displayEncoder.Installed = "Yes";
                        break;
                    }
                }
                if (!found)
                {
                    for (int i = 0; i < devices3.Length; i++)
                    {
                        if (devices3[i].Name == encoder.Name)
                        {
                            found = true;
                            displayEncoder.Installed = "Yes";
                            break;
                        }
                    }
                }
                _bindingVideoEncoders.Add(displayEncoder);
            }
            mpListViewVideo.DataSource = _bindingVideoEncoders;

            encoders = layer.GetSofwareEncodersAudio();
            _bindingAudioEncoders = new BindingList <DisplaySoftwareEncoder>();
            foreach (SoftwareEncoder encoder in encoders)
            {
                found = false;
                DisplaySoftwareEncoder displayEncoder = new DisplaySoftwareEncoder(encoder);
                for (int i = 0; i < devices2.Length; i++)
                {
                    if (devices2[i].Name == encoder.Name)
                    {
                        found = true;
                        displayEncoder.Installed = "Yes";
                        break;
                    }
                }
                if (!found)
                {
                    for (int i = 0; i < devices3.Length; i++)
                    {
                        if (devices3[i].Name == encoder.Name)
                        {
                            found = true;
                            displayEncoder.Installed = "Yes";
                            break;
                        }
                    }
                }
                _bindingAudioEncoders.Add(displayEncoder);
            }
            mpListViewAudio.DataSource = _bindingAudioEncoders;
        }