diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c index 178a33fd7..9f0a68e90 100644 --- a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c +++ b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c @@ -15,4 +15,12 @@ void set_slider(int index, float value) } } - +float get_slider(int index) +{ + if (index >= 0 && index < SLIDERS_MAX) { + return slider_array[index]; + } + else { + return 0.0/0.0; + } +} \ No newline at end of file diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h index 93f0f851c..fa20ecb47 100644 --- a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h +++ b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h @@ -10,3 +10,4 @@ extern float slider_array[SLIDERS_MAX]; /* access from the GUI to shared data */ void set_slider(int index, float value); +float get_slider(int index); \ No newline at end of file diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c b/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c index 2cf5f36b9..bec767866 100644 --- a/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c +++ b/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c @@ -17,7 +17,8 @@ LVAL xslider_read(void) int index = (int) getfixnum(arg); xllastarg(); if (index >= 0 && index < SLIDERS_MAX) { - return cvflonum(slider_array[index]); +// return cvflonum(slider_array[index]); + return cvflonum(get_slider(index)); } return NIL; } @@ -91,7 +92,8 @@ void slider__fetch(snd_susp_type a_susp, snd_list_type snd_list) } n = togo; - c_reg = slider_array[susp->index]; +// c_reg = slider_array[susp->index]; + c_reg = get_slider(susp->index); out_ptr_reg = out_ptr; if (n) do { /* the inner sample computation loop */ *out_ptr_reg++ = c_reg;