Releases: axelberndt/MPM-Toolbox
Releases · axelberndt/MPM-Toolbox
MPM Toolbox v0.1.7
v0.1.7
- Little edit in method
mpmToolbox.gui.score.ScoreDisplayPanel.mouseMoved()
that changes the mouse cursor to hand symbol when moved to a clickable overlay element. - Fixed potential division-by-zero bug in
mpmToolbox.gui.syncPlayer.SyncPlayer.PlaybackRunnable.run()
. - Reorganized some classes, i.e., classes
Score
,ScoreNote
,ScorePage
moved from packagempmToolbox.gui.score
to packagempmToolbox.projectData.score
. - Added "Hide Overlay" button to the score widget (classes
mpmToolbox.gui.score.ScoreDocumentData
andScoreDisplayPanel
) that allows to show the score without the overlays. - Addition to the spectrogram context menu to switch between normalized and non-normalized display.
- New method
getPart()
in classesmpmToolbox.gui.msmTree.MsmTreeNode
andmpmToolbox.gui.mpmTree.MpmTreeNode
to retrieve the MSMpart
element that the node belongs to. - New package
mpmToolbox.supplementary.avlTree
that implements the AVL Tree data structure. - New package
mpmToolbox.projectData.alignment
with several new classes that serve to associate measurements in audio recordings with MSM data, display them as piano roll and interact with it. - Alignment data is stored in
mpr
project files. - Added class
mpmToolbox.gui.audio.PianoRollPanel
which is also the basis for the classesWaveformPanel
andSpectrogramPanel
in the same package. - Several optimizations when editing
Performance
names, adding and removingPerformance
orAudio
objects from and to the project in order to reduce update traffic between the widgets and the re-rendering of performances for overlay display in the audio widget. - Added button "Align Frequencies with MIDI Pitches" to the spectrogram specs. These set the min. and max frequency of the spectrogram. Use these to align it vertically with the piano roll.
- Added combobox and sub-class
PartChooserItem
to classmpmToolbox.gui.audio.AudioDocumentData
to choose the musical part or select all parts to be displayed by the piano roll overlay.
MPM Toolbox v0.1.6
v0.1.6
- Class
mpmToolbox.ProjectData
moved into the newly added packagempmToolbox.projectData
. - New Class
mpmToolbox.projectData.Audio
. It extends the eponymous class from meico and replaces all its occurrences in the code. - Communication of classes
mpmToolbox.gui.audio.AudioDocumentData
,WaveformPanel
andSpectrogramPanel
has been redone. - The spectrogram display is now properly synchronized to the waveform display and optimized.
- Added a GUI in the spectrogram panel to specify the parameters for the spectrogram computation.
- Expanded the SyncPlayer's
triggeredPlayback()
methods to jump to specific playback positions. With this we can start playback from within the waveform and spectrogram panel (via right click).
MPM Toolbox v0.1.5
v0.1.5
- Code simplification in class
mpmToolbox.gui.syncPlayer
. - Updated meico to v0.8.26.
- Removed
rsyntaxtextarea-3.1.1.jar
from the externals. It was never used so far. - Class
mpmToolbox.gui.msmTree.MsmTree
has been expanded. It now provides its own instance of aWebDockableFrame
. A simple getter method makes it easier to be used in classmpmToolbox.gui.ProjectPane
. Thus, some code optimizations have been applied there. - New class
mpmToolbox.gui.mpmTree.MpmDockableFrame
has been added. This simplifies some code in classmpmToolbox.gui.ProjectPane
. - New method
toXml()
in classmpmToolbox.gui.score.ScorePage
. It exports the image data and concordances that are stored in MPM Toolbox's project files (.mpr
).- The same code was previously performed by method
mpmToolbox.gui.score.Score.toXml()
. It has been simplified accordingly and invokes theScorePage
'stoXml()
now instead. - Two new attributes were added to the generated
page
element,width.pixels
andheight.pixels
. If the page image gets replaced by another with a different resolution, the coordinates of the concordances can be scaled on this basis.
- The same code was previously performed by method
- Added another constructor to class
mpmToolbox.gui.score.ScorePage
to be used by the constructor of classmpmToolbox.gui.score.Score
that reads the data from a project file (.mpr
). The newScorePage
constructor checks if the image resolution changed and, if so, scales the concordance coordinates accordingly. - Some first preparations for the audio analysis component.
- Interactive waveform and CQT spectrogram display, incl.
- resize,
- zoom with mouse wheel,
- pan by mouse drag,
- precise mouse click to sample index mapping,
- context menu to switch between displaying all audio channels or only one.
- All interactions are performed synchronous on both, waveform and spectrogram. However, the spectrogram display is not yet properly aligned with the waveform!
- Interactive waveform and CQT spectrogram display, incl.
- Bugfix in classes
mpmToolbox.ProjectData
,mpmToolbox.score.Score
: Path separators encoded as"\\"
were replaced byFile.separator
to function on all operating systems. Thanks to pfefferniels for this bug report! The same "inter-OS-operability" has been added to the parsing of the.mpr
project files in classProjectData
.
MPM Toolbox v0.1.4
v0.1.4
- Double-click on MPM elements ...
- in the MPM tree widget will immediately open its editor dialog, provided it has one. This function is added to leaf nodes only and not to nodes that expand by double click. Element
distribution.list
is an exception to this rule, so this functionality can also be used in the score display, see next bullet point. - in the score display widget does the same as the above. It immediately opens the corresponding editor dialog.
- in the MPM tree widget will immediately open its editor dialog, provided it has one. This function is added to leaf nodes only and not to nodes that expand by double click. Element
- Bugfix: The SyncPlayer's performance chooser did not update when the MPM file is changes. This is fixed.
- Enhancement in the score display: The zoom factor of the score image now initializes so that it matches the size of the panel.
MPM Toolbox v0.1.3
v0.1.3
- Added new operations to map elements in the MPM tree widget. Maps can now be moved and copied from one
dated
environment to another - effectively to anotherpart
orglobal
environment in the same or any otherperformance
.- When copied, the ID of each map element will be changed in the copy to ensure unique IDs throughout the MPM document.
- It is not valid to have two maps of the same type within one and the same
dated
environment. Hence, if the target environment has already a map of the same type as the origin map, the contents will be merged into it.
- The same functionality is also added to individual MPM map entries.
- Bugfix in method
mpmToolbox.gui.mpmEditingTools.editDialogs.TempoEditor.edit()
. When editing a tempo transition with a numeric value fortransition.to
themeanTempoAt
was not initialized from the source. - Enhancement of method
mpmToolbox.gui.score.ScorePage.addEntry()
. If an element to be added has noxml:id
attribute, which is required to be linked to a score position, the method generates a random ID and adds the attribute to the element. - Layout related fix in method
mpmToolbox.gui.mpmEditingTools.editDialogs.EditDialog.addIdInput()
to ensure that the ID input field has a fixed width and does not break the layout.
MPM Toolbox v0.1.2
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.
MPM Toolbox v0.1.1
v0.1.1
- initial release
- 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) in a subfolder of the source directory.
- The window title will now print the title of the currently opened project.