public void SetPropertyMode(VarjoCameraPropertyType type, VarjoCameraPropertyMode mode)
 {
     VarjoPluginMR.LockCameraConfig();
     VarjoPluginMR.SetCameraPropertyMode(type, mode);
     UpdateModes();
     VarjoPluginMR.UnlockCameraConfig();
 }
 public void UpdateModes()
 {
     exposureTimeMode        = GetPropertyMode(VarjoCameraPropertyType.ExposureTime);
     ISOValueMode            = GetPropertyMode(VarjoCameraPropertyType.ISOValue);
     whiteBalanceMode        = GetPropertyMode(VarjoCameraPropertyType.WhiteBalance);
     flickerCompensationMode = GetPropertyMode(VarjoCameraPropertyType.FlickerCompensation);
 }
 /// <summary>
 /// Sets the current mode for the camera property.
 /// </summary>
 /// <param name="type">The camera property type.</param>
 /// <param name="mode">The mode to set.</param>
 /// <returns>True, if no errors. Otherwise false.</returns>
 public static bool SetCameraPropertyMode(VarjoCameraPropertyType type, VarjoCameraPropertyMode mode)
 {
     if (!IsMRReady())
     {
         return(false);
     }
     varjo_MRSetCameraPropertyMode(GetVarjoSession(), type, mode);
     return(CheckError());
 }
        /// <summary>
        /// Retrieves the current mode for the camera property.
        /// </summary>
        /// <param name="type">The camera property type.</param>
        /// <param name="mode">The current mode for the camera property.</param>
        /// <returns>True, if no errors. Otherwise false.</returns>
        public static bool GetCameraPropertyMode(VarjoCameraPropertyType type, out VarjoCameraPropertyMode mode)
        {
            if (!IsMRReady())
            {
                mode = VarjoCameraPropertyMode.Off;
                return(false);
            }

            mode = (VarjoCameraPropertyMode)varjo_MRGetCameraPropertyMode(GetVarjoSession(), type);
            return(CheckError());
        }
    VarjoCameraPropertyMode[] GetPropertyModes(VarjoCameraPropertyType type)
    {
        List <VarjoCameraPropertyMode> list = new List <VarjoCameraPropertyMode>();

        VarjoCameraPropertyMode[] modes = new VarjoCameraPropertyMode[VarjoPluginMR.GetCameraPropertyModeCount(type)];
        if (VarjoPluginMR.GetCameraPropertyModes(type, out list))
        {
            modes = list.ToArray();
        }
        return(modes);
    }
        /// <summary>
        /// Retrieves all available modes for the given camera property.
        /// </summary>
        /// <param name="type">The camera property type.</param>
        /// <param name="modes">The available modes for the camera property.</param>
        /// <returns>True, if no errors. Otherwise false.</returns>
        public static bool GetCameraPropertyModes(VarjoCameraPropertyType type, out List <VarjoCameraPropertyMode> modes)
        {
            if (!IsMRReady())
            {
                modes = new List <VarjoCameraPropertyMode>();
                return(false);
            }

            int count = GetCameraPropertyModeCount(type);

            VarjoCameraPropertyMode[] modesArray = new VarjoCameraPropertyMode[count];
            varjo_MRGetCameraPropertyModes(GetVarjoSession(), type, modesArray, count);
            modes = modesArray.ToList();
            return(CheckError());
        }
 private static extern void varjo_MRSetCameraPropertyMode(IntPtr session, VarjoCameraPropertyType type, VarjoCameraPropertyMode mode);
 public void SetMode(VarjoCameraPropertyType type, VarjoCameraPropertyMode mode)
 {
     settings.SetPropertyMode(type, mode);
     UpdateModes();
     UpdateValues();
 }
 private int OptionIndex(VarjoCameraPropertyMode[] modes, VarjoCameraPropertyMode mode)
 {
     return(Array.IndexOf(modes, mode));
 }