This is m_pitch.c in view mode; [Download] [Up]
#include "../H/ugens.h" #define ARRAY_SIZE 256 #define NUM_ARRAYS 32 float minc_array[NUM_ARRAYS][ARRAY_SIZE],minc_array_size[NUM_ARRAYS]; double m_boost(p) float *p; { return(boost(p[0])); } double m_cpspch(p) float *p; { return(cpspch(p[0])); } double m_pchcps(p) float *p; { return(pchcps(p[0])); } double m_cpsoct(p) float *p; { return(cpsoct(p[0])); } double m_octpch(p) float *p; { return(octpch(p[0])); } double m_pchoct(p) float *p; { return(pchoct(p[0])); } double m_octcps(p) float *p; { return(octcps(p[0])); } double m_rand() { float rrand(); return(rrand()); } double m_random() { float rrand(); return(rrand()*.5+.5); } double m_srand(p) float *p; { srrand(p[0]); } double m_time_beat(p) float *p; { float time_beat(); return(time_beat(p[0])); } double m_beat_time(p) float *p; { float beat_time(); return(beat_time(p[0])); } double m_trunc(p) float *p; { return((int)(p[0])); } double m_ampdb(p) float *p; { return(ampdb(p[0])); } double m_load_array(p,n_args) float *p; { int i,j; if(n_args > ARRAY_SIZE) n_args = ARRAY_SIZE+1; j = p[0]; for(i=1; i<n_args; i++) minc_array[j][i-1] = p[i]; minc_array_size[j] = n_args; return(n_args-1); } double m_get_array(p,n_args) float *p; { int i; i = p[0]; if(p[1] >= minc_array_size[i]) return(0); else return(minc_array[i][(int)p[1]]); } double m_put_array(p,n_args) float *p; { /* to load a single value from minc */ int i,j; i=p[0]; j=p[1]; minc_array[i][j] = p[2]; minc_array_size[i]=minc_array_size[i] > j+1 ? minc_array_size[i] : j+1; if(j < ARRAY_SIZE) return(j); else return(-1); } double m_get_sum(p,n_args) float *p; { int i,j,k; float sum; i = p[0]; if((j=p[1]) >= minc_array_size[i]) return(0); for(k=0,sum=0; k<=j; k++) sum += minc_array[i][k]; return(sum); } double m_get_size(p,n_args) float *p; { /* returns same value as load_array would */ return((double)minc_array_size[(int)p[0]]-1); } double m_mod(p,n_args) float *p; { int i,j; i = (int)p[0] % (int)p[1]; return((float)i); } double m_max(p,n_args) float *p; { int i; float max = -1e+22; for(i=0; i<n_args; i++) if(p[i] > max) max=p[i]; return(max); } double m_exit(p,n_args) float *p; { closesf(); } double m_pow(p,n_args) float *p; { double pow(); return(pow(p[0],p[1])); } double m_abs(p,n_args) float *p; { return(ABS(p[0])); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.