Uranium
Application Framework
UM.OutputDevice.OutputDeviceManager.OutputDeviceManager Class Reference

Public Member Functions

def __init__ (self)
 
def getOutputDevices (self)
 
def getProjectOutputDevices (self)
 
def getOutputDeviceIds (self)
 
def getOutputDevice
 
def start (self)
 
def stop (self)
 
def startDiscovery (self)
 
def refreshConnections (self)
 
def connectWriteSignalsToDevice
 
def disconnectWriteSignalsFromDevice
 
def addOutputDevice
 
def removeOutputDevice
 
def addProjectOutputDevice
 
def removeProjectOutputDevice
 
def getActiveDevice (self)
 
def setActiveDevice
 
def resetActiveDevice (self)
 
def addOutputDevicePlugin
 
def removeOutputDevicePlugin
 
def getAllOutputDevicePlugins (self)
 
def getOutputDevicePlugin
 

Static Public Attributes

tuple writeStarted = Signal()
 
tuple writeProgress = Signal()
 
tuple writeFinished = Signal()
 
tuple writeError = Signal()
 
tuple writeSuccess = Signal()
 
tuple manualDeviceAdded = Signal()
 
tuple manualDeviceRemoved = Signal()
 
tuple outputDevicesChanged = Signal()
 
tuple projectOutputDevicesChanged = Signal()
 
tuple activeDeviceChanged = Signal()
 

Detailed Description

Manages all available output devices and the plugin objects used to create them.

This class is intended as the main entry point for anything relating to file saving.
For the most basic usage, call getActiveDevice() to get an output device, then
call OutputDevice::requestWrite() on the returned object.

Active Device
-------------

The active device by default is determined based on the priority of individual
OutputDevice instances when there is more than one OutputDevice available. When
adding a device, the active device will be updated with the highest priority device.
Should there be two devices with the same priority the active device will be the first
device encountered with that priority.

Calling setActiveDevice() will override this behaviour and instead force the active
device to the specified device. This active device will not change when a new device
is added or removed, but it will revert back to the default behaviour if the active
device is removed. Call resetActiveDevice() to reset the active device to the default
behaviour based on priority.

OutputDevicePlugin and OutputDevice creation/removal
----------------------------------------------------

Each instance of an OutputDevicePlugin is meant as an OutputDevice creation object.
Subclasses of OutputDevicePlugin are meant to perform device lookup and listening
for events like device hot-plugging. When a new device has been detected, the plugin
class should create an instance of an OutputDevice subclass and add it to this
manager class using addOutputDevice(). Similarly, if a device has been removed the
OutputDevicePlugin is expected to call removeOutputDevice() to remove the proper
device.

Member Function Documentation

def UM.OutputDevice.OutputDeviceManager.OutputDeviceManager.getActiveDevice (   self)
Get the active device.
def UM.OutputDevice.OutputDeviceManager.OutputDeviceManager.getOutputDeviceIds (   self,
  KeysView,
  str 
)
Get a list of all IDs of registered output devices.

:return: :type{list} A list of all registered output device ids.
def UM.OutputDevice.OutputDeviceManager.OutputDeviceManager.getOutputDevices (   self,
  ValuesView,
  OutputDevice 
)
Get a list of all registered output devices.

:return: :type{list} A list of all registered output devices.
def UM.OutputDevice.OutputDeviceManager.OutputDeviceManager.getProjectOutputDevices (   self,
  ValuesView,
  ProjectOutputDevice 
)
Get a list of all registered output devices.

:return: :type{list} A list of all registered output devices.
def UM.OutputDevice.OutputDeviceManager.OutputDeviceManager.resetActiveDevice (   self,
  None 
)
Reset the active device to the default device.

The documentation for this class was generated from the following file: