import javax.sound.midi.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Noodirakend10a extends JApplet implements ActionListener, MetaEventListener{ Sequence sequence; Sequencer sequencer; Sequence salvestus; JButton nupp=new JButton("Mängi"); JCheckBox ruut=new JCheckBox("Jätka"); JCheckBox bass=new JCheckBox("Bass"); JCheckBox akord=new JCheckBox("Akord"); JCheckBox taust=new JCheckBox("Taust"); JComboBox helistik=new JComboBox(); JTextField tfsonad=new JTextField(); JTextField tfsonad2=new JTextField(); JRadioButton[] raadionupud=new JRadioButton[3]; String[] raadionupustring={"I", "IV", "V"}; JScrollBar tempo=new JScrollBar(JScrollBar.HORIZONTAL, 190, 5, 40, 320); int meloodiavaljus=70; int bassivaljus=60; int saatevaljus=30; int viiulivaljus=60; JScrollBar sbMeloodia=new JScrollBar(JScrollBar.HORIZONTAL, meloodiavaljus, 5, 0, 127); JScrollBar sbBass=new JScrollBar(JScrollBar.HORIZONTAL, bassivaljus, 5, 0, 127); JScrollBar sbSaade=new JScrollBar(JScrollBar.HORIZONTAL, saatevaljus, 5, 0, 127); JScrollBar sbViiul=new JScrollBar(JScrollBar.HORIZONTAL, viiulivaljus, 5, 0, 127); Track muutuvRada; Track meloodiarada; //kuhu kogu meloodia loetud on Track meloodiaManguRada; //rada konkreetse takti mängimiseks String[] helistikud={"Bb", "F", "C", "G", "D", "A", "E", "H"}; int[] helikorgused={58, 53, 60, 55, 50, 57, 52, 59}; String jooksevHelistik=""; static final int[] noodivahed={-1, 0, 2, 4, 5, 7, 9, 11, 12}; //toonika kohal 1 väärtus 0 int[] duurid={ 0, 0, //eeltaktid 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0 }; // Juhansonide unenäo laul String sonam[]={ "", "ühest", "mehest see lugu kellest", "peetakse lugu tema", "nimi on Madis Mäe-", "kalle. Teda", "igaüks teab naised", "tõstavad pead ja siis", "rõõmsasti viipavad", "talle. Madi-", "sel on ka üks sõber", "Trimbu, kes", "aegajalt viskas mõne", "vembu. Naiste", "rõõmuks ta trombooni", "puhus, vahest", "valesti, see oli", "juhus. Kas", "Tallinnas, saares või", "võrokeste maal, kus", "iganes pidu, seal", "tantsib üks paar. Olgu", "Piret või Pille või ", "Malle, ikka", "rõemus on Madis Mäe-", "kalle. Olgu", "Piret või Pille või ", "Malle, ikka", "rõemus on Madis Mäe-", "kalle.", "", "" }; // 0- toonika, 1-IV, 2-V int taktinr=0; //takti järjekorranumber int salvestustaktinr=0; int taktipikkus=12; //3 lööki * 4 tiksu löögi kohta void looKolmkola(Track t, int toonika){ try{ ShortMessage m[]=new ShortMessage[7]; for(int i=0; i=algus && me.getTick()