package jmsltestsuite;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import com.didkovsky.portview.swing.ViewFactorySwing;
import com.softsynth.jmsl.JMSL;
import com.softsynth.jmsl.score.*;

/**
 * 
 */
public class ScoreOctavaIntervalsTest {

    Score score;
    ScoreFrame scoreFrame;

    public ScoreOctavaIntervalsTest() {
        int w = 640;
        int h = 300;

        score = new Score(1, w, h);
        score.addMeasure();
        scoreFrame = new ScoreFrame();
        scoreFrame.addScore(score);

        build();
    }

    public void build() {
        double basePitch = 64;
        int numNotes = 12;
        for (int i = 0; i < numNotes; i++) {
            double duration = 1;
            double pitch = basePitch;
            Note note = score.addNote(duration, pitch, 0.5, duration * 0.8);
           note.set8va(true);
            Note interval = note.addInterval(pitch + 7);
            interval.set8va(true);
        }
    }

    public static void main(String args[]) {

        // Score.setTempoVisible(false);

        JMSL.setViewFactory(new ViewFactorySwing());
        ScoreOctavaIntervalsTest st = new ScoreOctavaIntervalsTest();
        st.scoreFrame.pack();
        st.scoreFrame.setVisible(true);
        
        st.scoreFrame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }

}