public static function constructFromArray($props) {
		if (isset($props['root'])) {
			if ($props['root'] instanceof Pitch) {
				$root = $props['root'];
			} else {
				$root = Pitch::constructFromArray($props['root']);
			}
		}

		return new Scale($props['scale'], $root, $props['direction']);
	}
public static function constructFromArray($props) {
		if (isset($props['root'])) {
			if ($props['root'] instanceof Pitch) {
				$root = $props['root'];
			} else {
				$root = Pitch::constructFromArray($props['root']);
			}
		}

		return new Scale($props['scale'], $root, $props['direction']);
	}
public static function constructFromArray ( $ props ) { if ( isset ( $ props [ 'root' ] ) ) { if ( $ props [ 'root' ] instanceof Pitch ) { $ root = $ props [ 'root' ] ; } else { $ root = Pitch :: constructFromArray ( $ props [ 'root' ] ) ; } } return new Scale ( $ props [ 'scale' ] , $ root , $ props [ 'direction' ] ) ; }
accepts the scale object in the form of an array

@param  [type] $scale [description]
@return [type]        [description]
accepts the scale object in the form of an array