 
     // adjust the volume here so all notes are off when we make the change
     // todo add display of currnet volume level with a vertical bar, possibley show other layer volumes
-    temp = eVolume.getValue() / 4;
-    diff = volume[layer] - temp;
+    int temp = eVolume.getValue() / 4;
+    int diff = volume[layer] - temp;
     if (diff != 0)
     {
       volume[layer] = temp;
       // send change volume on channels
       usbMIDI.sendControlChange(7, temp, channels[layer]);
-      //synth.controlChange(0, 7, temp, channels[layer]);
-    }
-
+      synth.setChannelVolume(channels[layer], temp);
+    }
+
+// don't draw the prgress bar on the performance layer
+if (layer != LAYERS - 1)
+{
     // Turn on new column
     line_vert(col - display_offset, true);
-
+}
     // play notes on new column on all layers
     for(uint8_t layer_index=0;layer_index<LAYERS - 1; layer_index++) 
     {

// add load/save state by midi note export and recording on an external device
// need to switch to new instrument on grid switch
// maybe hide play bar when scrolling to avoid confusion
// add an SD card reader to load and save multiple sets and larger sets and remove some of the restrictions that we have for the EEPROM

#include <Wire.h>
#include <EEPROM.h>

    // todo add display of currnet tempo with a horizontal bar, possibley show other layer tempos
    bpm          = eTempo.getValue() /4 ; // Div for encoder detents
    beatInterval = 60000L / bpm;
  }

  // replace lines that may have been erased by play column movement
