/// <summary>
 /// Returns whether settings is a valid settings object for this instance. Should be implemented by one line:
 /// return (settings is xxxxSettings);
 /// </summary>
 /// <param name="settings">The settings to check</param>
 /// <returns>Whether the settings are valid</returns>
 protected virtual bool isValidSettings(VideoCodecSettings settings)
 {
     throw new Exception("A bug in the program -- ProfilableConfigurationDialog.isValidSettings(GenericSettings) is not overridden");
 }
 /// <summary>
 /// Returns whether settings is lavcSettings
 /// </summary>
 /// <param name="settings">The settings to check</param>
 /// <returns>Whether the settings are valid</returns>
 protected override bool isValidSettings(VideoCodecSettings settings)
 {
     return(settings is x264Settings);
 }
 /// <summary>
 /// Returns whether settings is a valid settings object for this instance. Should be implemented by one line:
 /// return (settings is xxxxSettings);
 /// </summary>
 /// <param name="settings">The settings to check</param>
 /// <returns>Whether the settings are valid</returns>
 protected virtual bool isValidSettings(VideoCodecSettings settings)
 {
     throw new Exception("A bug in the program -- ProfilableConfigurationDialog.isValidSettings(GenericSettings) is not overridden");
 }