// Path: src/main/java/eu.hansolo.enzo/common/SectionBuilder.java
// public class SectionBuilder {
//     private HashMap<String, Property> properties = new HashMap<>();
// 
//     // ******************** Constructors **************************************
//     protected SectionBuilder() {}
// 
//     // ******************** Methods *******************************************
//     public static final SectionBuilder create() {
//         return new SectionBuilder();
//     }
// 
//     public final SectionBuilder start(final double START) {
//         properties.put("start", new SimpleDoubleProperty(START));
//         return this;
//     }
// 
//     public final SectionBuilder stop(final double STOP) {
//         properties.put("stop", new SimpleDoubleProperty(STOP));
//         return this;
//     }
// 
//     public final SectionBuilder text(final String TEXT) {
//         properties.put("text", new SimpleStringProperty(TEXT));
//         return this;
//     }
// 
//     public final SectionBuilder icon(final Image IMAGE) {
//         properties.put("icon", new SimpleObjectProperty<>(IMAGE));
//         return this;
//     }
//     
//     public final SectionBuilder styleClass(final String STYLE_CLASS) {
//         properties.put("styleClass", new SimpleStringProperty(STYLE_CLASS));
//         return this;
//     }
// 
//     public final Section build() {
//         final Section SECTION = new Section();
//         for (String key : properties.keySet()) {
//             if ("start".equals(key)) {
//                 SECTION.setStart(((DoubleProperty) properties.get(key)).get());
//             } else if("stop".equals(key)) {
//                 SECTION.setStop(((DoubleProperty) properties.get(key)).get());
//             } else if("text".equals(key)) {
//                 SECTION.setText(((StringProperty) properties.get(key)).get());
//             } else if("icon".equals(key)) {
//                 SECTION.setIcon(((ObjectProperty<Image>) properties.get(key)).get());
//             } else if ("styleClass".equals(key)) {
//                 SECTION.setStyleClass(((StringProperty) properties.get(key)).get());
//             }
//         }
//         return SECTION;
//     }
// }


import eu.hansolo.enzo.common.SectionBuilder;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.geometry.Orientation;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import java.util.Random;
package eu.hansolo.enzo.vumeter;/**
 * User: hansolo
 * Date: 04.11.13
 * Time: 10:39
 */




public class Demo extends Application {
    private static       int    noOfNodes = 0;
    private static final Random RND       = new Random();
    private VuMeter             control;
    private long                lastTimerCall;
    private AnimationTimer      timer;

    @Override public void init() {
        control = VuMeterBuilder.create()
                                .noOfLeds(25)
                                .peakValueVisible(true)
                                //.interactive(true)
                                .orientation(Orientation.HORIZONTAL)
// Path: src/main/java/eu.hansolo.enzo/common/SectionBuilder.java
// public class SectionBuilder {
//     private HashMap<String, Property> properties = new HashMap<>();
// 
//     // ******************** Constructors **************************************
//     protected SectionBuilder() {}
// 
//     // ******************** Methods *******************************************
//     public static final SectionBuilder create() {
//         return new SectionBuilder();
//     }
// 
//     public final SectionBuilder start(final double START) {
//         properties.put("start", new SimpleDoubleProperty(START));
//         return this;
//     }
// 
//     public final SectionBuilder stop(final double STOP) {
//         properties.put("stop", new SimpleDoubleProperty(STOP));
//         return this;
//     }
// 
//     public final SectionBuilder text(final String TEXT) {
//         properties.put("text", new SimpleStringProperty(TEXT));
//         return this;
//     }
// 
//     public final SectionBuilder icon(final Image IMAGE) {
//         properties.put("icon", new SimpleObjectProperty<>(IMAGE));
//         return this;
//     }
//     
//     public final SectionBuilder styleClass(final String STYLE_CLASS) {
//         properties.put("styleClass", new SimpleStringProperty(STYLE_CLASS));
//         return this;
//     }
// 
//     public final Section build() {
//         final Section SECTION = new Section();
//         for (String key : properties.keySet()) {
//             if ("start".equals(key)) {
//                 SECTION.setStart(((DoubleProperty) properties.get(key)).get());
//             } else if("stop".equals(key)) {
//                 SECTION.setStop(((DoubleProperty) properties.get(key)).get());
//             } else if("text".equals(key)) {
//                 SECTION.setText(((StringProperty) properties.get(key)).get());
//             } else if("icon".equals(key)) {
//                 SECTION.setIcon(((ObjectProperty<Image>) properties.get(key)).get());
//             } else if ("styleClass".equals(key)) {
//                 SECTION.setStyleClass(((StringProperty) properties.get(key)).get());
//             }
//         }
//         return SECTION;
//     }
// }


// Path: src/main/java/eu.hansolo.enzo/vumeter/Demo.java
import eu.hansolo.enzo.common.SectionBuilder;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.geometry.Orientation;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import java.util.Random;

package eu.hansolo.enzo.vumeter;/**
 * User: hansolo
 * Date: 04.11.13
 * Time: 10:39
 */




public class Demo extends Application {
    private static       int    noOfNodes = 0;
    private static final Random RND       = new Random();
    private VuMeter             control;
    private long                lastTimerCall;
    private AnimationTimer      timer;

    @Override public void init() {
        control = VuMeterBuilder.create()
                                .noOfLeds(25)
                                .peakValueVisible(true)
                                //.interactive(true)
                                .orientation(Orientation.HORIZONTAL)
                                .sections(SectionBuilder.create()