updateParam method

int updateParam(
  1. ClipParam parentParam,
  2. ClipParam childParam
)

Implementation

int updateParam( ClipParam parentParam, ClipParam childParam ){
	int i, j;
	int index;

	j = childParam.updateParamCodeArray().length;
	for( i = 0; i < j; i++ ){
		if( childParam.updateParam(i) ){
			switch( childParam.updateParamCode(i) ){
			case ClipGlobal.codeVariable:
				index = childParam.updateParamIndex(i);
				if( parentParam.repVal( index, childParam.variable().val( i + ClipMath.charCode0 ), true ) ){
					if( index == 0 ){
						_updateMatrix( childParam, parentParam.array().matrix(index) );
					} else {
						_updateValue( childParam, parentParam.variable().val( index ) );
					}
				}
				break;
			case ClipGlobal.codeAutoVar:
				index = childParam.updateParamIndex(i);
				if( parentParam.repVal( index, childParam.variable().val( i + ClipMath.charCode0 ), false ) ){
					if( index == 0 ){
						_updateMatrix( childParam, parentParam.array().matrix(index) );
					} else {
						_updateValue( childParam, parentParam.variable().val( index ) );
					}
				}
				break;
			case ClipGlobal.codeGlobalVar:
				index = childParam.updateParamIndex(i);
				if( globalParam().repVal( index, childParam.variable().val( i + ClipMath.charCode0 ), false ) ){
					if( index == 0 ){
						_updateMatrix( childParam, globalParam().array().matrix(index) );
					} else {
						_updateValue( childParam, globalParam().variable().val( index ) );
					}
				}
				break;
			case ClipGlobal.codeArray:
				childParam.array().rep( parentParam.array(), i + ClipMath.charCode0, childParam.updateParamIndex(i), true );
				break;
			case ClipGlobal.codeAutoArray:
				childParam.array().rep( parentParam.array(), i + ClipMath.charCode0, childParam.updateParamIndex(i), false );
				break;
			case ClipGlobal.codeGlobalArray:
				childParam.array().rep( globalParam().array(), i + ClipMath.charCode0, childParam.updateParamIndex(i), false );
				break;
			}
		}
	}

	return ClipGlobal.noErr;
}