* spelling: above

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: accessibility

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: accessible

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: account

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: action

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: activated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: active

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: again

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: allegro

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: alternative

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: amplitude

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: and

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: annotation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: appended

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: appending

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: appropriate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: arbitrarily

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: architecture

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: arpeggio

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: arranger

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: assumed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: asynchronous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: automatically

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: availability

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: available

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: backslashes

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: before

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: beginning

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: between

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: bounding

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: bracket

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: builtin

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: calculated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: categories

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: check

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: class

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: clearance

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: column

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: combinations

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: completed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: composer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: compression

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: consideration

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: constraints

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: container

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: contrabass

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: control

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: convergence

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: conversion

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: convert

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: coordinates

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: correctly

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: corresponds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: counting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: crescendo

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: customizable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: cutout

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: deep

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: denom

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: denominator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: diagram

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: diminished

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: direction

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: directories

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: disconnected

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: doesn't

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dotted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: easeinout

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: eighth

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: element

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: elements

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: enabled

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: engraving

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: evenly

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exactly

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exceed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: excerpts

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: excessively

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exclusive

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: extension

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: extrapolated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: farthest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fits

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: friends

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: function

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: glissando

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: global

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: grid

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: halved

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: happen

* spelling: harmonies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: have

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: header

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: height

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: iabbrev

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: ideally

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: implementation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: in

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: incoming

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: incomplete

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: increase

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: indentation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: individual

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: infer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: initial

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: initially

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: inputted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: instrument

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: instruments

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: invalid

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: invocation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: iplugin

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: javascript

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: label

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: laid out

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: languages

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: length

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: linked

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: lyrchord

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: lyricist

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: managed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: manually

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mapping

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mappings

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: margins

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: measure

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: metric

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: metronome

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: military

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: milliseconds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: minimum

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: modifiers

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: moving

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multi

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: namespace

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: navigate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: necessary

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: needs

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: newly

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: notation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: numerator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occasionally

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occurred

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occurrence

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: omitted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: or

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: oriented

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: originally

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: ornament

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: ornaments

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: output

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: outputted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: outside

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: overlapping

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: overridden

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: package

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: padding

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: parameter

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: percussion

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: placement

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: playthrough

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: positive

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: preceded

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: precision

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: previous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: process

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: property

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: proximity

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: publish

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: rasgueado

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: read

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: receive

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: received

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: rectangle

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: regarding

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: register

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: registry

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: rehearsal

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: related

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: repeat

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: repeatp

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: replacements

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: represent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: representation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: responses

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: rhythm

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: section

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: selected

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: selection

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: separation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: separator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: shortcuts

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: signatures

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: simile

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: slurred

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: sound

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: staccato

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: staff

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: stuff

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: style

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: suffix

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: supported

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: symbol

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: symbols

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: system

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tablature

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tcp_invalid

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: that

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: thickness

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tibetan

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: of

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: to

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: transparent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: transpose

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tremolo

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: ultimately

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unassigned

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: underscore

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unhandled

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: uninstall

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unknown

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unnamed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: useful

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: usually

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: vertical

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: violin

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: visible

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: when

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: whether

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: with

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: within

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: without

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: would

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: writing

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: written

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: xmlns

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Remove unused avaiableArticulationTypesChanged

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: firstSystemIndentation [API]

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Enable testIncompleteTuplet

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Drop stray comment

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Update license header in module.cmake

per https://github.com/musescore/MuseScore/pull/11566#discussion_r870550003

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
This commit is contained in:
Josh Soref 2022-05-15 10:35:32 -04:00 committed by GitHub
parent 751c0866ab
commit 55c452fb68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
321 changed files with 951 additions and 955 deletions

View File

@ -191,8 +191,8 @@ if (BUILD_UNIT_TESTS)
message(STATUS "Enabled testing") message(STATUS "Enabled testing")
define_property(TARGET PROPERTY OUTPUT_XML define_property(TARGET PROPERTY OUTPUT_XML
BRIEF_DOCS "List XML files outputed by google test." BRIEF_DOCS "List XML files outputted by google test."
FULL_DOCS "List XML files outputed by google test." FULL_DOCS "List XML files outputted by google test."
) )
add_subdirectory(thirdparty/googletest) add_subdirectory(thirdparty/googletest)

View File

@ -278,7 +278,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# parses. With this tag you can assign which parser to use for a given # parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it # extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and # using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript, # language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
# Fortran. In the later case the parser tries to guess whether the code is fixed # Fortran. In the later case the parser tries to guess whether the code is fixed
@ -1527,7 +1527,7 @@ EXT_LINKS_IN_WINDOW = NO
FORMULA_FONTSIZE = 10 FORMULA_FONTSIZE = 10
# Use the FORMULA_TRANPARENT tag to determine whether or not the images # Use the FORMULA_TRANSPARENT tag to determine whether or not the images
# generated for formulas are transparent PNGs. Transparent PNGs are not # generated for formulas are transparent PNGs. Transparent PNGs are not
# supported properly for IE 6.0, but are supported on all modern browsers. # supported properly for IE 6.0, but are supported on all modern browsers.
# #
@ -1539,7 +1539,7 @@ FORMULA_FONTSIZE = 10
FORMULA_TRANSPARENT = YES FORMULA_TRANSPARENT = YES
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# http://www.mathjax.org) which uses client side Javascript for the rendering # http://www.mathjax.org) which uses client side JavaScript for the rendering
# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When # installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path # enabled you may also need to install MathJax separately and configure the path
@ -1609,7 +1609,7 @@ MATHJAX_CODEFILE =
SEARCHENGINE = YES SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There # implemented using a web server instead of a web client using JavaScript. There
# are two flavors of web server based searching depending on the EXTERNAL_SEARCH # are two flavors of web server based searching depending on the EXTERNAL_SEARCH
# setting. When disabled, doxygen will generate a PHP script for searching and # setting. When disabled, doxygen will generate a PHP script for searching and
# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing

View File

@ -196,7 +196,7 @@ endif()
# Clean - delete an existing build directory. # Clean - delete an existing build directory.
# #
# We usually avoid this because performing a clean build takes much longer # We usually avoid this because performing a clean build takes much longer
# than an incremental build, but it is occassionally necessary. If you # than an incremental build, but it is occasionally necessary. If you
# encounter errors during a build then you should try doing a clean build. # encounter errors during a build then you should try doing a clean build.
if(ARG_CLEAN) if(ARG_CLEAN)
@ -272,7 +272,7 @@ endif()
# The working directory is unchanged. Use build_override.cmake to set the # The working directory is unchanged. Use build_override.cmake to set the
# CMake variable RUN_ARGS to contain a list of arguments to pass to MuseScore # CMake variable RUN_ARGS to contain a list of arguments to pass to MuseScore
# on the command line. In addition, script arguments after "run" will be # on the command line. In addition, script arguments after "run" will be
# appened to this list, but note that certain arguments cannot be passed this # appended to this list, but note that certain arguments cannot be passed this
# way (e.g. --help, --version) because they cancel CMake script processing. # way (e.g. --help, --version) because they cancel CMake script processing.
if(ARG_RUN) if(ARG_RUN)

View File

@ -325,7 +325,7 @@
</ul> </ul>
<p>Zerberus:</p> <p>Zerberus:</p>
<ul> <ul>
<li>Fix #222031: remove ties and spanners when removing induvidual notes within a chord</li> <li>Fix #222031: remove ties and spanners when removing individual notes within a chord</li>
<li>Fix #271718: clicking noise fix</li> <li>Fix #271718: clicking noise fix</li>
<li>Fix #271719: sound accumulation on noteOff</li> <li>Fix #271719: sound accumulation on noteOff</li>
<li>Fix #271722: long release samples do not play in their entirety</li> <li>Fix #271722: long release samples do not play in their entirety</li>

View File

@ -40,7 +40,7 @@ IF(MINGW OR MSVC)
SET(MSCORE_EXECUTABLE_NAME ${MUSESCORE_NAME}${MUSESCORE_VERSION_MAJOR}) SET(MSCORE_EXECUTABLE_NAME ${MUSESCORE_NAME}${MUSESCORE_VERSION_MAJOR})
# There is a bug in NSI that does not handle full unix paths properly. Make # There is a bug in NSI that does not handle full unix paths properly. Make
# sure there is at least one set of four (4) backlasshes. # sure there is at least one set of four (4) backslashes.
SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/build/packaging\\\\installer_head_nsis.bmp") SET(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}/build/packaging\\\\installer_head_nsis.bmp")
SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\${MSCORE_EXECUTABLE_NAME}.exe,0") SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\${MSCORE_EXECUTABLE_NAME}.exe,0")
SET(CPACK_NSIS_DISPLAY_NAME "${MUSESCORE_NAME} ${MUSESCORE_VERSION_FULL}") SET(CPACK_NSIS_DISPLAY_NAME "${MUSESCORE_NAME} ${MUSESCORE_VERSION_FULL}")

View File

@ -33,7 +33,7 @@ function(fn__set_default
endfunction() endfunction()
# Set a variable to value of an option from a list of command line arguments. # Set a variable to value of an option from a list of command line arguments.
# The variable will only recieve a value if the relevant option was provided. # The variable will only receive a value if the relevant option was provided.
function(fn__get_option function(fn__get_option
VAR_NAME # Name of the variable to set. VAR_NAME # Name of the variable to set.
OPT_NAME # Name of the option to search for (e.g. "-foo"). OPT_NAME # Name of the option to search for (e.g. "-foo").

View File

@ -1,36 +1,37 @@
#============================================================================= # SPDX-License-Identifier: GPL-3.0-only
# MuseScore # MuseScore-CLA-applies
# Music Composition & Notation
# #
# Copyright (C) 2020 MuseScore BVBA and others # MuseScore
# Music Composition & Notation
# #
# This program is free software; you can redistribute it and/or modify # Copyright (C) 2022 MuseScore BVBA and others
# it under the terms of the GNU General Public License version 2.
# #
# This program is distributed in the hope that it will be useful, # This program is free software: you can redistribute it and/or modify
# but WITHOUT ANY WARRANTY; without even the implied warranty of # it under the terms of the GNU General Public License version 3 as
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # published by the Free Software Foundation.
# GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # This program is distributed in the hope that it will be useful,
# along with this program; if not, write to the Free Software # but WITHOUT ANY WARRANTY; without even the implied warranty of
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#============================================================================= # GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
## Setup ## Setup
# set(MODULE somename) - set module (target) name # set(MODULE somename) - set module (target) name
# set(MODULE_INCLUDE ...) - set include (by default see below include_directories) # set(MODULE_INCLUDE ...) - set include (by default see below include_directories)
# set(MODULE_DEF ...) - set definitions # set(MODULE_DEF ...) - set definitions
# set(MODULE_SRC ...) - set sources and headers files # set(MODULE_SRC ...) - set sources and headers files
# set(MODULE_LINK ...) - set libraries for link # set(MODULE_LINK ...) - set libraries for link
# set(MODULE_NOT_LINK_GLOBAL ON) - set for not link global lib # set(MODULE_NOT_LINK_GLOBAL ON) - set for not link global lib
# set(MODULE_QRC somename.qrc) - set resource (qrc) file # set(MODULE_QRC somename.qrc) - set resource (qrc) file
# set(MODULE_BIG_QRC somename.qrc) - set big resource (qrc) file # set(MODULE_BIG_QRC somename.qrc) - set big resource (qrc) file
# set(MODULE_UI ...) - set ui headers # set(MODULE_UI ...) - set ui headers
# set(MODULE_QML_IMPORT ...) - set Qml import for QtCreator (so that there is code highlighting, jump, etc.) # set(MODULE_QML_IMPORT ...) - set Qml import for QtCreator (so that there is code highlighting, jump, etc.)
# set(MODULE_USE_PCH_NONE ON) - set for disable PCH for module # set(MODULE_USE_PCH_NONE ON) - set for disable PCH for module
# set(MODULE_USE_UNITY_NONE ON) - set for disable UNITY BUILD for module # set(MODULE_USE_UNITY_NONE ON) - set for disable UNITY BUILD for module
# set(MODULE_OVERRIDEN_PCH ...) - set additional precompiled headers required for module # set(MODULE_OVERRIDDEN_PCH ...) - set additional precompiled headers required for module
# set(PROJECT_ROOT_DIR ${PROJECT_SOURCE_DIR}) - set root dir for module # set(PROJECT_ROOT_DIR ${PROJECT_SOURCE_DIR}) - set root dir for module
# After all the settings you need to do: # After all the settings you need to do:
@ -78,11 +79,11 @@ if (BUILD_PCH)
# disabled pch for current module # disabled pch for current module
else() else()
if (NOT ${MODULE} MATCHES global) if (NOT ${MODULE} MATCHES global)
if (NOT DEFINED MODULE_OVERRIDEN_PCH) if (NOT DEFINED MODULE_OVERRIDDEN_PCH)
target_precompile_headers(${MODULE} REUSE_FROM global) target_precompile_headers(${MODULE} REUSE_FROM global)
target_compile_definitions(${MODULE} PRIVATE global_EXPORTS=1) target_compile_definitions(${MODULE} PRIVATE global_EXPORTS=1)
else() else()
target_precompile_headers(${MODULE} PRIVATE ${MODULE_OVERRIDEN_PCH}) target_precompile_headers(${MODULE} PRIVATE ${MODULE_OVERRIDDEN_PCH})
endif() endif()
if (MODULE_NOT_LINK_GLOBAL) if (MODULE_NOT_LINK_GLOBAL)
set(MODULE_NOT_LINK_GLOBAL OFF) set(MODULE_NOT_LINK_GLOBAL OFF)

View File

@ -373,7 +373,7 @@ Function un.RemoveFromPath
FunctionEnd FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Uninstall sutff ; Uninstall stuff
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
########################################### ###########################################
@ -477,15 +477,15 @@ Done:
Exch $R1 Exch $R1
FunctionEnd FunctionEnd
Function ConditionalAddToRegisty Function ConditionalAddToRegistry
Pop $0 Pop $0
Pop $1 Pop $1
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString StrCmp "$0" "" ConditionalAddToRegistry_EmptyString
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
"$1" "$0" "$1" "$0"
;MessageBox MB_OK "Set Registry: '$1' to '$0'" ;MessageBox MB_OK "Set Registry: '$1' to '$0'"
DetailPrint "Set install registry entry: '$1' to '$0'" DetailPrint "Set install registry entry: '$1' to '$0'"
ConditionalAddToRegisty_EmptyString: ConditionalAddToRegistry_EmptyString:
FunctionEnd FunctionEnd
;-------------------------------- ;--------------------------------
@ -675,44 +675,44 @@ Section "-Core installation"
WriteUninstaller "$INSTDIR\Uninstall.exe" WriteUninstaller "$INSTDIR\Uninstall.exe"
Push "DisplayName" Push "DisplayName"
Push "@CPACK_NSIS_DISPLAY_NAME@" Push "@CPACK_NSIS_DISPLAY_NAME@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "DisplayVersion" Push "DisplayVersion"
Push "@CPACK_PACKAGE_VERSION@" Push "@CPACK_PACKAGE_VERSION@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "Publisher" Push "Publisher"
Push "@CPACK_PACKAGE_VENDOR@" Push "@CPACK_PACKAGE_VENDOR@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "UninstallString" Push "UninstallString"
Push "$INSTDIR\Uninstall.exe" Push "$INSTDIR\Uninstall.exe"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "NoRepair" Push "NoRepair"
Push "1" Push "1"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
!ifdef CPACK_NSIS_ADD_REMOVE !ifdef CPACK_NSIS_ADD_REMOVE
;Create add/remove functionality ;Create add/remove functionality
Push "ModifyPath" Push "ModifyPath"
Push "$INSTDIR\AddRemove.exe" Push "$INSTDIR\AddRemove.exe"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
!else !else
Push "NoModify" Push "NoModify"
Push "1" Push "1"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
!endif !endif
; Optional registration ; Optional registration
Push "DisplayIcon" Push "DisplayIcon"
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@" Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "HelpLink" Push "HelpLink"
Push "@CPACK_NSIS_HELP_LINK@" Push "@CPACK_NSIS_HELP_LINK@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "URLInfoAbout" Push "URLInfoAbout"
Push "@CPACK_NSIS_URL_INFO_ABOUT@" Push "@CPACK_NSIS_URL_INFO_ABOUT@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "Contact" Push "Contact"
Push "@CPACK_NSIS_CONTACT@" Push "@CPACK_NSIS_CONTACT@"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State" !insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
@ -725,19 +725,19 @@ Section "-Core installation"
; Write special uninstall registry entries ; Write special uninstall registry entries
Push "StartMenu" Push "StartMenu"
Push "$STARTMENU_FOLDER" Push "$STARTMENU_FOLDER"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "DoNotAddToPath" Push "DoNotAddToPath"
Push "$DO_NOT_ADD_TO_PATH" Push "$DO_NOT_ADD_TO_PATH"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "AddToPathAllUsers" Push "AddToPathAllUsers"
Push "$ADD_TO_PATH_ALL_USERS" Push "$ADD_TO_PATH_ALL_USERS"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "AddToPathCurrentUser" Push "AddToPathCurrentUser"
Push "$ADD_TO_PATH_CURRENT_USER" Push "$ADD_TO_PATH_CURRENT_USER"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
Push "InstallToDesktop" Push "InstallToDesktop"
Push "$INSTALL_DESKTOP" Push "$INSTALL_DESKTOP"
Call ConditionalAddToRegisty Call ConditionalAddToRegistry
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@ @CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
@ -879,7 +879,7 @@ Section "Uninstall"
@CPACK_NSIS_DELETE_ICONS@ @CPACK_NSIS_DELETE_ICONS@
@CPACK_NSIS_DELETE_ICONS_EXTRA@ @CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent diretories ;Delete empty start menu parent directories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
startMenuDeleteLoop: startMenuDeleteLoop:
@ -892,13 +892,13 @@ Section "Uninstall"
StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone: startMenuDeleteLoopDone:
; If the user changed the shortcut, then untinstall may not work. This should ; If the user changed the shortcut, then uninstall may not work. This should
; try to fix it. ; try to fix it.
StrCpy $MUI_TEMP "$START_MENU" StrCpy $MUI_TEMP "$START_MENU"
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS_EXTRA@ @CPACK_NSIS_DELETE_ICONS_EXTRA@
;Delete empty start menu parent diretories ;Delete empty start menu parent directories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
secondStartMenuDeleteLoop: secondStartMenuDeleteLoop:

View File

@ -97,7 +97,7 @@ Palette handling
Lyrics Lyrics
------------------------------- -------------------------------
- lyrics can be placed above a staff by changing the Placement property to "Above". - lyrics can be placed above a staff by changing the Placement property to "Above".
Verse numbers are counted from top to bottom. If you change for example the placment Verse numbers are counted from top to bottom. If you change for example the placement
of a lyric in verse 3 to Above then all lyrics in verse 1-3 are placed above, verse 4+ of a lyric in verse 3 to Above then all lyrics in verse 1-3 are placed above, verse 4+
will stay below. will stay below.
- 'x' (flip) changes the placement of a lyric. - 'x' (flip) changes the placement of a lyric.
@ -173,7 +173,7 @@ Lyrics
TODO: check if they can be removed in system mode TODO: check if they can be removed in system mode
* path separator * path separator
Don't use QDir::separtor(), but "/", see https://doc.qt.io/qt-5/qdir.html#separator Don't use QDir::separator(), but "/", see https://doc.qt.io/qt-5/qdir.html#separator
and http://agateau.com/2015/qdir-separator-considered-harmful/ and http://agateau.com/2015/qdir-separator-considered-harmful/
@ -213,7 +213,7 @@ paint() method in Element
==================================================================== ====================================================================
Measure layout Measure layout
A measure is layouted in four different contexts: A measure is laid out in four different contexts:
- first measure in a system - first measure in a system
- the measure is prepended by a system header - the measure is prepended by a system header

View File

@ -5,7 +5,7 @@
<work-title>Meta title</work-title> <work-title>Meta title</work-title>
</work> </work>
<identification> <identification>
<creator type="composer">Meta conposer</creator> <creator type="composer">Meta composer</creator>
<creator type="lyricist">Meta lyricist</creator> <creator type="lyricist">Meta lyricist</creator>
<rights>Meta copyright</rights> <rights>Meta copyright</rights>
<encoding> <encoding>
@ -49,7 +49,7 @@
<credit-words default-x="595.44" default-y="156.386" justify="center" valign="top" font-size="14">Subtitle</credit-words> <credit-words default-x="595.44" default-y="156.386" justify="center" valign="top" font-size="14">Subtitle</credit-words>
</credit> </credit>
<credit page="1"> <credit page="1">
<credit-words default-x="1134.19" default-y="113.386" justify="right" valign="bottom" font-size="12">Conposer</credit-words> <credit-words default-x="1134.19" default-y="113.386" justify="right" valign="bottom" font-size="12">Composer</credit-words>
</credit> </credit>
<credit page="1"> <credit page="1">
<credit-words default-x="56.6929" default-y="113.386" justify="left" valign="bottom" font-size="12">Lyricist</credit-words> <credit-words default-x="56.6929" default-y="113.386" justify="left" valign="bottom" font-size="12">Lyricist</credit-words>

View File

@ -5,7 +5,7 @@
<work-title>Meta title</work-title> <work-title>Meta title</work-title>
</work> </work>
<identification> <identification>
<creator type="composer">Meta conposer</creator> <creator type="composer">Meta composer</creator>
<creator type="lyricist">Meta lyricist</creator> <creator type="lyricist">Meta lyricist</creator>
<rights>Meta copyright</rights> <rights>Meta copyright</rights>
<encoding> <encoding>
@ -52,7 +52,7 @@
<credit-words default-x="595.44" default-y="156.386" justify="center" valign="top" font-size="14">Subtitle</credit-words> <credit-words default-x="595.44" default-y="156.386" justify="center" valign="top" font-size="14">Subtitle</credit-words>
</credit> </credit>
<credit page="1"> <credit page="1">
<credit-words default-x="1134.19" default-y="113.386" justify="right" valign="bottom" font-size="12">Conposer</credit-words> <credit-words default-x="1134.19" default-y="113.386" justify="right" valign="bottom" font-size="12">Composer</credit-words>
</credit> </credit>
<credit page="1"> <credit page="1">
<credit-words default-x="56.6929" default-y="113.386" justify="left" valign="bottom" font-size="12">Lyricist</credit-words> <credit-words default-x="56.6929" default-y="113.386" justify="left" valign="bottom" font-size="12">Lyricist</credit-words>

View File

@ -5,7 +5,7 @@
<work-title>Meta title</work-title> <work-title>Meta title</work-title>
</work> </work>
<identification> <identification>
<creator type="composer">Meta conposer</creator> <creator type="composer">Meta composer</creator>
<creator type="lyricist">Meta lyricist</creator> <creator type="lyricist">Meta lyricist</creator>
<rights>Meta copyright</rights> <rights>Meta copyright</rights>
<encoding> <encoding>
@ -49,7 +49,7 @@
<credit-words default-x="595.44" default-y="1569.97" justify="center" valign="top" font-size="14">Subtitle</credit-words> <credit-words default-x="595.44" default-y="1569.97" justify="center" valign="top" font-size="14">Subtitle</credit-words>
</credit> </credit>
<credit page="1"> <credit page="1">
<credit-words default-x="1134.19" default-y="1526.67" justify="right" valign="bottom" font-size="12">Conposer</credit-words> <credit-words default-x="1134.19" default-y="1526.67" justify="right" valign="bottom" font-size="12">Composer</credit-words>
</credit> </credit>
<credit page="1"> <credit page="1">
<credit-words default-x="56.6929" default-y="1526.67" justify="left" valign="bottom" font-size="12">Lyricist</credit-words> <credit-words default-x="56.6929" default-y="1526.67" justify="left" valign="bottom" font-size="12">Lyricist</credit-words>

View File

@ -59,7 +59,7 @@ private slots:
//void oveRepeatDCFineTest() { oveReadTest("cond - repeat - dc al fine"); } //void oveRepeatDCFineTest() { oveReadTest("cond - repeat - dc al fine"); }
//void oveRepeatDSCodaTest() { oveReadTest("cond - repeat - ds al coda_segno"); } //void oveRepeatDSCodaTest() { oveReadTest("cond - repeat - ds al coda_segno"); }
//void oveRepeatDSCodaToCodaTest() { oveReadTest("cond - repeat - ds al coda_segno_to coda"); } //void oveRepeatDSCodaToCodaTest() { oveReadTest("cond - repeat - ds al coda_segno_to coda"); }
//void oveRepepatDSFineTest() { oveReadTest("cond - repeat - ds al fine_segno"); } //void oveRepeatDSFineTest() { oveReadTest("cond - repeat - ds al fine_segno"); }
//void oveRepeatNumericEndingTest() { oveReadTest("cond - repeat - numeric ending"); } //void oveRepeatNumericEndingTest() { oveReadTest("cond - repeat - numeric ending"); }
//void oveRepeatTheMomentTest() { oveReadTest("cond - repeat - the moment"); } //void oveRepeatTheMomentTest() { oveReadTest("cond - repeat - the moment"); }
//void oveRepeatToCodaCodaTest() { oveReadTest("cond - repeat - to coda_coda"); } //void oveRepeatToCodaCodaTest() { oveReadTest("cond - repeat - to coda_coda"); }

View File

@ -15,4 +15,4 @@ cmd select-next-chord
cmd copy cmd copy
cmd next-chord cmd next-chord
cmd paste cmd paste
test score paste_excceed_scoreLen_MMrest.mscx test score paste_exceed_scoreLen_MMrest.mscx

View File

@ -20,7 +20,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
function doCkeckControlIsActive(action) function doCheckControlIsActive(action)
{ {
if (api.navigation.activeControl() === "") { if (api.navigation.activeControl() === "") {
api.autobot.error("navigation error: no control after call: " + action) api.autobot.error("navigation error: no control after call: " + action)
@ -31,42 +31,42 @@ module.exports = {
nextPanel: function() nextPanel: function()
{ {
api.navigation.nextPanel() api.navigation.nextPanel()
doCkeckControlIsActive("nextPanel") doCheckControlIsActive("nextPanel")
}, },
prevPanel: function() prevPanel: function()
{ {
api.navigation.prevPanel() api.navigation.prevPanel()
doCkeckControlIsActive("prevPanel") doCheckControlIsActive("prevPanel")
}, },
right: function() right: function()
{ {
api.navigation.right() api.navigation.right()
doCkeckControlIsActive("right") doCheckControlIsActive("right")
}, },
left: function() left: function()
{ {
api.navigation.left() api.navigation.left()
doCkeckControlIsActive("left") doCheckControlIsActive("left")
}, },
up: function() up: function()
{ {
api.navigation.up() api.navigation.up()
doCkeckControlIsActive("up") doCheckControlIsActive("up")
}, },
down: function() down: function()
{ {
api.navigation.down() api.navigation.down()
doCkeckControlIsActive("down") doCheckControlIsActive("down")
}, },
escape: function() escape: function()
{ {
api.navigation.down() api.navigation.down()
doCkeckControlIsActive("escape") doCheckControlIsActive("escape")
}, },
goToControl: function(section, panel, contolNameOrIndex) goToControl: function(section, panel, controlNameOrIndex)
{ {
if (!api.navigation.goToControl(section, panel, contolNameOrIndex)) { if (!api.navigation.goToControl(section, panel, controlNameOrIndex)) {
api.autobot.error("navigation error: not found control: " + contolNameOrIndex) api.autobot.error("navigation error: not found control: " + controlNameOrIndex)
} }
}, },
trigger: function() trigger: function()
@ -77,10 +77,10 @@ module.exports = {
} }
api.navigation.trigger() api.navigation.trigger()
}, },
triggerControl: function(section, panel, contolNameOrIndex) triggerControl: function(section, panel, controlNameOrIndex)
{ {
if (!api.navigation.triggerControl(section, panel, contolNameOrIndex)) { if (!api.navigation.triggerControl(section, panel, controlNameOrIndex)) {
api.autobot.error("navigation error: not found control: " + contolNameOrIndex) api.autobot.error("navigation error: not found control: " + controlNameOrIndex)
} }
}, },
activeSection: api.navigation.activeSection, activeSection: api.navigation.activeSection,

View File

@ -5274,7 +5274,7 @@
<trackName>Kuhlohorn</trackName> <trackName>Kuhlohorn</trackName>
<longName>Kuhlohorn</longName> <longName>Kuhlohorn</longName>
<shortName>Klhn.</shortName> <shortName>Klhn.</shortName>
<description>Small flugelhorn in B♭, played using a deel bowled mouthpiece.</description> <description>Small flugelhorn in B♭, played using a deep bowled mouthpiece.</description>
<musicXMLid>brass.kuhlohorn</musicXMLid> <musicXMLid>brass.kuhlohorn</musicXMLid>
<clef>G</clef> <clef>G</clef>
<barlineSpan>1</barlineSpan> <barlineSpan>1</barlineSpan>

View File

@ -1790,7 +1790,7 @@ QT_TRANSLATE_NOOP3("InstrumentsXML", "Flghn.", "flugelhorn|shortName"),
QT_TRANSLATE_NOOP3("InstrumentsXML", "open", "flugelhorn|channel"), QT_TRANSLATE_NOOP3("InstrumentsXML", "open", "flugelhorn|channel"),
QT_TRANSLATE_NOOP3("InstrumentsXML", "mute", "flugelhorn|channel"), QT_TRANSLATE_NOOP3("InstrumentsXML", "mute", "flugelhorn|channel"),
QT_TRANSLATE_NOOP3("InstrumentsXML", "Small flugelhorn in B♭, played using a deel bowled mouthpiece.", "kuhlohorn|description"), QT_TRANSLATE_NOOP3("InstrumentsXML", "Small flugelhorn in B♭, played using a deep bowled mouthpiece.", "kuhlohorn|description"),
QT_TRANSLATE_NOOP3("InstrumentsXML", "Kuhlohorn", "kuhlohorn|trackName"), QT_TRANSLATE_NOOP3("InstrumentsXML", "Kuhlohorn", "kuhlohorn|trackName"),
QT_TRANSLATE_NOOP3("InstrumentsXML", "Kuhlohorn", "kuhlohorn|longName"), QT_TRANSLATE_NOOP3("InstrumentsXML", "Kuhlohorn", "kuhlohorn|longName"),
QT_TRANSLATE_NOOP3("InstrumentsXML", "Klhn.", "kuhlohorn|shortName"), QT_TRANSLATE_NOOP3("InstrumentsXML", "Klhn.", "kuhlohorn|shortName"),

View File

@ -56,7 +56,7 @@
. 000-057: Trombone -- Fixed short release. . 000-057: Trombone -- Fixed short release.
. 000-058: Tuba -- Release was too short for notes at low velocities. . 000-058: Tuba -- Release was too short for notes at low velocities.
. 000-061: Brass Section -- There was some strange programming in this one that caused two voices to be used up per note for no real benefit. Both voices were playing the same sample, one panned hard right and the other hard left with the only difference being slightly different filter settings. This resulted in notes that seemed to pan toward the left at lighter velocities. I fixed this to only use one voice per note and also removed the useless "Key on velocity -> initialFilterQ" modulator that had been added (it was attempting to subtract up to 47 dB from the filter Q, but nowhere was the filter Q greater than 0). . 000-061: Brass Section -- There was some strange programming in this one that caused two voices to be used up per note for no real benefit. Both voices were playing the same sample, one panned hard right and the other hard left with the only difference being slightly different filter settings. This resulted in notes that seemed to pan toward the left at lighter velocities. I fixed this to only use one voice per note and also removed the useless "Key on velocity -> initialFilterQ" modulator that had been added (it was attempting to subtract up to 47 dB from the filter Q, but nowhere was the filter Q greater than 0).
. 000-069: English Horn -- Tamed the crazy volume swell that occured on most notes. Unfortunately, this instrument ends up being a bit quieter than the other woodwinds. It would be necessary to edit the samples to remedy this. . 000-069: English Horn -- Tamed the crazy volume swell that occurred on most notes. Unfortunately, this instrument ends up being a bit quieter than the other woodwinds. It would be necessary to edit the samples to remedy this.
. 000-071: Clarinet -- EQ'd the samples and added a bit of release for better realism. The original samples were incredibly nasally and cut off too abruptly on note release. . 000-071: Clarinet -- EQ'd the samples and added a bit of release for better realism. The original samples were incredibly nasally and cut off too abruptly on note release.
. 000-074: Recorder -- Duplicate samples were panned hard left and right for no discernable reason, which was causing twice the polyphony to be used. I fixed this to use single, center-panned samples instead. I also improved the tuning and countered the pitch bend at the beginning of some notes. . 000-074: Recorder -- Duplicate samples were panned hard left and right for no discernable reason, which was causing twice the polyphony to be used. I fixed this to use single, center-panned samples instead. I also improved the tuning and countered the pitch bend at the beginning of some notes.
. 000-089: Warm Pad -- Reprogrammed using the strings samples to avoid needing dedicated samples for this preset. . 000-089: Warm Pad -- Reprogrammed using the strings samples to avoid needing dedicated samples for this preset.

View File

@ -183,7 +183,7 @@
- **000-057: Trombone** -- Fixed short release. - **000-057: Trombone** -- Fixed short release.
- **000-058: Tuba** -- Release was too short for notes at low velocities. - **000-058: Tuba** -- Release was too short for notes at low velocities.
- **000-061: Brass Section** -- There was some strange programming in this one that caused two voices to be used up per note for no real benefit. Both voices were playing the same sample, one panned hard right and the other hard left with the only difference being slightly different filter settings. This resulted in notes that seemed to pan toward the left at lighter velocities. I fixed this to only use one voice per note and also removed the useless "Key on velocity -> initialFilterQ" modulator that had been added (it was attempting to subtract up to 47 dB from the filter Q, but nowhere was the filter Q greater than 0). - **000-061: Brass Section** -- There was some strange programming in this one that caused two voices to be used up per note for no real benefit. Both voices were playing the same sample, one panned hard right and the other hard left with the only difference being slightly different filter settings. This resulted in notes that seemed to pan toward the left at lighter velocities. I fixed this to only use one voice per note and also removed the useless "Key on velocity -> initialFilterQ" modulator that had been added (it was attempting to subtract up to 47 dB from the filter Q, but nowhere was the filter Q greater than 0).
- **000-069: English Horn** -- Tamed the crazy volume swell that occured on most notes. Unfortunately, this instrument ends up being a bit quieter than the other woodwinds. It would be necessary to edit the samples to remedy this. - **000-069: English Horn** -- Tamed the crazy volume swell that occurred on most notes. Unfortunately, this instrument ends up being a bit quieter than the other woodwinds. It would be necessary to edit the samples to remedy this.
- **000-071: Clarinet** -- EQ'd the samples and added a bit of release for better realism. The original samples were incredibly nasally and cut off too abruptly on note release. - **000-071: Clarinet** -- EQ'd the samples and added a bit of release for better realism. The original samples were incredibly nasally and cut off too abruptly on note release.
- **000-074: Recorder** -- Duplicate samples were panned hard left and right for no discernable reason, which was causing twice the polyphony to be used. I fixed this to use single, center-panned samples instead. I also improved the tuning and countered the pitch bend at the beginning of some notes. - **000-074: Recorder** -- Duplicate samples were panned hard left and right for no discernable reason, which was causing twice the polyphony to be used. I fixed this to use single, center-panned samples instead. I also improved the tuning and countered the pitch bend at the beginning of some notes.
- **000-089: Warm Pad** -- Reprogrammed using the strings samples to avoid needing dedicated samples for this preset. - **000-089: Warm Pad** -- Reprogrammed using the strings samples to avoid needing dedicated samples for this preset.

View File

@ -50,7 +50,7 @@
<sym code="0x1d12a" name="##"/> <sym code="0x1d12a" name="##"/>
<sym code="0x1d12b" name="bb"/> <sym code="0x1d12b" name="bb"/>
<!-- this allows "b" to render as a literal when when encountered as a note name --> <!-- this allows "b" to render as a literal when encountered as a note name -->
<sym value="b" class="note" name="b"/> <sym value="b" class="note" name="b"/>
<!-- add "code" attributes (as for "b" and "#" above) to get these to render as flat and sharp signs --> <!-- add "code" attributes (as for "b" and "#" above) to get these to render as flat and sharp signs -->

View File

@ -165,7 +165,7 @@ void CommandLineController::apply()
} }
} }
notationConfiguration()->setTemplateModeEnalbed(m_parser.isSet("template-mode")); notationConfiguration()->setTemplateModeEnabled(m_parser.isSet("template-mode"));
notationConfiguration()->setTestModeEnabled(m_parser.isSet("t")); notationConfiguration()->setTestModeEnabled(m_parser.isSet("t"));
QString modeType; QString modeType;

View File

@ -71,7 +71,7 @@ PreferencesPage {
ioModel.currentMidiInputDeviceIndex = newIndex ioModel.currentMidiInputDeviceIndex = newIndex
} }
onCurrentOuputDeviceIndexChangeRequested: function(newIndex) { onCurrentOutputDeviceIndexChangeRequested: function(newIndex) {
ioModel.currentMidiOutputDeviceIndex = newIndex ioModel.currentMidiOutputDeviceIndex = newIndex
} }
} }

View File

@ -40,7 +40,7 @@ PreferencesPage {
NoteInputSection { NoteInputSection {
advanceToNextNote: noteInputModel.advanceToNextNoteOnKeyRelease advanceToNextNote: noteInputModel.advanceToNextNoteOnKeyRelease
colorNotes: noteInputModel.colorNotesOusideOfUsablePitchRange colorNotes: noteInputModel.colorNotesOutsideOfUsablePitchRange
delayBetweenNotes: noteInputModel.delayBetweenNotesInRealTimeModeMilliseconds delayBetweenNotes: noteInputModel.delayBetweenNotesInRealTimeModeMilliseconds
navigation.section: root.navigationSection navigation.section: root.navigationSection
@ -51,7 +51,7 @@ PreferencesPage {
} }
onColorNotesChangeRequested: function(color) { onColorNotesChangeRequested: function(color) {
noteInputModel.colorNotesOusideOfUsablePitchRange = color noteInputModel.colorNotesOutsideOfUsablePitchRange = color
} }
onDelayBetweenNotesChangeRequested: function(delay) { onDelayBetweenNotesChangeRequested: function(delay) {

View File

@ -59,7 +59,7 @@ BaseSection {
FilePicker { FilePicker {
Layout.fillWidth: true Layout.fillWidth: true
pickerType: model.isMutliDirectories ? FilePicker.PickerType.MultipleDirectories : FilePicker.PickerType.Directory pickerType: model.isMultiDirectories ? FilePicker.PickerType.MultipleDirectories : FilePicker.PickerType.Directory
dialogTitle: qsTrc("appshell", "Choose %1 folder").arg(model.title) dialogTitle: qsTrc("appshell", "Choose %1 folder").arg(model.title)
dir: model.dir dir: model.dir

View File

@ -33,7 +33,7 @@ BaseSection {
property alias outputDevices: outputDevicesBox.model property alias outputDevices: outputDevicesBox.model
signal currentInputDeviceIndexChangeRequested(int newIndex) signal currentInputDeviceIndexChangeRequested(int newIndex)
signal currentOuputDeviceIndexChangeRequested(int newIndex) signal currentOutputDeviceIndexChangeRequested(int newIndex)
title: qsTrc("appshell", "MIDI") title: qsTrc("appshell", "MIDI")
@ -63,7 +63,7 @@ BaseSection {
navigation.row: 2 navigation.row: 2
onValueEdited: function(newIndex, newValue) { onValueEdited: function(newIndex, newValue) {
root.currentOuputDeviceIndexChangeRequested(newIndex) root.currentOutputDeviceIndexChangeRequested(newIndex)
} }
} }
} }

View File

@ -99,7 +99,7 @@ BaseSection {
minValue: 1 minValue: 1
maxValue: 16 maxValue: 16
navigation.name: "MouseZoomPercisionControl" navigation.name: "MouseZoomPrecisionControl"
navigation.panel: root.navigation navigation.panel: root.navigation
navigation.row: 1 navigation.row: 1
navigation.column: 0 navigation.column: 0

View File

@ -42,7 +42,7 @@ DockPage {
property NavigationSection publishToolBarKeyNavSec: NavigationSection { property NavigationSection publishToolBarKeyNavSec: NavigationSection {
id: keynavSec id: keynavSec
name: "PublushToolBarSection" name: "PublishToolBarSection"
order: 2 order: 2
} }

View File

@ -38,9 +38,9 @@ DockPageView {
property var panelTopDropDestination: { "dock": panelTopDockingHolder, "dropLocation": Location.Left } property var panelTopDropDestination: { "dock": panelTopDockingHolder, "dropLocation": Location.Left }
property var panelBottomDropDestination: { "dock": panelBottomDockingHolder, "dropLocation": Location.Left } property var panelBottomDropDestination: { "dock": panelBottomDockingHolder, "dropLocation": Location.Left }
property bool complited: false property bool completed: false
Component.onCompleted: root.complited = true Component.onCompleted: root.completed = true
Component.onDestruction: root.complited = false Component.onDestruction: root.completed = false
centralDock: DockCentralView { centralDock: DockCentralView {
objectName: root.objectName + "_central" objectName: root.objectName + "_central"
@ -48,7 +48,7 @@ DockPageView {
Loader { Loader {
id: central id: central
anchors.fill: parent anchors.fill: parent
sourceComponent: (root.complited && root.visible) ? root.central : null sourceComponent: (root.completed && root.visible) ? root.central : null
} }
} }

View File

@ -160,7 +160,7 @@ DockPanelView::~DockPanelView()
return; return;
} }
dockWidget->setProperty(DOCK_PANEL_PROPERY, QVariant::fromValue(nullptr)); dockWidget->setProperty(DOCK_PANEL_PROPERTY, QVariant::fromValue(nullptr));
dockWidget->setProperty(CONTEXT_MENU_MODEL_PROPERTY, QVariant::fromValue(nullptr)); dockWidget->setProperty(CONTEXT_MENU_MODEL_PROPERTY, QVariant::fromValue(nullptr));
} }
@ -190,7 +190,7 @@ void DockPanelView::componentComplete()
m_menuModel->load(); m_menuModel->load();
dockWidget->setProperty(DOCK_PANEL_PROPERY, QVariant::fromValue(this)); dockWidget->setProperty(DOCK_PANEL_PROPERTY, QVariant::fromValue(this));
dockWidget->setProperty(CONTEXT_MENU_MODEL_PROPERTY, QVariant::fromValue(m_menuModel)); dockWidget->setProperty(CONTEXT_MENU_MODEL_PROPERTY, QVariant::fromValue(m_menuModel));
connect(m_menuModel, &AbstractMenuModel::itemsChanged, [dockWidget, this]() { connect(m_menuModel, &AbstractMenuModel::itemsChanged, [dockWidget, this]() {

View File

@ -28,7 +28,7 @@
namespace mu::dock { namespace mu::dock {
inline const char* CONTEXT_MENU_MODEL_PROPERTY("contextMenuModel"); inline const char* CONTEXT_MENU_MODEL_PROPERTY("contextMenuModel");
inline const char* DOCK_PANEL_PROPERY("dockPanel"); inline const char* DOCK_PANEL_PROPERTY("dockPanel");
//! NOTE: need to be synchronized with Window shadow(see DockFloatingWindow margins) //! NOTE: need to be synchronized with Window shadow(see DockFloatingWindow margins)
inline constexpr int DOCK_WINDOW_SHADOW(8); inline constexpr int DOCK_WINDOW_SHADOW(8);

View File

@ -384,7 +384,7 @@ void DockWindow::alignToolBars(const DockPageView* page)
int centralToolBarsWidth = 0; int centralToolBarsWidth = 0;
int rightToolBarsWidth = 0; int rightToolBarsWidth = 0;
int separatorThicnkess = KDDockWidgets::Config::self().separatorThickness(); int separatorThickness = KDDockWidgets::Config::self().separatorThickness();
for (DockToolBarView* toolBar : topToolBars) { for (DockToolBarView* toolBar : topToolBars) {
if (toolBar->floating() || !toolBar->isVisible()) { if (toolBar->floating() || !toolBar->isVisible()) {
@ -398,10 +398,10 @@ void DockWindow::alignToolBars(const DockPageView* page)
break; break;
case DockToolBarAlignment::Center: case DockToolBarAlignment::Center:
lastCentralToolBar = toolBar; lastCentralToolBar = toolBar;
centralToolBarsWidth += (toolBar->contentWidth() + separatorThicnkess); centralToolBarsWidth += (toolBar->contentWidth() + separatorThickness);
break; break;
case DockToolBarAlignment::Right: case DockToolBarAlignment::Right:
rightToolBarsWidth += (toolBar->contentWidth() + separatorThicnkess); rightToolBarsWidth += (toolBar->contentWidth() + separatorThickness);
break; break;
} }
} }

View File

@ -33,7 +33,7 @@
#include "thirdparty/KDDockWidgets/src/private/FloatingWindow_p.h" #include "thirdparty/KDDockWidgets/src/private/FloatingWindow_p.h"
namespace mu::dock { namespace mu::dock {
static QSize adjustSizeByContraints(const QSize& size, const QSize& min, const QSize& max) static QSize adjustSizeByConstraints(const QSize& size, const QSize& min, const QSize& max)
{ {
return size.expandedTo(min).boundedTo(max); return size.expandedTo(min).boundedTo(max);
} }
@ -541,7 +541,7 @@ void DockBase::applySizeConstraints()
window->setMinimumSize(minimumSize); window->setMinimumSize(minimumSize);
window->setMaximumSize(maximumSize); window->setMaximumSize(maximumSize);
QSize winSize = adjustSizeByContraints(window->frameGeometry().size(), minimumSize, maximumSize); QSize winSize = adjustSizeByConstraints(window->frameGeometry().size(), minimumSize, maximumSize);
QRect winRect(window->dragRect().topLeft(), winSize); QRect winRect(window->dragRect().topLeft(), winSize);
window->setGeometry(winRect); window->setGeometry(winRect);

View File

@ -175,7 +175,7 @@ void DockFrameModel::setIsHorizontalPanel(bool is)
QObject* DockFrameModel::currentNavigationSection() const QObject* DockFrameModel::currentNavigationSection() const
{ {
auto dockPanel = currentDockProperty(DOCK_PANEL_PROPERY).value<DockPanelView*>(); auto dockPanel = currentDockProperty(DOCK_PANEL_PROPERTY).value<DockPanelView*>();
return dockPanel ? dockPanel->navigationSection() : nullptr; return dockPanel ? dockPanel->navigationSection() : nullptr;
} }

View File

@ -87,7 +87,7 @@ void AdvancedPreferencesModel::load()
Settings::Items items = settings()->items(); Settings::Items items = settings()->items();
for (auto it = items.cbegin(); it != items.cend(); ++it) { for (auto it = items.cbegin(); it != items.cend(); ++it) {
if (it->second.canBeMannualyEdited) { if (it->second.canBeManuallyEdited) {
m_items << it->second; m_items << it->second;
} }
} }

View File

@ -43,7 +43,7 @@ QVariant FoldersPreferencesModel::data(const QModelIndex& index, int role) const
case TitleRole: return folder.title; case TitleRole: return folder.title;
case PathRole: return folder.value; case PathRole: return folder.value;
case DirRole: return folder.dir; case DirRole: return folder.dir;
case IsMutliDirectoriesRole: return folder.valueType == FolderValueType::MultiDirectories; case IsMultiDirectoriesRole: return folder.valueType == FolderValueType::MultiDirectories;
} }
return QVariant(); return QVariant();
@ -74,7 +74,7 @@ QHash<int, QByteArray> FoldersPreferencesModel::roleNames() const
{ TitleRole, "title" }, { TitleRole, "title" },
{ PathRole, "path" }, { PathRole, "path" },
{ DirRole, "dir" }, { DirRole, "dir" },
{ IsMutliDirectoriesRole, "isMutliDirectories" } { IsMultiDirectoriesRole, "isMultiDirectories" }
}; };
return roles; return roles;

View File

@ -62,7 +62,7 @@ private:
TitleRole = Qt::UserRole + 1, TitleRole = Qt::UserRole + 1,
PathRole, PathRole,
DirRole, DirRole,
IsMutliDirectoriesRole IsMultiDirectoriesRole
}; };
enum class FolderType { enum class FolderType {

View File

@ -36,9 +36,9 @@ bool NoteInputPreferencesModel::advanceToNextNoteOnKeyRelease() const
return shortcutsConfiguration()->advanceToNextNoteOnKeyRelease(); return shortcutsConfiguration()->advanceToNextNoteOnKeyRelease();
} }
bool NoteInputPreferencesModel::colorNotesOusideOfUsablePitchRange() const bool NoteInputPreferencesModel::colorNotesOutsideOfUsablePitchRange() const
{ {
return notationConfiguration()->colorNotesOusideOfUsablePitchRange(); return notationConfiguration()->colorNotesOutsideOfUsablePitchRange();
} }
int NoteInputPreferencesModel::delayBetweenNotesInRealTimeModeMilliseconds() const int NoteInputPreferencesModel::delayBetweenNotesInRealTimeModeMilliseconds() const
@ -76,14 +76,14 @@ void NoteInputPreferencesModel::setAdvanceToNextNoteOnKeyRelease(bool value)
emit advanceToNextNoteOnKeyReleaseChanged(value); emit advanceToNextNoteOnKeyReleaseChanged(value);
} }
void NoteInputPreferencesModel::setColorNotesOusideOfUsablePitchRange(bool value) void NoteInputPreferencesModel::setColorNotesOutsideOfUsablePitchRange(bool value)
{ {
if (value == colorNotesOusideOfUsablePitchRange()) { if (value == colorNotesOutsideOfUsablePitchRange()) {
return; return;
} }
notationConfiguration()->setColorNotesOusideOfUsablePitchRange(value); notationConfiguration()->setColorNotesOutsideOfUsablePitchRange(value);
emit colorNotesOusideOfUsablePitchRangeChanged(value); emit colorNotesOutsideOfUsablePitchRangeChanged(value);
} }
void NoteInputPreferencesModel::setDelayBetweenNotesInRealTimeModeMilliseconds(int delay) void NoteInputPreferencesModel::setDelayBetweenNotesInRealTimeModeMilliseconds(int delay)

View File

@ -41,7 +41,7 @@ class NoteInputPreferencesModel : public QObject
Q_PROPERTY( Q_PROPERTY(
bool advanceToNextNoteOnKeyRelease READ advanceToNextNoteOnKeyRelease WRITE setAdvanceToNextNoteOnKeyRelease NOTIFY advanceToNextNoteOnKeyReleaseChanged) bool advanceToNextNoteOnKeyRelease READ advanceToNextNoteOnKeyRelease WRITE setAdvanceToNextNoteOnKeyRelease NOTIFY advanceToNextNoteOnKeyReleaseChanged)
Q_PROPERTY( Q_PROPERTY(
bool colorNotesOusideOfUsablePitchRange READ colorNotesOusideOfUsablePitchRange WRITE setColorNotesOusideOfUsablePitchRange NOTIFY colorNotesOusideOfUsablePitchRangeChanged) bool colorNotesOutsideOfUsablePitchRange READ colorNotesOutsideOfUsablePitchRange WRITE setColorNotesOutsideOfUsablePitchRange NOTIFY colorNotesOutsideOfUsablePitchRangeChanged)
Q_PROPERTY( Q_PROPERTY(
int delayBetweenNotesInRealTimeModeMilliseconds READ delayBetweenNotesInRealTimeModeMilliseconds WRITE setDelayBetweenNotesInRealTimeModeMilliseconds NOTIFY delayBetweenNotesInRealTimeModeMillisecondsChanged) int delayBetweenNotesInRealTimeModeMilliseconds READ delayBetweenNotesInRealTimeModeMilliseconds WRITE setDelayBetweenNotesInRealTimeModeMilliseconds NOTIFY delayBetweenNotesInRealTimeModeMillisecondsChanged)
@ -56,7 +56,7 @@ public:
explicit NoteInputPreferencesModel(QObject* parent = nullptr); explicit NoteInputPreferencesModel(QObject* parent = nullptr);
bool advanceToNextNoteOnKeyRelease() const; bool advanceToNextNoteOnKeyRelease() const;
bool colorNotesOusideOfUsablePitchRange() const; bool colorNotesOutsideOfUsablePitchRange() const;
int delayBetweenNotesInRealTimeModeMilliseconds() const; int delayBetweenNotesInRealTimeModeMilliseconds() const;
bool playNotesWhenEditing() const; bool playNotesWhenEditing() const;
@ -66,7 +66,7 @@ public:
public slots: public slots:
void setAdvanceToNextNoteOnKeyRelease(bool value); void setAdvanceToNextNoteOnKeyRelease(bool value);
void setColorNotesOusideOfUsablePitchRange(bool value); void setColorNotesOutsideOfUsablePitchRange(bool value);
void setDelayBetweenNotesInRealTimeModeMilliseconds(int delay); void setDelayBetweenNotesInRealTimeModeMilliseconds(int delay);
void setPlayNotesWhenEditing(bool value); void setPlayNotesWhenEditing(bool value);
void setNotePlayDurationMilliseconds(int duration); void setNotePlayDurationMilliseconds(int duration);
@ -75,7 +75,7 @@ public slots:
signals: signals:
void advanceToNextNoteOnKeyReleaseChanged(bool value); void advanceToNextNoteOnKeyReleaseChanged(bool value);
void colorNotesOusideOfUsablePitchRangeChanged(bool value); void colorNotesOutsideOfUsablePitchRangeChanged(bool value);
void delayBetweenNotesInRealTimeModeMillisecondsChanged(int delay); void delayBetweenNotesInRealTimeModeMillisecondsChanged(int delay);
void playNotesWhenEditingChanged(bool value); void playNotesWhenEditingChanged(bool value);
void notePlayDurationMillisecondsChanged(int duration); void notePlayDurationMillisecondsChanged(int duration);

View File

@ -18,10 +18,6 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# This is module for convert mscz files to various formats (image, pdf, audio and etc).
# Main goal - determine what need to do and call necceasers functions.
# Usually use from command line.
set(MODULE autobot) set(MODULE autobot)
set(MODULE_QRC autobot.qrc) set(MODULE_QRC autobot.qrc)

View File

@ -70,23 +70,23 @@ void NavigationApi::escape()
dispatcher()->dispatch("nav-escape"); dispatcher()->dispatch("nav-escape");
} }
bool NavigationApi::goToControl(const QString& section, const QString& panel, const QJSValue& contolNameOrIndex) bool NavigationApi::goToControl(const QString& section, const QString& panel, const QJSValue& controlNameOrIndex)
{ {
bool ok = false; bool ok = false;
if (contolNameOrIndex.isString()) { if (controlNameOrIndex.isString()) {
ok = navigation()->requestActivateByName(section.toStdString(), panel.toStdString(), contolNameOrIndex.toString().toStdString()); ok = navigation()->requestActivateByName(section.toStdString(), panel.toStdString(), controlNameOrIndex.toString().toStdString());
} else if (contolNameOrIndex.isArray()) { } else if (controlNameOrIndex.isArray()) {
if (contolNameOrIndex.property("length").toInt() == 2) { if (controlNameOrIndex.property("length").toInt() == 2) {
INavigation::Index idx; INavigation::Index idx;
idx.row = contolNameOrIndex.property(0).toInt(); idx.row = controlNameOrIndex.property(0).toInt();
idx.column = contolNameOrIndex.property(1).toInt(); idx.column = controlNameOrIndex.property(1).toInt();
ok = navigation()->requestActivateByIndex(section.toStdString(), panel.toStdString(), idx); ok = navigation()->requestActivateByIndex(section.toStdString(), panel.toStdString(), idx);
} else { } else {
LOGE() << "bad argument `control`: " << contolNameOrIndex.toString(); LOGE() << "bad argument `control`: " << controlNameOrIndex.toString();
ok = false; ok = false;
} }
} else { } else {
LOGE() << "bad argument `control`: " << contolNameOrIndex.toString(); LOGE() << "bad argument `control`: " << controlNameOrIndex.toString();
ok = false; ok = false;
} }
@ -98,9 +98,9 @@ void NavigationApi::trigger()
dispatcher()->dispatch("nav-trigger-control"); dispatcher()->dispatch("nav-trigger-control");
} }
bool NavigationApi::triggerControl(const QString& section, const QString& panel, const QJSValue& contolNameOrIndex) bool NavigationApi::triggerControl(const QString& section, const QString& panel, const QJSValue& controlNameOrIndex)
{ {
bool ok = goToControl(section, panel, contolNameOrIndex); bool ok = goToControl(section, panel, controlNameOrIndex);
if (ok) { if (ok) {
trigger(); trigger();
} }

View File

@ -49,9 +49,9 @@ public:
Q_INVOKABLE void up(); Q_INVOKABLE void up();
Q_INVOKABLE void down(); Q_INVOKABLE void down();
Q_INVOKABLE void escape(); Q_INVOKABLE void escape();
Q_INVOKABLE bool goToControl(const QString& section, const QString& panel, const QJSValue& contolNameOrIndex); Q_INVOKABLE bool goToControl(const QString& section, const QString& panel, const QJSValue& controlNameOrIndex);
Q_INVOKABLE void trigger(); Q_INVOKABLE void trigger();
Q_INVOKABLE bool triggerControl(const QString& section, const QString& panel, const QJSValue& contolNameOrIndex); Q_INVOKABLE bool triggerControl(const QString& section, const QString& panel, const QJSValue& controlNameOrIndex);
Q_INVOKABLE QString activeSection() const; Q_INVOKABLE QString activeSection() const;
Q_INVOKABLE QString activePanel() const; Q_INVOKABLE QString activePanel() const;

View File

@ -104,9 +104,9 @@ io::path AutobotInteractive::selectDirectory(const QString& title, const io::pat
return m_real->selectDirectory(title, dir); return m_real->selectDirectory(title, dir);
} }
io::paths AutobotInteractive::selectMultipleDirectories(const QString& title, const io::path& dir, const io::paths& initialyDirectories) io::paths AutobotInteractive::selectMultipleDirectories(const QString& title, const io::path& dir, const io::paths& initialDirectories)
{ {
return m_real->selectMultipleDirectories(title, dir, initialyDirectories); return m_real->selectMultipleDirectories(title, dir, initialDirectories);
} }
RetVal<Val> AutobotInteractive::open(const std::string& uri) const RetVal<Val> AutobotInteractive::open(const std::string& uri) const

View File

@ -67,7 +67,7 @@ public:
// dirs // dirs
io::path selectDirectory(const QString& title, const io::path& dir) override; io::path selectDirectory(const QString& title, const io::path& dir) override;
io::paths selectMultipleDirectories(const QString& title, const io::path& dir, const io::paths& initialyDirectories) override; io::paths selectMultipleDirectories(const QString& title, const io::path& dir, const io::paths& initialDirectories) override;
// custom // custom
RetVal<Val> open(const std::string& uri) const override; RetVal<Val> open(const std::string& uri) const override;

View File

@ -19,7 +19,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# This is module for convert mscz files to various formats (image, pdf, audio and etc). # This is module for convert mscz files to various formats (image, pdf, audio and etc).
# Main goal - determine what need to do and call necceasers functions. # Main goal - determine what need to do and call necessary functions.
# Usually use from command line. # Usually use from command line.
set(MODULE converter) set(MODULE converter)

View File

@ -177,9 +177,9 @@ std::pair<int, QString> NotationMeta::tempo(const Ms::Score* score)
QString tempoText; QString tempoText;
for (const Ms::Segment* segment = score->firstSegmentMM(Ms::SegmentType::All); segment; segment = segment->next1MM()) { for (const Ms::Segment* segment = score->firstSegmentMM(Ms::SegmentType::All); segment; segment = segment->next1MM()) {
auto annotations = segment->annotations(); auto annotations = segment->annotations();
for (const Ms::EngravingItem* anotation : annotations) { for (const Ms::EngravingItem* annotation : annotations) {
if (anotation && anotation->isTempoText()) { if (annotation && annotation->isTempoText()) {
const Ms::TempoText* tt = toTempoText(anotation); const Ms::TempoText* tt = toTempoText(annotation);
tempo = round(tt->tempo().toBPM().val); tempo = round(tt->tempo().toBPM().val);
tempoText = tt->xmlText(); tempoText = tt->xmlText();
} }

View File

@ -28,7 +28,7 @@
using namespace mu::diagnostics; using namespace mu::diagnostics;
using namespace mu::accessibility; using namespace mu::accessibility;
static const mu::UriQuery SYSTEN_PATHS_URI("musescore://diagnostics/system/paths?sync=false&modal=false&floating=true"); static const mu::UriQuery SYSTEM_PATHS_URI("musescore://diagnostics/system/paths?sync=false&modal=false&floating=true");
static const mu::UriQuery PROFILER_URI("musescore://diagnostics/system/profiler?sync=false&modal=false&floating=true"); static const mu::UriQuery PROFILER_URI("musescore://diagnostics/system/profiler?sync=false&modal=false&floating=true");
static const mu::UriQuery NAVIGATION_TREE_URI("musescore://diagnostics/navigation/tree?sync=false&modal=false&floating=true"); static const mu::UriQuery NAVIGATION_TREE_URI("musescore://diagnostics/navigation/tree?sync=false&modal=false&floating=true");
static const mu::UriQuery ACCESSIBLE_TREE_URI("musescore://diagnostics/accessible/tree?sync=false&modal=false&floating=true"); static const mu::UriQuery ACCESSIBLE_TREE_URI("musescore://diagnostics/accessible/tree?sync=false&modal=false&floating=true");
@ -36,7 +36,7 @@ static const mu::UriQuery ENGRAVING_ELEMENTS_URI("musescore://diagnostics/engrav
void DiagnosticsActionsController::init() void DiagnosticsActionsController::init()
{ {
dispatcher()->reg(this, "diagnostic-show-paths", [this]() { openUri(SYSTEN_PATHS_URI); }); dispatcher()->reg(this, "diagnostic-show-paths", [this]() { openUri(SYSTEM_PATHS_URI); });
dispatcher()->reg(this, "diagnostic-show-profiler", [this]() { openUri(PROFILER_URI); }); dispatcher()->reg(this, "diagnostic-show-profiler", [this]() { openUri(PROFILER_URI); });
dispatcher()->reg(this, "diagnostic-show-navigation-tree", [this]() { openUri(NAVIGATION_TREE_URI); }); dispatcher()->reg(this, "diagnostic-show-navigation-tree", [this]() { openUri(NAVIGATION_TREE_URI); });
dispatcher()->reg(this, "diagnostic-show-accessible-tree", [this]() { openUri(ACCESSIBLE_TREE_URI); }); dispatcher()->reg(this, "diagnostic-show-accessible-tree", [this]() { openUri(ACCESSIBLE_TREE_URI); });

View File

@ -42,7 +42,7 @@ public:
void clearStatistic() override; void clearStatistic() override;
void printStatistic(const std::string& title) override; void printStatistic(const std::string& title) override;
// registr // register
void reg(const Ms::EngravingObject* e) override; void reg(const Ms::EngravingObject* e) override;
void unreg(const Ms::EngravingObject* e) override; void unreg(const Ms::EngravingObject* e) override;
const EngravingObjectList& elements() const override; const EngravingObjectList& elements() const override;

View File

@ -74,12 +74,12 @@ Rectangle {
FlatButton { FlatButton {
id: moreBtn id: moreBtn
anchors.right: parent.right anchors.right: parent.right
text: infoLable.visible ? "Less" : "More" text: infoLabel.visible ? "Less" : "More"
onClicked: infoLable.visible = !infoLable.visible onClicked: infoLabel.visible = !infoLabel.visible
} }
StyledTextLabel { StyledTextLabel {
id: infoLable id: infoLabel
anchors.top: reloadBtn.bottom anchors.top: reloadBtn.bottom
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right

View File

@ -48,7 +48,7 @@ void WriteScoreHook::onWriteStyle302(Ms::Score* score, Ms::XmlWriter& xml)
} }
if (isWriteStyle) { if (isWriteStyle) {
score->style().save(xml, true); // save only differences to buildin style (logic from 3.) score->style().save(xml, true); // save only differences to builtin style (logic from 3.)
} }
} }

View File

@ -441,7 +441,7 @@ public:
using PolygonF = PolygonX<qreal>; using PolygonF = PolygonX<qreal>;
using Polygon = PolygonX<int>; using Polygon = PolygonX<int>;
// Impelemtation ========================================== // Implementation ==========================================
template<typename T> template<typename T>
RectX<T> RectX<T>::united(const RectX<T>& r) const RectX<T> RectX<T>::united(const RectX<T>& r) const
{ {

View File

@ -61,7 +61,7 @@ void EngravingConfiguration::init()
Settings::Key key("engraving", "engraving/colors/voice" + std::to_string(voice + 1)); Settings::Key key("engraving", "engraving/colors/voice" + std::to_string(voice + 1));
settings()->setDefaultValue(key, Val(defaultVoiceColors[voice].toQColor())); settings()->setDefaultValue(key, Val(defaultVoiceColors[voice].toQColor()));
settings()->setCanBeMannualyEdited(key, true); settings()->setCanBeManuallyEdited(key, true);
settings()->valueChanged(key).onReceive(this, [this, voice](const Val& val) { settings()->valueChanged(key).onReceive(this, [this, voice](const Val& val) {
Color color = val.toQColor(); Color color = val.toQColor();
voiceColorKeys[voice].color = color; voiceColorKeys[voice].color = color;

View File

@ -182,13 +182,13 @@ void MscWriter::writeViewSettingsJsonFile(const QByteArray& data)
void MscWriter::writeMeta() void MscWriter::writeMeta()
{ {
if (m_meta.isWrited) { if (m_meta.isWritten) {
return; return;
} }
writeContainer(m_meta.files); writeContainer(m_meta.files);
m_meta.isWrited = true; m_meta.isWritten = true;
} }
void MscWriter::writeContainer(const std::vector<QString>& paths) void MscWriter::writeContainer(const std::vector<QString>& paths)

View File

@ -115,7 +115,7 @@ private:
struct Meta { struct Meta {
std::vector<QString> files; std::vector<QString> files;
bool isWrited = false; bool isWritten = false;
bool contains(const QString& file) const; bool contains(const QString& file) const;
void addFile(const QString& file); void addFile(const QString& file);

View File

@ -205,7 +205,7 @@ void LayoutHarmonies::alignHarmonies(const System* system, const std::vector<Seg
// Algorithm: // Algorithm:
// - Find highest placed harmony/fretdiagram. // - Find highest placed harmony/fretdiagram.
// - Align all harmony/fretdiagram objects placed between height and height-maxShiftAbove. // - Align all harmony/fretdiagram objects placed between height and height-maxShiftAbove.
// - Repeat for all harmony/fretdiagram objects below heigt-maxShiftAbove. // - Repeat for all harmony/fretdiagram objects below height-maxShiftAbove.
bool moved { true }; bool moved { true };
int pass { 0 }; int pass { 0 };
while (moved && (pass++ < 10)) { while (moved && (pass++ < 10)) {

View File

@ -72,7 +72,7 @@ System* LayoutSystem::collectSystem(const LayoutOptions& options, LayoutContext&
if (measure) { if (measure) {
const LayoutBreak* layoutBreak = measure->sectionBreakElement(); const LayoutBreak* layoutBreak = measure->sectionBreakElement();
ctx.firstSystem = measure->sectionBreak() && !options.isMode(LayoutMode::FLOAT); ctx.firstSystem = measure->sectionBreak() && !options.isMode(LayoutMode::FLOAT);
ctx.firstSystemIndent = ctx.firstSystem && options.firstSystemIndent && layoutBreak->firstSystemIdentation(); ctx.firstSystemIndent = ctx.firstSystem && options.firstSystemIndent && layoutBreak->firstSystemIndentation();
ctx.startWithLongNames = ctx.firstSystem && layoutBreak->startWithLongNames(); ctx.startWithLongNames = ctx.firstSystem && layoutBreak->startWithLongNames();
} }
@ -178,7 +178,7 @@ System* LayoutSystem::collectSystem(const LayoutOptions& options, LayoutContext&
static constexpr double squeezability = 0.3; // We may consider exposing in Style settings (M.S.) static constexpr double squeezability = 0.3; // We may consider exposing in Style settings (M.S.)
double acceptanceRange = squeezability * system->squeezableSpace(); double acceptanceRange = squeezability * system->squeezableSpace();
bool doBreak = (system->measures().size() > 1) && ((curSysWidth + ww) > systemWidth + acceptanceRange); bool doBreak = (system->measures().size() > 1) && ((curSysWidth + ww) > systemWidth + acceptanceRange);
/* acceptanceRange allows some systems to be inizially slightly larger than the margins and be /* acceptanceRange allows some systems to be initially slightly larger than the margins and be
* justified by squeezing instead of stretching. Allows to make much better choices of how many * justified by squeezing instead of stretching. Allows to make much better choices of how many
* measures to fit per system. */ * measures to fit per system. */
if (doBreak) { if (doBreak) {
@ -472,7 +472,7 @@ System* LayoutSystem::collectSystem(const LayoutOptions& options, LayoutContext&
if (measure) { if (measure) {
const LayoutBreak* layoutBreak = measure->sectionBreakElement(); const LayoutBreak* layoutBreak = measure->sectionBreakElement();
ctx.firstSystem = measure->sectionBreak() && !options.isMode(LayoutMode::FLOAT); ctx.firstSystem = measure->sectionBreak() && !options.isMode(LayoutMode::FLOAT);
ctx.firstSystemIndent = ctx.firstSystem && options.firstSystemIndent && layoutBreak->firstSystemIdentation(); ctx.firstSystemIndent = ctx.firstSystem && options.firstSystemIndent && layoutBreak->firstSystemIndentation();
ctx.startWithLongNames = ctx.firstSystem && layoutBreak->startWithLongNames(); ctx.startWithLongNames = ctx.firstSystem && layoutBreak->startWithLongNames();
} }
@ -964,7 +964,7 @@ void LayoutSystem::layoutSystemElements(const LayoutOptions& options, LayoutCont
//------------------------------------------------------------- //-------------------------------------------------------------
// layout SpannerSegments for current system // layout SpannerSegments for current system
// ottavas, pedals, voltas are collected here, but layouted later // ottavas, pedals, voltas are collected here, but laid out later
//------------------------------------------------------------- //-------------------------------------------------------------
spanner.clear(); spanner.clear();

View File

@ -52,7 +52,7 @@ struct Acc {
: offset(o), centOffset(o2), sym(s) {} : offset(o), centOffset(o2), sym(s) {}
}; };
// NOTE: keep this in sync with with AccidentalType enum in types.h, watch out for isMicrotonal() // NOTE: keep this in sync with AccidentalType enum in types.h, watch out for isMicrotonal()
static Acc accList[] = { static Acc accList[] = {
Acc(AccidentalVal::NATURAL, 0, SymId::noSym), // NONE Acc(AccidentalVal::NATURAL, 0, SymId::noSym), // NONE
Acc(AccidentalVal::FLAT, 0, SymId::accidentalFlat), // FLAT Acc(AccidentalVal::FLAT, 0, SymId::accidentalFlat), // FLAT

View File

@ -366,7 +366,7 @@ void Ambitus::layout()
// //
// NOTEHEADS Y POS // NOTEHEADS Y POS
// //
// if pitch == INVALID_PITCH oor tpc == INALID_TPC, set to some default: // if pitch == INVALID_PITCH or tpc == Tpc::TPC_INVALID, set to some default:
// for use in palettes and when actual range cannot be calculated (new ambitus or no notes in staff) // for use in palettes and when actual range cannot be calculated (new ambitus or no notes in staff)
// //
qreal xAccidOffTop = 0; qreal xAccidOffTop = 0;

View File

@ -1539,7 +1539,7 @@ PropertyValue BarLine::propertyDefault(Pid propertyId) const
{ {
switch (propertyId) { switch (propertyId) {
case Pid::BARLINE_TYPE: case Pid::BARLINE_TYPE:
// dynamic default values are a bad idea: writing to xml the value maybe ommited resulting in // dynamic default values are a bad idea: writing to xml the value maybe omitted resulting in
// wrong values on read (as the default may be different on read) // wrong values on read (as the default may be different on read)
// if (segment() && segment()->measure() && !segment()->measure()->nextMeasure()) // if (segment() && segment()->measure() && !segment()->measure()->nextMeasure())
// return QVariant::fromValue(BarLineType::END); // return QVariant::fromValue(BarLineType::END);

View File

@ -838,7 +838,7 @@ void VBox::layout()
void VBox::adjustLayoutWithoutImages() void VBox::adjustLayoutWithoutImages()
{ {
qreal calcuatedVBoxHeight = 0; qreal calculatedVBoxHeight = 0;
const int padding = score()->spatium(); const int padding = score()->spatium();
auto elementList = el(); auto elementList = el();
@ -846,11 +846,11 @@ void VBox::adjustLayoutWithoutImages()
if (pElement->isText()) { if (pElement->isText()) {
Text* txt = toText(pElement); Text* txt = toText(pElement);
txt->bbox().moveTop(0); txt->bbox().moveTop(0);
calcuatedVBoxHeight += txt->height() + padding; calculatedVBoxHeight += txt->height() + padding;
} }
} }
setHeight(calcuatedVBoxHeight); setHeight(calculatedVBoxHeight);
Box::layout(); Box::layout();
} }

View File

@ -105,7 +105,7 @@ public:
int gripsCount() const override { return 1; } int gripsCount() const override { return 1; }
Grip initialEditModeGrip() const override { return Grip::START; } Grip initialEditModeGrip() const override { return Grip::START; }
Grip defaultGrip() const override { return Grip::START; } Grip defaultGrip() const override { return Grip::START; }
std::vector<mu::PointF> gripsPositions(const EditData&) const override { return { mu::PointF() }; } // overriden in descendants std::vector<mu::PointF> gripsPositions(const EditData&) const override { return { mu::PointF() }; } // overridden in descendants
}; };
//--------------------------------------------------------- //---------------------------------------------------------

View File

@ -216,7 +216,7 @@ void ChangeMap::cleanupStage0()
if (int(rampEvents.size()) > 1) { if (int(rampEvents.size()) > 1) {
// Sort rampEvents so that the longest ramps come first - // Sort rampEvents so that the longest ramps come first -
// this is important for when we remove ramps/fixes enclosed wihtin other // this is important for when we remove ramps/fixes enclosed within other
// ramps during stage 1. // ramps during stage 1.
std::sort(rampEvents.begin(), rampEvents.end(), ChangeMap::compareRampEvents); std::sort(rampEvents.begin(), rampEvents.end(), ChangeMap::compareRampEvents);
for (auto& event : rampEvents) { for (auto& event : rampEvents) {

View File

@ -180,7 +180,7 @@ int Chord::downLine() const
// (i.e., upside-down TAB are taken into account) // (i.e., upside-down TAB are taken into account)
// //
// If no staff, always return 0 // If no staff, always return 0
// If staf is not a TAB, always returns TOP and BOTTOM staff lines // If staff is not a TAB, always returns TOP and BOTTOM staff lines
//--------------------------------------------------------- //---------------------------------------------------------
int Chord::upString() const int Chord::upString() const

View File

@ -181,7 +181,7 @@ void Clef::layout()
case ClefType::TAB: // TAB clef case ClefType::TAB: // TAB clef
// on tablature, position clef at half the number of spaces * line distance // on tablature, position clef at half the number of spaces * line distance
yoff = lineDist * (lines - 1) * .5; yoff = lineDist * (lines - 1) * .5;
stepOffset = 0; // ignore stepOffset for TAB and pecussion clefs stepOffset = 0; // ignore stepOffset for TAB and percussion clefs
break; break;
case ClefType::TAB4: // TAB clef 4 strings case ClefType::TAB4: // TAB clef 4 strings
// on tablature, position clef at half the number of spaces * line distance // on tablature, position clef at half the number of spaces * line distance

View File

@ -294,7 +294,7 @@ void Score::undoRedo(bool undo, EditData* ed)
//--------------------------------------------------------- //---------------------------------------------------------
// endCmd // endCmd
/// End a GUI command by (if \a undo) ending a user-visble undo /// End a GUI command by (if \a undo) ending a user-visible undo
/// and (always) updating the redraw area. /// and (always) updating the redraw area.
//--------------------------------------------------------- //---------------------------------------------------------
@ -3383,7 +3383,7 @@ void Score::cmdSlashFill()
for (voice = 0; voice < VOICES; ++voice) { for (voice = 0; voice < VOICES; ++voice) {
needGap[voice] = false; needGap[voice] = false;
ChordRest* cr = toChordRest(s->element(track + voice)); ChordRest* cr = toChordRest(s->element(track + voice));
// no chordrest == treat as ordinary rest for purpose of determining availbility of voice // no chordrest == treat as ordinary rest for purpose of determining availability of voice
// but also, we will need to make a gap for this voice if we do end up choosing it // but also, we will need to make a gap for this voice if we do end up choosing it
if (!cr) { if (!cr) {
needGap[voice] = true; needGap[voice] = true;
@ -3942,7 +3942,7 @@ void Score::cmdPitchDownOctave()
} }
//--------------------------------------------------------- //---------------------------------------------------------
// cmdPadNoteInclreaseTAB // cmdPadNoteIncreaseTAB
//--------------------------------------------------------- //---------------------------------------------------------
void Score::cmdPadNoteIncreaseTAB(const EditData& ed) void Score::cmdPadNoteIncreaseTAB(const EditData& ed)

View File

@ -428,7 +428,7 @@ void TDuration::truncateToFraction(const Fraction& l, int maxDots)
// that wasn't enough so now change type too // that wasn't enough so now change type too
for (shiftType(1); isValid(); shiftType(1)) { for (shiftType(1); isValid(); shiftType(1)) {
if (setDotsToFitFraction(l, maxDots)) { if (setDotsToFitFraction(l, maxDots)) {
return; // duration fits fits in l return; // duration fits in l
} }
} }
} }

View File

@ -22,7 +22,7 @@
/** /**
\file \file
Implementation of classe easeInOut for implementing transfer curve with Implementation of class EaseInOut for implementing transfer curve with
parametrerable ease-In and ease-Out. parametrerable ease-In and ease-Out.
*/ */
@ -36,7 +36,7 @@ namespace Ms {
//------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------
// The following function is inspired by "A Primer on Bézier Curve" sections 17 and 23 by Pomax: // The following function is inspired by "A Primer on Bézier Curve" sections 17 and 23 by Pomax:
// https://pomax.github.io/bezierinfo/ // https://pomax.github.io/bezierinfo/
// However, the fuction is greatly specialized, simplified and optimized for use as an ease-in and // However, the function is greatly specialized, simplified and optimized for use as an ease-in and
// ease-out transfer curve for bends, glissandi and portamenti in MuseScore. The function computes // ease-out transfer curve for bends, glissandi and portamenti in MuseScore. The function computes
// Y from X by performing a cubic root finding to compute t from X on the X component of the // Y from X by performing a cubic root finding to compute t from X on the X component of the
// transfer curve and then a cubic Bezier evaluation to compute Y from t on the Y component of the // transfer curve and then a cubic Bezier evaluation to compute Y from t on the Y component of the

View File

@ -1372,7 +1372,7 @@ void Score::cmdRemoveTimeSig(TimeSig* ts)
Fraction tick = m->tick(); Fraction tick = m->tick();
// if we remove all time sigs from segment, segment will be already removed by now // if we remove all time sigs from segment, segment will be already removed by now
// but this would leave us no means of detecting that we have have measures in a local timesig // but this would leave us no means of detecting that we have measures in a local timesig
// in cases where we try deleting the local time sig // in cases where we try deleting the local time sig
// known bug: this means we do not correctly detect non-empty measures when deleting global timesig change after a local one // known bug: this means we do not correctly detect non-empty measures when deleting global timesig change after a local one
// see http://musescore.org/en/node/51596 // see http://musescore.org/en/node/51596
@ -3739,7 +3739,7 @@ MeasureBase* Score::insertMeasure(ElementType type, MeasureBase* beforeMeasure,
} }
// //
// move clef, time, key signatrues // move clef, time, key signatures
// //
for (TimeSig* ts : tsl) { for (TimeSig* ts : tsl) {
TimeSig* nts = Factory::copyTimeSig(*ts); TimeSig* nts = Factory::copyTimeSig(*ts);
@ -5091,7 +5091,7 @@ void Score::undoInsertStaff(Staff* staff, staff_idx_t ridx, bool createRests)
// when newly adding an instrument, // when newly adding an instrument,
// this was already set when we created the staff // this was already set when we created the staff
// we don't have any better info at this point // we don't have any better info at this point
// and it dooesn't work to adjust bracket & barlines until all staves are added // and it doesn't work to adjust bracket & barlines until all staves are added
// TODO: adjust brackets only when appropriate // TODO: adjust brackets only when appropriate
//adjustBracketsIns(idx, idx+1); //adjustBracketsIns(idx, idx+1);
} }

View File

@ -2702,7 +2702,7 @@ void EngravingItem::setSelected(bool f)
setFlag(ElementFlag::SELECTED, f); setFlag(ElementFlag::SELECTED, f);
if (f) { if (f) {
initAccessibeIfNeed(); initAccessibleIfNeed();
if (m_accessible) { if (m_accessible) {
AccessibleRoot* accRoot = score()->rootItem()->accessible()->accessibleRoot(); AccessibleRoot* accRoot = score()->rootItem()->accessible()->accessibleRoot();
@ -2723,7 +2723,7 @@ void EngravingItem::setSelected(bool f)
} }
} }
void EngravingItem::initAccessibeIfNeed() void EngravingItem::initAccessibleIfNeed()
{ {
if (!engravingConfiguration()->isAccessibleEnabled()) { if (!engravingConfiguration()->isAccessibleEnabled()) {
return; return;

View File

@ -606,7 +606,7 @@ public:
void setColorsInverionEnabled(bool enabled); void setColorsInverionEnabled(bool enabled);
private: private:
void initAccessibeIfNeed(); void initAccessibleIfNeed();
}; };
using ElementPtr = std::shared_ptr<EngravingItem>; using ElementPtr = std::shared_ptr<EngravingItem>;

View File

@ -370,7 +370,7 @@ EngravingItem* Factory::createItemByName(const QStringRef& name, EngravingItem*
{ {
ElementType type = name2type(name, isAccessibleEnabled); ElementType type = name2type(name, isAccessibleEnabled);
if (type == ElementType::INVALID) { if (type == ElementType::INVALID) {
LOGE() << "Invalide type: " << name.toString(); LOGE() << "Invalid type: " << name.toString();
return 0; return 0;
} }
return createItem(type, parent, isAccessibleEnabled); return createItem(type, parent, isAccessibleEnabled);

View File

@ -250,7 +250,7 @@ class FiguredBass final : public TextBase
{ {
std::vector<FiguredBassItem*> items; // the individual lines of the F.B. std::vector<FiguredBassItem*> items; // the individual lines of the F.B.
std::vector<double> _lineLengths; // lengths of duration indicator lines (in raster units) std::vector<double> _lineLengths; // lengths of duration indicator lines (in raster units)
bool _onNote; // true if this element is on a staff note | false if it is betweee notes bool _onNote; // true if this element is on a staff note | false if it is between notes
Fraction _ticks; // the duration (used for cont. lines and for multiple F.B. Fraction _ticks; // the duration (used for cont. lines and for multiple F.B.
// under the same note) // under the same note)
qreal _printedLineLength; // the length of lines actually printed (i.e. continuation lines) qreal _printedLineLength; // the length of lines actually printed (i.e. continuation lines)

View File

@ -75,7 +75,7 @@ const std::array<const char*, 2> Glissando::glissandoTypeNames = {
}; };
//========================================================= //=========================================================
// GlisandoSegment // GlissandoSegment
//========================================================= //=========================================================
GlissandoSegment::GlissandoSegment(Glissando* sp, System* parent) GlissandoSegment::GlissandoSegment(Glissando* sp, System* parent)

View File

@ -939,7 +939,7 @@ void Harmony::endEdit(EditData& ed)
_realizedHarmony.setDirty(true); _realizedHarmony.setDirty(true);
// render and layout chord symbol // render and layout chord symbol
// (needs to be done here if text hasn't changed, or redone if replacemens were performed above) // (needs to be done here if text hasn't changed, or redone if replacements were performed above)
score()->startCmd(); score()->startCmd();
setHarmony(s); setHarmony(s);
layout1(); layout1();

View File

@ -94,7 +94,7 @@ class Harmony final : public TextBase
ParsedChord* _parsedForm; // parsed form of chord ParsedChord* _parsedForm; // parsed form of chord
bool _isMisspelled = false; // show spell check warning bool _isMisspelled = false; // show spell check warning
HarmonyType _harmonyType; // used to control rendering, transposition, export, etc. HarmonyType _harmonyType; // used to control rendering, transposition, export, etc.
qreal _harmonyHeight; // used for calculating the the height is frame while editing. qreal _harmonyHeight; // used for calculating the height is frame while editing.
mutable RealizedHarmony _realizedHarmony; // the realized harmony used for playback mutable RealizedHarmony _realizedHarmony; // the realized harmony used for playback

View File

@ -43,7 +43,7 @@ using namespace mu;
using namespace mu::engraving; using namespace mu::engraving;
namespace Ms { namespace Ms {
//: Channel name for otherwise unamed channels //: Channel name for otherwise unnamed channels
const char* Channel::DEFAULT_NAME = QT_TRANSLATE_NOOP("InstrumentsXML", "normal"); const char* Channel::DEFAULT_NAME = QT_TRANSLATE_NOOP("InstrumentsXML", "normal");
//: Channel name for the chord symbols playback channel, best keep translation shorter than 11 letters //: Channel name for the chord symbols playback channel, best keep translation shorter than 11 letters
const char* Channel::HARMONY_NAME = QT_TRANSLATE_NOOP("InstrumentsXML", "harmony"); const char* Channel::HARMONY_NAME = QT_TRANSLATE_NOOP("InstrumentsXML", "harmony");

View File

@ -116,8 +116,8 @@ void KeySig::addLayout(SymId sym, int line)
SmuflAnchorId previousCutout = isAscending ? SmuflAnchorId::cutOutNE : SmuflAnchorId::cutOutSE; SmuflAnchorId previousCutout = isAscending ? SmuflAnchorId::cutOutNE : SmuflAnchorId::cutOutSE;
PointF cutout = symSmuflAnchor(sym, currentCutout); PointF cutout = symSmuflAnchor(sym, currentCutout);
qreal currentCutoutY = line * step + cutout.y(); qreal currentCutoutY = line * step + cutout.y();
qreal previousCoutoutY = previous.line * step + symSmuflAnchor(previous.sym, previousCutout).y(); qreal previousCutoutY = previous.line * step + symSmuflAnchor(previous.sym, previousCutout).y();
if ((isAscending && currentCutoutY < previousCoutoutY) || (!isAscending && currentCutoutY > previousCoutoutY)) { if ((isAscending && currentCutoutY < previousCutoutY) || (!isAscending && currentCutoutY > previousCutoutY)) {
x -= cutout.x() / _spatium; x -= cutout.x() / _spatium;
} }
} }
@ -165,7 +165,7 @@ void KeySig::layout()
int t1 = int(_sig.key()); int t1 = int(_sig.key());
if (isCustom() && !isAtonal()) { if (isCustom() && !isAtonal()) {
// add standard key accidentals first, if neccesary // add standard key accidentals first, if necessary
for (int i = 1; i <= abs(t1) && abs(t1) <= 7; ++i) { for (int i = 1; i <= abs(t1) && abs(t1) <= 7; ++i) {
bool drop = false; bool drop = false;
for (CustDef& cd: _sig.customKeyDefs()) { for (CustDef& cd: _sig.customKeyDefs()) {

View File

@ -50,7 +50,7 @@ LayoutBreak::LayoutBreak(MeasureBase* parent)
_pause = 0.; _pause = 0.;
_startWithLongNames = false; _startWithLongNames = false;
_startWithMeasureOne = false; _startWithMeasureOne = false;
_firstSystemIdentation = false; _firstSystemIndentation = false;
_layoutBreakType = LayoutBreakType(propertyDefault(Pid::LAYOUT_BREAK).toInt()); _layoutBreakType = LayoutBreakType(propertyDefault(Pid::LAYOUT_BREAK).toInt());
initElementStyle(&sectionBreakStyle); initElementStyle(&sectionBreakStyle);
@ -65,12 +65,12 @@ LayoutBreak::LayoutBreak(MeasureBase* parent)
LayoutBreak::LayoutBreak(const LayoutBreak& lb) LayoutBreak::LayoutBreak(const LayoutBreak& lb)
: EngravingItem(lb) : EngravingItem(lb)
{ {
_layoutBreakType = lb._layoutBreakType; _layoutBreakType = lb._layoutBreakType;
lw = lb.lw; lw = lb.lw;
_pause = lb._pause; _pause = lb._pause;
_startWithLongNames = lb._startWithLongNames; _startWithLongNames = lb._startWithLongNames;
_startWithMeasureOne = lb._startWithMeasureOne; _startWithMeasureOne = lb._startWithMeasureOne;
_firstSystemIdentation = lb._firstSystemIdentation; _firstSystemIndentation = lb._firstSystemIndentation;
layout0(); layout0();
} }
@ -112,7 +112,8 @@ void LayoutBreak::read(XmlReader& e)
readProperty(e, Pid::START_WITH_LONG_NAMES); readProperty(e, Pid::START_WITH_LONG_NAMES);
} else if (tag == "startWithMeasureOne") { } else if (tag == "startWithMeasureOne") {
readProperty(e, Pid::START_WITH_MEASURE_ONE); readProperty(e, Pid::START_WITH_MEASURE_ONE);
} else if (tag == "firstSystemIdentation") { } else if (tag == "firstSystemIndentation"
|| tag == "firstSystemIdentation" /* pre-4.0 typo */) {
readProperty(e, Pid::FIRST_SYSTEM_INDENTATION); readProperty(e, Pid::FIRST_SYSTEM_INDENTATION);
} else if (!EngravingItem::readProperties(e)) { } else if (!EngravingItem::readProperties(e)) {
e.unknown(); e.unknown();
@ -279,7 +280,7 @@ PropertyValue LayoutBreak::getProperty(Pid propertyId) const
case Pid::START_WITH_MEASURE_ONE: case Pid::START_WITH_MEASURE_ONE:
return _startWithMeasureOne; return _startWithMeasureOne;
case Pid::FIRST_SYSTEM_INDENTATION: case Pid::FIRST_SYSTEM_INDENTATION:
return _firstSystemIdentation; return _firstSystemIndentation;
default: default:
return EngravingItem::getProperty(propertyId); return EngravingItem::getProperty(propertyId);
} }
@ -306,7 +307,7 @@ bool LayoutBreak::setProperty(Pid propertyId, const PropertyValue& v)
setStartWithMeasureOne(v.toBool()); setStartWithMeasureOne(v.toBool());
break; break;
case Pid::FIRST_SYSTEM_INDENTATION: case Pid::FIRST_SYSTEM_INDENTATION:
setFirstSystemIdentation(v.toBool()); setFirstSystemIndentation(v.toBool());
break; break;
default: default:
if (!EngravingItem::setProperty(propertyId, v)) { if (!EngravingItem::setProperty(propertyId, v)) {

View File

@ -59,8 +59,8 @@ public:
void setStartWithLongNames(bool v) { _startWithLongNames = v; } void setStartWithLongNames(bool v) { _startWithLongNames = v; }
bool startWithMeasureOne() const { return _startWithMeasureOne; } bool startWithMeasureOne() const { return _startWithMeasureOne; }
void setStartWithMeasureOne(bool v) { _startWithMeasureOne = v; } void setStartWithMeasureOne(bool v) { _startWithMeasureOne = v; }
bool firstSystemIdentation() const { return _firstSystemIdentation; } bool firstSystemIndentation() const { return _firstSystemIndentation; }
void setFirstSystemIdentation(bool v) { _firstSystemIdentation = v; } void setFirstSystemIndentation(bool v) { _firstSystemIndentation = v; }
bool isPageBreak() const { return _layoutBreakType == LayoutBreakType::PAGE; } bool isPageBreak() const { return _layoutBreakType == LayoutBreakType::PAGE; }
bool isLineBreak() const { return _layoutBreakType == LayoutBreakType::LINE; } bool isLineBreak() const { return _layoutBreakType == LayoutBreakType::LINE; }
@ -92,7 +92,7 @@ private:
qreal _pause; qreal _pause;
bool _startWithLongNames; bool _startWithLongNames;
bool _startWithMeasureOne; bool _startWithMeasureOne;
bool _firstSystemIdentation; bool _firstSystemIndentation;
LayoutBreakType _layoutBreakType; LayoutBreakType _layoutBreakType;
}; };
} // namespace Ms } // namespace Ms

View File

@ -380,7 +380,7 @@ void Lyrics::scanElements(void* data, void (* func)(void*, EngravingItem*), bool
{ {
func(data, this); func(data, this);
/* DO NOT ADD EITHER THE LYRICSLINE OR THE SEGMENTS: segments are added through the system each belongs to; /* DO NOT ADD EITHER THE LYRICSLINE OR THE SEGMENTS: segments are added through the system each belongs to;
LyricsLine is not needed, as it is internally manged. LyricsLine is not needed, as it is internally managed.
if (_separator) if (_separator)
_separator->scanElements(data, func, all); */ _separator->scanElements(data, func, all); */
} }

View File

@ -44,7 +44,7 @@ public:
// MELISMA FIRST UNDERSCORE: // MELISMA FIRST UNDERSCORE:
// used as_ticks value to mark a melisma for which only the first chord has been spanned so far // used as_ticks value to mark a melisma for which only the first chord has been spanned so far
// and to give the user a visible feedback that the undercore has been actually entered; // and to give the user a visible feedback that the underscore has been actually entered;
// it should be cleared to 0 at some point, so that it will not be carried over // it should be cleared to 0 at some point, so that it will not be carried over
// if the melisma is not extended beyond a single chord, but no suitable place to do this // if the melisma is not extended beyond a single chord, but no suitable place to do this
// has been identified yet. // has been identified yet.

View File

@ -98,7 +98,7 @@ class MasterScore : public Score
QQueue<MidiInputEvent> _midiInputQueue; // MIDI events that have yet to be processed QQueue<MidiInputEvent> _midiInputQueue; // MIDI events that have yet to be processed
std::list<MidiInputEvent> _activeMidiPitches; // MIDI keys currently being held down std::list<MidiInputEvent> _activeMidiPitches; // MIDI keys currently being held down
std::vector<MidiMapping> _midiMapping; std::vector<MidiMapping> _midiMapping;
bool isSimpleMidiMaping = false; // midi mapping is simple if all ports and channels bool isSimpleMidiMapping = false; // midi mapping is simple if all ports and channels
// don't decrease and don't have gaps // don't decrease and don't have gaps
QSet<int> occupiedMidiChannels; // each entry is port*16+channel, port range: 0-inf, channel: 0-15 QSet<int> occupiedMidiChannels; // each entry is port*16+channel, port range: 0-inf, channel: 0-15
unsigned int searchMidiMappingFrom = 0; // makes getting next free MIDI mapping faster unsigned int searchMidiMappingFrom = 0; // makes getting next free MIDI mapping faster
@ -194,7 +194,7 @@ public:
int midiChannel(int idx) const { return _midiMapping[idx].channel(); } int midiChannel(int idx) const { return _midiMapping[idx].channel(); }
void rebuildMidiMapping(); void rebuildMidiMapping();
void checkMidiMapping(); void checkMidiMapping();
bool exportMidiMapping() { return !isSimpleMidiMaping; } bool exportMidiMapping() { return !isSimpleMidiMapping; }
int getNextFreeMidiMapping(int p = -1, int ch = -1); int getNextFreeMidiMapping(int p = -1, int ch = -1);
int getNextFreeDrumMidiMapping(); int getNextFreeDrumMidiMapping();
void enqueueMidiEvent(MidiInputEvent ev) { _midiInputQueue.enqueue(ev); } void enqueueMidiEvent(MidiInputEvent ev) { _midiInputQueue.enqueue(ev); }

View File

@ -551,12 +551,12 @@ qreal Measure::tick2pos(Fraction tck) const
//--------------------------------------------------------- //---------------------------------------------------------
// showsMeasureNumberInAutoMode // showsMeasureNumberInAutoMode
/// Wheter the measure will show measure number(s) when MeasureNumberMode is set to AUTO /// Whether the measure will show measure number(s) when MeasureNumberMode is set to AUTO
//--------------------------------------------------------- //---------------------------------------------------------
bool Measure::showsMeasureNumberInAutoMode() bool Measure::showsMeasureNumberInAutoMode()
{ {
// Check wheter any measure number should be shown // Check whether any measure number should be shown
if (!score()->styleB(Sid::showMeasureNumber)) { if (!score()->styleB(Sid::showMeasureNumber)) {
return false; return false;
} }
@ -2331,7 +2331,7 @@ bool Measure::hasVoices(staff_idx_t staffIdx, Fraction stick, Fraction len) cons
{ {
Staff* st = score()->staff(staffIdx); Staff* st = score()->staff(staffIdx);
if (st->isTabStaff(stick)) { if (st->isTabStaff(stick)) {
// TODO: tab staves use different rules for stem directin etc // TODO: tab staves use different rules for stem direction etc
// see for example https://musescore.org/en/node/308371 // see for example https://musescore.org/en/node/308371
// we should consider coming up with a more comprehensive solution // we should consider coming up with a more comprehensive solution
// but for now, we are forcing measures on tab staves to be consider as a whole - // but for now, we are forcing measures on tab staves to be consider as a whole -
@ -4542,11 +4542,11 @@ void Measure::stretchMeasureInPracticeMode(qreal targetWidth)
// } // }
qreal spacing = s->spacing(); qreal spacing = s->spacing();
qreal widthWihoutSpacing = s->width() - spacing; qreal widthWithoutSpacing = s->width() - spacing;
qreal segmentStretch = s->stretch(); qreal segmentStretch = s->stretch();
x += spacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch); x += spacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch);
s->rxpos() = x; s->rxpos() = x;
x += widthWihoutSpacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch); x += widthWithoutSpacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch);
s = s->nextEnabled(); s = s->nextEnabled();
} }
} }

View File

@ -58,7 +58,7 @@ void MasterScore::rebuildMidiMapping()
void MasterScore::checkMidiMapping() void MasterScore::checkMidiMapping()
{ {
isSimpleMidiMaping = true; isSimpleMidiMapping = true;
rebuildMidiMapping(); rebuildMidiMapping();
std::vector<bool> drum; std::vector<bool> drum;
@ -81,7 +81,7 @@ void MasterScore::checkMidiMapping()
if (drum[index]) { if (drum[index]) {
lastDrumPort++; lastDrumPort++;
if (m.port() != lastDrumPort) { if (m.port() != lastDrumPort) {
isSimpleMidiMaping = false; isSimpleMidiMapping = false;
return; return;
} }
} else { } else {
@ -92,7 +92,7 @@ void MasterScore::checkMidiMapping()
int p = lastChannel / 16; int p = lastChannel / 16;
int c = lastChannel % 16; int c = lastChannel % 16;
if (m.port() != p || m.channel() != c) { if (m.port() != p || m.channel() != c) {
isSimpleMidiMaping = false; isSimpleMidiMapping = false;
return; return;
} }
} }

View File

@ -2194,7 +2194,7 @@ void Note::layout()
if (_ghost) { if (_ghost) {
parenthesis = true; parenthesis = true;
} }
// not complete but we need systems to be layouted to add parenthesis // not complete but we need systems to be laid out to add parenthesis
if (_fixed) { if (_fixed) {
_fretString = "/"; _fretString = "/";
} else { } else {
@ -2417,7 +2417,7 @@ void Note::updateAccidental(AccidentalState* as)
} else { } else {
// microtonal accidentals playback as naturals // microtonal accidentals playback as naturals
// in 1.X, they had no effect on accidental state of measure // in 1.X, they had no effect on accidental state of measure
// ultimetely, they should probably get their own state // ultimately, they should probably get their own state
// for now, at least change state to natural, so subsequent notes playback as might be expected // for now, at least change state to natural, so subsequent notes playback as might be expected
// this is an incompatible change, but better to break it for 2.0 than wait until later // this is an incompatible change, but better to break it for 2.0 than wait until later
AccidentalVal accVal = Accidental::subtype2value(_accidental->accidentalType()); AccidentalVal accVal = Accidental::subtype2value(_accidental->accidentalType());
@ -2677,7 +2677,7 @@ int Note::playingOctave() const
//--------------------------------------------------------- //---------------------------------------------------------
// customizeVelocity // customizeVelocity
// Input is the global velocity determined by dynamic // Input is the global velocity determined by dynamic
// signs and crescende/decrescendo etc. // signs and crescendo/decrescendo etc.
// Returns the actual play velocity for this note // Returns the actual play velocity for this note
// modified by veloOffset // modified by veloOffset
//--------------------------------------------------------- //---------------------------------------------------------

View File

@ -152,7 +152,7 @@ public:
Note* endNote = nullptr; // note to end slide (for 2 notes slides) Note* endNote = nullptr; // note to end slide (for 2 notes slides)
bool isValid() const { return type != SlideType::Undefined; } bool isValid() const { return type != SlideType::Undefined; }
bool is(SlideType t) const { return t == type; } bool is(SlideType t) const { return t == type; }
uint32_t slideToNoteLenght = 40; uint32_t slideToNoteLength = 40;
}; };
enum DisplayFretOption { enum DisplayFretOption {

View File

@ -226,7 +226,7 @@ Note* Score::addPitch(NoteVal& nval, bool addFlag, InputState* externalInputStat
std::vector<Note*> notes = chord->notes(); std::vector<Note*> notes = chord->notes();
// break all ties into current chord // break all ties into current chord
// these will exist only if user explicitly moved cursor to a tied-into note // these will exist only if user explicitly moved cursor to a tied-into note
// in ordinary use, cursor will autoamtically skip past these during note entry // in ordinary use, cursor will automatically skip past these during note entry
for (Note* n : notes) { for (Note* n : notes) {
if (n->tieBack()) { if (n->tieBack()) {
undoRemoveElement(n->tieBack()); undoRemoveElement(n->tieBack());
@ -563,7 +563,7 @@ void Score::repitchNote(const Position& p, bool replace)
std::vector<Note*> notes = chord->notes(); std::vector<Note*> notes = chord->notes();
// break all ties into current chord // break all ties into current chord
// these will exist only if user explicitly moved cursor to a tied-into note // these will exist only if user explicitly moved cursor to a tied-into note
// in ordinary use, cursor will autoamtically skip past these during note entry // in ordinary use, cursor will automatically skip past these during note entry
for (Note* n : notes) { for (Note* n : notes) {
if (n->tieBack()) { if (n->tieBack()) {
undoRemoveElement(n->tieBack()); undoRemoveElement(n->tieBack());

View File

@ -494,7 +494,7 @@ bool Score::pasteStaff(XmlReader& e, Segment* dst, staff_idx_t dstStaff, Fractio
if (sp->anchor() == Spanner::Anchor::CHORD || sp->anchor() == Spanner::Anchor::NOTE) { if (sp->anchor() == Spanner::Anchor::CHORD || sp->anchor() == Spanner::Anchor::NOTE) {
continue; continue;
} }
// skip if present oiginally // skip if present originally
auto i = std::find(oSpannerList.begin(), oSpannerList.end(), sp); auto i = std::find(oSpannerList.begin(), oSpannerList.end(), sp);
if (i != oSpannerList.end()) { if (i != oSpannerList.end()) {
continue; continue;

View File

@ -32,7 +32,7 @@ enum class Key;
const int INVALID_PITCH = -1; const int INVALID_PITCH = -1;
// a list of tpc's, with legal ranges, not really an enum, so no way to cnvert into a class // a list of tpc's, with legal ranges, not really an enum, so no way to convert into a class
enum Tpc : signed char { enum Tpc : signed char {
TPC_INVALID = -9, TPC_INVALID = -9,
TPC_F_BBB, TPC_C_BBB, TPC_G_BBB, TPC_D_BBB, TPC_A_BBB, TPC_E_BBB, TPC_B_BBB, TPC_F_BBB, TPC_C_BBB, TPC_G_BBB, TPC_D_BBB, TPC_A_BBB, TPC_E_BBB, TPC_B_BBB,

View File

@ -1546,7 +1546,7 @@ int convertLine(int lineL2, Note* noteL, Note* noteR)
// noteL is the note to measure the deltastep from, i.e., ornaments are w.r.t. this note // noteL is the note to measure the deltastep from, i.e., ornaments are w.r.t. this note
// noteR is the note to search backward from to find accidentals. // noteR is the note to search backward from to find accidentals.
// for ornament calculation noteL and noteR are the same, but for glissando they are // for ornament calculation noteL and noteR are the same, but for glissando they are
// the start end end note of glissando. // the start and end note of glissando.
// deltastep is the desired number of diatonic steps between the base note and this articulation step. // deltastep is the desired number of diatonic steps between the base note and this articulation step.
//--------------------------------------------------------- //---------------------------------------------------------
@ -1847,7 +1847,7 @@ bool renderNoteArticulation(NoteEventList* events, Note* note, bool chromatic, i
// body - notes to play comprising the body of the rendered ornament. // body - notes to play comprising the body of the rendered ornament.
// The body differs from the prefix and suffix in several ways. // The body differs from the prefix and suffix in several ways.
// * body does not support tied notes: {0,0,0,1} means play 4 distinct notes (not tied). // * body does not support tied notes: {0,0,0,1} means play 4 distinct notes (not tied).
// * if there is sufficient duration in the principle note, AND repeatep is true, then body // * if there is sufficient duration in the principle note, AND repeatp is true, then body
// will be rendered multiple times, as the duration allows. // will be rendered multiple times, as the duration allows.
// * to avoid a time gap (or rest) in rendering the articulation, if sustainp is true, // * to avoid a time gap (or rest) in rendering the articulation, if sustainp is true,
// then the final note of the body will be sustained to fill the left-over time. // then the final note of the body will be sustained to fill the left-over time.
@ -2321,7 +2321,7 @@ void Score::createPlayEvents(Chord* chord)
break; break;
} }
} }
// gateTime is 100% for slured notes // gateTime is 100% for slurred notes
if (!slur) { if (!slur) {
Instrument* instr = chord->part()->instrument(tick); Instrument* instr = chord->part()->instrument(tick);
instr->updateGateTime(&gateTime, 0, ""); instr->updateGateTime(&gateTime, 0, "");

View File

@ -702,7 +702,7 @@ std::pair<std::vector<RepeatListElementList>::const_iterator, RepeatListElementL
/// \brief RepeatList::performJump /// \brief RepeatList::performJump
/// \param sectionIt [in] Section of the jump target /// \param sectionIt [in] Section of the jump target
/// \param repeatListElementTargetIt [in] RepeatListElement of the jump target within the section /// \param repeatListElementTargetIt [in] RepeatListElement of the jump target within the section
/// \param withRepeats [in] Whether first or last playtrough of the target is the actual target, influences playbackCount /// \param withRepeats [in] Whether first or last playthrough of the target is the actual target, influences playbackCount
/// \param playbackCount [out] Will contain the resulting playbackCount value /// \param playbackCount [out] Will contain the resulting playbackCount value
/// \param activeVolta [out] Contains a reference to the active Volta for jump target /// \param activeVolta [out] Contains a reference to the active Volta for jump target
/// \param startRepeatReference [out] Reference point to return to and compare against for jump target /// \param startRepeatReference [out] Reference point to return to and compare against for jump target
@ -889,23 +889,23 @@ void RepeatList::unwind()
|| ((activeVolta != nullptr) && (playbackCount == activeVolta->lastEnding())) || ((activeVolta != nullptr) && (playbackCount == activeVolta->lastEnding()))
) { ) {
std::pair<Jump const* const, std::pair<Jump const* const,
int> jumpOccurence = std::make_pair(toJump((*repeatListElementIt)->element), playbackCount); int> jumpOccurrence = std::make_pair(toJump((*repeatListElementIt)->element), playbackCount);
if (_jumpsTaken.find(jumpOccurence) == _jumpsTaken.end()) { // Not yet processed if (_jumpsTaken.find(jumpOccurrence) == _jumpsTaken.end()) { // Not yet processed
// Processing it now // Processing it now
_jumpsTaken.insert(jumpOccurence); _jumpsTaken.insert(jumpOccurrence);
// Find the jump targets // Find the jump targets
std::pair<std::vector<RepeatListElementList>::const_iterator, std::pair<std::vector<RepeatListElementList>::const_iterator,
RepeatListElementList::const_iterator> jumpTo = findMarker( RepeatListElementList::const_iterator> jumpTo = findMarker(
jumpOccurence.first->jumpTo(), sectionIt, repeatListElementIt); jumpOccurrence.first->jumpTo(), sectionIt, repeatListElementIt);
playUntil = findMarker(jumpOccurence.first->playUntil(), sectionIt, repeatListElementIt); playUntil = findMarker(jumpOccurrence.first->playUntil(), sectionIt, repeatListElementIt);
continueAt = findMarker(jumpOccurence.first->continueAt(), sectionIt, repeatListElementIt); continueAt = findMarker(jumpOccurrence.first->continueAt(), sectionIt, repeatListElementIt);
// Execute // Execute
if (jumpTo.first != _rlElements.cend()) { if (jumpTo.first != _rlElements.cend()) {
push_back(rs); push_back(rs);
rs = nullptr; rs = nullptr;
activeJump = jumpOccurence.first; activeJump = jumpOccurrence.first;
performJump(jumpTo.first, jumpTo.second, performJump(jumpTo.first, jumpTo.second,
activeJump->playRepeats(), &playbackCount, &activeVolta, &startRepeatReference); activeJump->playRepeats(), &playbackCount, &activeVolta, &startRepeatReference);
sectionIt = jumpTo.first; sectionIt = jumpTo.first;

View File

@ -449,7 +449,7 @@ void Score::notifyPosChanged(POS pos, unsigned ticks)
Score* Score::clone() Score* Score::clone()
{ {
// TODO: see comments reagrding setting version in corresponding code in 3.x branch // TODO: see comments regarding setting version in corresponding code in 3.x branch
// and also compare to MasterScore::clone() // and also compare to MasterScore::clone()
Excerpt* excerpt = new Excerpt(masterScore()); Excerpt* excerpt = new Excerpt(masterScore());
excerpt->setName(name()); excerpt->setName(name());

View File

@ -632,7 +632,7 @@ bool ScoreFont::useFallbackFont(SymId id) const
} }
// ============================================= // =============================================
// Symbol bouding box // Symbol bounding box
// ============================================= // =============================================
const RectF ScoreFont::bbox(SymId id, qreal mag) const const RectF ScoreFont::bbox(SymId id, qreal mag) const

View File

@ -268,8 +268,8 @@ EngravingObjectList Segment::scanChildren() const
} }
} }
for (EngravingItem* anotation : _annotations) { for (EngravingItem* annotation : _annotations) {
children.push_back(anotation); children.push_back(annotation);
} }
if (segmentType() == SegmentType::ChordRest) { if (segmentType() == SegmentType::ChordRest) {

View File

@ -2371,7 +2371,7 @@ std::pair<qreal, qreal> Segment::computeCellWidth(const std::vector<int>& visibl
Chord* ch = toChord(cr); Chord* ch = toChord(cr);
//! check that gracenote exist. If exist add additional spacing //! check that gracenote exist. If exist add additional spacing
//! to avoid colliding between grace note and previos chord //! to avoid colliding between grace note and previous chord
if (!ch->graceNotes().empty()) { if (!ch->graceNotes().empty()) {
Segment* prevSeg = prev(); Segment* prevSeg = prev();
if (prevSeg && prevSeg->segmentType() == SegmentType::ChordRest) { if (prevSeg && prevSeg->segmentType() == SegmentType::ChordRest) {
@ -2385,7 +2385,7 @@ std::pair<qreal, qreal> Segment::computeCellWidth(const std::vector<int>& visibl
} }
//! check that accidental exist in the chord. If exist add additional spacing //! check that accidental exist in the chord. If exist add additional spacing
//! to avoid colliding between grace note and previos chord //! to avoid colliding between grace note and previous chord
for (auto note : ch->notes()) { for (auto note : ch->notes()) {
if (note->accidental()) { if (note->accidental()) {
Segment* prevSeg = prev(); Segment* prevSeg = prev();

View File

@ -261,7 +261,7 @@ public:
*/ */
std::pair<qreal, qreal> computeCellWidth(const std::vector<int>& visibleParts) const; std::pair<qreal, qreal> computeCellWidth(const std::vector<int>& visibleParts) const;
/*! \brief get among all ChordRests of segment the ChordRest with minimun ticks, /*! \brief get among all ChordRests of segment the ChordRest with minimum ticks,
* take into account visibleParts * take into account visibleParts
*/ */
static ChordRest* ChordRestWithMinDuration(const Segment* seg, const std::vector<int>& visibleParts); static ChordRest* ChordRestWithMinDuration(const Segment* seg, const std::vector<int>& visibleParts);

View File

@ -1076,7 +1076,7 @@ QByteArray Selection::symbolListMimeData() const
bool done = false; bool done = false;
for (; seg; seg = seg->next1()) { for (; seg; seg = seg->next1()) {
if (seg->isChordRestType()) { if (seg->isChordRestType()) {
// if no ChordRest in right track, look in anotations // if no ChordRest in right track, look in annotations
if (seg->element(currTrack) == nullptr) { if (seg->element(currTrack) == nullptr) {
foreach (EngravingItem* el, seg->annotations()) { foreach (EngravingItem* el, seg->annotations()) {
// do annotations include our element? // do annotations include our element?

View File

@ -303,17 +303,17 @@ void ShadowNote::layout()
qreal w = noteheadBbox.width(); qreal w = noteheadBbox.width();
qreal stemWidth = score()->styleMM(Sid::stemWidth); qreal stemWidth = score()->styleMM(Sid::stemWidth);
qreal stemLenght = (up ? -3.5 : 3.5) * _spatium; qreal stemLength = (up ? -3.5 : 3.5) * _spatium;
qreal stemAnchor = symSmuflAnchor(m_noteheadSymbol, up ? SmuflAnchorId::stemUpSE : SmuflAnchorId::stemDownNW).y(); qreal stemAnchor = symSmuflAnchor(m_noteheadSymbol, up ? SmuflAnchorId::stemUpSE : SmuflAnchorId::stemDownNW).y();
newBbox |= RectF(up ? x + w - stemWidth : x, newBbox |= RectF(up ? x + w - stemWidth : x,
stemAnchor, stemAnchor,
stemWidth, stemWidth,
stemLenght - stemAnchor); stemLength - stemAnchor);
if (hasFlag()) { if (hasFlag()) {
RectF flagBbox = symBbox(flagSym()); RectF flagBbox = symBbox(flagSym());
newBbox |= RectF(up ? x + w - stemWidth : x, newBbox |= RectF(up ? x + w - stemWidth : x,
stemAnchor + stemLenght + flagBbox.y(), stemAnchor + stemLength + flagBbox.y(),
flagBbox.width(), flagBbox.width(),
flagBbox.height()); flagBbox.height());
} }

View File

@ -180,7 +180,7 @@ qreal Shape::minHorizontalDistance(const Shape& a, Score* score) const
sameVoiceCases = sameVoiceExceptions(item1, item2); sameVoiceCases = sameVoiceExceptions(item1, item2);
limitedKerning = limitedKerningExceptions(item1, item2); limitedKerning = limitedKerningExceptions(item1, item2);
} }
if (sameVoiceCases // padding for note-note and note-stem needs needs this exception if (sameVoiceCases // padding for note-note and note-stem needs this exception
&& Ms::intersects(ay1, ay2, by1, by2, verticalClearance) && Ms::intersects(ay1, ay2, by1, by2, verticalClearance)
&& (item2->isNote() || item2->isStem())) { && (item2->isNote() || item2->isStem())) {
padding = std::max(padding, double(score->styleMM(Sid::minNoteDistance))); padding = std::max(padding, double(score->styleMM(Sid::minNoteDistance)));

View File

@ -112,7 +112,7 @@ public:
// intersects // intersects
//--------------------------------------------------------- //---------------------------------------------------------
inline static bool intersects(qreal a, qreal b, qreal c, qreal d, qreal verticalClearence) inline static bool intersects(qreal a, qreal b, qreal c, qreal d, qreal verticalClearance)
{ {
// return (a >= c && a < d) || (b >= c && b < d) || (a < c && b >= b); // return (a >= c && a < d) || (b >= c && b < d) || (a < c && b >= b);
// return (std::max(a,b) > std::min(c,d)) && (std::min(a,b) < std::max(c,d)); // return (std::max(a,b) > std::min(c,d)) && (std::min(a,b) < std::max(c,d));
@ -120,7 +120,7 @@ inline static bool intersects(qreal a, qreal b, qreal c, qreal d, qreal vertical
if (a == b || c == d) { // zero height if (a == b || c == d) { // zero height
return false; return false;
} }
return (b + verticalClearence > c) && (a < d + verticalClearence); return (b + verticalClearance > c) && (a < d + verticalClearance);
} }
} // namespace Ms } // namespace Ms

Some files were not shown because too many files have changed in this diff Show More