NEURON{
	: NOTE that there is no POINT_PROCESS name since this is an interface
	RANGE space_synutils
	RANGE use_play_synutils
}

VERBATIM 
extern double* vector_vec(); 
extern int vector_capacity(); 
extern void* vector_arg(); 
ENDVERBATIM      
 

PARAMETER{
	space_synutils	
	use_play_synutils
}


PROCEDURE play() { 
	use_play_synutils = 1
	VERBATIM 
	void** vv; 
	vv = (void**)(&space_synutils); 
	*vv = (void*)0; 
	if (ifarg(1)) { 
	 *vv = vector_arg(1); 
	} 
	ENDVERBATIM 
} 

PROCEDURE remove_play(){
	use_play_synutils = 0
}

INITIAL{LOCAL etime
VERBATIM
	void* vv1; int size; double *px; int ii;
 	vv1 = *((void**)(&space_synutils)); 
	if (vv1 && use_play_synutils) { 
	 	size  = vector_capacity(vv1);
		px = vector_vec(vv1); 
		for(ii=0;ii<size;ii++){
			_letime = px[ii];
			ENDVERBATIM 
				net_send (etime,-1) 
			VERBATIM
		} 
	}
ENDVERBATIM
}