public void buildTrackAndStart() { int[] trackList = null; sequence.deleteTrack(track); track = sequence.createTrack(); for (int i = 0; i < 16; i++) { trackList = new int[16]; int key = instruments[i]; for (int j = 0; j < 16; j++) { JCheckBox jc = (JCheckBox) checkboxList.get(j + (16 * i)); if (jc.isSelected()) { trackList[j] = key; } else { trackList[j] = 0; } } // close inner loop makeTracks(trackList); track.add(makeEvent(176, 1, 127, 0, 16)); } // close outer track.add(makeEvent(192, 9, 1, 0, 15)); try { sequencer.setSequence(sequence); sequencer.setLoopCount(sequencer.LOOP_CONTINUOUSLY); sequencer.start(); sequencer.setTempoInBPM(120); } catch (Exception e) { e.printStackTrace(); } } // close buildTrackAndStart method
public void setup(boolean doPlay, boolean doPb, boolean doAt) { play.setSelected(doPlay); this.doPlay = doPlay; pb.setSelected(doPb); this.doPb = doPb; at.setSelected(doAt); this.doAt = doAt; configure(); }
public void buildGUI() { theFrame = new JFrame("Cyber BeatBox"); theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); BorderLayout layout = new BorderLayout(); JPanel background = new JPanel(layout); background.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); checkboxList = new ArrayList<JCheckBox>(); Box buttonBox = new Box(BoxLayout.Y_AXIS); JButton start = new JButton("Start"); start.addActionListener(new MyStartListener()); buttonBox.add(start); JButton stop = new JButton("Stop"); stop.addActionListener(new MyStopListener()); buttonBox.add(stop); JButton upTempo = new JButton("Tempo Up"); upTempo.addActionListener(new MyUpTempoListener()); buttonBox.add(upTempo); JButton downTempo = new JButton("Tempo Down"); downTempo.addActionListener(new MyDownTempoListener()); buttonBox.add(downTempo); Box nameBox = new Box(BoxLayout.Y_AXIS); for (int i = 0; i < 16; i++) { nameBox.add(new Label(instrumentNames[i])); } background.add(BorderLayout.EAST, buttonBox); background.add(BorderLayout.WEST, nameBox); theFrame.getContentPane().add(background); GridLayout grid = new GridLayout(16, 16); grid.setVgap(1); grid.setHgap(2); mainPanel = new JPanel(grid); background.add(BorderLayout.CENTER, mainPanel); for (int i = 0; i < 256; i++) { JCheckBox c = new JCheckBox(); c.setSelected(false); checkboxList.add(c); mainPanel.add(c); } // end loop setUpMidi(); theFrame.setBounds(50, 50, 300, 300); theFrame.pack(); theFrame.setVisible(true); } // close method
public NotePlayerConfigurationPanel() { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); JPanel panel = new JPanel(new MigLayout()); add(panel); play = new JCheckBox("Play notes", true); play.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { doPlay = !doPlay; if (doPlay) { pb.setEnabled(true); at.setEnabled(true); } else { pb.setEnabled(false); at.setEnabled(false); } configure(); } }); panel.add(play, "wrap"); pb = new JCheckBox("Pitch Bend", false); pb.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { doPb = !doPb; configure(); } }); panel.add(pb, "wrap"); at = new JCheckBox("Aftertouch", false); at.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { doAt = !doAt; configure(); } }); panel.add(at, "wrap"); panel = new JPanel(new MigLayout()); add(panel); panel.add(new Label("Follow Mode"), "label"); JComboBox box = new JComboBox(sender.getFollowModes()); box.setSelectedItem(eventhandler.getConfigurationMode(getOperationMode()).getFollowMode()); box.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { JComboBox box = (JComboBox) e.getSource(); String name = (String) box.getSelectedItem(); eventhandler.getConfigurationMode(getOperationMode()).setFollowMode(name); sender.setFollowMode(name); } }); panel.add(box, "wrap"); panel.add(new Label("Scale"), "label"); scale = new JComboBox(eventhandler.getScaleMapper().getScaleNames()); scale.setSelectedItem(eventhandler.getCurrentScale()); scale.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { String scalename = (String) scale.getSelectedItem(); eventhandler.getScaleMapper(getOperationMode()).setScale(scalename); } }); panel.add(scale, "wrap"); panel.add(new Label("Basenote"), "label"); basenote = new JSpinner(new SpinnerNumberModel(1, 1, 127, 1)); basenote.setValue(eventhandler.getBaseNote()); basenote.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent e) { Integer value = (Integer) basenote.getValue(); eventhandler.setBaseNote(getOperationMode(), value); } }); panel.add(basenote, "wrap"); }