Skip to content

Releases: axelberndt/MPM-Toolbox

MPM Toolbox v0.1.17

16 Aug 07:32
Compare
Choose a tag to compare

v0.6.17

  • Bugfix in method mpmToolbox.gui.audio.TempoMapPanel.retrieveTempoMap().

MPM Toolbox v0.1.16

08 Aug 08:38
Compare
Choose a tag to compare

v0.1.16

  • Addition to method mpmToolbox.gui.score.ScoreDisplayPanel.paintComponent(). Performance squares in the score will now contain a symbol indicating the type of the performance instruction.
  • Dragging a note in the piano roll is now only possible when it is an audio alignment. Performance renderings no longer allow note dragging but should be altered by performance instructions.
  • The hop size parameter in the spectrogram specification dialog (class mpmToolbox.gui.audio.utilities.SpectrogramSpecs) should not have values greater than the window length. This is now ensured via an additional listener.
  • The spectrogram is now displayed with a horizontal offset of half the window length, so it aligns better with the waveform.
  • Added another panel to the audio analysis tab, the tempomap panel.
    • New classes were added, mpmToolbox.gui.audio.TempoMapPanel and mpmToolbox.gui.audio.utilities.CursorPositions.
    • The tempomap panel visualizes its data on the symbolic time axis. Class CursorPositions does the corresponding conversions to place playback and mouse cursor in all panels at their correct position.
    • Further conversion methods have also been added to classes mpmToolbox.projectData.alignment.Alignment and mpmToolbox.projectData.alignment.Part. Class mpmToolbox.projectData.alignment.Note is also slightly expanded.
    • The tempomap panel is not yet interactive, though.

MPM Toolbox v0.1.15

31 May 07:48
Compare
Choose a tag to compare

v0.1.15

  • Bugfix in method mpmToolbox.gui.mpmEditingTools.editorDialogs.DistributionEditor.switchDistributionTypeTo() that crashed when attribute seed was activated.
  • Meico update v0.8.37 solves issues with negative event timing from asynchrony and timing imprecision.
  • The save file dialog in method mpmToolbox.gui.MpmToolbox.saveProjectAs() will now make sure that the project file will always have extension .mpr.
  • Bugfix in constructor mpmToolbox.projectData.score.Score.Score(@NotNull ProjectData project) that ran into a NullPointerException when loading a project with image data but no MPM data.
  • Bugfix in method mpmToolbox.gui.mpmTree.MpmTree.gotoFirstMapEntryNode() that caused an exception when the project's MPM contained no maps.
  • Added a note ID check to method mpmToolbox.gui.mpmEditingTools.editorDialogs.ArticulationEditor.edit() to ensure that, if an initial note ID is set before displaying the dialog, the ID is tinted correctly.
  • Added method mpmToolbox.supplementary.Tools.uniformPath() to handle differences in path separators on the different operating systems.
  • Added more parsing of ornamentation data for a proper display in the MPM tree widget. Ornamentation support has been added to class mpmToolbox.gui.mpmEditingTools.MpmEditingTools. New classes OrnamentEditor and OrnamentDefEditor have been added to package mpmToolbox.gui.mpmEditingTools.editDialogs, not yet functional, though.
  • Little changes in method mpmToolbox.gui.MpmToolbox.openProject(). The "Close current project with or without saving?" dialog needed some adjustment.

MPM Toolbox v0.1.14

18 Apr 18:17
Compare
Choose a tag to compare

v0.1.14

  • Meico update v0.8.36.

MPM Toolbox v0.1.13

07 Apr 14:12
Compare
Choose a tag to compare

v0.1.13

  • Meico update to v0.8.35 with added support for MEI element arpeg for arpeggios and new MPM features for ornamentation. These, however, are not yet editable in MPM Toolbox. Full integration of MPM ornamentation features is pending. The update further contains a little enhancement in meico's MEI to MSM and MPM export, namely that IDs of MEI staffDef elements will recur in MSM and MPM part elements.
  • Enhancement in the constructor of class mpmToolbox.projectData.score.Score that parses a project file's XML to generate its data structure. Now it is able to handle occurrences of a note or performance instruction on multiple score pages.

MPM Toolbox v0.1.12

15 Mar 11:40
Compare
Choose a tag to compare

v0.1.12

  • In the MPM tree, the context menus of articulationStyles, dynamicsStyles and tempoStyles have an additional option to create default styles. These serve as convenient starter styles to be further refined.

MPM Toolbox v0.1.11

21 Feb 09:34
Compare
Choose a tag to compare

v0.1.11

  • New method mpmToolbox.projectData.alignment.Alignment.getPart(Note note) to retrieve the part that contains the given note.
  • Class mpmToolbox.projectData.alignment.Note has new getters for the MIDI tick date and duration, and MSM part.
  • New class mpmToolbox.gui.audio.utilities.ArticulationMenu that creates a submenu in the piano roll context menu to articulate a note.

MPM Toolbox v0.1.10

11 Feb 15:14
Compare
Choose a tag to compare

v0.1.10

  • As of meico v0.8.33, audio export (WAV, MP3) will now use the currently loaded soundfont.
  • The window icon will be displayed also in the title bar of dialog windows.
  • The root element in MPR files was renamed to mpmToolboxProject (in method mpmToolbox.projectData.ProjectData.saveProjectAs()). This change is backward compatible, the old mpmToolkitProject will also work.
  • New method mpmToolbox.gui.audio.PianoRollPanel.drawMouseCursor() that simplifies code in the child classes SpectrogramPanel and WaveformPanel.
  • New method getMillisecondsLength() in classes mpmToolbox.projectData.alignment.Alignment and Part. Furthermore, an optimization has been applied to both classes to more quickly retrieve the last note sounding.
  • Added a playback position indicator to the audio visualizations.
  • In method mpmToolbox.projectData.alignment.Alignment.getExpressiveMsm() some cleanup has been added to remove all maps but the score elements, as their contents are not affected by the alignment's timing and, after expressive MIDI export, appear at wrong positions.
  • The runtime performance of waveform image computation has been significantly increased by method mpmToolbox.projectData.audio.Audio.convertWaveform2Image() and its new helper class mpmToolbox.projectData.audio.PeakList.

MPM Toolbox v0.1.9

04 Feb 14:49
Compare
Choose a tag to compare

v0.1.9

  • Added a MIDI Master Volume slider to the SyncPlayer. It is relevant when audio recording and MIDI performance are played synchronously and the MIDI part is too loud. However, Master Volume Control is a MIDI SysEx message and not all devices support it. MPM Toolbox's default synthesizer, Gervill, fortunately does.
  • Bugfix in method mpmToolbox.gui.mpmEditingTools.CommentEditor.makeContentPanel(). It was unable to query the font metrics for proper initialization.
  • All editing functionality in classes mpmToolbox.gui.mpmEditingTools.MpmEditingTools and mpmToolbox.gui.mpmEditingTools.PlaceAndCreateContextMenu has been extended, so the piano roll visualization in the audio frame (class mpmToolbox.gui.audio.AudioDocumentData) is kept up to date.
  • Audio-to-MSM alignments are initially scaled to fit the length of the audio. however, whenever the user edits the alignment, the initial scaling gets lost. Therefore, the last sounding note is now set fixed (pinned to its position after scaling).
  • The notes in the piano roll are displayed with a slight alpha fade so that onsets are easier to see when subsequent notes of the same pitch are displayed.
  • Enhancement in mpmToolbox.projectData.alignment.Alignment.
    • Method updateTiming() has been simplified and code was moved to method updateTimingTransformation() as this functionality is also required aside from rendering.
    • The last step in method updateTimingTransformation() is a rather dull way to handle the timing after the last fixed note. The enhancement will now continue with the tempo from before the last fixed note.
    • New functionality in class mpmToolbox.gui.audio.AudioDocumentData and mpmToolbox.projectData.alignment.Alignment, resp., to transform an alignment to an meico.mpm.elements.Performance and vice versa.
    • In the process of the aforementioned addition, corresponding new functionality has been added via methods exportTiming() and exportArticulation. These transform the timing data of the alignment to an MPM tempo, asynchrony and articulation map.

MPM Toolbox v0.1.8

14 Jan 15:02
Compare
Choose a tag to compare

v0.1.8

  • Meico update with new functionality to add a timing offset to Midi instances and improved audio waveform image rendering.
  • So far, the SyncPlayer (class mpmToolbox.gui.syncPlayer.SyncPlayer and its inner class PlaybackRunnable) allowed only positive audio offsets. Now it can also handle negative offsets. Instead of adding the offset time to the audio data it will be removed from the MIDI sequence.
  • Spectrogram computation is put into new class mpmToolbox.gui.audio.utilities.SpectrogramComputation which visualizes the progress in a dialog with progress bar. The process of spectrogram computation is now done in a separate thread via a SwingWorker derivative called mpmToolbox.gui.audio.utilities.SpectrogramComputationWorker that informs the progress bar and can be cancelled.