Commit graph

412 commits

Author SHA1 Message Date
ws
6e8ed9b196 addition to fix #37651: complete layout calculations 2014-10-28 15:22:39 +01:00
ws
aa05b92793 fix #37651 2014-10-28 14:41:27 +01:00
ws
4be8014426 fix #37666 2014-10-28 11:47:04 +01:00
ws
fc3ea8e434 fix #29931 2014-10-23 17:00:23 +02:00
Werner Schweer
386775aae4 Merge pull request #1361 from mgavioli/Fix_useless_non-generated_normal_barlines_in_old_scores
Fix bar line generated status when reading old scores
2014-10-13 12:38:34 +02:00
ws
5b6af43bee fix visualization of keysig drop target 2014-10-13 11:23:22 +02:00
ws
986f35d149 fix for mmrest + start repeat 2014-10-10 14:24:37 +02:00
ws
9b8c7c67ee fix #35496 2014-10-10 11:52:44 +02:00
ws
e853dbf4fd fix #33381 2014-10-10 11:15:48 +02:00
Maurizio M. Gavioli
2e14f40b43 Fix bar line generated status when reading old scores
In old scores (1.x and transitional 2.0 scores, including templates and "My First Score"), regular bar lines are often needlessly stored in score files.

These bar lines are read back as non-generated, and may misbehave; for instance, may generate an extra 'courtesy' start-repeat at system end, if an start-repeat is added at the first measure of next system.

This fix normalizes bar line flags if, while reading them back, they are found to be normal.

Note: only a single line of code is changed in Measure::read() methods; the large number of affected files is due to test fixing.
2014-10-08 11:43:46 +02:00
ws
abf64419bb fix #14548 2014-10-08 10:57:24 +02:00
AntonioBL
853af91b2c fix #30681 2014-10-06 18:44:08 +02:00
ws
a614472df7 fix #34876 2014-10-04 18:22:52 +02:00
Nicolas Froment
6006fb6ea6 Merge pull request #1330 from MarcSabatella/33246-hyphen-melisma-space
Spacing of melisma syllables
2014-09-29 18:00:23 +02:00
ws
74065ff7f4 fix #33616 2014-09-29 11:58:44 +02:00
ws
705bd2c315 fix delete nested tuplet in linked stave context 2014-09-29 09:39:45 +02:00
ws
a0d7ad6644 remove ChangeHairpin(); remove unecessary calls to updateHairpin() 2014-09-24 11:19:07 +02:00
Marc Sabatella
ab15653628 avoid overlaps of melisma syllables, extenders, and hyphens 2014-09-22 11:56:32 -06:00
Marc Sabatella
fa7fb047df fix #31901: voice of lyric in 1.3 score ignored 2014-09-21 11:49:09 -06:00
Maurizio M. Gavioli
5621af1c2b Style of the initial bar line of a system.
In some engraving styles (mainly jazz), a double system initial bar line is used at structural articulations of the piece.

The PR supports this style, by adding a `_systemInitialBarLineStyle` variable to the `Measure` class which controls the style of the system bar line when the measure is the first of the system and by default it is set to NORMAL. This variable is not accessed directly; rather it is controlled by manipulating the system bar line. A system bar line can be edited:

- by dropping on it a bar line style from the palette (structural styles, like any repeat or END are ignored);
- by selecting it and double clicking a bar line style from the palette (same note as above).

It can be reset:

- by undo;
- by dropping on it (or selecting and double clicking) a NORMAL bar line style from the palette;
- by selecting and deleting it.

As the system bar line style is stored in the measure, if the first measure of a system changes (because of some other editing), the system bar line style will follow accordingly.
2014-09-16 13:20:15 +02:00
Maurizio M. Gavioli
e7465e9b7c Fix Measure::read() as indicated by failing tests. 2014-09-12 12:52:18 +02:00
Maurizio M. Gavioli
cbfebb38ec Bar lines: Fix custom span and generated management.
This PR should complete the revision of bar line flag managements.

- Make sure single bar line span changes affect both the `_customSpan` and the `_generated` flags.
- Make sure that manually bringing a custom-spanned bar line to default span resets the `_customSpan` flag and, if no other customization is in effect. the `_generated` flag.
- Deleting a measure bar line resets it to default configuration.
- Fix a missing initialization of `Measure::_endBarLineColor` variable.
- To simplify tests and debug, check boxes for the `BarLine::_customSpan` and the `BarLine::_customSubtype` have been added to the debugger dialogue box.

As far as system-initial bar lines are concerned, they were made un-editable by a recent commit (https://github.com/musescore/MuseScore/pull/1300). This PR add a few consistency changes:

- system-initial bar lines do not accept drops;
- they are not saved to score output files and are ignored when reading from them;
- their internal `_customSybtype` and _customSpan` flags are always false;
- they do not show up in the Inspector (if a system bar line is selected, the Inspector remains blank)

This PR DOES NOT include the special system-initial double bar management recently discussed. This will be part of a specific PR in the next days.

Together with previous PR's, this should ensure that:

- bar lines are written to a score output file only when some customization is in effect which cannot be reconstructed when reading back;
- any measure bar line can be edited;
- any measure bar line user edit is saved, written to the score file and read back properly;
- no system bar line edit is possible.
2014-09-11 01:31:10 +02:00
Nicolas Froment
957d26e98b Merge pull request #1285 from MarcSabatella/32441-empty-key
fix #32441: bad layout with empty key signature
2014-09-09 22:04:14 +02:00
Marc Sabatella
107772a987 fix #32441: bad layout with empty key signature 2014-09-07 15:40:23 -06:00
Maurizio M. Gavioli
91e88fe9fa Bar lines: fixing custom type and generated management
There are some inconsistencies in the current management of bar line `_generated` flag and user-modified type:

- Bar lines created by the New Score Wizard are flagged as non-generated, as well as bar lines of measures manually **appended** by the user, while bar lines of measures **inserted** are flagged as generated.
- If a generated bar line is individually changed of typed, it remains flagged as generated, it is not saved and the change is lost upon saving and re-loading.
- The management of the internal flag `BarLine::_customSubtype` is not always consistent.
- The `Measure::_endBarLineGenerated` flag was not always restored properly by undo.

This PR introduces the following fixes:

- The `_generated` flag is consistently used for bar lines whose type can be reconstructed from the context and then do not need to be saved to the output file.
- Normal bar lines are **always** created as generated: initially created by the Wizard, manually appended or inserted.
- Bar lines with custom type (i.e. different from the type which can be expected according to the bar line context) are always flagged as non-generated, ensuring the custom type is written to the output file.
- The `Measure::_endBarLineGenerated` flag is stored by `ChangeEndBarLineType()` and restore upon undo.
- Some test reference scores, based on the inconsistent bar line `_generated` flag, have been uniformed.

Notes:

- Tests about measure (and then bar line) appending, inserting and relative undo's are already included in the `tst_parts` test suite.
- Some inconsistencies remain in the management of custom bar line span and of system-initial bar lines: for the sake of simplicity, they will be dealt with in separate PR's.
2014-09-06 10:36:35 +02:00
ws
bab5bd83b2 fix #30966 2014-08-29 10:35:17 +02:00
ws
0af0091e11 fix #30961 2014-08-27 14:36:42 +02:00
ws
4cc20f8679 fix #29911 2014-08-26 21:01:21 +02:00
ws
e72678a075 fix #30836 2014-08-26 15:07:40 +02:00
ws
26dfd95eb9 fix #30431 2014-08-25 19:31:07 +02:00
ws
9b27beff0c fix #30586 2014-08-25 12:29:46 +02:00
lasconic
cacad697f9 fix #30581: Crash on load of 1.3 score with parts and measure number on all staves 2014-08-24 10:41:30 +02:00
Andrei Tuicu
c3ff25358b fix 30281
Fix readability
Optimize string allocation
	modified:   libmscore/accidental.cpp
	modified:   libmscore/ambitus.cpp
	modified:   libmscore/articulation.cpp
	modified:   libmscore/barline.cpp
	modified:   libmscore/chord.cpp
	modified:   libmscore/chordline.cpp
	modified:   libmscore/chordrest.cpp
	modified:   libmscore/dynamic.cpp
	modified:   libmscore/fingering.cpp
	modified:   libmscore/hairpin.cpp
	modified:   libmscore/harmony.cpp
	modified:   libmscore/jump.cpp
	modified:   libmscore/keysig.cpp
	modified:   libmscore/marker.cpp
	modified:   libmscore/measure.cpp
	modified:   libmscore/note.cpp
	modified:   libmscore/ottava.cpp
	modified:   libmscore/rest.cpp
	modified:   libmscore/score.h
	modified:   libmscore/tempotext.cpp
	modified:   libmscore/text.cpp
	modified:   libmscore/timesig.cpp
	modified:   libmscore/tremolo.cpp
	modified:   libmscore/trill.cpp
	modified:   libmscore/volta.cpp
	modified:   mscore/scoreaccessibility.cpp
2014-08-21 20:33:11 +03:00
ws
8547e27734 fix #30041 2014-08-21 15:01:54 +02:00
Dag Henning Liodden Sørbø
b33a828174 fix #21257 : Breath is placed correctly when dropped on a note in other voice than default 2014-08-20 17:00:52 +02:00
Andrei Tuicu
6460485d3f Score accessibility system.
Provides screen-reader feedback for the selected element.
2014-08-19 00:09:13 +03:00
Nicolas Froment
11be7ba1b8 Merge pull request #1146 from andreituicu/next_element_command
Next element command
2014-08-17 17:13:39 +02:00
Andrei Tuicu
9caa98b130 Added 4 new navigation commands:
- next element
- previous element
- first element
- last element
2014-08-17 17:25:21 +03:00
Joachim Schmitz
facd9bce0b fix 2 compiler warnings
and convert enum DrumsetKi9nd into an enum class in the due course
2014-08-17 12:50:22 +02:00
ws
6d46589c56 fix #29431 2014-08-13 21:01:21 +02:00
ws
f8c8747691 fix #23700 2014-08-13 17:45:53 +02:00
ws
9e93f15037 fix #29511 2014-08-13 15:42:55 +02:00
ws
0c44719a58 fix #29241 2014-08-11 15:26:29 +02:00
ws
a2a87a90c8 move Jump & Marker from Segment to Measure 2014-08-05 20:40:43 +02:00
ws
2f8b654ef0 fix #28936 2014-08-05 16:09:14 +02:00
Nicolas Froment
b6b99527d4 Merge pull request #1093 from MarcSabatella/28881-rest-space
fix #28881: bad spacing of full measure rest in multivoice context
2014-08-04 11:19:51 +02:00
Marc Sabatella
6c9234ad63 fix #25409: always at least 4sp below lyrics 2014-08-03 22:01:41 -06:00
Marc Sabatella
42f8ece19d fix #28881: bad spacing of full measure rest in multivoice context 2014-08-03 21:02:37 -06:00
ws
499a0f4464 ignore empty text element when reading score 2014-07-31 13:45:05 +02:00
ws
bc891168eb fix #25876 2014-07-29 18:49:13 +02:00
ws
ec344a3cf9 fix #25876 2014-07-28 15:54:58 +02:00
ws
e8e5f99c71 fix #28331 2014-07-27 15:06:49 +02:00
ws
66fcc1628c fix #28306 2014-07-27 12:39:00 +02:00
ws
f97a8b22c6 cleaner clef/cleflist implementation 2014-07-25 17:13:42 +02:00
ws
26bb716f25 link section break in parts 2014-07-24 12:37:08 +02:00
ws
28a31ccddd fix #27901 2014-07-21 14:28:37 +02:00
ws
17910f7441 remove id from spanner class 2014-07-21 14:28:37 +02:00
ws
1e94611118 partial fix for #18510 2014-07-17 15:28:02 +02:00
Bartlomiej Lewandowski
b76327c6f9 Refactored common code from measure and score scanElements to segment 2014-07-16 17:44:03 +02:00
ws
a2c0bf6188 fix #26476 2014-07-15 12:49:51 +02:00
ws
7aa55d072e fix #25941 2014-07-02 09:56:05 +02:00
Joachim Schmitz
29d17dae5c rename LayoutBreak::LayoutBreakType to LayoutBreak::Type 2014-06-26 11:57:45 +02:00
Joachim Schmitz
e6e7436177 move SegmentType to Segment::Type and make int again
needed to make it available to the plugin framework
and the memory saved is not worth the performance penalty
2014-06-26 11:57:39 +02:00
Joachim Schmitz
75623c53dc move ElementType to Element::Type
needed to make it available to the Plugin framework
2014-06-26 11:57:35 +02:00
Maurizio M. Gavioli
396c3324a8 Fix reading of measures with custom bar line sub-type.
If a measure has, in one staff, a bar line with a custom sub-type, the sub-type is applied to the bar lines of all the staves of this measure.

Fixed in `Measure::read()`.
2014-06-25 10:19:37 +02:00
Joachim Schmitz
83a72f49d9 small step further in converting enum Repeat into enum class
not there yet, as at least overloaded operators for |, &, |=, &= and ~ would be needed to make this fully working. And even then it'd require lots of explict casting. This is most probably not be worth the price...
2014-06-24 14:46:48 +02:00
ws
b4066a7976 stronger typing for key 2014-06-20 17:07:22 +02:00
ws
7e4c70a50a fix #19332 2014-06-19 15:27:44 +02:00
ws
5fc08d094b update Volta 2014-06-19 11:34:28 +02:00
Joachim Schmitz
843356beb7 disable unused local variables 2014-06-10 09:27:51 +02:00
ws
9a6d909a29 fix #25945 2014-06-05 11:37:21 +02:00
ws
e8be73f41b fix transposition when changing instrument 2014-06-04 10:40:26 +02:00
ws
b7dd5af499 update KeySig implementation 2014-06-03 15:28:10 +02:00
ws
e1b1246e0c make SegmentType an global enum class 2014-06-01 20:24:29 +02:00
lasconic
8c7a103d8b fix #25905: Joined scores in album lose offset information 2014-05-30 21:46:27 +02:00
ws
3ae79f8b3e fix #25238 2014-05-30 17:25:52 +02:00
Nicolas Froment
e4ca2a3d23 Merge pull request #936 from Jojo-Schmitz/enum-class
convert as many "enum" as possible to "enum class", and make them ": char" in the due course #4
2014-05-30 15:39:43 +02:00
Nicolas Froment
1ac9d5e7a6 Merge pull request #928 from MarcSabatella/25648-move-accidentals
fix layout issues with offset chords & notes
2014-05-30 15:37:55 +02:00
Joachim Schmitz
562c92e2bc convert enum PlayMode into enum class
and make enum LayoutFlag a ": char" (making it an enum class requires
more work, as it is used for flags)
2014-05-30 13:37:35 +02:00
Joachim Schmitz
6c3c437b55 convert enum LayoutMode into enum class 2014-05-30 13:37:34 +02:00
Joachim Schmitz
f76946c2cf convert unnamed enum into enum class IconType
and change to a better sentinel for end of list.
Also move the Q_DECLARE_METATYPE(Ms::ValueType) nearer to its
definition.

This should conclude the work on the enums in libmsore/mscore.h.
2014-05-30 13:37:32 +02:00
Joachim Schmitz
eac6e60fbd convert enum BarLineType into enum class 2014-05-30 13:37:31 +02:00
Joachim Schmitz
79474e3fcc convert unnamed enum into enum TextStyleType
more work needed to make it an enum class
2014-05-30 13:37:30 +02:00
ws
401f48fcd7 fix #25884 2014-05-29 14:04:14 +02:00
Marc Sabatella
c26d619282 fix #15125: spacing of lyric on offset note 2014-05-27 15:27:26 -06:00
Marc Sabatella
69e4c2170b fix #25809: space before initial chord with grace note after 2014-05-27 15:27:23 -06:00
Marc Sabatella
fbc676111d fix #25803: account for user offset during chord layout 2014-05-27 15:27:22 -06:00
Joachim Schmitz
76db7c6f66 convert enum AccidentalVal into enum class 2014-05-27 11:41:07 +02:00
Joachim Schmitz
641a7a5a91 convert enum NoteType into enum class 2014-05-27 10:35:28 +02:00
Joachim Schmitz
826c956013 convert enum SelectType into enum class 2014-05-27 10:34:08 +02:00
Joachim Schmitz
c79ae39d0e convert enum Anchor into enum class 2014-05-26 20:48:27 +02:00
Joachim Schmitz
7f1b612615 convert enum P_ID into enum class 2014-05-26 18:18:01 +02:00
Joachim Schmitz
0b43247956 convert enum StyleIdx into enum class 2014-05-26 15:31:36 +02:00
Joachim Schmitz
906ba4aafd convert enum SpacerType into enum class 2014-05-26 12:46:24 +02:00
Joachim Schmitz
183461757e convert enum TremoloType into enum class
and fix a minor white-space damage caused by 0f28d75 and 2ae0940
2014-05-26 12:27:39 +02:00
Joachim Schmitz
6c6c6ad22c convert unnamed enum to enum Repeat
and make it ": char". Making it a class requires more work,
unfortunatly.
2014-05-23 12:10:15 +02:00
Joachim Schmitz
931e837c5e convert enum ElementType into enum class 2014-05-23 10:35:27 +02:00
Joachim Schmitz
a1c6c8c493 improve enum ElementFlag
more work needed to convert it into a class, same issue as with
ArticulationShowIn.
2014-05-23 10:35:22 +02:00
Joachim Schmitz
2ae0940bdd convert enum LayoutBreakType to enum class 2014-05-23 10:35:13 +02:00
Joachim Schmitz
27f8ca023f convert enum DurationType to enum class 2014-05-23 10:34:57 +02:00