From a57a761ce5b884d6b770f72da3cbc0f29da02109 Mon Sep 17 00:00:00 2001 From: axelberndt Date: Tue, 13 Apr 2021 17:33:44 +0200 Subject: [PATCH] v0.1.2 - Some refactoring in package `mpmToolbox.gui.syncPlayer`. - The SyncPlayer's MIDI output can now be streamed to any other MIDI port available on the host system. Thus, users are no longer limited to the internal Gervill synthesizer and the soundbank loaded into it. --- externals/meico.jar | Bin 13440043 -> 13440626 bytes history.md | 5 + src/mpmToolbox/Main.java | 2 +- src/mpmToolbox/gui/MpmToolbox.java | 2 - .../gui/syncPlayer/AudioChooserItem.java | 39 ++++ .../syncPlayer/PerformanceChooserItem.java | 39 ++++ .../gui/syncPlayer/SoundfontChooserItem.java | 39 ++++ src/mpmToolbox/gui/syncPlayer/SyncPlayer.java | 166 ++++++------------ 8 files changed, 179 insertions(+), 113 deletions(-) create mode 100644 src/mpmToolbox/gui/syncPlayer/AudioChooserItem.java create mode 100644 src/mpmToolbox/gui/syncPlayer/PerformanceChooserItem.java create mode 100644 src/mpmToolbox/gui/syncPlayer/SoundfontChooserItem.java diff --git a/externals/meico.jar b/externals/meico.jar index a20eb778f119475e0564d7e5015b574e88ff4215..8c23a1fd589a1578ee8c05a740fda9e321614b7c 100644 GIT binary patch delta 79976 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 delta 81009 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 F{|C(wCT#!! diff --git a/history.md b/history.md index 5b5646b..e405c65 100644 --- a/history.md +++ b/history.md @@ -1,6 +1,11 @@ ### Version History +#### v0.1.2 +- Some refactoring in package `mpmToolbox.gui.syncPlayer`. +- The SyncPlayer's MIDI output can now be streamed to any other MIDI port available on the host system. Thus, users are no longer limited to the internal Gervill synthesizer and the soundbank loaded into it. + + #### v0.1.1 - PDF score import added. The pages of a PDF file are extracted and stored as PNG files with 300dpi (following the [DFG Practical Guidelines on Digitisation](https://www.dfg.de/formulare/12_151/12_151_en.pdf)) in a subfolder of the source directory. - The window title will now print the title of the currently opened project. diff --git a/src/mpmToolbox/Main.java b/src/mpmToolbox/Main.java index 7f483b5..0f6e4d5 100644 --- a/src/mpmToolbox/Main.java +++ b/src/mpmToolbox/Main.java @@ -13,7 +13,7 @@ * @author Axel Berndt */ public class Main { - public static final String version = "0.1.1"; + public static final String version = "0.1.2"; public static void main(String[] args) { // read the application settings from file diff --git a/src/mpmToolbox/gui/MpmToolbox.java b/src/mpmToolbox/gui/MpmToolbox.java index feea1b8..632f4f5 100644 --- a/src/mpmToolbox/gui/MpmToolbox.java +++ b/src/mpmToolbox/gui/MpmToolbox.java @@ -1,6 +1,5 @@ package mpmToolbox.gui; -import com.alee.extended.image.WebImage; import com.alee.laf.WebLookAndFeel; import com.alee.laf.label.WebLabel; import com.alee.laf.menu.WebMenu; @@ -30,7 +29,6 @@ import java.awt.*; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; -import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.URI; diff --git a/src/mpmToolbox/gui/syncPlayer/AudioChooserItem.java b/src/mpmToolbox/gui/syncPlayer/AudioChooserItem.java new file mode 100644 index 0000000..27da467 --- /dev/null +++ b/src/mpmToolbox/gui/syncPlayer/AudioChooserItem.java @@ -0,0 +1,39 @@ +package mpmToolbox.gui.syncPlayer; + +import com.alee.api.annotations.NotNull; +import meico.audio.Audio; +import meico.supplementary.KeyValue; + +/** + * This class represents an item in the audio chooser combobox of the SyncPlayer. + * @author Axel Berndt + */ +class AudioChooserItem extends KeyValue { + /** + * This constructor creates a audio chooser item (String, Audio) pair out of a non-null audio object. + * @param audio + */ + public AudioChooserItem(@NotNull Audio audio) { + super(audio.getFile().getName(), audio); + } + + /** + * This constructor creates a audio chooser item with the specified name key but null audio object. + * Basically, this is used to communicate to the SyncPlayer not to play audio. + * The string is typically something like "No audio recording". + * @param string + */ + public AudioChooserItem(String string) { + super(string, null); + } + + /** + * All combobox items require this method. The overwrite here makes sure that the string being returned + * is the audio file's name instead of some Java Object ID. + * @return + */ + @Override + public String toString() { + return this.getKey(); + } +} diff --git a/src/mpmToolbox/gui/syncPlayer/PerformanceChooserItem.java b/src/mpmToolbox/gui/syncPlayer/PerformanceChooserItem.java new file mode 100644 index 0000000..4c6aaff --- /dev/null +++ b/src/mpmToolbox/gui/syncPlayer/PerformanceChooserItem.java @@ -0,0 +1,39 @@ +package mpmToolbox.gui.syncPlayer; + +import com.alee.api.annotations.NotNull; +import meico.mpm.elements.Performance; +import meico.supplementary.KeyValue; + +/** + * This class represents an item in the performance chooser combobox of the SyncPlayer. + * @author Axel Berndt + */ +class PerformanceChooserItem extends KeyValue { + /** + * This constructor creates a performance chooser item (String, Performance) pair out of a non-null performance. + * @param performance + */ + public PerformanceChooserItem(@NotNull Performance performance) { + super(performance.getName(), performance); + } + + /** + * This constructor creates a performance chooser item with the specified name key but null performance. + * Basically, this is used to communicate to the SyncPlayer not to play a performance rendering. + * The string is typically something like "No performance rendering". + * @param string + */ + public PerformanceChooserItem(String string) { + super(string, null); + } + + /** + * All combobox items require this method. The overwrite here makes sure that the string being returned + * is the performance's name instead of some Java Object ID. + * @return + */ + @Override + public String toString() { + return this.getKey(); + } +} diff --git a/src/mpmToolbox/gui/syncPlayer/SoundfontChooserItem.java b/src/mpmToolbox/gui/syncPlayer/SoundfontChooserItem.java new file mode 100644 index 0000000..3e1b75b --- /dev/null +++ b/src/mpmToolbox/gui/syncPlayer/SoundfontChooserItem.java @@ -0,0 +1,39 @@ +package mpmToolbox.gui.syncPlayer; + +import com.alee.api.annotations.NotNull; +import meico.supplementary.KeyValue; + +import java.io.File; + +/** + * This class represents an item in the soundfont chooser combobox of the SyncPlayer. + * @author Axel Berndt + */ +class SoundfontChooserItem extends KeyValue { + /** + * This constructor creates a soundfont chooser item (String, File) pair out of a non-null file. + * @param soundfont + */ + public SoundfontChooserItem(@NotNull File soundfont) { + super(soundfont.getName(), soundfont); + } + + /** + * This constructor creates a soundfont chooser item with the specified name key but null soundfont. + * Basically, this is used to communicate to the SyncPlayer to use the default soundfont. + * @param string + */ + public SoundfontChooserItem(String string) { + super(string, null); + } + + /** + * All combobox items require this method. The overwrite here makes sure that the string being returned + * is the file name instead of some Java Object ID. + * @return + */ + @Override + public String toString() { + return this.getKey(); + } +} diff --git a/src/mpmToolbox/gui/syncPlayer/SyncPlayer.java b/src/mpmToolbox/gui/syncPlayer/SyncPlayer.java index 22c6f38..6467f59 100644 --- a/src/mpmToolbox/gui/syncPlayer/SyncPlayer.java +++ b/src/mpmToolbox/gui/syncPlayer/SyncPlayer.java @@ -1,6 +1,5 @@ package mpmToolbox.gui.syncPlayer; -import com.alee.api.annotations.NotNull; import com.alee.laf.button.WebButton; import com.alee.laf.combobox.WebComboBox; import com.alee.laf.label.WebLabel; @@ -12,19 +11,18 @@ import meico.midi.Midi; import meico.midi.MidiPlayer; import meico.mpm.elements.Performance; -import meico.supplementary.KeyValue; import mpmToolbox.gui.ProjectPane; import mpmToolbox.gui.Settings; import mpmToolbox.supplementary.Tools; -import javax.sound.midi.InvalidMidiDataException; -import javax.sound.midi.MidiUnavailableException; +import javax.sound.midi.*; import javax.sound.sampled.Clip; import javax.swing.*; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; -import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; /** * This class implements the Audio and MIDI player for MPM Toolbox. @@ -45,6 +43,8 @@ public class SyncPlayer extends WebPanel { private final WebComboBox performanceChooser = new WebComboBox(); private final PerformanceChooserItem rawPerformance = new PerformanceChooserItem(Performance.createPerformance("Play raw notes, no performance")); + private final WebComboBox midiPortChooser = new WebComboBox(); + private final WebComboBox audioChooser = new WebComboBox(); private final WebSpinner skipMillisecondsInAudioPlayback = new WebSpinner(new SpinnerNumberModel(0L, 0L, 9999999999L, 1L)); @@ -90,14 +90,38 @@ private void makeGui() { this.performanceChooser.setToolTip("Select the performance rendering to be played."); Tools.addComponentToGridBagLayout(this, (GridBagLayout) this.getLayout(), this.performanceChooser, 0, 0, 1, 1, 1.0, 1.0, 0, 0, GridBagConstraints.BOTH, GridBagConstraints.LINE_START); + WebLabel midiPortLabel = new WebLabel("MIDI Out:"); + midiPortLabel.setToolTip("Select the MIDI port to output performance rendering. Default is \"Gervill\"."); + midiPortLabel.setHorizontalAlignment(WebLabel.RIGHT); + midiPortLabel.setPadding(Settings.paddingInDialogs / 4); + Tools.addComponentToGridBagLayout(this, (GridBagLayout) this.getLayout(), midiPortLabel, 1, 0, 1, 1, 1.0, 1.0, 0, 0, GridBagConstraints.BOTH, GridBagConstraints.LINE_START); + + this.updateMidiPortList(); + this.midiPortChooser.setPadding(Settings.paddingInDialogs / 4); + this.midiPortChooser.setToolTip("Select the MIDI port to output performance rendering. Default is \"Gervill\"."); + this.midiPortChooser.addActionListener(actionEvent -> { + MidiDevice.Info item = (MidiDevice.Info) this.midiPortChooser.getSelectedItem();// get the device info from the chooser; it is required to get the corresponding device from the MidiSystem + if (item == null) // if nothing meaningful is chosen + return; // done + try { + if (item == this.midiPlayer.getSynthesizer().getDeviceInfo()) // ensure that we do not instantiate a new Gervill synth if that is chosen, but use the one that midiPlayer is already holding + this.midiPlayer.setMidiOutputPort(this.midiPlayer.getSynthesizer()); // Gervill was chosen, hence, use the midiPlayer's native one instead of a new instance + else // something else was chosen + this.midiPlayer.setMidiOutputPort(MidiSystem.getMidiDevice(item)); // switch to it + } catch (MidiUnavailableException e) { + e.printStackTrace(); + } + }); + Tools.addComponentToGridBagLayout(this, (GridBagLayout) this.getLayout(), this.midiPortChooser, 2, 0, 1, 1, 1.0, 1.0, 0, 0, GridBagConstraints.BOTH, GridBagConstraints.LINE_START); + this.updateAudioList(); this.audioChooser.setPadding(Settings.paddingInDialogs / 4); this.audioChooser.setToolTip("Select the audio recording to be played."); Tools.addComponentToGridBagLayout(this, (GridBagLayout) this.getLayout(), this.audioChooser, 0, 1, 1, 1, 1.0, 1.0, 0, 0, GridBagConstraints.BOTH, GridBagConstraints.LINE_START); - WebLabel skipLabel = new WebLabel("skip"); + WebLabel skipLabel = new WebLabel("skip:"); skipLabel.setToolTip("Skip initial silence in the audio recording."); - skipLabel.setHorizontalAlignment(WebLabel.CENTER); + skipLabel.setHorizontalAlignment(WebLabel.RIGHT); skipLabel.setPadding(Settings.paddingInDialogs / 4); Tools.addComponentToGridBagLayout(this, (GridBagLayout) this.getLayout(), skipLabel, 1, 1, 1, 1, 1.0, 1.0, 0, 0, GridBagConstraints.BOTH, GridBagConstraints.LINE_START); @@ -117,8 +141,8 @@ private void makeGui() { } /** - * This fills the performance chooser list - * It method should be called when the the available performances have changed. + * This fills the performance chooser list. + * The method should be called when the the available performances have changed. */ public void updatePerformanceList() { PerformanceChooserItem selectedItem = (PerformanceChooserItem) this.performanceChooser.getSelectedItem(); // store the previously selected item @@ -137,6 +161,29 @@ public void updatePerformanceList() { } } + /** + * This fills the MIDI port chooser list. + * The method should be called to initialize and update the list. + * See: https://humanwritescode.wordpress.com/2017/11/22/java-midi-basics-how-to-access-a-midi-device-or-midi-port-in-java/ + */ + public void updateMidiPortList() { + this.midiPortChooser.removeAllItems(); + + for (MidiDevice.Info info : MidiSystem.getMidiDeviceInfo()) { // iterate the info of each device + // get the corresponding device + MidiDevice device; + try { + device = MidiSystem.getMidiDevice(info); + } catch (MidiUnavailableException e) { + continue; + } + + // the device should be a MIDI port with receiver or a synthesizer (Gervill) + if (!(device instanceof Sequencer) && (device.getMaxReceivers() != 0)) + this.midiPortChooser.addItem(info); + } + } + /** * This fills the audio chooser list. * It should be called when the list of audio recordings changes. @@ -390,105 +437,4 @@ public void run() { }); } } - - /** - * This class represents an item in the performance chooser combobox of the SyncPlayer. - * @author Axel Berndt - */ - private class PerformanceChooserItem extends KeyValue { - /** - * This constructor creates a performance chooser item (String, Performance) pair out of a non-null performance. - * @param performance - */ - private PerformanceChooserItem(@NotNull Performance performance) { - super(performance.getName(), performance); - } - - /** - * This constructor creates a performance chooser item with the specified name key but null performance. - * Basically, this is used to communicate to the SyncPlayer not to play a performance rendering. - * The string is typically something like "No performance rendering". - * @param string - */ - private PerformanceChooserItem(String string) { - super(string, null); - } - - /** - * All combobox items require this method. The overwrite here makes sure that the string being returned - * is the performance's name instead of some Java Object ID. - * @return - */ - @Override - public String toString() { - return this.getKey(); - } - } - - /** - * This class represents an item in the soundfont chooser combobox of the SyncPlayer. - * @author Axel Berndt - */ - private class SoundfontChooserItem extends KeyValue { - /** - * This constructor creates a soundfont chooser item (String, File) pair out of a non-null file. - * @param soundfont - */ - private SoundfontChooserItem(@NotNull File soundfont) { - super(soundfont.getName(), soundfont); - } - - /** - * This constructor creates a soundfont chooser item with the specified name key but null soundfont. - * Basically, this is used to communicate to the SyncPlayer to use the default soundfont. - * @param string - */ - private SoundfontChooserItem(String string) { - super(string, null); - } - - /** - * All combobox items require this method. The overwrite here makes sure that the string being returned - * is the file name instead of some Java Object ID. - * @return - */ - @Override - public String toString() { - return this.getKey(); - } - } - - /** - * This class represents an item in the audio chooser combobox of the SyncPlayer. - * @author Axel Berndt - */ - private class AudioChooserItem extends KeyValue { - /** - * This constructor creates a audio chooser item (String, Audio) pair out of a non-null audio object. - * @param audio - */ - private AudioChooserItem(@NotNull Audio audio) { - super(audio.getFile().getName(), audio); - } - - /** - * This constructor creates a audio chooser item with the specified name key but null audio object. - * Basically, this is used to communicate to the SyncPlayer not to play audio. - * The string is typically something like "No audio recording". - * @param string - */ - private AudioChooserItem(String string) { - super(string, null); - } - - /** - * All combobox items require this method. The overwrite here makes sure that the string being returned - * is the audio file's name instead of some Java Object ID. - * @return - */ - @Override - public String toString() { - return this.getKey(); - } - } }