Commit graph

480 commits

Author SHA1 Message Date
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