usbdmx.com Home of the opto isolated, bus powered, DMX512 interface with both in and out universes. Cheap and simple to build. USBDMX logo

LOChaseIntensityProvider Class Reference

A provider that provider chase intensisties to a running chase. More...

#import <LOChaseIntensityProvider.h>

Inheritance diagram for LOChaseIntensityProvider:


Public Member Functions

(id) - initWithChase:
 Initilise the provider ready to be used.
(id) - delegate
 Get the current delegate.
(void) - setDelegate:
 Set a new delegate object.
(void) - setIntensity:
 Set the intensity of the chase.
(LOChase *) - chase
 Get the chase this Intenity provider is using.
(void) - remove
 Remove ourself as a provider from a chase.
(BOOL) - autoOn
 Does the chase get started when the provider sets an intensity value greater than zero? If set the chase will also automatically stop when the intensity it set to zero.
(void) - setAutoOn:
 Set the autoOn mode.

Protected Attributes

LOChasechase
 The chase this provider is providing intesitites for.
unsigned char intensity
 The intensity value.
id delegate
 The LOChaseIntensityMasterDelegate delegate.
BOOL autoON
 Should the chae be automtically turned on / off as the value changes.

Detailed Description

A provider that provider chase intensisties to a running chase.

Not to be confused with a channel provider. The purpose of a Chase Intensity Provider is so that multiple entities (e.g. a cue, a scene & a direct fader) can run a chase simulatiously whilst maintinaing synronised chase timing.

IMPORTANT: Its posisble to end up with a memory retention deadlock (i.e objects will not get deallocated) because the provider adds itself to the chase (which retains the provider) and the provider retains the chase.

You must therfore make sure you call remove before you peroform the last release on the object.

See also:
- remove (LOChaseIntensityProvider)

Member Function Documentation

- (BOOL) autoOn  

Does the chase get started when the provider sets an intensity value greater than zero? If set the chase will also automatically stop when the intensity it set to zero.

In both cases this only happens if no other provider is setting a value for the chase.

See also:
- setAutoOn:

- (LOChase *) chase  

Get the chase this Intenity provider is using.

- (id) delegate  

Get the current delegate.

Returns:
The delegate object
See also:
- setDelegate:

NSObject(LOChaseIntensityMasterDelegate) in LOChaseIntensityProvider.h

- (id) initWithChase: (LOChase *)  theChase  

Initilise the provider ready to be used.

This method registeres the provider with the chase.

Intensity is set to 0 on initilisation

IMPORTANT: To stop a memory retention deadlock make sure you call remove

Returns:
The initilised provider
See also:
- setIntensity:

- remove

- (void) remove  

Remove ourself as a provider from a chase.

Its posisble to end up with a memory retention deadlock (i.e objects will not get deallocated) because the provider adds itself to the chase (which retains the provider) and the provider retains the chase.

You must therfore make sure you call remove before you peroform the last release on the object.

- (void) setAutoOn: (BOOL)  flag  

Set the autoOn mode.

See also:
- autoOn

- (void) setDelegate: (id)  aDelegate  

Set a new delegate object.

Parameters:
aDelegate The object to receive all delegate messages
See also:
delegate:

NSObject(LOChaseIntensityMasterDelegate) in LOChaseIntensityProvider.h

- (void) setIntensity: (unsigned char)  theIntensity  

Set the intensity of the chase.

This function notifies the chase that there is a possible update for the output.

Parameters:
theIntensity The intensity value


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