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

LOSceneManager Class Reference

The scene manager is a place where scenes can be created and stored. More...

#import <LOSceneManager.h>


Public Member Functions

(NSXMLElement *) - XML
 Get the Scene details as XML.
(int) - addScene:
 Add a scene to manager.
(LOScene *) - sceneForNumber:
 Return the scene for the given scene number.
(int) - numberForScene:
 Search the scene manager to find what scene number this scene has.
(BOOL) - doesManageScene:
 Check to see if the scene is being managed.
(void) - hideScene:
 Hide a scene that is currently being managed.
(void) - unhideScene:
 Unhide a scene that is currently being managed, if not being managed the scene will be added.
(int) - moveScenesAtIndexs:toIndex:
 Move the scenes (and thus renumber them).
(void) - removeScenesAtIndexs:
 Remove the scenes (and thus renumber other scenes).
(void) - removeScene:
 Remove a specific scene, the scene can be hidden.
(void) - removeEmptyHiddenScenes
 Remove any empty hidden scenes from the manager.
(unsigned) - count
 Returns the current number of scenes being managed, excluding hidden scenes.
(unsigned) - countWithHidden
 Returns the current number of scenes being managed, inc including hidden sceens.
(void) - reset
 Reset the scene manager, that is delete all the scenes currently managed.
(BOOL) - loadConfigurationFromXML:
 Perfomrms a reset, then loads the configuration from the XML Element.
(BOOL) - secondLoadConfigurationFromXML:
 Second pass to finish loading the scenes from the XML.

Static Public Member Functions

(LOSceneManager *) + defaultManager
 Get the default Scene manager for the applications.

Protected Attributes

NSMutableArray * scenes
 Array to hold the LOScene objects.
NSMutableArray * hidden
 Array to hold hidden LOScene objects.


Detailed Description

The scene manager is a place where scenes can be created and stored.

Each scene managed by the scene manager is given a scene number, which can be used from the command line etc.

The scene manager can also manage hidden scenes, these scenes have numbers and are saved and loaded from show files in just the same way as normal scenes, just they will not show up in the normal scene lists, and will not be counted by the count method.


Member Function Documentation

- (int) addScene: (LOScene *)  theScene  

Add a scene to manager.

When the add has occurd a notification LOSceneManagerDidAddScene is posted so that all other objects may take apropriate action.

Returns:
The scene number just just created, or <0 on an error.

- (unsigned) count  

Returns the current number of scenes being managed, excluding hidden scenes.

Returns:
The number of scenes

- (unsigned) countWithHidden  

Returns the current number of scenes being managed, inc including hidden sceens.

Returns:
The number of scenes

+ (LOSceneManager *) defaultManager  

Get the default Scene manager for the applications.

This is the only way that a scene manager should be obtained.

Returns:
The current applications default scene manager

- (BOOL) doesManageScene: (LOScene *)  theScene  

Check to see if the scene is being managed.

- (void) hideScene: (LOScene *)  theScene  

Hide a scene that is currently being managed.

- (BOOL) loadConfigurationFromXML: (NSXMLElement *)  XMLElement  

Perfomrms a reset, then loads the configuration from the XML Element.

The XML is the same format as generated by the XML method

If the XML contains channels the do not exist, they will be ignored

Returns:
YES if the configuratino was loaded.
See also:
- XML

- (int) moveScenesAtIndexs: (NSIndexSet *)  indexes
toIndex: (unsigned)  index 

Move the scenes (and thus renumber them).

Returns:
the number of scenes moved

- (int) numberForScene: (LOScene *)  theScene  

Search the scene manager to find what scene number this scene has.

In the even where the scene is not already in the scene manager it will be added and the new scene number returned.

Returns:
The scene number or <0 on an error.
See also:
- addScene:

- (void) removeEmptyHiddenScenes  

Remove any empty hidden scenes from the manager.

- (void) removeScene: (LOScene *)  scene  

Remove a specific scene, the scene can be hidden.

- (void) removeScenesAtIndexs: (NSIndexSet *)  indexes  

Remove the scenes (and thus renumber other scenes).

- (void) reset  

Reset the scene manager, that is delete all the scenes currently managed.

When the rest has occurd a notification LOSceneManagerDidReset is posted so that all other objects may take apropriate action.

- (LOScene *) sceneForNumber: (int)  sceneNumber  

Return the scene for the given scene number.

Returns:
The Scene or nil

- (BOOL) secondLoadConfigurationFromXML: (NSXMLElement *)  XMLElement  

Second pass to finish loading the scenes from the XML.

This pass adds as chases into the scenes. The cases can't be loaded on the first pass as the chases will not have been created by then.

Returns:
YES if the configuratino was loaded.
See also:
- XML

- (NSXMLElement *) XML  

Get the Scene details as XML.

 <scenes count="x">
  <scene lastChannel="x" autoGrow="true|flase" name="" [hidden="true"]>
   <channel number="x" value="x">
  </scene>
 </scenes>

Returns:
The XML Representation of all the Scenes


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