AfterJSB.java
1    /* 
2        Assignment 1, problem 6: Program to play 40 notes taken from the JSB minuet 
3     */
4    
5    package mmw;
6    
7    import composer.SComposer;
8    
9    import javax.swing.SwingUtilities;
10   
11   public class AfterJSB {
12   
13       private void playTheNotes() {
14           SComposer c = new SComposer();
15           c.text();
16   
17           Intro(c);
18           Middle(c);
19           Ending(c);
20   
21       }
22   
23       private void Intro(SComposer c) {
24           //First modular melodic sequence
25           c.mms_31_JSB_M1();
26           c.mms_31_JSB_M1();
27           c.mms_31_JSB_M1();
28           //Second modular melodic sequence
29           c.mms_33_JSB_M2();
30           c.mms_33_JSB_M2();
31           c.s2();
32           c.mms_33_JSB_M2();
33           c.s2();
34           c.mms_33_JSB_M2();
35           c.mms_33_JSB_M2();
36       }
37   
38       private void Middle(SComposer c) {
39           c.x2();
40           //Third modular melodic sequence
41           c.mms_36_JSB_M15();
42           //Fourth modular melodic sequence
43           c.mms_36_JSB_M14();
44           //Fifth modular melodic sequence
45           c.mms_35_JSB_M13();
46   
47       }
48   
49       private void Ending(SComposer c) {
50       c.x2();
51       c.mms_33_JSB_M2();
52       c.mms_31_JSB_M1();
53       c.x3();
54       c.mms_31_JSB_M1();
55       c.s3();
56       }
57   
58   
59       public AfterJSB() {
60           playTheNotes();
61       }
62   
63       public static void main(String[] args) {
64           SwingUtilities.invokeLater(new Runnable() {
65               public void run() {
66                   new AfterJSB();
67               }
68           });
69       }
70   }
71