Example #1
0
 /// <summary>
 /// Pflegt die zusätzlichen Parameter dieser Erweiterung.
 /// </summary>
 /// <param name="parent">Das übergeordnete Oberflächenelement.</param>
 /// <param name="parameters">Die Liste der Parameter.</param>
 /// <param name="type">Die Art der Erweiterung, deren Parameter gepflegt werden sollen.</param>
 void IPipelineParameterExtension.Edit(Control parent, List <ProfileParameter> parameters, PipelineTypes type)
 {
     // Show dialog
     using (var dialog = new AdditionalFilterSelector(parameters))
         if (dialog.ShowDialog(parent) == DialogResult.OK)
         {
             dialog.Update(parameters);
         }
 }
Example #2
0
        /// <summary>
        /// Aktualisiert die Aktionslisten des DVB Empfangs.
        /// </summary>
        /// <param name="graph">Der DirectShow Graph für den DVB Empfang.</param>
        /// <param name="profile">Das verwendete Geräteprofil.</param>
        /// <param name="types">Die gewünschte Aktivierung.</param>
        void IPipelineExtension.Install(DataGraph graph, Profile profile, PipelineTypes types)
        {
            // Validate
            if (graph == null)
            {
                throw new ArgumentNullException("graph");
            }
            if (profile == null)
            {
                throw new ArgumentNullException("profile");
            }

            // Check supported types
            if ((types & PipelineTypes.CICAM) != 0)
            {
                // Load static settings
                m_suppress     = AdditionalFilterSelector.GetSuppression(PipelineTypes.CICAM, profile.Parameters);
                m_hasBeenReset = (m_suppress != SuppressionMode.None);

                // Analyse settings
                if (!bool.TryParse(profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.CancelEncryptionOnChangedStream), out m_disableOnChange))
                {
                    m_disableOnChange = false;
                }
                if (!int.TryParse(profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.DelayOnChangedStream), out m_changeDelay))
                {
                    m_changeDelay = 0;
                }

                // Register in pipeline
                graph.DecryptionPipeline.AddPostProcessing(Decrypt);

                // Check for additional filter
                var filterDisplayName = profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.FilterName);
                if (!string.IsNullOrEmpty(filterDisplayName))
                {
                    // Load moniker - if available
                    var filterMoniker = profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.FilterMoniker);

                    // Remember position of our extension
                    m_filterIndex = graph.AdditionalFilterInformations.Count;

                    // Register in graph
                    graph.AdditionalFilterInformations.Add(DeviceAndFilterInformations.Cache.AllFilters.FindFilter(filterDisplayName, filterMoniker));
                }
            }
        }
Example #3
0
 /// <summary>
 /// Pflegt die zusätzlichen Parameter dieser Erweiterung.
 /// </summary>
 /// <param name="parent">Das übergeordnete Oberflächenelement.</param>
 /// <param name="parameters">Die Liste der Parameter.</param>
 /// <param name="type">Die Art der Erweiterung, deren Parameter gepflegt werden sollen.</param>
 void IPipelineParameterExtension.Edit( Control parent, List<ProfileParameter> parameters, PipelineTypes type )
 {
     // Show dialog
     using (var dialog = new AdditionalFilterSelector( parameters ))
         if (dialog.ShowDialog( parent ) == DialogResult.OK)
             dialog.Update( parameters );
 }