/** Menu * * @author pquiring * * Created : Oct 10, 2013 */ import javax.swing.*; public class Menu { private static MainPanel panel; public static void create(JFrame frame, MainPanel panel) { Menu.panel = panel; JMenuBar menu = create(); frame.setJMenuBar(menu); } public static void create(JApplet applet, MainPanel panel) { Menu.panel = panel; JMenuBar menu = create(); applet.setJMenuBar(menu); } private static JMenuBar create() { JMenuBar menuBar; JMenu menu, submenu; JMenuItem item; menuBar = new JMenuBar(); menu = new JMenu("File"); menuBar.add(menu); item = new JMenuItem("New Project"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.newProject(); } }); menu.add(item); item = new JMenuItem("Open Project/Audio"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.openFile(); } }); menu.add(item); item = new JMenuItem("Save Project"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.saveProject(); } }); menu.add(item); item = new JMenuItem("Rename Project"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.renameProject(); } }); menu.add(item); item = new JMenuItem("Close Project"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.closeProject(); } }); menu.add(item); menu.add(new JSeparator()); item = new JMenuItem("Import Audio"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.importFile(); } }); menu.add(item); item = new JMenuItem("Export Audio"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.exportFile(false); } }); menu.add(item); item = new JMenuItem("Export Selection"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.exportFile(true); } }); menu.add(item); menu.add(new JSeparator()); item = new JMenuItem("Exit"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); } }); menu.add(item); menu = new JMenu("Edit"); menuBar.add(menu); item = new JMenuItem("Undo"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.undo(); } }); menu.add(item); menu.add(new JSeparator()); item = new JMenuItem("Cut"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.cut(); } }); menu.add(item); item = new JMenuItem("Copy"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.copy(); } }); menu.add(item); item = new JMenuItem("Paste"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.paste(); } }); menu.add(item); menu.add(new JSeparator()); item = new JMenuItem("Settings"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EditSettings dialog = new EditSettings(null, true); dialog.setVisible(true); } }); menu.add(item); menu = new JMenu("Tracks"); menuBar.add(menu); submenu = new JMenu("New"); menu.add(submenu); item = new JMenuItem("Mono Track"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.newTrack(1); } }); submenu.add(item); item = new JMenuItem("Stereo Track"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.newTrack(2); } }); submenu.add(item); item = new JMenuItem("Info"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.trackInfo(); } }); menu.add(item); item = new JMenuItem("Mix"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.mixTracks(); } }); menu.add(item); item = new JMenuItem("Resample"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.resampleTrack(); } }); menu.add(item); menu = new JMenu("Generate"); menuBar.add(menu); item = new JMenuItem("Tone"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.genTone(); } }); menu.add(item); item = new JMenuItem("Silence"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.genSilence(); } }); menu.add(item); menu = new JMenu("Effects"); menuBar.add(menu); item = new JMenuItem("Amplify"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.fxAmplify(); } }); menu.add(item); item = new JMenuItem("Fade In"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.fxFadeIn(); } }); menu.add(item); item = new JMenuItem("Fade Out"); item.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { panel.fxFadeOut(); } }); menu.add(item); return menuBar; } }