Commit graph

785 commits

Author SHA1 Message Date
Werner Schweer
d435c3e5fc change barline alignment 2017-03-20 18:24:29 +01:00
Werner Schweer
1167ae6a0d barline layout fixes 2017-03-20 18:24:29 +01:00
Werner Schweer
f3ad7db520 fix #182211: Time Signature position of numerals not updated when staff size change 2017-03-20 18:24:29 +01:00
lasconic
752bafc8e9 fix #99146: File > Save Selection… leads to corrupt score if selection is not 4/4 and does not start with time signature 2017-03-09 23:55:10 +01:00
Werner Schweer
867f2582f6 move Segment::Type into SegmentType 2017-03-08 13:12:26 +01:00
Werner Schweer
6e3c2479ca change drop behaviour for end-start repeat barlines 2017-03-08 10:51:19 +01:00
Werner Schweer
297b66f6b6 barline fixes 2017-03-07 18:02:07 +01:00
Werner Schweer
c4b477bab2 fixes for layout, align property 2017-02-23 11:42:03 +01:00
Werner Schweer
88703a3259 interpret custom keys 2017-02-13 12:45:37 +01:00
Werner Schweer
f8417ca046 add SystemText element 2017-01-20 11:05:52 +01:00
Werner Schweer
1d4c6b2f21 move Element::type() to ScoreElement 2017-01-18 14:16:33 +01:00
lasconic
c745526cfe fix compilation after 5433d71 2017-01-16 22:16:10 +01:00
Werner Schweer
5433d719d9 replace TextStyle by SubStyle 2017-01-16 20:59:21 +01:00
Werner Schweer
0b1aea952f layout for movements 2017-01-05 11:28:45 +01:00
Werner Schweer
9bbec943ad fix barlines in palette 2016-12-29 15:11:28 +01:00
Werner Schweer
aa98918784 add 'set as staff default' button for barline in inspector 2016-12-28 19:09:11 +01:00
Werner Schweer
22454df70e small fixes for save/restore barlines 2016-12-28 17:21:30 +01:00
Werner Schweer
1a52a38164 update BarLine, mtests 2016-12-28 16:36:59 +01:00
Werner Schweer
337e885896 barline changes, part-1 2016-12-28 16:36:59 +01:00
Werner Schweer
6e7e05aaec impl. staff type changes 2016-12-18 14:31:34 +01:00
Joachim Schmitz
fd1d06cf98 fix #151361: Can't build in RELEASE mode 2016-12-15 14:21:32 +01:00
Werner Schweer
660b393b98 change StaffType interface 2016-12-14 15:44:24 +01:00
Werner Schweer
cb7485f6f8 hide MStaff 2016-12-14 15:40:26 +01:00
Werner Schweer
6dd13e4074 hide MStaff elements 2016-12-14 15:40:26 +01:00
lasconic
f8a5eb8e34 fix #127281: Crash when adding line/section/page breaks by double-clicking on a multimeasure rest 2016-12-05 15:18:36 +01:00
lasconic
9db7d2207c fix #106021: Reducing actual duration of measure with text elements will corrupt measure 2016-12-05 10:18:23 +01:00
Werner Schweer
107343b1aa fix #148121, #138326; add provisions for global insert mode 2016-12-01 13:35:48 +01:00
Werner Schweer
71842fd4c4 fix #142121: Key signature out of position 2016-11-29 18:39:29 +01:00
Werner Schweer
c5f46bb208 rename Xml() -> XmlWriter() 2016-11-19 11:51:21 +01:00
Werner Schweer
bb7d535ce5 add score ptr to XmlReader and Xml 2016-11-19 10:31:14 +01:00
Werner Schweer
ca4a0d23b7 fix generation of coourtesy time signatures 2016-11-16 15:41:55 +01:00
Werner Schweer
bfde93fa44 small optimizations 2016-11-07 09:59:18 +01:00
Werner Schweer
62ec21a671 replace more complete re-layouts with range layout 2016-11-07 09:59:18 +01:00
Werner Schweer
793e11f486 fix #139501 Collision of lyrics 2016-11-02 14:07:39 +01:00
Werner Schweer
42b14fa114 fix performance regressions: slow loading files 2016-11-02 08:55:54 +01:00
Werner Schweer
85240e9eb0 fix #138966: Spacing problems 2016-10-31 10:55:11 +01:00
Werner Schweer
f91498ad5c fix minimumMeasureWidth style option 2016-10-26 10:35:12 +02:00
Werner Schweer
f7d96502c3 update layout, change handling of clefs, system header and trailer 2016-10-25 17:35:55 +02:00
Werner Schweer
4e0b0dbae0 update layout code 2016-10-20 11:32:17 +02:00
Werner Schweer
79b7746f5b layout updates 2016-10-18 15:41:11 +02:00
Werner Schweer
ac629b716e remove line break if you drop a no break 2016-10-13 16:33:27 +02:00
Werner Schweer
b511d0a490 section break implies line break 2016-10-13 14:28:00 +02:00
Werner Schweer
2b44d04ad9 implement 'fixed' spacer 2016-10-12 20:06:57 +02:00
Werner Schweer
ab1723fc6f implementation of 'no break' layout break type 2016-10-12 17:56:22 +02:00
lasconic
24c05a27f0 fix #136681: Corrupted scores with complex tuplet 2016-10-10 11:20:26 +02:00
Werner Schweer
6f5aadf8ef remove staffIdx(Staff*) from score() 2016-09-28 21:13:05 +02:00
Werner Schweer
fc202d12a3 fix #126386 Crash adding a note to part 2016-09-28 20:20:14 +02:00
Werner Schweer
6ca3fc19e0 fix #124166 printing from MuseScore or exporting via a third-party pdf printer causes an unexpected result 2016-09-26 10:19:35 +02:00
Werner Schweer
e38215d41c update hairpin; fix drag of lines to staff > 1 2016-09-22 17:28:44 +02:00
Werner Schweer
8c18761d3b change accidental file format 2016-09-22 12:02:41 +02:00
lasconic
c57187aa0a fix #125591: Support tick and short barline in MusicXML import/export 2016-09-21 17:10:19 +02:00
Werner Schweer
cdb5ffe856 enhance framework for backward compatibility 2016-09-21 15:49:02 +02:00
Werner Schweer
68c8f68430 fix #124966: Create a pickup measure in parts with two instruments at least causes a crash 2016-09-17 12:51:39 +02:00
Nicolas Froment
c282a23b62 Merge pull request #2656 from Rockettwo/excerptsdialog-singleforeveryVoice
New Excerptsdialog with linked voices
2016-09-14 10:38:01 +02:00
Nicolas Froment
d4004c17e4 Merge pull request #2813 from Jojo-Schmitz/typo
fix typo `checkMeasue` to `checkMeasure`
2016-09-14 10:01:34 +02:00
Werner Schweer
dae86056a3 preparations for new compatibility implementation 2016-09-13 09:40:54 +02:00
Joachim Schmitz
a5b28a46bf fix typo checkMeasue to checkMeasure
as it was mentioned on IRC
2016-09-09 09:33:11 +02:00
werner
7c5e99a358 implement lyrics above stave 2016-08-24 14:49:51 +02:00
Rockettwo
716eb42031 New Excerptsdialog 2016-08-19 13:02:26 +02:00
Peter Jonas
9492dea437
Metronome BeatTypes from timeSig and play click on Real-time advance 2016-08-08 16:46:56 +01:00
werner
3db32df186 impl. timewise delete; fix #120276 2016-08-04 17:29:16 +02:00
lasconic
191a1d5c5d fix mtest for exchangevoice, simplify exchangeVoices signature 2016-07-11 18:29:02 +02:00
Rockettwo
bce3a52e37 fix #42121 fix #78536 fix #103921: Slurs lost on exchange voices and add test for exchange voices 2016-07-11 17:06:05 +02:00
werner
d56ea6e7a2 fix #113851 Placement of the multimeasure rests too high by default 2016-07-08 10:59:26 +02:00
werner
b85cad9d83 replace ticks in mscore file by fraction 2016-07-07 16:20:29 +02:00
werner
1a8cdf1da4 remove many setLayoutAll() calls; cleanups 2016-06-14 10:32:34 +02:00
lasconic
ea736ea364 add debug menu option to hightlight corrupted measures 2016-06-03 18:26:51 +02:00
ws
fab01c5ec6 Merge branch 'dontAllowGaps' of https://github.com/Rockettwo/MuseScore into nogaps 2016-06-03 11:13:54 +02:00
ws
8de3e55b87 speed up some commands; cleanups 2016-06-03 10:49:54 +02:00
ws
66d0b1ed23 misc. layout fixes 2016-06-02 10:38:57 +02:00
Rockettwo
493314bfbe First attempt to not allow gaps any more 2016-06-01 18:31:51 +02:00
Nicolas Froment
84b6f1a0c0 Merge pull request #2608 from lasconic/fix-test-mxl
Enable most of the MusicXML mtest again
2016-05-20 08:33:38 +02:00
ws
1afdb4ce3e reorder layout to fix hooks 2016-05-19 13:15:46 +02:00
ws
b4939d9d94 update UI after command 2016-05-18 16:32:53 +02:00
lasconic
f579b0e23c Enable most of the musicxml mtest again 2016-05-18 16:03:45 +02:00
Joachim Schmitz
b6f3e9dcaa remove post 1.3 and pre-2.0 compatibility checks and tweaks
There's probably quite a bit more, but these are the most
obvious places.
Impoved the error mssage, with a hint where to get 2.0.
Most of the templates and sample scores had been created with a pre2.0
nightly version, so they have been resaved with 2.0.0. They'll most
probably need to get updated for 3.0 at some point again.
2016-05-13 06:55:03 +02:00
ws
32c3100f80 layout optimizations 2016-05-02 13:42:03 +02:00
ws
e6fed8a7ed fix #107671: Accidentals and grace notes collide with stems 2016-04-27 16:33:30 +02:00
ws
069db44e0c fix #106851: changing pitch on percussion staff crashes MuseScore 2016-04-21 14:18:39 +02:00
Joachim Schmitz
7b27c971ca fix #106356: Crash when creating full measure rests 2016-04-21 10:14:42 +02:00
ws
c1195e87fd system header layout test (vtest layout-6) + fixes 2016-04-20 18:56:08 +02:00
ws
d42f0e1cfb fix #106136: not enough space between clefs and notes 2016-04-19 15:18:28 +02:00
ws
a6fa201d89 fix #106466: append an horizontal frame causes a crash 2016-04-18 11:25:57 +02:00
ws
5413b741fc fix #106741: Deleting note from voice2 chord disables automatic stem direction by voice 2016-04-18 11:00:06 +02:00
ws
a97b1db29c add Measure->endBarLineType() method 2016-04-18 09:46:48 +02:00
ws
70e79135c6 add benchmark for incremental layout 2016-04-14 11:45:12 +02:00
ws
765ed8f143 fix spacer between systems 2016-04-13 12:07:47 +02:00
ws
073fd90f8c fix layout for moved beams 2016-04-13 12:07:47 +02:00
ws
5bee246125 some regression fixes 2016-04-13 12:05:47 +02:00
ws
696dc07b54 fix crash in range layout 2016-04-13 12:05:47 +02:00
ws
2874c409ae specialize MasterScore() from Score() 2016-04-13 11:46:21 +02:00
ws
a7dd9039d1 fix more mtest regressions 2016-04-13 11:38:09 +02:00
ws
84cf28089b fix some regressions, mtest 2016-04-13 11:38:08 +02:00
ws
bbd802f8ae framework for partial relayout 2016-04-13 11:35:21 +02:00
ws
6fdbf515e8 changed element type conversion 2016-04-13 11:20:06 +02:00
ws
0fbc597a88 fix alignment of full measure rests 2016-04-13 11:20:06 +02:00
ws
592ce7f53c fix misc. layout regressions 2016-04-13 11:20:05 +02:00
ws
eb279e5e8a misc. layout fixes 2016-04-13 11:20:05 +02:00
ws
078d09cd31 layout fixes; fixes mtest lyrics-5/6 mmrest-8 2016-04-13 11:20:05 +02:00
ws
3880439178 fix beam grouping regression 2016-04-13 11:20:05 +02:00
ws
14ee35ba52 misc. regression fixes 2016-04-13 11:20:05 +02:00
ws
97345495ec fix regressions for system divider 2016-04-13 11:19:01 +02:00
ws
dfe49b06ad barline cleanup 2016-04-13 11:18:15 +02:00
ws
989aae1d93 fix note dot handling in inspector 2016-04-13 11:18:15 +02:00
ws
f9d61ba574 fix layout for harmony elements 2016-04-13 11:18:15 +02:00
ws
9ec1d02471 code cleanups & speed optimizations 2016-04-13 11:18:14 +02:00
ws
492709f203 code cleanups 2016-04-13 11:10:17 +02:00
ws
3d8749ffe9 some regression fixes, code cleanups 2016-04-13 11:08:01 +02:00
ws
9f933d8503 Layout reorganization 2016-04-13 11:05:04 +02:00
lasconic
66d75cc8cf fix #103801: clean up a few -Wmaybe-uninitialized warnings 2016-03-28 15:29:43 +04:00
Marc Sabatella
ffb2559f1d fix #44956: staves with text are not empty 2016-02-18 20:25:00 -07:00
Nicolas Froment
1e2ec0d825 Merge pull request #2348 from MarcSabatella/88061-lyric-voice-y
fix #88061: bad staff spacing with lyrics in multiple voices
2016-02-17 17:52:42 +04:00
Marc Sabatella
3f44c3e9c0 fix #97931: system initial barline type lost on reload 2016-02-16 14:06:13 -07:00
Eric Fontaine
7aa8c7e6cd fix #96971 suppress benign make release warnings
This commit removes some -Wempty-body, -Wmaybe-uninitialized, -Wunused-variable, and -Wstrict-overflow compiler warnings that arise on my x86-64 and ARM arch linux machines when compiling release.
These compiler warnings don't seem to cause any bugs, but since they pollute the build output, they make it harder to spot potentially important warnings that might arise, so I'm making these small changes to keep the build output clean.
The "empty-body" warnings occur because the Q_ASSERT statements are removed for release compiles, causing the else blocks to be empty.  Surrounding the Q_ASSERT with brackets will let the compiler know we aren't unintentionally having an empty else body.
The "maybe-uninitialized" warnings are handled by assigning the variables to 0 either at initialization or in a switch default block.
The "unused-variable" warning is due to PeriodItem updatePeriods[] in preferences.cpp being defined but never used, so I've removed PeriodItem.  Also a recent commit has an unused "int staves", which I've removed.
The "strict-overflow" warning is due to compiler wanting to perform an optimization which would cause signed overflow during a comparison operation.  I've made the compiler happy by casting the barIndex'es into unsigned ints, so it doesn't have to worry.
2016-02-12 01:28:16 -05:00
lasconic
9f05f02636 fix #81731: Crash when repeatedly pressing Shift+A 2016-01-22 11:34:31 +04:00
Marc Sabatella
a14fb3fe59 fix #88061: bad staff spacing with lyrics in multiple voices 2016-01-16 19:10:19 -07:00
Marc Sabatella
8a1232524b fix #92626: corruption when removing all existing staves and adding new ones 2016-01-03 12:40:36 -07:00
ws
d8e4373435 make DPI=72 constant 2015-11-16 14:24:47 +01:00
ws
deaac4ae40 change debug output to mm 2015-11-10 11:31:08 +01:00
ws
164f5d02c2 more debug infos during layout 2015-11-10 11:02:52 +01:00
ws
eb315facf4 fix merge conflicts 2015-10-28 17:54:18 +01:00
Werner Schweer
aa648cf6ee Merge pull request #2227 from ericfont/78216-no-courtesy-key-time-sig-ends-non-measure-layoutSystemRow
fix #78216 no courtesy key or time sig if section ends on non-measure
2015-10-28 16:21:25 +01:00
Werner Schweer
e35a2a124d Merge pull request #2150 from MarcSabatella/cutaway
Support temporary & cutaway staves
2015-10-28 12:07:31 +01:00
Werner Schweer
00949255cc Merge pull request #2226 from MarcSabatella/78261-repeat-drop-style
fix #78261: text style not honored when adding repeat via double click
2015-10-28 10:07:58 +01:00
ws
4d487f5daa fix copy constructor of MStaff 2015-10-28 09:42:14 +01:00
Werner Schweer
5c5f5e77ef Merge pull request #2239 from mgavioli/LYRICS_Better_dash_control
Lyrics: Better dash control
2015-10-27 16:53:36 +01:00
lasconic
dd4530ea50 fix #83266: Repeat measure from MuseScore 1.3 is not imported correctly in MuseScore 2 2015-10-12 16:09:12 +01:00
Maurizio M. Gavioli
8c017d8536 Lyrics: Better dash control
This patch gives better control on lyrics dash management and it is intended to supersede https://github.com/musescore/MuseScore/pull/2213 which did not suit the taste of several forum users; for a discussion, see https://musescore.org/en/node/76021 .

Adds 3 new score style parameters:
- `lyricsDashMinLength` to control the minimum dash length (default: 0.4sp)
- `lyricsDashMaxLength` to control the maximum dash length (default: 0.8sp)
- `lyricsDashForce`: if set to __true__, a dash is always generated between two syllables of a word and, if there is not enough space for the min dash length, more space is added between the syllables to accommodate it; if set to __false__, no extra space is added and the two syllables are joined together (default: true)

The effect of the last parameter is exemplified by the following screen-shots:

Current situation (before this patch); if there is no room for the min dash length, the dash is skipped and some blank is left between syllables:

Patch with `lyricsDashForce = true`; chords are further spaced and a min-length dash is inserted:

Patch with `lyricsDashForce = false`: the second syllable is moved (slightly) to the left to reclaim the blank:
2015-10-03 23:55:33 +02:00
Eric Fontaine
5f1ec2c513 fix #78216 no courtesy key or time sig if section ends on non-measure
If a section break occurs on a non-measure MeasureBase object such as a vertical or horizontal frame, then the courtesy key or time signature should still not be displayed in the final actual measure of the section.
2015-09-19 05:53:40 -04:00
Marc Sabatella
c0d7898757 fix #78261: text style not honoroed when adding repeat via double click 2015-09-18 09:56:20 -06:00
Marc Sabatella
c235ff79cf fix #75861: crash adding timesig to note or rest on page >1 2015-09-05 07:16:03 -06:00
Marc Sabatella
7ac83bf5fe fix #22626: automatic system dividers 2015-08-15 11:30:58 -06:00
Marc Sabatella
ccb17c4cc7 add UI (staff properties) 2015-08-04 11:53:54 -06:00
Marc Sabatella
4228f5a52a initial implementation using showIfEmpty 2015-07-31 17:28:55 -06:00
Maurizio M. Gavioli
f1a76e82a0 Fix #69846, #69821, #63561 - multi-voice TAB's: stem and slur positions
__Background__:

In the original TAB implementation, the "Stems above / below" setting was followed when there was only one voice, while with multiple voices, voice 1 stems were always above and voice 2 stems always below.

In issue https://musescore.org/en/node/63561 the OP reported that:
- with multiple voices, stems in TAB did not follow the "Stems above / below" setting;
- extra space was allocated for voice 2 stems.

Both issues were more apparent than real, because the example provided casually had no stems in voice 2 (all whole notes). With the commit 33797cd6c5 :
- voice 1 stems are forced to be below or down according to the setting even for multi-voice cases and voice 2 stems on the opposite side;
- additional distance is allocated above the TAB staff (but not below) if stems are above or there are multiple voices or below (but not above) if stems are below and there is only voice 1.

__Issues__:

1a) The original stem directions were __by design__, assuming that with multiple voices notes of voice 1 tend to be above and notes of voice 2 tend to be below; then it is more sensible to put voice 1 stems above and voice 2 stems below, limiting the "Stems above / below" setting to the single voice case only.

1b) Stem direction controls slurs and tie placement and users are complaining that, with multiple voices, stems, slurs and ties are placed unexpectedly. See issue https://musescore.org/en/node/69846 and forum post https://musescore.org/en/node/69821 .

2) About additional staff distance allocation, with multiple voices it has to be allocated __both__ above and below, as stems may appear both above and below.

__Fix__:

1) This patch fixes 1) by restoring the original stem direction computation (single voice: follow "Stems above / below" setting | multiple voices: voice 1 unconditionally above and voice 2 below) when tab is configured to have stems beside the staff and also when it is configured to have __no stems at all_ (so that slurs and ties occur in expected positions).

2) It corrects additional staff distance allocation for the multiple voice case. No resources are spent to check the odd case when one voice casually has no stems over the entire system (in which case, additional distance on that side could in theory be spared).
2015-07-26 20:55:02 +02:00
ws
c51fa84817 allow key changes at every tick position 2015-07-19 17:18:38 +02:00
Marc Sabatella
0362ea01a1 fix #41786: barline span issues after edit / instrument 2015-07-14 21:08:20 -06:00
Marc Sabatella
f3ef080b51 back out hide empty staves support 2015-07-14 19:35:03 -06:00
Marc Sabatella
b5df3b7e7c partial fix for regression disabling hide empty staves 2015-07-14 12:30:43 -06:00
Marc Sabatella
a37ba698ea avoid creating extra barlines on hidden staves 2015-07-13 20:45:58 -06:00
Marc Sabatella
166292c87b fix #68921: reordering staves leaves barline spans in disarray 2015-07-13 19:31:17 -06:00
Marc Sabatella
b76068485e fix #68806: bad barline span with hidden/invisible staves 2015-07-13 13:56:55 -06:00
ws
b8adcc617d fix #50921 Reduce stretch has bad effect on other measure as soon as stretch factor reaches 0 2015-06-17 09:56:12 +02:00
Marc Sabatella
3e7f828e74 fix #65041: breath interferes with chord symbol spacing 2015-06-12 13:09:06 -06:00
Marc Sabatella
b4bdcddc9d fix #64911: space before start repeat 2015-06-11 23:04:43 -06:00
Werner Schweer
adfaf36671 Merge pull request #2045 from MarcSabatella/63711-atonal-naturals
fix #63711: no naturals on change to atonal key signature
2015-06-10 10:11:44 +02:00
Marc Sabatella
9f9eb54f4e fix #64506: temporary corruption on add of measure repeat 2015-06-09 14:25:02 -06:00
lasconic
b433fdd302 fix #64206: Repeat Measure sign in one staff of multi-stave inst. causes repeated playback of all staves 2015-06-08 18:54:57 +02:00
Marc Sabatella
432e14b300 fix #63711: no naturals on change to atonal key signature 2015-06-06 13:26:13 -06:00
lasconic
33797cd6c5 fix #63561: TAB - Modified stem direction - don't work properly 2015-06-03 15:24:07 +02:00
lasconic
bf735e6a97 fix #50921: 'Reduce stretch' has bad effect on other measures as soon as stretch factor reaches 0 2015-05-30 16:08:46 +02:00
lasconic
61eed11401 fix all warnings on Mac OSX. Hopefully without side effects on other platforms. 2015-05-05 18:28:39 +02:00
lasconic
7def880b6d fix #58571: Rehearsal marks in scores created in MuseScore 1.3 not treated as such 2015-05-02 12:03:39 +02:00
ws
892e5887f9 fix #57861 bad import of & in part name 2015-04-27 13:03:52 +02:00
Marc Sabatella
9385df24bd fix #56146: bad read/layout for 1.3 score with invalid symbol tick 2015-04-12 14:14:41 -06:00
ws
b3769043ce fix #54346 Clef in part is offseted when system text is present in pickup 2015-04-10 13:23:18 +02:00
ws
a7d72aed4b Revert "add missing test files"
This reverts commit 06cdfc968f.
2015-04-10 13:05:17 +02:00
ws
06cdfc968f add missing test files 2015-04-10 12:49:29 +02:00
ws
3e8cb5b2e5 fix #54556 Multimeasure clef position bug 2015-04-09 13:48:56 +02:00
ws
03c13fa33e fix reading of xml tag breakMultiMeasureRest and 'irregular' 2015-04-08 11:58:33 +02:00
ws
fd0fe54097 remove RubberBand element 2015-03-31 17:35:18 +02:00
ws
772c691dcb update mtest 2015-03-30 12:38:30 +02:00
ws
41fa148894 fix #51881 Measure number mode not preserved on save/reload 2015-03-30 11:12:17 +02:00
ws
8282094dd6 code cleanups; rename instr() to instrument() 2015-03-26 13:11:46 +01:00
Marc Sabatella
6ae4987fd4 fix #50491: corruption changing length of measure back to nominal 2015-03-12 18:07:34 -06:00
Marc Sabatella
74753d04e1 fix #35826: layout time sig on staff add 2015-03-10 22:31:47 -06:00
ws
75bd3ba77e fix slurs from staff n to staff n-1 2015-03-03 15:45:53 +01:00
lasconic
cebbef5cf5 fix barline translation in palette 2015-02-25 11:54:31 +01:00
Maurizio M. Gavioli
3331b668b8 Bar line user offset lost on score save and reload 2015-02-19 23:55:41 +01:00
ws
29ba6bb24d fix #46731 Wrong barline placement inside a measure (second try) 2015-02-19 13:36:46 +01:00
ws
329124c789 some layout optimizations/claenups 2015-02-19 10:33:46 +01:00
Nicolas Froment
fadb223d1b Merge pull request #1536 from mgavioli/glissando_v2
Glissando as a multi-segment line.
2015-02-18 15:23:22 +01:00
ws
e7591d1d63 fix regression in detecting multi measure rests 2015-02-18 12:26:26 +01:00
Maurizio M. Gavioli
f5d831a023 Glissando as a multi-segment line.
- Implemented as a sub-class of `SLine`.
- Anchor type changed from CHORD to NOTE: allows to attach glissando start and end points to individual notes, rather than generically to chords (with note within the chord chosen by the program).
- The Glissando element is now stored in the `Note::_spannerFor` list.
- `Chord::_glissando` has been removed and replaced by a `bool _endsGlissando`, recording whether the chord is at the end of glissando (as gliss.-end chords require more space if mid-measure or system-initial).
- Debugger UI for `Chord` updated accordingly.
- Glissando in now save into score file as a spanner, within the initial note, and with appropriate `<endSpanner>` tag in the Glissando ending note.
- Existing scores with the old Glissando file format are correctly read back.

Notes:

- MusicXML import/export of the new Glissando implementation NOT IMPLEMENTED.
- This version can read scores from older versions, but older versions **cannot read** scored from this version (they do not expect a <Glissando> tag within a Note). Does this require a NEW FILE VERSION NUMBER?
- This implementation would allow rather easily to move the start and end anchors around (as for slurs) to override the note/chord chosen by the program when the glissando is initially created; but the UI for this is not implemented yet.
2015-02-18 12:21:56 +01:00
ws
ec8913a19b fix #45601 changing note value can lead to missing accidentals; simplify layout() 2015-02-17 20:22:38 +01:00
ws
50bc1b6dad fix undo of local time signature change 2015-02-16 09:44:39 +01:00
ws
c94d62d5a5 fix #23254 LAyout/undo issues with clef change after repeat barline 2015-02-14 16:24:52 +01:00
ws
8dacb7f27b fix #47141 Wrong results ion lined staves (Tab and standard) when dragging notes with mouse 2015-02-12 11:41:39 +01:00
ws
cf37ea318a fix #31696 Add Drumset checkbox to the Mixer 2015-02-11 13:17:06 +01:00
Marc Sabatella
d79bd3a502 fix #46401: breath segments placed too early 2015-02-06 22:32:34 -07:00
ws
8b747c1201 fix #22040 No impending save after making changes to Edit Drumset 2015-02-04 19:51:24 +01:00
Werner Schweer
e951b925e5 Merge pull request #1707 from MarcSabatella/section-pause
fix #37191: playback of breath & section break pauses
2015-02-02 10:30:45 +01:00
Werner Schweer
ac8c99ba2d Merge pull request #1692 from MarcSabatella/check-multi-voice
fix #9355: only offset rests / flip stems if multivoice visible
2015-02-02 10:10:46 +01:00
Marc Sabatella
4becc39ecb fix #37191: playback of breath & section break pauses 2015-01-29 14:57:36 -07:00
ws
3f5d291998 fix #6861: Changing from pitched to non-pitched instrument and undo retains note heads of the latter 2015-01-29 10:39:00 +01:00
Marc Sabatella
4b4ac70a78 fix #9355: only offset rests / flip stems if multivoice visible 2015-01-27 23:33:26 -07:00
ws
1634901bc9 fix #42466: Add a staff to an other which contains a local time signature causes a crash 2015-01-26 12:48:32 +01:00
Werner Schweer
69fcd6e94a Merge pull request #1677 from mgavioli/Fix_15022_29526_improve_graces_after_chord
Fix #15022 and #29526 - Improve layout of grace notes after chord
2015-01-26 10:36:59 +01:00
Werner Schweer
db768c4cbe Merge pull request #1671 from mgavioli/no_lyrics_syll_padding_in_measure
Do not expect padding for lyrics syllabic dashes in Measure layout
2015-01-26 10:32:41 +01:00
ws
898e4a3bc8 fix #45436: Multi-voice grace notes collide with bar line 2015-01-26 10:23:35 +01:00
Maurizio M. Gavioli
1d070a3e96 Fix #15022 and 29526 - Improve layout of grace notes after chord
An attempt to improve the layout of grace notes after chord. It probably does not cover all the possible interactions with other score elements, particularly in tight scores, but it should achieve reasonable results for common cases with a rather simple algorithm.

For some discussion and examples, see the original issue at http://musescore.org/en/node/15022 and the forum thread at http://musescore.org/en/node/45346
2015-01-25 23:00:59 +01:00
Maurizio M. Gavioli
a4a51787bb Do not expect padding for lyrics syllabi dashes in Measure layout
In `Measure::layoutX()` and in `Score::computeMinWidth()` there is code to add room for dash padding in lyrics syllables, with a reference to `System::layoutLyrics()`.

As `System_layoutLLyrics()` no longer exists and as `LyricsLineSegment::layout()` now adjusts (and occasionally skips) dash width to actual note distance, this is now redundant and may in some cases interfere with the `LyricsLineSegment::layout()` calculations.

Some tests with rather dense polyphonic scores did show that some space may be gained, without raising any evident 'crowding' problem.
2015-01-23 22:26:44 +01:00
Marc Sabatella
45b6bb4cf6 Merge pull request #1661 from MarcSabatella/44991-note-entry-accidental-state
fix #44991: wrong accidental for transposing instruments in note entry
2015-01-22 16:41:46 -07:00
Werner Schweer
de4961e10e Merge pull request #1663 from mgavioli/small_barlines_width_and_alignment_A
Bar Lines: Correct width and alignment in small staves NICE SOLUTION
2015-01-22 14:59:10 +01:00
Maurizio M. Gavioli
0ce91b6e4d Bar Lines: Correct width and alignment in small staves NICE SOLUTION
In small staves, some types of bar lines are drawn with small lines and some are not (mainly end bar lines). In addition all bar lines of a measure are left-aligned; when small and regular staves are mixed this looks untidy for mid-system bar lines and quite wrong for system-end bar lines. See http://musescore.org/en/node/44966 for a discussion and an example.

This patch tries to achieve the best-looking possible result:
- it lays out and draws all bar lines in small staves with small widths
- it right-aligns end bar lines, end-repeat bar lines and any bar line at system end
- it left-aligns start-repeat bar lines
- it centre-aligns any other bar line.
2015-01-22 02:18:49 +01:00
Marc Sabatella
e3181a8af6 fix #44991: wrong accidental for transposing instruments in note entry 2015-01-21 10:31:12 -07:00
ws
69febbce94 fix #44676: Change of duration of measures including grace notes (acciaccatura) causes a crash in tab staff 2015-01-21 11:57:57 +01:00
ws
16764d4614 fix #44466: Crash extending volta over mmrest starting a new system + other cleanups 2015-01-19 12:41:16 +01:00
ws
1b51e5832a Merge branch 'master' of github.com:musescore/MuseScore 2015-01-12 14:07:17 +01:00
ws
69dd28e7df preparations for changing division value 2015-01-12 14:07:05 +01:00
Maurizio M. Gavioli
c69d2a9262 Lyrics multi-system melisma and dashes
Implements melisma and dash lines for lyrics spanning several systems.

The melisma and dash line is based on the `SLine` class and its segments on the `LineSegment` class. Both the whole line and its segments are not selectable, marked as generated and not saved in the score file, which is not changed in any way.

For very wide dash segments, several dashes are drawn; the distance between the dashes is not configurable.

Lyrics layout code in `Measure` class and in `layout.cpp` file has been commented out as the lyrics line layout is all contained in the lyrics.cpp file

The line is registered with the `Score` (to have its layout delayed until all elements are positioned) with a mechanism similar to other `Spanner`'s, but in a different container (`_unmanagedSpanner`), as the owning `Lyrics` should decide when create, register, unregister and delete its line.

The line segments are registered with the `System` they belong to (to have them drawn), in the same way as other `Spanner`'s.

There is code for using the dash metrics of the lyrics font, but it is turned off via a conditional directive, as there does not seem to be a reliable way to determine the dash metrics; conventional values (determined by trials and errors and based on my taste!) are used when the conditional directive is off.
2015-01-11 10:16:19 +01:00
Werner Schweer
24e0c1ff6b Merge pull request #1587 from MarcSabatella/33476-scan-mmrest
fix #33476: select similar and other mmrest issues
2015-01-02 08:46:23 +01:00
Marc Sabatella
0b48254691 slightly more conservative hyphen padding 2014-12-31 17:01:17 -07:00
Marc Sabatella
77e3a87ebf fix #42261: add space before melisma 2014-12-30 23:45:35 -07:00
Marc Sabatella
a03cd4bfd0 fix #33476: select similar and other mmrest issues 2014-12-29 16:59:01 -07:00
lasconic
b1040d8588 fix #41516: Voltas & repeat text do not migrate to top when instrument raised to top of the score 2014-12-20 20:56:40 +01:00
Marc Sabatella
9d7185d89a fix #32231: width of initial measure & other measures with key signatures in continuous view 2014-12-13 17:43:17 -07:00
Nicolas Froment
3fca04120b Merge pull request #1510 from MarcSabatella/40846-ctrl-barline
fix #40846: require Ctrl+drag to create staff-only barline change
2014-12-10 19:44:19 +00:00
ws
8ff4a8f95e fix #29931: Custom key signatures do not show 2014-12-08 18:02:29 +01:00
ws
e835aa54f1 make systemBarLineType a property 2014-12-08 13:36:52 +01:00
Werner Schweer
e4e377a36b Merge pull request #1316 from mgavioli/system_initial_barline_style
Style of the initial bar line of a system.
2014-12-08 13:03:03 +01:00
Marc Sabatella
d3b8157be6 fix #40846: require Ctrl+drag to create staff-only barline change 2014-12-06 16:11:50 -07:00
ws
f3071ac9d0 fix #29931: Custom key signatures do not show 2014-12-04 14:40:26 +01:00
lasconic
8c179655c5 fix mtest 2014-11-28 22:35:25 +01:00
lasconic
c61c9aee68 fix #40036: Tremolo through stem on grace note all eighths in 1.3 score 2014-11-28 19:56:09 +01:00
Marc Sabatella
ff6f2016b9 fix #35661: bad breath position if no tick tag 2014-11-26 16:40:51 -07:00
lasconic
edcaa098a3 fix #31221 2014-11-25 16:53:43 +01:00
Marc Sabatella
58e5a74588 fix #8924: native support for slash notation 2014-11-17 22:02:12 -07:00
ws
666ea12d00 fix #38486 2014-11-12 15:01:36 +01:00
Nicolas Froment
1e8c3a35c9 Merge pull request #1439 from MarcSabatella/38501-cross-staff-gliss
fix #38501: cheap partial fix for cross-staff and cross-system gliss
2014-11-11 13:33:51 +00:00
lasconic
0f3c18d850 fix #38736: take 2 2014-11-10 12:33:32 +00:00
lasconic
8f3c1d3b7b fix #38736: joining some scores via album feature leads to crash 2014-11-10 11:27:08 +00:00
Marc Sabatella
98235e52b2 fix #38501: cheap partial fix for start position of cross-staff and cross-system gliss 2014-11-07 13:23:07 -07:00
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