Symphony-DAS/Symphony — pull request #8 by ala-laurila-lab (2013-04-26 07:45:18+00:00)
Title: Release1

The Google Groups Page: https://groups.google.com/group/symphony-das/browse_thread/thread/5a054f550a3335e2

Change 1: The instantiation of Symphony is done using the singleton design
pattern "the singleton pattern is a design pattern that restricts the
instantiation of a class to one object." However rather then using a
persistent variable ( only available to the Symphony object ) which is
the correct way to program a singleton, a global variable was used
which is highly problematic.

Change 2: Due to a true Singleton design pattern, the symconfig is loaded in the SymphonyUI class, not the StartSymphony script ( function loadSymConfig(obj, symphonyDir) ).

Change 3: Programmed the ability to start Symphony by passing paramters to the function to clear all variables from the work space. So to start symphony now you can type:
- Normal Operation = StartSymphony && StartSympony(false)
- Clear the Workspace = StartSympony(true)

Change 4: The Rig Compatibility check was moved to the protocol from SymphonyUI, so that it could be overridden if desired. ( function [ c , msg ] = isCompatibleWithRigConfig(obj, rigConfig) ). The function returns a boolean to indicate the status and a msg string to be displayed in the SymphonyUI GUI.

Note: I have programmed stubs to do unit testing for:
- the singleton design pattern, &
- the Rig Compatibility check.
These are not included in the main Symphony folder structure.