jvconnected.interfaces.paramspec

This module contains specifications to assist with interface implementations. The Property values associated with jvconnected.device.ParameterGroup subclasses are defined here with any information necessary for getting/setting values as well as the types and ranges of values.

ParameterGroupSpec

class jvconnected.interfaces.paramspec.ParameterGroupSpec(*args, **kwargs)[source]

Bases: Dispatcher

A group of ParameterSpec definitions for a jvconnected.device.ParameterGroup that can be attached to an existing Device instance.

Parameters

device (jvconnected.device.Device) – A Device instance to attach to

name

The name of the jvconnected.device.ParameterGroup within its parent device

Type

str

device

Instance of jvconnected.device.Device

device_param_group

The jvconnected.device.ParameterGroup associated with this instance

Event on_device_value_changed(group: ParameterGroupSpec, param: ParameterSpec, value: Any)[source]

Fired when the value of a parameter has changed on the device

on_device_value_changed is a pydispatch.Event object.

classmethod all_parameter_group_cls() Iterator[ParameterGroupSpec][source]

Iterate through all ParameterGroupSpec subclasses

classmethod find_parameter_group_cls(name: str) ParameterGroupSpec[source]

Search for a ParameterGroupSpec class by its name

get_param_value(name: str) Any[source]

Get the current device value for the given parameter

Parameters

name (str) – The ParameterSpec name

async set_param_value(name: str, value: Any)[source]

Set the device value for the given parameter

Parameters
Raises

ValueError – If there is no setter method for the ParameterSpec

async increment_param_value(name: str)[source]

Increment the device value for the given parameter

Parameters

name (str) – The ParameterSpec name

async decrement_param_value(name: str)[source]

Decrement the device value for the given parameter

Parameters

name (str) – The ParameterSpec name

async adjust_param_value(name: str, direction: bool)[source]

Increment or decrement the device value for the given parameter

Parameters
  • name (str) – The ParameterSpec name

  • direction (bool) – If True, increment, otherwise decrement

Raises

ValueError – If there is no adjust_method defined

class jvconnected.interfaces.paramspec.ExposureParams(*args, **kwargs)[source]

Bases: ParameterGroupSpec

ParameterGroupSpec definition for jvconnected.device.ExposureParams

Parameter Definitions
mode
  • full_name: "exposure.mode"

  • prop_name: "mode"

  • value_type: ChoiceValue: choices=['Auto', 'Manual', 'IrisPriority', 'ShutterPriority']

iris_mode
  • full_name: "exposure.iris_mode"

  • prop_name: "iris_mode"

  • value_type: ChoiceValue: choices=['Manual', 'Auto', 'AutoAELock']

iris_pos
  • full_name: "exposure.iris_pos"

  • prop_name: "iris_pos"

  • value_type: IntValue: value_min=0, value_max=255

  • setter_method: "set_iris_pos"

gain_mode
  • full_name: "exposure.gain_mode"

  • prop_name: "gain_mode"

  • value_type: ChoiceValue: choices=['ManualL', 'ManualM', 'ManualH', 'AGC', 'AlcAELock', 'LoLux', 'Variable']

gain_pos
  • full_name: "exposure.gain_pos"

  • prop_name: "gain_pos"

  • value_type: IntValue: value_min=-6, value_max=24

  • adjust_method: "adjust_gain"

shutter_mode
  • full_name: "exposure.shutter_mode"

  • prop_name: "shutter_mode"

  • value_type: ChoiceValue: choices=['Off', 'Manual', 'Step', 'Variable', 'Eei']

master_black_pos
  • full_name: "exposure.master_black_pos"

  • prop_name: "master_black_pos"

  • value_type: IntValue: value_min=-50, value_max=50

  • adjust_method: "adjust_master_black"

class jvconnected.interfaces.paramspec.PaintParams(*args, **kwargs)[source]

Bases: ParameterGroupSpec

ParameterGroupSpec definition for jvconnected.device.PaintParams

Parameter Definitions
white_balance_mode
  • full_name: "paint.white_balance_mode"

  • prop_name: "white_balance_mode"

  • value_type: ChoiceValue: choices=['Preset', 'A', 'B', 'Faw', 'FawAELock', 'Faw', 'Awb', 'OnePush', '3200K', '5600K', 'Manual']

red_normalized
  • full_name: "paint.red_normalized"

  • prop_name: "red_normalized"

  • value_type: IntValue: value_min=-32, value_max=32

  • setter_method: "set_red_pos"

blue_normalized
  • full_name: "paint.blue_normalized"

  • prop_name: "blue_normalized"

  • value_type: IntValue: value_min=-32, value_max=32

  • setter_method: "set_blue_pos"

detail_pos
  • full_name: "paint.detail_pos"

  • prop_name: "detail_pos"

  • value_type: IntValue: value_min=-10, value_max=10

  • adjust_method: "adjust_detail"

class jvconnected.interfaces.paramspec.TallyParams(*args, **kwargs)[source]

Bases: ParameterGroupSpec

ParameterGroupSpec definition for jvconnected.device.TallyParams

Parameter Definitions
program
  • full_name: "tally.program"

  • prop_name: "program"

  • value_type: BoolValue

  • setter_method: "set_program"

preview
  • full_name: "tally.preview"

  • prop_name: "preview"

  • value_type: BoolValue

  • setter_method: "set_preview"

tally_status
  • full_name: "tally.tally_status"

  • prop_name: "tally_status"

  • value_type: ChoiceValue: choices=['Off', 'Program', 'Preview']

ParameterSpec

class jvconnected.interfaces.paramspec.BaseParameterSpec(*args, **kwargs)[source]

Bases: Dispatcher

Base Parameter Spec

Event on_device_value_changed(param: ParameterSpec, value: Any)[source]

Fired when the parameter value has changed on the device

on_device_value_changed is a pydispatch.Event object.

group_name: str = ''

The name of the ParameterGroup as accessed by the parameter_groups attribute of Device

name: str = ''

The parameter name, typically the same as prop_name

full_name: str = ''

Combination of group_name and name

setter_method: str = ''

Method name on the ParameterGroup used to set the parameter value (if available)

adjust_method: str = ''

Method name on the ParameterGroup used to increment/decrement the parameter value such as jvconnected.device.ExposureParams.adjust_iris()

property param_group_spec: Optional[ParameterGroupSpec]

The parent ParameterGroupSpec instance

property device_param_group: Optional[jvconnected.device.ParameterGroup]

The jvconnected.device.ParameterGroup bound to this instance

async increment_value()[source]

Increment the device value

async decrement_value()[source]

Decrement the device value

async adjust_value(direction: bool)[source]

Increment or decrement the device value

Parameters

direction (bool) – If True, increment, otherwise decrement

Raises

ValueError – If there is no adjust_method defined

class jvconnected.interfaces.paramspec.ParameterSpec(*args, **kwargs)[source]

Bases: BaseParameterSpec

Specifications for a single parameter within a jvconnected.device.ParameterGroup

Property value: Any = None

The current device value

value is a pydispatch.Property object.

value_type: Value = Field(name=None,type=None,default=<dataclasses._MISSING_TYPE object>,default_factory=<class 'jvconnected.interfaces.paramspec.Value'>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=None)

Specifications for the expected value of the attribute in ParameterGroup

One of BoolValue, IntValue, or ChoiceValue

prop_name: str = ''

The Property/attribute name within the jvconnected.device.ParameterGroup containing the parameter value

get_param_value() Any[source]

Get the current device value

async set_param_value(value: Any)[source]

Set the device value

Raises

ValueError – If no setter_method is defined

class jvconnected.interfaces.paramspec.MultiParameterSpec(*args, **kwargs)[source]

Bases: BaseParameterSpec

Combines multiple ParameterSpec definitions

prop_names: List[str]

The Property/attribute names within the jvconnected.device.ParameterGroup containing the parameter values

value_types: List[Value]

Specifications for the expected values of the attribute in ParameterGroup

ListProperty value: List[Any]

The current device value

value is a pydispatch.ListProperty object.

get_param_value() List[Any][source]

Get the current device value

async set_param_value(value: List[Any])[source]

Set the device value

Raises

ValueError – If no setter_method is defined

Value Types

class jvconnected.interfaces.paramspec.Value[source]

Bases: object

Base class for value definitions

py_type

alias of str

class jvconnected.interfaces.paramspec.BoolValue[source]

Bases: Value

A boolean value definition

py_type

alias of bool

class jvconnected.interfaces.paramspec.IntValue(value_min: int = 0, value_max: int = 255, value_default: int = 0)[source]

Bases: Value

A numeric value definition

py_type

alias of int

value_min: int = 0

Minimum value of the parameter

value_max: int = 255

Maximum value of the parameter

value_default: int = 0

Default or natural center of value range

class jvconnected.interfaces.paramspec.ChoiceValue(choices: ~typing.List[str] = <factory>)[source]

Bases: Value

A string value definition with a defined set of choices

py_type

alias of str

choices: List[str]

The expected string values for the parameter