Ignore:
Timestamp:
09/25/08 18:02:39 (16 years ago)
Author:
bjn8
Message:

metronome improvements

Location:
trunk/src_apollo/org/apollo/widgets
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src_apollo/org/apollo/widgets/MetronomePlayer.java

    r331 r332  
    55import java.awt.event.ActionListener;
    66
    7 import javax.sound.midi.InvalidMidiDataException;
    87import javax.sound.midi.MidiUnavailableException;
    98import javax.swing.JButton;
     9import javax.swing.JCheckBox;
    1010import javax.swing.JComboBox;
    1111import javax.swing.JLabel;
     
    3939        private JButton startStopButton;
    4040        private JComboBox beatsPerMeasureCombo;
     41        private JCheckBox enabledCheckbox;
    4142        private boolean interfaceIsUpdating = false;
    4243       
    43         private static final int MAX_BPM = 200;
     44        private static final int MAX_BPM = 300;
    4445
    4546        public MetronomePlayer(Text source, String[] args) {
    46                 super(source, new JPanel(), 130, 130, 155, 155);
     47                super(source, new JPanel(), 130, 130, 175, 175);
    4748               
    4849                tempoLabel = new JLabel();
     
    6162                                        } catch (MidiUnavailableException e1) {
    6263                                                e1.printStackTrace();
    63                                         } catch (InvalidMidiDataException e1) {
    64                                                 e1.printStackTrace();
    65                                         }
     64                                        }
    6665                                }
    6766                               
     
    8079                                        } catch (MidiUnavailableException e1) {
    8180                                                e1.printStackTrace();
    82                                         } catch (InvalidMidiDataException e1) {
    83                                                 e1.printStackTrace();
    84                                         }
     81                                        }
    8582                                }
    8683                        }
     
    9895                                }
    9996                               
     97                        }
     98                       
     99                });
     100               
     101                enabledCheckbox = new JCheckBox("Auto-start");
     102                enabledCheckbox.addActionListener(new ActionListener() {
     103
     104                        public void actionPerformed(ActionEvent e) {
     105                                if (!interfaceIsUpdating) {
     106                                        Metronome.getInstance().setEnabled(enabledCheckbox.isSelected());
     107                                }
    100108                        }
    101109                       
     
    109117                _swingComponent.add(new JLabel("Beats per measure:"));
    110118                _swingComponent.add(beatsPerMeasureCombo);
     119                _swingComponent.add(enabledCheckbox);
    111120               
    112121        }
     
    122131                       
    123132                        if (Metronome.getInstance().isPlaying()) {
    124                                 startStopButton.setIcon(IconRepository.getIcon("stop.png"));
     133                                startStopButton.setIcon(IconRepository.getIcon("metrostop.png"));
     134                                setWidgetEdgeThickness(TrackWidgetCommons.PLAYING_TRACK_EDGE_THICKNESS);
     135       
    125136                        } else {
    126                                 startStopButton.setIcon(IconRepository.getIcon("play.png"));
     137                                startStopButton.setIcon(IconRepository.getIcon("metroplay.png"));
     138                                setWidgetEdgeThickness(TrackWidgetCommons.STOPPED_TRACK_EDGE_THICKNESS);
    127139                        }
    128140                       
    129141                        int index = Math.min(beatsPerMeasureCombo.getItemCount(), Metronome.getInstance().getBeatsPerMeasure()) - 1;
    130142                        beatsPerMeasureCombo.setSelectedIndex(index);
     143                       
     144                        enabledCheckbox.setSelected(Metronome.getInstance().isEnabled());
     145                        if (Metronome.getInstance().isEnabled()) {
     146                                enabledCheckbox.setText("Auto-start on");
     147                        } else {
     148                                enabledCheckbox.setText("Auto-start off");
     149                        }
    131150                       
    132151                } finally {
     
    158177                case ApolloSubjectChangedEvent.METRONOME_STOPPED:
    159178                case ApolloSubjectChangedEvent.METRONOME_TEMPO_CHANGED:
     179                case ApolloSubjectChangedEvent.METRONOME_ENABLED_CHANGED:
    160180                        updateInterface();
    161181                        break;
  • trunk/src_apollo/org/apollo/widgets/SampleRecorder.java

    r318 r332  
    133133               
    134134                recordSynchedButton = new JButton();
    135                 recordSynchedButton.setIcon(IconRepository.getIcon("recordtime.png"));
     135                recordSynchedButton.setIcon(IconRepository.getIcon("recordplay.png"));
    136136                recordSynchedButton.addActionListener(this);
    137137                recordSynchedButton.setPreferredSize(new Dimension(AnimatedSampleGraph.GRAPH_WIDTH / 2, BUTTON_HEIGHT));
Note: See TracChangeset for help on using the changeset viewer.