Releases: axelberndt/MPM-Toolbox
Releases · axelberndt/MPM-Toolbox
MPM Toolbox v0.1.27
v0.1.27
- Added package
msmEditingTools
with classMsmEditingTools
to create context menu popups when right-clicking the MSM tree. - Right now there is only one such context menu for the MSM root node that offers to apply every
sequencingMap
to the affected MSM and MPM maps.- The
sequencingMaps
are then deleted from the MSM as they are no longer valid. - It is recommended to operate this functionality BEFORE making any entries in the graphical score as they will get lost in the process.
- The
MPM Toolbox v0.1.26
v0.1.26
- Dependency updates
- WebLaF Core v1.2.13 to v1.2.14
- WebLaF UI v1.2.13 to v1.2.14
- junit Jupiter API v5.10.2
- xstream v1.4.20
MPM Toolbox v0.1.25
v0.1.25
- Added method
init()
to classmpmToolbox.projectData.ProjectData
. It makes sure that a project, that is not yet stored manually to the file system, nonetheless has a default path and is able to store related data, such as audio recordings.
MPM Toolbox v0.1.24
v0.1.24
- Meico update to v0.9.0.
- Added an audio recorder to the SyncPlayer. The recording will be stored in the project path under the
recordings
subdirectory. It will also be added automatically to the project. - Bugfix in method
mpmToolbox.gui.audio.PianoRollPanel.getContextMenu()
that prevented the context menu to be created when there is no MPM in the project. - Addition to method
mpmToolbox.gui.audio.AudioDocumentData.makePerf2AlignButton()
, to generate an MPM if the project has none. - Added
TreeSelectionListener
to classmpmToolbox.gui.msmTree.MsmTree
, so, when a note is clicked, it will be played even if no visual score is present.
MPM Toolbox v0.1.23
v0.1.23
- Meico update to v0.8.48.
MPM Toolbox v0.1.22
v0.1.22
- Added method
mpmToolbox.projectData.alignment.Alignment.repositionAll()
. - Enhancement to method
mpmToolbox.gui.MpmToolbox.closeProject()
, when the project is closed or a new project is loaded while playback is running, the playback will now stop properly. - Enhanced class
mpmToolbox.projectData.alignment.AbstractAlignmentComputation
and updated classmpmToolbox.gui.audio.AudioDocumentData
accordingly. The latter has two additional buttons to select an alignment algorithm and execute it.- Also class
mpmToolbox.projectData.alignment.PlaceholderAligner
has been added to illustrate the usage of the abstract class. This is basically a tutorial for developers who wish to integrate a new alignment method into MPM Toolbox. - Enhancement in class
mpmToolbox.gui.audio.AudioDocumentData
. Some buttons on the bottom are disabled when they are not useful, e.g. when the piano roll displays a performance instead of an audio alignment or no audio is displayed.
- Also class
- Based on the above preparations, a first fully-fledged audio-to-score alignment algorithm has been integrated with class
mpmToolbox.projectData.alignment.basicPitchLcsAligner.BasicPitchLCSAligner
and all related sub-classes in the same package; many thanks to Vladimir Viro from Peachnote! - Minor optimizations in class
mpmToolbox.gui.syncPlayer.PlaybackRunnable
. - Method
mpmToolbox.projectData.alignment.Alignment.updateTimingTransformation()
has been made more stable against alignments with "unreasonable" values. - Enhanced tempoMap visualization in class
mpmToolbox.gui.audio.TempoMapPanel
.- New class added,
mpmToolbox.gui.audio.utilities.TempoMapPanelElement
. - Added configuration attribute
tempoCurveTesselation
in classmpmToolbox.gui.Settings
to control the draw quality of continuous tempo transitions. - The curve segments are now correctly scaled, also when the
beatLength
basis changes throughout the tempomap. - The tempo instructions in the visualization are fully interactive. Double click opens the editor dialog. Right click opens the same context menu as for the tempo instructions in the MPM tree widget.
- A new operation has been added to the tempo instruction's context menu, "Replace by Continuous Transition". It removes the instruction from the tempoMap and edits the preceding tempo instruction so that the timing of the next instruction is kept intact.
- A similar new operation is added to the context menu of tempoMap nodes in the MPM tree and as a button in the audio panel: Simplify TempoMap. It reduces monotonous and constant sequences of tempo instructions to a single continuous or constant instruction.
- New class added,
- Removed the
TreeSelectionListener
from classesmpmToolbox.gui.msmTree.MsmTree
andmpmToolbox.gui.mpmTree.MpmTree
. These listeners are now created by classesmpmToolbox.gui.score.ScoreDisplayPanel
andmpmToolbox.gui.audio.TempoMapPanel
which do actually react on those interactions in the trees. - MPM Toolbox can import MIDI files with filename extensions
.mid
(as before) and.midi
(this is new). - Panning and zooming in the Score tab (class
mpmToolbox.gui.score.ScoreDisplayPanel
) is now possible in all interaction modes without the need for holding CTRL down.
MPM Toolbox v0.1.21
v0.1.21
- When initializing an
Alignment
(in the audio tab) not only will the last note be fixed but now also the first note. So wherever we start shifting notes, it will act more comprehensible now. - Alignment to Performance conversion now also works when no global time signature data is available. Method
mpmToolbox.projectData.alignment.Alignment.exportTiming()
will then use the firsttimeSignatureMap
to be found in an MSMpart
and, if still nothing was found, assume beat length of a quarter note as fallback. - Added handling/conversions of dates if the pulses per quarter value of the MSM and the performance differ. This addresses issue 14. There are, however, still some "nitpicks" left with the TempoMap panel.
- Added default initialization to the Timing Basis field in the Performance Editor dialog, so it matches the
pulsesPerQuarter
value of the MSM. - Added abstract class
mpmToolbox.projectData.alignment.AbstractAlignmentComputation
. - Added method
getNoteSequenceInTicks()
to classesmpmToolbox.projectData.alignment.Alignment
andmpmToolbox.projectData.alignment.Part
. - Complete integration of ornamentation which was added to MPM with v2.1.3.
MPM Toolbox v0.1.20
v0.1.20
- The MIDI player of the
mpmToolbox.gui.ProjectPane
has been moved to classmpmToolbox.gui.MpmToolbox
, so it does not have to be reinitialized when loading a new project. The same has been done with thempmToolbox.gui.syncPlayer.SyncPlayer
's MIDI player. When loading a soundfont, only the latter will change. The MSM tree's MIDI player does play only with piano sounds anyway. - Minor bugfix in method
mpmToolbox.gui.MpmToolbox.loadFile()
. - Another minor fix in method
mpmToolbox.gui.ProjectPane.setMpm()
, so the SyncPlayer's list of performances no longer contains elements for a previous MPM after loading another MPM into the project.
MPM Toolbox v0.1.19
v0.1.19
- Meico update v0.8.41.
MPM Toolbox v0.1.18
v0.1.18
- Adaptations to meico update v0.8.40.