diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c
index 178a33f..9f0a68e 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];
\ 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 93f0f85..fa20ecb 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 7fd9ac6..80ebdbf 100644
--- a/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c
+++ b/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c
@@ -17,7 +17,7 @@ LVAL xslider_read(void)
int index = getfixnum(arg);
if (index >= 0 && index < SLIDERS_MAX) {
- return cvflonum(slider_array[index]);
+ return cvflonum(get_slider(index));
@@ -91,7 +91,7 @@ void slider__fetch(snd_susp_type a_susp, snd_list_type snd_list)
- c_reg = slider_array[susp->index];
+ c_reg = get_slider(susp->index);
if (n) do { /* the inner sample computation loop */