Commit graph

698 commits

Author SHA1 Message Date
DangWang
c5be1af3ba fix #16077 part 2: Double click a header/footer to open the corresponding menu 2020-04-28 15:38:36 +03:00
anatoly-os
4c317ac6c9
Merge pull request #5795 from Jojo-Schmitz/256th-1024th
Fix #43906: Completing support for 256th, 512th and 1024th durations
2020-04-21 22:23:53 +03:00
anatoly-os
232acabd32
Merge pull request #5750 from njvdberg/issue-280311-broken-tie
Fix #280311 - Tie broken when using Split Staff
2020-04-21 21:00:42 +03:00
Joachim Schmitz
4b93e91b04 fix #43906: completing support of 256th, 512th and 1024th durations 2020-04-19 13:13:04 +02:00
Dmitri Ovodok
52a4af41b2 Limit segment searching on dragging to one staff 2020-04-17 00:05:38 +03:00
Dmitri Ovodok
98e483bd0b Add spacingFactor parameter to position searching functions
This allows to define a ratio which is used to split canvas between
the adjacent segments, systems etc.
2020-04-17 00:05:37 +03:00
Dmitri Ovodok
9c6566e611 Fix searching systems for dragging 2020-04-17 00:05:37 +03:00
Dmitri Ovodok
265b5f9b2b Extract searchSegment function to search a segment by its x coordinate 2020-04-17 00:05:32 +03:00
Dmitri Ovodok
60169a6082 Extract searchStaff function to search a staff by its y coordinate 2020-04-17 00:05:31 +03:00
anatoly-os
613a4e39fe
Merge pull request #5738 from dmitrio95/anchors_drawing
Rework anchor lines drawing
2020-04-16 13:33:03 +03:00
J. Edward Sanchez
f363220a1b Fix #297426: The playback cursor is not repositioned when selecting items other than notes, rests or measures
Improved the functionality of the playhead (a.k.a. the playback cursor) so that whenever the user selects an element, the playhead is automatically repositioned to the element's time position. Previously, this worked only for noteheads and rests, but it now works for note stems, beams, augmentation dots, accidentals, ties, slurs, articulations, time signatures, key signatures, clefs, tempo changes, dynamics, lines, barlines, breaks, spacers, measure numbers, text, and so on.

Special cases handled:

* Barlines. The playhead is moved to the start of the measure to the right of the barline, unless it's the last barline in either the entire score or the system, in which case the playhead is moved to the start of the measure to the left of the barline.

* Brackets always have a time position of zero, so the playhead is moved to the start of the first measure in the system that the bracket belongs to.

* Instrument names always have a time position of zero, so the playhead is moved to the start of the first measure in the system that the instrument name belongs to.
2020-04-14 05:15:05 -07:00
anatoly-os
96c03195e3
Merge pull request #5745 from dmitrio95/layout-opt
Layout optimizations
2020-04-09 17:39:23 +03:00
Dmitri Ovodok
4c5e9ed273 Fix anchor lines on non-first pages 2020-04-04 01:05:58 +03:00
Igor Korsukov
f9b1e499c5 Some fixes basic chord symbol realization 2020-03-19 14:03:47 +02:00
Peter Hieu Vu
86a4e7b105 Added basic chord symbol realization 2020-03-19 13:52:39 +02:00
Dmitri Ovodok
7012eb7254
Merge pull request #5500 from Howard-C/prefer-sharp-flat
fix #288495: allow user to select flats or sharps for enharmonic key signatures
2020-03-17 10:26:55 +02:00
Dmitri Ovodok
684df202c6 fix #286842: fix assertion failure on adding instrument change to score with parts
Ensure that MIDI mapping gets rebuilt after the correct structure
of instruments has been established for all parts.
2020-03-03 15:28:42 +02:00
Niek van den Berg
123943d83f Fix #280311 - Tie broken when using Split Staff
This issue reports two problems:
  1)  Broken tie for notes under the split pitch.
  2)  Corrupted file because of uncorrect split triplets.

This commit solves the first issue by creating a new Tie when for a note under
the split pitch a forward tie is detected. The patch temporarily saves the
new note and the old pitch in a map in which the old tied is used as key.
When this old tied note is detected, a new tie is created between the two new
notes and the old tie is removed.

The second issue is solved by creating tuplets in the splitted staff. This can
cause tuplets with only rest. These tuplets are not removed, this should
cleaned up by the  Regroup Rhythms function. Unfortunately, this function
isn't able tuplet that well. But that's another issue which should be solved
there.
2020-02-24 08:14:33 +01:00
Dmitri Ovodok
3d98ba9ab2 Optimize getting segment tick / staff type in local magnitude and spatium calculations 2020-02-21 22:27:47 +02:00
MarcSabatella
b5d53248ab fix #301436: invalid selection when navigating with mmrests
Resolves: https://musescore.org/en/node/301436

The accessibility navigation commands
(Alt+Left/Right, also Ctrl+Alt+Shift+Left/Right)
were not properly checking for mmrests,
resulting in selection of elements in the underlying measures
that were not valid in the current layout.
This adds the necessary checks.
Mostly just a matter of adding "MM" to various function calls.
In a couple of places, the appropriate function did not exist,
so I added it.
Also corrected errors in Ctrl+Alt+Shift+Left/Right
that occurs when going past the end of a staff,
the code to wrap around to the next staff this case well.
In part this is because the implementation of barlines changed
since the code was written.
Barlines are per-staff now even when spanned,
so the use and management of prevTrack is no longer appropriate.
2020-02-21 12:23:26 -07:00
Howard-C
f4067b5c0f fix #288495: allow user to select flats or sharps for enharmonic key signatures
Resolves: https://musescore.org/node/288495.

A new part property `_preferSharpFlat` is added to let the user decide.
2020-02-10 19:24:43 +08:00
Dmitri Ovodok
e3d44b60a5 Plugin API: merge changes from onScoreStateChanged with user action in undo stack 2020-01-20 13:45:46 +02:00
anatoly-os
88c531ee23
Merge pull request #5396 from Jojo-Schmitz/more-user-text-styles
fix #277501: support more individual text styles
2020-01-15 02:02:07 -08:00
Dmitri Ovodok
89b2c34e61
Merge pull request #5502 from Git-Lior/bugfix-select-more
fix #297549: Selecting notes by duration matches notes with different duration
2019-12-25 14:04:20 +02:00
luz.paz
f31624d746 fix various typos
* Found via `codespell -q 3 -S ./share/locale,./thirdparty -L ba,cann,clas,dur,foto,iff,nd,ois,ot,pres,possibile,snaped,strack,tage,te,uint,thru,valu`  
* Some revisions made per feedback given during review.
* Follow-up typos for review  
* Add revisions per feedback
2019-12-19 06:13:30 -05:00
Git-Lior
75df39e413 fix #297549: Selecting notes by duration only matches durationType (Eighth, 16th) and ignores tuplets
This commit fixes the "Same duration" field's bug by adding an additional field - same note length. The original field matches note's `actualDurationType` and the new one matches the `actualTicks` value
2019-12-01 23:43:38 +02:00
Dmitri Ovodok
d34f1b838d Enable changing notes duration if selecting note stem, hook or a range 2019-11-23 13:19:54 +02:00
pereverzev_v
8562cdae63 fix #297008 Repeated behavior of transition to note input mode accordingly to cases when no items selected
Turn on note input mode by toggling pad even if user selection is on the text element for example
2019-11-21 10:08:25 +02:00
Joachim Schmitz
bf1ad8de5b fix #277501: support more individual text styles
esp. for importing MuseScore 2 scores using many such styles
2019-11-15 13:25:31 +01:00
Dmitri Ovodok
b8eba0fa81 fix #296566: erase invalid elements from CmdState
Prevents crashes if an element triggering layout has been deleted,
e.g. in case of an unsuccessful attempt to add a glissando to a score.
2019-11-11 09:27:42 +02:00
Howard-C
993d705a29 fix #283628: fermata "play" property does not work
Resolves: https://musescore.org/node/283628.
2019-11-01 13:35:50 +08:00
Dmitri Ovodok
0a39d0a593 Fix automatic viewport changes in scores with parts 2019-10-30 16:36:18 +02:00
Dmitri Ovodok
99c7b0d746 Add more information to setLayout() 2019-10-25 16:18:41 +02:00
anatoly-os
44d2b20c2d
Merge pull request #5376 from mattmcclinch/note-input-redesign
Redesign note input workflow based on Tantacrul's suggestions
2019-10-24 11:04:40 +02:00
anatoly-os
5ea06dc407
Merge pull request #5401 from dmitrio95/295792-change-duration-std-sort-crash
fix #295792: fix a crash on changing duration of multiple notes in some situations
2019-10-18 23:23:26 +02:00
Dmitri Ovodok
eb2da4cc0f fix #295792: fix a crash on changing duration of multiple notes in some situations 2019-10-18 16:17:13 +02:00
Dmitri Ovodok
c004c48906 fix #292830: fix copying lyrics to clipboard
Was broken after 1a6058f9a1.
Score::extractLyrics() depends on Measure::_playbackCount values which
are used internally by RepeatList. A quick way to fix the issue with
extracting lyrics (implemented in this commit) is to force repeat list
to be computed before resetting playbackCount variables inside
extractLyrics().
2019-10-18 11:39:37 +02:00
Matt McClinch
c07d2058bb Redesign note input workflow based on Tantacrul's suggestions.
See https://musescore.org/en/noteinput_redesign.

This implements most of the changes Tantacrul suggested in his document, except for the part on Tuplets.
2019-10-15 07:29:17 -04:00
anatoly-os
e2f3431e03 fix clang warnings
But the ones related to deprecations in third-party libs

* Remove unused variables
* Prevent calling non-virtual destructors
* Prevent the warning "Moving a temporary object prevents copy elision" by removing std::move call
* disable "`register` is deprecated" warning related to the 3rd party code
2019-10-14 19:01:59 +02:00
Dmitri Ovodok
cf17cf828d fix #281866: fix inability to correctly set loop markers in parts
As playback is currently always performed for MasterScore, it would be
logical to store the information about positions of playback cursor and
loop markers in MasterScore rather than individual excerpt scores.
This commit implements this approach and fixes the issue with
inability to set loop markers from parts. Strictly speaking, only
changing Seq::setLoopSelection is absolutely necessary to fix the
issue, the approach with moving _pos to MasterScore allows to naturally
avoid incorrect visual feedback due to markers positions information
being not synchronized across scores and ScoreViews.
2019-09-23 16:17:57 +02:00
James Thistlewood
3f40a56dd9 fix #293707: undo doesn't restore deleted frame immediately
Why do these changes fix this particular issue?

After adding any other element, we `setLayout` at the element's
location. However, for boxes, there is an early return, and this step is
missed, meaning the box won't appear until a relevant measure is layed out.
This fix adds the missing `setLayout`.
2019-09-04 17:50:37 +01:00
Dmitri Ovodok
f8718a8b42 Remove unused code
- Remove disabled and largely outdated continuous view layout code
 - Remove declarations of functions which have no definition
 - Remove unused global libmscore variables
 - Remove some excessive forward declarations
2019-08-03 15:52:09 +03:00
Joachim Schmitz
57af1fe2f8 fix compiler warnings on Mac 2019-07-12 10:53:42 +02:00
Dmitri Ovodok
1e04a9db59 fix #290997, pt.1: rebuild tempomap on adding/removing tempo text 2019-06-20 14:58:15 +02:00
Dmitri Ovodok
fc32f2726d fix #290997 pt.2: unify tempo/timesig map rebuilding in layout and fixTicks 2019-06-20 14:58:15 +02:00
Dmitri Ovodok
260a6db916
Merge pull request #5069 from mattmcclinch/164571-update-mixer
fix #164571: UNDO does not remove instrument from mixer
2019-06-17 09:48:30 +02:00
Dmitri Ovodok
a5a5255b0e
Merge pull request #5023 from mattmcclinch/75626-change-voice
fix #75626, fix #287520, restructure ChangeSpannerElements
2019-06-14 11:22:24 +02:00
Matt McClinch
ab62ba1ca0 fix #290415: crash when moving a formerly cross-system-break tied note 2019-06-07 11:56:36 -04:00
Matt McClinch
7c2eb81e71 fix #164571: UNDO does not remove instrument from mixer 2019-05-28 14:48:50 -04:00
anatoly-os
2a6369381c
Merge pull request #5059 from jthistle/289561-repeat-playback-broken
fix #289561: playback continues to repeat after end repeat barline has been deleted
2019-05-26 18:38:10 +02:00