Changelog for
musescore-fonts-3.0git20170311-22.1.noarch.rpm :
Mon Oct 31 13:00:00 2016 SauerlandlinuxAATTgmx.de
- Update to Version 3.0.0
- Optimize horizontal layout by allowing overlapping segments.
- Compute an outline (Shape) for every Staff/Segment.
- Use the outline to compute the minimum distance between Segments.
- this also avoids collisions between Lyrics and ChordNames
- Automatically increase vertical space between staves to avoid collisions.
- Use the segment shapes to compute the minimum distance between staves.
Use the minimum distance if its bigger than the style distance;
- Implement a way to (re-)layout only the modified part of the score.
A reorganization of layout is needed for this. Layout should work in one pass in
an incremental way.
The pattern to trigger incremental layout is:
score->startCmd();
...
score->setLayout(tick1); // tick position of score change
...
score->setLayout(tickn); // another change at a different position
...
score->endCmd();
setLayout(int tick) records the min+max value of all calls and feeds it
to score->doLayoutRange(int minTick, int maxTick);
- Do not allow more than one System on a line. In 2.x a horizontal box splits
a line into two systems. In 3.x a horizontal box is handled as a special measure.
This simplifies page layout a lot.
- System bar lines are moved into measures in a special segment type \"BeginBarLine\".
- Do not undo/redo add/removal of \"created\" elements.
- It speeds up doLayout() and consumes less memory.
In 2.x all Segments changes must be on the undo/redo stack to keep the history
consistent, This was necessary as Segments were referring to
previous/next segments to find the proper insertion point.
In 3.x Undo knows were to (re-)insert Segments by only checking type and tick
position.
- evaluate the possibility of implementing \"Continuous View\" as a real \"view\" change
without changing the score (no undo/redo change)
- remove pre 2.0 compatibility
-New Features
-Timewise insert/delete notes/rests
- Ctrl+Shift+[cdefg]
Insert note with current duration.
This increases the duration of the actual measure independent of the
current time signature making it an irregular measure.
- Ctrl + left mouse button in note entry mode
Inserts note/rest with current duration
- Ctrl+Del
Removes the selected Chord/Rest decreasing the duration of the measure.
Extend this to selection ranges.
- drop barline
This inserts a barline into the current measure or changes the current barline.
- ctrl + drop barline
Splits the current measure at the new barline.
- ctrl + delete barline
This joins the current measure with the next measure.
- show irregular measures
This displays a \"+\" or \"-\" in the upper right corner of a measure if the measure
length is different from the current time signature.
Functions which may be removed:
- split measure: replaced by dropping a barline
- join measure: replaced by deleting a barline
- adjusting the actual measure lenght in measure properties; this
can be achieved by inserting/deleting notes/rests in the measure.
- delete measure timewise: replaced by Ctrl+Del of selection ranges
-Palette handling
- shift+drag allows to move a palette element in the palette
- ctrl+drag is drag operation with special semantic
Programming Style Changes in MuseScore 3
* Instead of
if (e->type() == Element::Type::Chord)
...
write
if (e->isChord())
...
This is shorter and easier to read. Similar
if ((s.segmentType() == Segment::Type::ChordRest))
...
can be written as
if (s.isChordRestType())
...
* Use safer type conversion: instead of
Chord
* chord = static_cast
*>(e);
write
Chord
* chord = toChord(e);
This adds an Q_ASSERT to make sure e is really a Chord().
* Prefer vector container over list:
- Instead of QList use QVector or even better std::vector if possible.
* Prefer stl style over Qt style when using container:
- use list.push_back(xx) instead of list.append(xx) or
- use list.empty() instead of list.isEmpty()
- etc.
(see https://marcmutz.wordpress.com/effective-qt/containers/)
Caution when replacing Qt container with stl container as the semantic
may be different. Especially in a \"for (xxx : yyy)\" loop the Qt container
is copied (copy on write) and the stl container not. That means that you can modify a
Qt container (inserting/deleting elements) in this for loop. This will usually not
work for a stl container.
* In iterating a SegmentList instead of
for (Segment
* s = segments->first(); s; s = s->next())
...
you can write
for (Segment& s : segments)
...
* enums
Some scoped enums can be replaced by classes. Example:
class Direction {
...
public:
enum _Direction { AUTO, UP, DOWN };
...
};
Goal is to allow
- allow type conversion (to QVariant for example)
- add conversion to/from string for use in Xml::read(...)/Xml::write(xxx)
- export to qml scripting
Drawbacks:
- forward declaration is not possible as for c++11 \"enum class\"
- the enum _Direction is a different type than Direction; which sometimes
require a static_cast
This is somehow experimental.
* debug messages
- use qWarning(), qCritical() and qFatal()
- if debug messages are used, it should be possible to switch them off and they
should be removed in release mode
- don\'t use qDebug(), instead use a log category and call qCDebug(logCategory, ...)
(see undo.h undo.cpp for example usage)
TODO: check if they can be removed in system mode
-some rules
Layout
- After loading a score, the score data can only be modified in a \"undo\" function during editing.
The score is \"dirty\" if there is an undo stack entry.
- Flags/data which describe what kind of relayout/update the score needs are collected in
Score->CmdState. They can only be set in an \"undo\" function.
-Score File
- \"created\" elements are not written out into the score file. For example bar lines are usually created
by layout. They are marked as created and therefore do not appear in the score file.
- Element properties are only written if they differ from their default value which usually is the
style value if they are styled.
Implementation Details
-Measure layout
A measure is layouted in four different contexts:
- first measure in a system
- the measure is prepended by a system header
- last measure in a system
- the measure has a system trailer
- in the middle of a system
- is the only measure in a system
- the measure has a system header and a system trailer
-BarLine handling
A measure can have four kind of barlines, contained in a special typed Segment:
- BeginBarLine
this barline is also called the \"systemic barline\"
- automatically created for every System
- a BarLine can be dropped on a horizontal frame which adds
a BeginBarLine to the next measure
- overrides the EndBarLine of a previous measure in the system
- StartRepeatBarLine
- after a horizontal frame it overrides a BeginBarLine
- is prepended by a system header if in the first system measure
- sets the _repeatStart measure flag
- BarLine
- is in the middle of a measure and has no semantic (repeat etc.)
(tick > start tick of measure and tick < end tick of measure)
- EndBarLine
- is created automatically
- maybe not the last Segment in a Measure (cautionary elements can follow)
-Known Issues
* tablature not tested, has likely regressions
* some scripting interface functions are commented out
* horizontal layout mode not working right
Sun Apr 17 14:00:00 2016 SauerlandlinuxAATTgmx.de
- Version 2.0.3 , released April 2016
- Cresc. and dim. dashed lines (cresc. _ _ _ _ _ )
- Localized translations of \"Getting Started\" interactive tutorial score
- Adding ties to notes already entered will be possible without
leaving note input mode
- Built-in \"revert to factory settings\" command
- Reorder linked parts is now possible in Parts dialog
- Copy lyrics to clipboard tool under Edit → Tools
- New compressor effect in the Synthesizer
- Keyboard shortcut for sforzato/accent (default Shift+V),
matching shortcuts for staccato, tenuto, and marcato
- New instruments supported: more trumpets and cornets,
traverso (baroque flute),
contra guitar
- Twenty new default guitar fretboard diagrams in Advanced workspace
and Master Palette
- Option in Preferences → Canvas to show pages scrolling
vertically or horizontally
- Marching percussion sounds included by default
Fri Nov 13 13:00:00 2015 cornelisAATTsolcon.nl
- add make-lame-optional.diff (backport from upstream) so that we
can build without lame
- lowered Qt requires to 5.3.0 (as CMakefilelist has it)
Tue Sep 1 14:00:00 2015 wbauerAATTtmo.at
- fix package dependencies (boo#943985)
Tue Jul 21 14:00:00 2015 cgardnerAATTsuse.com
- Version 2.0.2, released July 2015.
Wed Mar 25 13:00:00 2015 cgardnerAATTsuse.com
- Update to consistently require Qt5 (5.4.2) for all distros from this repo
to reduce problems with mismatched Qt libraries preventing mscore from loading
Mon Mar 23 13:00:00 2015 cgardnerAATTsuse.com
- Version 2.0, released 23 March 2014. See
http://musescore.org/en/node/50996
This is the first major release of MuseScore since version 1.3
Sun Oct 27 13:00:00 2013 schoettAATTgmx.de
- Install mime data file mscore.xml.
Wed Feb 27 13:00:00 2013 cgardnerAATTsuse.com
- Version 1.3, released 27 Feb 2013. See
http://musescore.org/en/developers-handbook/release-notes/release-notes-musescore-1.3
This release has a very limited number of bug fixes over 1.2.
Thu Mar 15 13:00:00 2012 cgardnerAATTsuse.com
- Added /etc/modules-load.d/musescore.conf to load snd-seq on openSUSE 12+
Tue Mar 13 13:00:00 2012 cgardnerAATTsuse.com
- Version 1.2, released 13 March 2012. See
http://musescore.org/en/developers-handbook/release-notes/release-notes-musescore-1.2
As usual, a few new features and many bugfixes.
Thu Jul 28 14:00:00 2011 cgardnerAATTsuse.com
- Version 1.1, released 27 July 2011. See
http://musescore.org/en/developers-handbook/release-notes-musescore-1.1
Many new features, and more than 60 bugs fixed.
Thu May 26 14:00:00 2011 cgardnerAATTsuse.de
- Fixed compiler problem introduced by gcc 4.6
Tue Feb 8 13:00:00 2011 cgardnerAATTnovell.com
- Removed lilypond from BuildRequires. It's clearly not needed.
Thanks to Nicolas Froment for pointing this out.
Mon Feb 7 13:00:00 2011 cgardnerAATTnovell.com
- First major release, version 1.0. See http://musescore.org/en/node/9020
Several new features, scores of bug fixes.
Tue Oct 5 14:00:00 2010 cgardnerAATTnovell.com
- update to version 0.9.6.3, with the following bug fixes:
* fix #6775: Seg. fault by double clicking any element twice
* fix #7233: Transpose by diminished second doesn't work (0.9.6 branch regression)
* fix #7232: D.S. after coda sign freezes playback
* fix #7167: Time signature change causes triplets to corrupt score
* fix #7211: Copy/Paste notes over rest of diff. durations in staves
* fix #7142: Crescendo & delete measures problems
* fix #7197: MuseScore fails to open MSCZ files with capitals
* fix #6932: Changing notehead of a breve crash
* fix #7077: Applying double-note tremolo to dotted notes fails and alter measure duration
* fix #6937: Measure Properties should be modal dialog
* fix #6888: When exchanging voice, voice 1 is removed
* fix get keysig from plugin when concert pitch mode is set
* fix #6735: C# for AltoSax in default soundfont is silent
* add access to DPI and notehead, note boundingbox and note position from plugin framework
* fix #7150: Changing soundfont does not work for audio export
Tue Sep 14 14:00:00 2010 cgardnerAATTnovell.com
- update to version 0.9.6.2, with the following bug fixes:
15.aug (la)
* fix #6658: Natural in every keysig on mac PPC
* fix #6508: Crash removing instrument with volta
* fix #6706: Crash when inserting slurs from palette while editing text
* fix #6740: Autosave works only the first time
10.aug (ws)
* fix repeat command (ctrl+r) for staves > 1
6.aug (ws)
* attempt to fix font problem (quarternote looks too big in text)
5.aug (la)
* fix #6479: Crash when closing score during playback
* fix #6505: Mixer is not refreshed when scores are switched
4.aug (la)
* fix #6597: Close/reload crash on XP
* fix #6624: Crash when deleting a tuplet from a MusicXML import
* fix cursor move on repeatmeasure in plugin framework
* fix instrument name containing flats for plugin framework
14.jul (ws)
* fix mouse wheel handling for mixer elements
Thu Jul 8 14:00:00 2010 cgardnerAATTnovell.com
- update to version 0.9.6
"branched" to multimedia project.
Thu Nov 26 13:00:00 2009 larsAATTlinux-schulserver.de
- update to version 0.9.5