             }
         }
     }
-    var _index: Int = 0
-    var _value: Float = 0.0
+    private var _stacks = [UIView]()
+    private var _index: Int = 0
+    private var _value: Float = 0.0
+
+    public var numberOfStacks = 30 {
+        didSet {
+            guard stackMode == false else {
+                print("Cannot change number of stacks during stack mode.")
+                numberOfStacks = oldValue
+                return
+            }
+        }
+    }
 
     public var movieSliderDelegate: MovieSliderDelegate? = nil
 

            return
        }

        for _ in 0...kNumStacks-1 {
            let v = UIView(frame: CGRect.zero)
            v.backgroundColor = UIColor.black
            v.layer.borderWidth = 0.5


        var x: CGFloat = thumbRect.midX
        let y: CGFloat = (frame.height-kFrameHeight)/2
        let width: CGFloat = (frame.width - kFrameGap*(CGFloat(numberOfStacks-1))) / CGFloat(numberOfStacks)
        let height: CGFloat = kFrameHeight

        _stacks.forEach{
