f@0
|
1 /*
|
f@0
|
2 Cross-Modal DAW Prototype - Prototype of a simple Cross-Modal Digital Audio Workstation.
|
f@0
|
3
|
f@0
|
4 Copyright (C) 2015 Queen Mary University of London (http://depic.eecs.qmul.ac.uk/)
|
f@0
|
5
|
f@0
|
6 This program is free software: you can redistribute it and/or modify
|
f@0
|
7 it under the terms of the GNU General Public License as published by
|
f@0
|
8 the Free Software Foundation, either version 3 of the License, or
|
f@0
|
9 (at your option) any later version.
|
f@0
|
10
|
f@0
|
11 This program is distributed in the hope that it will be useful,
|
f@0
|
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
f@0
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
f@0
|
14 GNU General Public License for more details.
|
f@0
|
15
|
f@0
|
16 You should have received a copy of the GNU General Public License
|
f@0
|
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
|
f@0
|
18 */
|
f@0
|
19 package uk.ac.qmul.eecs.depic.daw;
|
f@0
|
20
|
f@0
|
21 import javax.swing.SwingUtilities;
|
f@0
|
22
|
f@0
|
23 import uk.ac.qmul.eecs.depic.daw.beads.BeadsSoundEngineFactory;
|
f@0
|
24 import uk.ac.qmul.eecs.depic.daw.gui.MainFrame;
|
f@0
|
25
|
f@1
|
26 /**
|
f@1
|
27 *
|
f@1
|
28 * Entry point for the program
|
f@1
|
29 *
|
f@1
|
30 */
|
f@0
|
31 public class Daw implements Runnable{
|
f@0
|
32 private static SoundEngineFactory soundEngineFactory;
|
f@0
|
33
|
f@0
|
34 /**
|
f@0
|
35 * Main function. Calls {@code run()} in the Event dispatching thread.
|
f@0
|
36 *
|
f@0
|
37 * @param args command line argument vector
|
f@0
|
38 */
|
f@0
|
39 public static void main(String[] args) {
|
f@0
|
40 System.out.println("Digital Audio Workstation prototype running on Java "+
|
f@0
|
41 System.getProperty("java.version")+" "+System.getProperty("os.arch"));
|
f@0
|
42 Daw daw = new Daw();
|
f@0
|
43 try {
|
f@0
|
44 SwingUtilities.invokeAndWait(daw);
|
f@0
|
45 }
|
f@0
|
46 catch (Exception e) {
|
f@0
|
47 e.printStackTrace();
|
f@0
|
48 }
|
f@0
|
49
|
f@0
|
50 }
|
f@0
|
51
|
f@0
|
52 /**
|
f@0
|
53 * Creates a new {@code MainFrame} and makes it visible in the Event Dispatching Thread.
|
f@0
|
54 */
|
f@0
|
55 public void run(){
|
f@0
|
56 MainFrame frame = new MainFrame();
|
f@0
|
57 /* become visible */
|
f@0
|
58 frame.pack();
|
f@0
|
59 frame.setVisible(true);
|
f@0
|
60 }
|
f@0
|
61
|
f@0
|
62 public static SoundEngineFactory getSoundEngineFactory(){
|
f@0
|
63 if(soundEngineFactory == null){
|
f@0
|
64 soundEngineFactory = new BeadsSoundEngineFactory();
|
f@0
|
65 }
|
f@0
|
66 return soundEngineFactory;
|
f@0
|
67 }
|
f@0
|
68
|
f@0
|
69 }
|