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

LOSceneProvider Class Reference

A Provider that takes a scene and runs it through a master fader before passing it to the channel manager. More...

#import <LOSceneProvider.h>

Inheritance diagram for LOSceneProvider:

< LOChannelProvider >

Public Member Functions

(id) - initWithScene:
 Initilise the provider ready to be used.
(LOScene *) - scene
 Get the scene this provider using.
(BOOL) - willUpdateChannelManager
 Test to see if this provider will update the channel manager.
(void) - setWillUpdateChannelManager:
 Sets if this provider updates the ChannelManager when values change.
(unsigned char) - master
 Get the master value.
(void) - setMaster:
 Set the master value, update the output and notifies the channel manager.
(unsigned int) - master16
 Get the master value.
(void) - setMaster16:
 Set the master value, update the output and notifies the channel manager.
(void) - updateOutputForChannel:
 This method recalculates the output cache, and if the channel output has changed will notify the channel manager.
(void) - updateOutput
 This method recalculates the output cache, and if any channel output has changed will notify the channel manager.
(void) - setProviderID:
 Set the provider ID to be something other that the default.
(id) - chaseDelegate
 Get the current chase master delegate.
(void) - setChaseDelegate:
 Set a new chase master delegate object.

Protected Attributes

LOChannelManagerchannelManager
 The channel manager.
LOScenescene
 The scene with the data in it.
LOScenecachedScene
 The cached value of the current output.
unsigned int master16
 The master value to scale all channel data by (16 bit).
int providerID
 The ID of this provider.
BOOL willUpdateChannelManager
 Does this provider update the Channel manager.
BOOL shouldAddProvider
 Flag to keep track if we should add the scene provider.
NSMutableArray * didStartChase
 Array to flag if we already started a chase (se we don;t restart a one shot).
NSArray * chases
 Local copy of embeded chases.
NSMutableArray * chaseIntensityProviders
 Array of LOChaseIntensityProvider.
id chaseDelegate
 The chase master intensity delegate.

Detailed Description

A Provider that takes a scene and runs it through a master fader before passing it to the channel manager.

Initially the master value is set to 0, this is to ensure that when the object is created the scene is not instantly sent to the channel manager


Member Function Documentation

- (id) chaseDelegate  

Get the current chase master delegate.

Returns:
The delegate object
See also:
- setChaseDelegate:

NSObject(LOChaseIntensityMasterDelegate) in LOChaseIntensityProvider.h

- (id) initWithScene: (LOScene *)  theScene  

Initilise the provider ready to be used.

This method registeres the provider with the channel manager, and uses the scene as the channel value data source.

Parameters:
theScene The scene used for the data
Returns:
The initilised provider

- (unsigned char) master  

Get the master value.

Returns:
The current master value
See also:
- setMaster:

- (unsigned int) master16  

Get the master value.

Returns:
The current master value
See also:
- setMaster:

- (void) setChaseDelegate: (id)  aDelegate  

Set a new chase master delegate object.

Once set this delegate will be used for all chases in the scene.

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

NSObject(LOChaseIntensityMasterDelegate) in LOChaseIntensityProvider.h

- (void) setMaster16: (unsigned int)  theMaster  

Set the master value, update the output and notifies the channel manager.

Parameters:
theMaster The value to set
See also:
- master:

- (void) setMaster: (unsigned char)  theMaster  

Set the master value, update the output and notifies the channel manager.

Parameters:
theMaster The value to set
See also:
- master:

- (void) setProviderID: (int)  theProviderID  

Set the provider ID to be something other that the default.

- (void) setWillUpdateChannelManager: (BOOL)  shouldUpdateChannelManager  

Sets if this provider updates the ChannelManager when values change.

When this scene provider is used by another scene provider its undesirable for them both to attempt to update the channel manager, and so you should set willUpdateChannelManager to NO

See also:
willUpdateChannelManager:

- (void) updateOutput  

This method recalculates the output cache, and if any channel output has changed will notify the channel manager.

This function is called automatically when the master value changes. its very unlikley that you would want to call this directly.

- (void) updateOutputForChannel: (unsigned)  aChannel  

This method recalculates the output cache, and if the channel output has changed will notify the channel manager.

You should call this if the scene data changes.

It may be that at some point this gets auto implemented via the notification center and events posted when a scene is updated.

Parameters:
aChannel The channel to update.

Test to see if this provider will update the channel manager.

See also:
- setWillUpdateChannelManager:


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