/[svn]/jsampler/trunk/src/org/jsampler/view/std/StdA4n.java
ViewVC logotype

Annotation of /jsampler/trunk/src/org/jsampler/view/std/StdA4n.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1496 - (hide annotations) (download)
Mon Nov 19 22:22:22 2007 UTC (16 years, 5 months ago) by iliev
File size: 5170 byte(s)
* Added option for turning off the custom window decoration
  (choose Edit/Preferences, then click the `View' tab)
* Added new menu item: Help/Online Tutorial
* Fantasia: first step of implementing a theme manager
* Fantasia: fixed the view of the channel's stream/voice count statistic
* some minor GUI fixes and enhancements

1 iliev 1286 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4     * Copyright (C) 2005-2007 Grigor Iliev <grigor@grigoriliev.com>
5     *
6     * This file is part of JSampler.
7     *
8     * JSampler is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * JSampler is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with JSampler; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22    
23     package org.jsampler.view.std;
24    
25     import java.awt.event.ActionEvent;
26    
27     import java.io.FileOutputStream;
28    
29     import java.util.logging.Level;
30    
31     import javax.swing.AbstractAction;
32     import javax.swing.Action;
33     import javax.swing.JFileChooser;
34    
35     import org.jsampler.CC;
36     import org.jsampler.HF;
37     import org.jsampler.JSPrefs;
38    
39     import org.jsampler.view.LscpFileFilter;
40    
41     import static org.jsampler.view.std.StdI18n.i18n;
42    
43    
44     /**
45     * This class provides an <code>Action</code> instances performing some of the common tasks.
46     * @author Grigor Iliev
47     */
48     public abstract class StdA4n {
49     protected StdA4n() { }
50    
51     protected abstract JSPrefs preferences();
52    
53     protected void
54     exportSamplerConfig() {
55     String s = preferences().getStringProperty("lastScriptLocation");
56     JFileChooser fc = new JFileChooser(s);
57     fc.setFileFilter(new LscpFileFilter());
58     int result = fc.showSaveDialog(CC.getMainFrame());
59     if(result != JFileChooser.APPROVE_OPTION) return;
60    
61     String path = fc.getCurrentDirectory().getAbsolutePath();
62     preferences().setStringProperty("lastScriptLocation", path);
63    
64     try {
65     FileOutputStream fos = new FileOutputStream(fc.getSelectedFile());
66     fos.write(CC.exportSessionToLscpScript().getBytes("US-ASCII"));
67     fos.close();
68     } catch(Exception x) {
69     CC.getLogger().log(Level.FINE, HF.getErrorMessage(x), x);
70     HF.showErrorMessage(x);
71     }
72     }
73    
74     protected void
75     exportMidiInstrumentMaps() {
76     String s = preferences().getStringProperty("lastScriptLocation");
77     JFileChooser fc = new JFileChooser(s);
78     fc.setFileFilter(new LscpFileFilter());
79     int result = fc.showSaveDialog(CC.getMainFrame());
80     if(result != JFileChooser.APPROVE_OPTION) return;
81    
82     String path = fc.getCurrentDirectory().getAbsolutePath();
83     preferences().setStringProperty("lastScriptLocation", path);
84    
85     try {
86     FileOutputStream fos = new FileOutputStream(fc.getSelectedFile());
87     fos.write(CC.exportInstrMapsToLscpScript().getBytes("US-ASCII"));
88     fos.close();
89     } catch(Exception x) {
90     CC.getLogger().log(Level.FINE, HF.getErrorMessage(x), x);
91     HF.showErrorMessage(x);
92     };
93     }
94    
95     public final Action connect = new Connect();
96    
97     private class Connect extends AbstractAction {
98     Connect() {
99     super(i18n.getMenuLabel("actions.connect"));
100    
101     putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("actions.connect.tt"));
102     }
103    
104     public void
105     actionPerformed(ActionEvent e) { CC.reconnect(); }
106     }
107    
108     public final Action refresh = new Refresh();
109    
110     private class Refresh extends AbstractAction {
111     Refresh() {
112     super(i18n.getMenuLabel("actions.refresh"));
113    
114     putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("actions.refresh.tt"));
115     }
116    
117     public void
118     actionPerformed(ActionEvent e) { CC.initSamplerModel(); }
119     }
120    
121     public final Action resetSampler = new Reset();
122    
123     private class Reset extends AbstractAction {
124     Reset() {
125     super(i18n.getMenuLabel("actions.resetSampler"));
126    
127     putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("actions.resetSampler.tt"));
128     }
129    
130     public void
131     actionPerformed(ActionEvent e) { CC.getSamplerModel().resetBackend(); }
132     }
133    
134     public final Action exportSamplerConfig = new ExportSamplerConfig();
135    
136     private class ExportSamplerConfig extends AbstractAction {
137     ExportSamplerConfig() {
138     super(i18n.getMenuLabel("actions.export.samplerConfiguration"));
139    
140     String s = i18n.getMenuLabel("actions.export.samplerConfiguration.tt");
141     putValue(SHORT_DESCRIPTION, s);
142    
143     }
144    
145     public void
146     actionPerformed(ActionEvent e) {
147     exportSamplerConfig();
148     }
149     }
150    
151     public final Action exportMidiInstrumentMaps = new ExportMidiInstrumentMaps();
152    
153     private class ExportMidiInstrumentMaps extends AbstractAction {
154     ExportMidiInstrumentMaps() {
155     super(i18n.getMenuLabel("actions.export.MidiInstrumentMaps"));
156    
157     String s = i18n.getMenuLabel("actions.export.MidiInstrumentMaps.tt");
158     putValue(SHORT_DESCRIPTION, s);
159     }
160    
161     public void
162     actionPerformed(ActionEvent e) {
163     exportMidiInstrumentMaps();
164     }
165     }
166 iliev 1496
167     public final Action browseOnlineTutorial = new BrowseOnlineTutorial();
168    
169     private class BrowseOnlineTutorial extends AbstractAction {
170     BrowseOnlineTutorial() {
171     super(i18n.getMenuLabel("help.onlineTutorial"));
172    
173     putValue(SHORT_DESCRIPTION, i18n.getMenuLabel("help.onlineTutorial.tt"));
174     }
175    
176     public void
177     actionPerformed(ActionEvent e) {
178     StdUtils.browse("http://jsampler.sourceforge.net/");
179     }
180     }
181 iliev 1286 }

  ViewVC Help
Powered by ViewVC