| 32 | } circular_buffer; |
| 33 | |
| 34 | void *csoundCreateCircularBuffer(CSOUND *csound, int numelem, int elemsize){ |
| 35 | circular_buffer *p; |
| 36 | if ((p = (circular_buffer *) |
| 37 | csound->Malloc(csound, sizeof(circular_buffer))) == NULL) { |
| 38 | return NULL; |
| 39 | } |
| 40 | p->numelem = numelem; |
| 41 | p->wp = p->rp = 0; |
| 42 | p->elemsize = elemsize; |
| 43 | |
| 44 | if ((p->buffer = (char *) csound->Malloc(csound, numelem*elemsize)) == NULL) { |
| 45 | return NULL; |
| 46 | } |
| 47 | memset(p->buffer, 0, numelem*elemsize); |
| 48 | return (void *)p; |
| 49 | } |
| 50 | |
| 51 | int checkspace(circular_buffer *p, int writeCheck){ |
| 52 | int wp = p->wp, rp = p->rp, numelem = p->numelem; |
no outgoing calls