// Fragment 4 private void initkProInstrumentList(){ // Add list of Kaossilator Pro instruments to combo box for(int i=0; i al = new ArrayList() String [] str = null; try { BufferedReader reader = new BufferedReader(new FileReader(fname)); String line = ""; while((line = reader.readLine()) != null) { str = line.split(" "); for(int i = 0; i< str.length; i++) { al.add(Integer.parseInt(str[i])); } arpPatternsList.add(al); al = new ArrayList(); } reader.close(); } catch (Exception ex) { jTextArea1.append("\nCouldn't open |" + fname.getName() + "|.\n"); jTextArea1.append(ex.toString()); } String s = ""; // Add arpeggiator patterns to combo box for (int j=0; j -1) { try { kProDevice = MidiSystem.getMidiDevice(infos[kProDeviceNo]); } catch (MidiUnavailableException e) { JOptionPane.showMessageDialog(this, "Couldn't Get Device:" + kProDeviceNo, "Device Open Error", JOptionPane.PLAIN_MESSAGE); } if (!(kProDevice.isOpen())) { try { kProDevice.open(); } catch (MidiUnavailableException e) { JOptionPane.showMessageDialog(this, "Couldn't Open Device:" + kProDeviceNo, "Device Open Error", JOptionPane.PLAIN_MESSAGE); } } initkProInstrumentList(); } else { jComboBox1.setEnabled(false); // Deactivate K-Pro related buttons if no K-Pro for(int i=0; i<11; i++) { jBList.get(i).setEnabled(false); } } } private void readSoundBank() { // Load the default Java software synth try { synth = MidiSystem.getSynthesizer(); synth.open(); soundbank = synth.getDefaultSoundbank(); synth.loadAllInstruments(soundbank); channels = synth.getChannels(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, "Couldn't Open Soundbank:\n" + ex, "Soundbank Open Error", JOptionPane.PLAIN_MESSAGE); } if (soundbank == null){ jTextArea1.setText("no soundbank"); } else { aInstruments = soundbank.getInstruments(); for (int i = 0; i < aInstruments.length; i++) { jComboBox3.addItem(aInstruments[i].getName()); } } }