/[svn]/jsampler/trunk/src/org/jsampler/view/fantasia/LeftSidePane.java
ViewVC logotype

Contents of /jsampler/trunk/src/org/jsampler/view/fantasia/LeftSidePane.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1778 - (show annotations) (download)
Sun Sep 28 20:38:36 2008 UTC (15 years, 6 months ago) by iliev
File size: 2540 byte(s)
* Fantasia: Improved look and feel
* Fantasia: Added buttons for increasing/decreasing the key number
  of the MIDI keyboard (Ctrl+Up Arrow/Ctrl+Down Arrow)
* Fantasia: Added buttons for scrolling left/right on the MIDI keyboard
  (Ctrl+Left Arrow/Ctrl+Right Arrow)
* Added key bindings for triggering MIDI notes using the computer keyboard
  (from a to ' for the white keys and from 0 to 7 for changing the octaves)
* Notes are now triggered when dragging the mouse over the MIDI keyboard

1 /*
2 * JSampler - a java front-end for LinuxSampler
3 *
4 * Copyright (C) 2005-2008 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.fantasia;
24
25 import java.awt.BorderLayout;
26 import java.awt.Dimension;
27
28 import javax.swing.BorderFactory;
29 import javax.swing.JPanel;
30
31 import net.sf.juife.JuifeUtils;
32
33 import static org.jsampler.view.fantasia.FantasiaI18n.i18n;
34 import static org.jsampler.view.fantasia.FantasiaPrefs.preferences;
35
36 /**
37 *
38 * @author Grigor Iliev
39 */
40 public class LeftSidePane extends FantasiaPanel {
41 FantasiaTabbedPane tabbedPane = new FantasiaTabbedPane();
42 private final OrchestrasPane orchestraPane = new OrchestrasPane();
43 private final MidiInstrumentsPane midiInstrumentsPane = new MidiInstrumentsPane();
44
45 /**
46 * Creates a new instance of <code>LeftSidePane</code>
47 */
48 public
49 LeftSidePane() {
50 setOpaque(false);
51 setLayout(new BorderLayout());
52 FantasiaTabbedPane tp = tabbedPane;
53 tp.getMainPane().setBorder(BorderFactory.createEmptyBorder(0, 1,01, 1));
54 tp.addTab(i18n.getLabel("LeftSidePane.tabOrchestras"), orchestraPane);
55 tp.addTab(i18n.getLabel("LeftSidePane.tabMidiInstruments"), midiInstrumentsPane);
56
57 Dimension d = JuifeUtils.getUnionSize(tp.getTabButton(0), tp.getTabButton(1));
58 tp.getTabButton(0).setPreferredSize(d);
59 tp.getTabButton(1).setPreferredSize(d);
60 tp.getTabButton(0).setMinimumSize(d);
61 tp.getTabButton(1).setMinimumSize(d);
62
63 add(tp);
64
65 int i = preferences().getIntProperty("leftSidePane.tabIndex", 0);
66 if(tp.getTabCount() > i) tp.setSelectedIndex(i);
67
68 setBorder(BorderFactory.createEmptyBorder(0, 3, 6, 0));
69 }
70
71 public void
72 savePreferences() {
73 orchestraPane.savePreferences();
74 midiInstrumentsPane.savePreferences();
75 int i = tabbedPane.getSelectedIndex();
76 if(i != -1) preferences().setIntProperty("leftSidePane.tabIndex", i);
77 }
78 }

  ViewVC Help
Powered by ViewVC