Spelling (#11566)
* 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:
parent
751c0866ab
commit
55c452fb68
|
@ -191,8 +191,8 @@ if (BUILD_UNIT_TESTS)
|
|||
message(STATUS "Enabled testing")
|
||||
|
||||
define_property(TARGET PROPERTY OUTPUT_XML
|
||||
BRIEF_DOCS "List XML files outputed by google test."
|
||||
FULL_DOCS "List XML files outputed by google test."
|
||||
BRIEF_DOCS "List XML files outputted by google test."
|
||||
FULL_DOCS "List XML files outputted by google test."
|
||||
)
|
||||
|
||||
add_subdirectory(thirdparty/googletest)
|
||||
|
|
|
@ -278,7 +278,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
|
|||
# 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
|
||||
# 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:
|
||||
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# supported properly for IE 6.0, but are supported on all modern browsers.
|
||||
#
|
||||
|
@ -1539,7 +1539,7 @@ FORMULA_FONTSIZE = 10
|
|||
FORMULA_TRANSPARENT = YES
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
@ -1609,7 +1609,7 @@ MATHJAX_CODEFILE =
|
|||
SEARCHENGINE = YES
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
|
|
@ -196,7 +196,7 @@ endif()
|
|||
# Clean - delete an existing build directory.
|
||||
#
|
||||
# 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.
|
||||
|
||||
if(ARG_CLEAN)
|
||||
|
@ -272,7 +272,7 @@ endif()
|
|||
# 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
|
||||
# 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.
|
||||
|
||||
if(ARG_RUN)
|
||||
|
|
|
@ -325,7 +325,7 @@
|
|||
</ul>
|
||||
<p>Zerberus:</p>
|
||||
<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 #271719: sound accumulation on noteOff</li>
|
||||
<li>Fix #271722: long release samples do not play in their entirety</li>
|
||||
|
|
|
@ -40,7 +40,7 @@ IF(MINGW OR MSVC)
|
|||
SET(MSCORE_EXECUTABLE_NAME ${MUSESCORE_NAME}${MUSESCORE_VERSION_MAJOR})
|
||||
|
||||
# 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_NSIS_INSTALLED_ICON_NAME "bin\\\\${MSCORE_EXECUTABLE_NAME}.exe,0")
|
||||
SET(CPACK_NSIS_DISPLAY_NAME "${MUSESCORE_NAME} ${MUSESCORE_VERSION_FULL}")
|
||||
|
|
|
@ -33,7 +33,7 @@ function(fn__set_default
|
|||
endfunction()
|
||||
|
||||
# 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
|
||||
VAR_NAME # Name of the variable to set.
|
||||
OPT_NAME # Name of the option to search for (e.g. "-foo").
|
||||
|
|
|
@ -1,36 +1,37 @@
|
|||
#=============================================================================
|
||||
# MuseScore
|
||||
# Music Composition & Notation
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
# MuseScore-CLA-applies
|
||||
#
|
||||
# Copyright (C) 2020 MuseScore BVBA and others
|
||||
# MuseScore
|
||||
# Music Composition & Notation
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2.
|
||||
# Copyright (C) 2022 MuseScore BVBA and others
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 3 as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#=============================================================================
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# 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
|
||||
# set(MODULE somename) - set module (target) name
|
||||
# set(MODULE_INCLUDE ...) - set include (by default see below include_directories)
|
||||
# set(MODULE_DEF ...) - set definitions
|
||||
# set(MODULE_SRC ...) - set sources and headers files
|
||||
# set(MODULE_LINK ...) - set libraries for link
|
||||
# set(MODULE_NOT_LINK_GLOBAL ON) - set for not link global lib
|
||||
# set(MODULE_QRC somename.qrc) - set resource (qrc) file
|
||||
# set(MODULE_BIG_QRC somename.qrc) - set big resource (qrc) file
|
||||
# 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_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_OVERRIDEN_PCH ...) - set additional precompiled headers required for module
|
||||
# set(MODULE somename) - set module (target) name
|
||||
# set(MODULE_INCLUDE ...) - set include (by default see below include_directories)
|
||||
# set(MODULE_DEF ...) - set definitions
|
||||
# set(MODULE_SRC ...) - set sources and headers files
|
||||
# set(MODULE_LINK ...) - set libraries for link
|
||||
# set(MODULE_NOT_LINK_GLOBAL ON) - set for not link global lib
|
||||
# set(MODULE_QRC somename.qrc) - set resource (qrc) file
|
||||
# set(MODULE_BIG_QRC somename.qrc) - set big resource (qrc) file
|
||||
# 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_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_OVERRIDDEN_PCH ...) - set additional precompiled headers required for module
|
||||
# set(PROJECT_ROOT_DIR ${PROJECT_SOURCE_DIR}) - set root dir for module
|
||||
|
||||
# After all the settings you need to do:
|
||||
|
@ -78,11 +79,11 @@ if (BUILD_PCH)
|
|||
# disabled pch for current module
|
||||
else()
|
||||
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_compile_definitions(${MODULE} PRIVATE global_EXPORTS=1)
|
||||
else()
|
||||
target_precompile_headers(${MODULE} PRIVATE ${MODULE_OVERRIDEN_PCH})
|
||||
target_precompile_headers(${MODULE} PRIVATE ${MODULE_OVERRIDDEN_PCH})
|
||||
endif()
|
||||
if (MODULE_NOT_LINK_GLOBAL)
|
||||
set(MODULE_NOT_LINK_GLOBAL OFF)
|
||||
|
|
|
@ -373,7 +373,7 @@ Function un.RemoveFromPath
|
|||
FunctionEnd
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Uninstall sutff
|
||||
; Uninstall stuff
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
###########################################
|
||||
|
@ -477,15 +477,15 @@ Done:
|
|||
Exch $R1
|
||||
FunctionEnd
|
||||
|
||||
Function ConditionalAddToRegisty
|
||||
Function ConditionalAddToRegistry
|
||||
Pop $0
|
||||
Pop $1
|
||||
StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
|
||||
StrCmp "$0" "" ConditionalAddToRegistry_EmptyString
|
||||
WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \
|
||||
"$1" "$0"
|
||||
;MessageBox MB_OK "Set Registry: '$1' to '$0'"
|
||||
DetailPrint "Set install registry entry: '$1' to '$0'"
|
||||
ConditionalAddToRegisty_EmptyString:
|
||||
ConditionalAddToRegistry_EmptyString:
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
|
@ -675,44 +675,44 @@ Section "-Core installation"
|
|||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
Push "DisplayName"
|
||||
Push "@CPACK_NSIS_DISPLAY_NAME@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "DisplayVersion"
|
||||
Push "@CPACK_PACKAGE_VERSION@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "Publisher"
|
||||
Push "@CPACK_PACKAGE_VENDOR@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "UninstallString"
|
||||
Push "$INSTDIR\Uninstall.exe"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "NoRepair"
|
||||
Push "1"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
|
||||
!ifdef CPACK_NSIS_ADD_REMOVE
|
||||
;Create add/remove functionality
|
||||
Push "ModifyPath"
|
||||
Push "$INSTDIR\AddRemove.exe"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
!else
|
||||
Push "NoModify"
|
||||
Push "1"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
!endif
|
||||
|
||||
; Optional registration
|
||||
Push "DisplayIcon"
|
||||
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "HelpLink"
|
||||
Push "@CPACK_NSIS_HELP_LINK@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "URLInfoAbout"
|
||||
Push "@CPACK_NSIS_URL_INFO_ABOUT@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "Contact"
|
||||
Push "@CPACK_NSIS_CONTACT@"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
||||
|
||||
|
@ -725,19 +725,19 @@ Section "-Core installation"
|
|||
; Write special uninstall registry entries
|
||||
Push "StartMenu"
|
||||
Push "$STARTMENU_FOLDER"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "DoNotAddToPath"
|
||||
Push "$DO_NOT_ADD_TO_PATH"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "AddToPathAllUsers"
|
||||
Push "$ADD_TO_PATH_ALL_USERS"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "AddToPathCurrentUser"
|
||||
Push "$ADD_TO_PATH_CURRENT_USER"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
Push "InstallToDesktop"
|
||||
Push "$INSTALL_DESKTOP"
|
||||
Call ConditionalAddToRegisty
|
||||
Call ConditionalAddToRegistry
|
||||
|
||||
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
|
||||
|
||||
|
@ -879,7 +879,7 @@ Section "Uninstall"
|
|||
@CPACK_NSIS_DELETE_ICONS@
|
||||
@CPACK_NSIS_DELETE_ICONS_EXTRA@
|
||||
|
||||
;Delete empty start menu parent diretories
|
||||
;Delete empty start menu parent directories
|
||||
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
startMenuDeleteLoop:
|
||||
|
@ -892,13 +892,13 @@ Section "Uninstall"
|
|||
StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
|
||||
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.
|
||||
StrCpy $MUI_TEMP "$START_MENU"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
@CPACK_NSIS_DELETE_ICONS_EXTRA@
|
||||
|
||||
;Delete empty start menu parent diretories
|
||||
;Delete empty start menu parent directories
|
||||
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
|
||||
|
||||
secondStartMenuDeleteLoop:
|
||||
|
|
|
@ -97,7 +97,7 @@ Palette handling
|
|||
Lyrics
|
||||
-------------------------------
|
||||
- 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+
|
||||
will stay below.
|
||||
- 'x' (flip) changes the placement of a lyric.
|
||||
|
@ -173,7 +173,7 @@ Lyrics
|
|||
TODO: check if they can be removed in system mode
|
||||
|
||||
* 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/
|
||||
|
||||
|
||||
|
@ -213,7 +213,7 @@ paint() method in Element
|
|||
====================================================================
|
||||
|
||||
Measure layout
|
||||
A measure is layouted in four different contexts:
|
||||
A measure is laid out in four different contexts:
|
||||
- first measure in a system
|
||||
- the measure is prepended by a system header
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<work-title>Meta title</work-title>
|
||||
</work>
|
||||
<identification>
|
||||
<creator type="composer">Meta conposer</creator>
|
||||
<creator type="composer">Meta composer</creator>
|
||||
<creator type="lyricist">Meta lyricist</creator>
|
||||
<rights>Meta copyright</rights>
|
||||
<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>
|
||||
<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 page="1">
|
||||
<credit-words default-x="56.6929" default-y="113.386" justify="left" valign="bottom" font-size="12">Lyricist</credit-words>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<work-title>Meta title</work-title>
|
||||
</work>
|
||||
<identification>
|
||||
<creator type="composer">Meta conposer</creator>
|
||||
<creator type="composer">Meta composer</creator>
|
||||
<creator type="lyricist">Meta lyricist</creator>
|
||||
<rights>Meta copyright</rights>
|
||||
<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>
|
||||
<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 page="1">
|
||||
<credit-words default-x="56.6929" default-y="113.386" justify="left" valign="bottom" font-size="12">Lyricist</credit-words>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<work-title>Meta title</work-title>
|
||||
</work>
|
||||
<identification>
|
||||
<creator type="composer">Meta conposer</creator>
|
||||
<creator type="composer">Meta composer</creator>
|
||||
<creator type="lyricist">Meta lyricist</creator>
|
||||
<rights>Meta copyright</rights>
|
||||
<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>
|
||||
<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 page="1">
|
||||
<credit-words default-x="56.6929" default-y="1526.67" justify="left" valign="bottom" font-size="12">Lyricist</credit-words>
|
||||
|
|
|
@ -59,7 +59,7 @@ private slots:
|
|||
//void oveRepeatDCFineTest() { oveReadTest("cond - repeat - dc al fine"); }
|
||||
//void oveRepeatDSCodaTest() { oveReadTest("cond - repeat - ds al coda_segno"); }
|
||||
//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 oveRepeatTheMomentTest() { oveReadTest("cond - repeat - the moment"); }
|
||||
//void oveRepeatToCodaCodaTest() { oveReadTest("cond - repeat - to coda_coda"); }
|
||||
|
|
|
@ -15,4 +15,4 @@ cmd select-next-chord
|
|||
cmd copy
|
||||
cmd next-chord
|
||||
cmd paste
|
||||
test score paste_excceed_scoreLen_MMrest.mscx
|
||||
test score paste_exceed_scoreLen_MMrest.mscx
|
|
@ -20,7 +20,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
function doCkeckControlIsActive(action)
|
||||
function doCheckControlIsActive(action)
|
||||
{
|
||||
if (api.navigation.activeControl() === "") {
|
||||
api.autobot.error("navigation error: no control after call: " + action)
|
||||
|
@ -31,42 +31,42 @@ module.exports = {
|
|||
nextPanel: function()
|
||||
{
|
||||
api.navigation.nextPanel()
|
||||
doCkeckControlIsActive("nextPanel")
|
||||
doCheckControlIsActive("nextPanel")
|
||||
},
|
||||
prevPanel: function()
|
||||
{
|
||||
api.navigation.prevPanel()
|
||||
doCkeckControlIsActive("prevPanel")
|
||||
doCheckControlIsActive("prevPanel")
|
||||
},
|
||||
right: function()
|
||||
{
|
||||
api.navigation.right()
|
||||
doCkeckControlIsActive("right")
|
||||
doCheckControlIsActive("right")
|
||||
},
|
||||
left: function()
|
||||
{
|
||||
api.navigation.left()
|
||||
doCkeckControlIsActive("left")
|
||||
doCheckControlIsActive("left")
|
||||
},
|
||||
up: function()
|
||||
{
|
||||
api.navigation.up()
|
||||
doCkeckControlIsActive("up")
|
||||
doCheckControlIsActive("up")
|
||||
},
|
||||
down: function()
|
||||
{
|
||||
api.navigation.down()
|
||||
doCkeckControlIsActive("down")
|
||||
doCheckControlIsActive("down")
|
||||
},
|
||||
escape: function()
|
||||
{
|
||||
api.navigation.down()
|
||||
doCkeckControlIsActive("escape")
|
||||
doCheckControlIsActive("escape")
|
||||
},
|
||||
goToControl: function(section, panel, contolNameOrIndex)
|
||||
goToControl: function(section, panel, controlNameOrIndex)
|
||||
{
|
||||
if (!api.navigation.goToControl(section, panel, contolNameOrIndex)) {
|
||||
api.autobot.error("navigation error: not found control: " + contolNameOrIndex)
|
||||
if (!api.navigation.goToControl(section, panel, controlNameOrIndex)) {
|
||||
api.autobot.error("navigation error: not found control: " + controlNameOrIndex)
|
||||
}
|
||||
},
|
||||
trigger: function()
|
||||
|
@ -77,10 +77,10 @@ module.exports = {
|
|||
}
|
||||
api.navigation.trigger()
|
||||
},
|
||||
triggerControl: function(section, panel, contolNameOrIndex)
|
||||
triggerControl: function(section, panel, controlNameOrIndex)
|
||||
{
|
||||
if (!api.navigation.triggerControl(section, panel, contolNameOrIndex)) {
|
||||
api.autobot.error("navigation error: not found control: " + contolNameOrIndex)
|
||||
if (!api.navigation.triggerControl(section, panel, controlNameOrIndex)) {
|
||||
api.autobot.error("navigation error: not found control: " + controlNameOrIndex)
|
||||
}
|
||||
},
|
||||
activeSection: api.navigation.activeSection,
|
||||
|
|
|
@ -5274,7 +5274,7 @@
|
|||
<trackName>Kuhlohorn</trackName>
|
||||
<longName>Kuhlohorn</longName>
|
||||
<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>
|
||||
<clef>G</clef>
|
||||
<barlineSpan>1</barlineSpan>
|
||||
|
|
|
@ -1790,7 +1790,7 @@ QT_TRANSLATE_NOOP3("InstrumentsXML", "Flghn.", "flugelhorn|shortName"),
|
|||
QT_TRANSLATE_NOOP3("InstrumentsXML", "open", "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|longName"),
|
||||
QT_TRANSLATE_NOOP3("InstrumentsXML", "Klhn.", "kuhlohorn|shortName"),
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
. 000-057: Trombone -- Fixed short release.
|
||||
. 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-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-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.
|
||||
|
|
|
@ -183,7 +183,7 @@
|
|||
- **000-057: Trombone** -- Fixed short release.
|
||||
- **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-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-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.
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<sym code="0x1d12a" name="##"/>
|
||||
<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"/>
|
||||
|
||||
<!-- add "code" attributes (as for "b" and "#" above) to get these to render as flat and sharp signs -->
|
||||
|
|
|
@ -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"));
|
||||
|
||||
QString modeType;
|
||||
|
|
|
@ -71,7 +71,7 @@ PreferencesPage {
|
|||
ioModel.currentMidiInputDeviceIndex = newIndex
|
||||
}
|
||||
|
||||
onCurrentOuputDeviceIndexChangeRequested: function(newIndex) {
|
||||
onCurrentOutputDeviceIndexChangeRequested: function(newIndex) {
|
||||
ioModel.currentMidiOutputDeviceIndex = newIndex
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ PreferencesPage {
|
|||
|
||||
NoteInputSection {
|
||||
advanceToNextNote: noteInputModel.advanceToNextNoteOnKeyRelease
|
||||
colorNotes: noteInputModel.colorNotesOusideOfUsablePitchRange
|
||||
colorNotes: noteInputModel.colorNotesOutsideOfUsablePitchRange
|
||||
delayBetweenNotes: noteInputModel.delayBetweenNotesInRealTimeModeMilliseconds
|
||||
|
||||
navigation.section: root.navigationSection
|
||||
|
@ -51,7 +51,7 @@ PreferencesPage {
|
|||
}
|
||||
|
||||
onColorNotesChangeRequested: function(color) {
|
||||
noteInputModel.colorNotesOusideOfUsablePitchRange = color
|
||||
noteInputModel.colorNotesOutsideOfUsablePitchRange = color
|
||||
}
|
||||
|
||||
onDelayBetweenNotesChangeRequested: function(delay) {
|
||||
|
|
|
@ -59,7 +59,7 @@ BaseSection {
|
|||
FilePicker {
|
||||
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)
|
||||
dir: model.dir
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ BaseSection {
|
|||
property alias outputDevices: outputDevicesBox.model
|
||||
|
||||
signal currentInputDeviceIndexChangeRequested(int newIndex)
|
||||
signal currentOuputDeviceIndexChangeRequested(int newIndex)
|
||||
signal currentOutputDeviceIndexChangeRequested(int newIndex)
|
||||
|
||||
title: qsTrc("appshell", "MIDI")
|
||||
|
||||
|
@ -63,7 +63,7 @@ BaseSection {
|
|||
navigation.row: 2
|
||||
|
||||
onValueEdited: function(newIndex, newValue) {
|
||||
root.currentOuputDeviceIndexChangeRequested(newIndex)
|
||||
root.currentOutputDeviceIndexChangeRequested(newIndex)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ BaseSection {
|
|||
minValue: 1
|
||||
maxValue: 16
|
||||
|
||||
navigation.name: "MouseZoomPercisionControl"
|
||||
navigation.name: "MouseZoomPrecisionControl"
|
||||
navigation.panel: root.navigation
|
||||
navigation.row: 1
|
||||
navigation.column: 0
|
||||
|
|
|
@ -42,7 +42,7 @@ DockPage {
|
|||
|
||||
property NavigationSection publishToolBarKeyNavSec: NavigationSection {
|
||||
id: keynavSec
|
||||
name: "PublushToolBarSection"
|
||||
name: "PublishToolBarSection"
|
||||
order: 2
|
||||
}
|
||||
|
||||
|
|
|
@ -38,9 +38,9 @@ DockPageView {
|
|||
property var panelTopDropDestination: { "dock": panelTopDockingHolder, "dropLocation": Location.Left }
|
||||
property var panelBottomDropDestination: { "dock": panelBottomDockingHolder, "dropLocation": Location.Left }
|
||||
|
||||
property bool complited: false
|
||||
Component.onCompleted: root.complited = true
|
||||
Component.onDestruction: root.complited = false
|
||||
property bool completed: false
|
||||
Component.onCompleted: root.completed = true
|
||||
Component.onDestruction: root.completed = false
|
||||
|
||||
centralDock: DockCentralView {
|
||||
objectName: root.objectName + "_central"
|
||||
|
@ -48,7 +48,7 @@ DockPageView {
|
|||
Loader {
|
||||
id: central
|
||||
anchors.fill: parent
|
||||
sourceComponent: (root.complited && root.visible) ? root.central : null
|
||||
sourceComponent: (root.completed && root.visible) ? root.central : null
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -160,7 +160,7 @@ DockPanelView::~DockPanelView()
|
|||
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));
|
||||
}
|
||||
|
||||
|
@ -190,7 +190,7 @@ void DockPanelView::componentComplete()
|
|||
|
||||
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));
|
||||
|
||||
connect(m_menuModel, &AbstractMenuModel::itemsChanged, [dockWidget, this]() {
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
namespace mu::dock {
|
||||
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)
|
||||
inline constexpr int DOCK_WINDOW_SHADOW(8);
|
||||
|
|
|
@ -384,7 +384,7 @@ void DockWindow::alignToolBars(const DockPageView* page)
|
|||
int centralToolBarsWidth = 0;
|
||||
int rightToolBarsWidth = 0;
|
||||
|
||||
int separatorThicnkess = KDDockWidgets::Config::self().separatorThickness();
|
||||
int separatorThickness = KDDockWidgets::Config::self().separatorThickness();
|
||||
|
||||
for (DockToolBarView* toolBar : topToolBars) {
|
||||
if (toolBar->floating() || !toolBar->isVisible()) {
|
||||
|
@ -398,10 +398,10 @@ void DockWindow::alignToolBars(const DockPageView* page)
|
|||
break;
|
||||
case DockToolBarAlignment::Center:
|
||||
lastCentralToolBar = toolBar;
|
||||
centralToolBarsWidth += (toolBar->contentWidth() + separatorThicnkess);
|
||||
centralToolBarsWidth += (toolBar->contentWidth() + separatorThickness);
|
||||
break;
|
||||
case DockToolBarAlignment::Right:
|
||||
rightToolBarsWidth += (toolBar->contentWidth() + separatorThicnkess);
|
||||
rightToolBarsWidth += (toolBar->contentWidth() + separatorThickness);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#include "thirdparty/KDDockWidgets/src/private/FloatingWindow_p.h"
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -541,7 +541,7 @@ void DockBase::applySizeConstraints()
|
|||
window->setMinimumSize(minimumSize);
|
||||
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);
|
||||
|
||||
window->setGeometry(winRect);
|
||||
|
|
|
@ -175,7 +175,7 @@ void DockFrameModel::setIsHorizontalPanel(bool is)
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ void AdvancedPreferencesModel::load()
|
|||
Settings::Items items = settings()->items();
|
||||
|
||||
for (auto it = items.cbegin(); it != items.cend(); ++it) {
|
||||
if (it->second.canBeMannualyEdited) {
|
||||
if (it->second.canBeManuallyEdited) {
|
||||
m_items << it->second;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ QVariant FoldersPreferencesModel::data(const QModelIndex& index, int role) const
|
|||
case TitleRole: return folder.title;
|
||||
case PathRole: return folder.value;
|
||||
case DirRole: return folder.dir;
|
||||
case IsMutliDirectoriesRole: return folder.valueType == FolderValueType::MultiDirectories;
|
||||
case IsMultiDirectoriesRole: return folder.valueType == FolderValueType::MultiDirectories;
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
|
@ -74,7 +74,7 @@ QHash<int, QByteArray> FoldersPreferencesModel::roleNames() const
|
|||
{ TitleRole, "title" },
|
||||
{ PathRole, "path" },
|
||||
{ DirRole, "dir" },
|
||||
{ IsMutliDirectoriesRole, "isMutliDirectories" }
|
||||
{ IsMultiDirectoriesRole, "isMultiDirectories" }
|
||||
};
|
||||
|
||||
return roles;
|
||||
|
|
|
@ -62,7 +62,7 @@ private:
|
|||
TitleRole = Qt::UserRole + 1,
|
||||
PathRole,
|
||||
DirRole,
|
||||
IsMutliDirectoriesRole
|
||||
IsMultiDirectoriesRole
|
||||
};
|
||||
|
||||
enum class FolderType {
|
||||
|
|
|
@ -36,9 +36,9 @@ bool NoteInputPreferencesModel::advanceToNextNoteOnKeyRelease() const
|
|||
return shortcutsConfiguration()->advanceToNextNoteOnKeyRelease();
|
||||
}
|
||||
|
||||
bool NoteInputPreferencesModel::colorNotesOusideOfUsablePitchRange() const
|
||||
bool NoteInputPreferencesModel::colorNotesOutsideOfUsablePitchRange() const
|
||||
{
|
||||
return notationConfiguration()->colorNotesOusideOfUsablePitchRange();
|
||||
return notationConfiguration()->colorNotesOutsideOfUsablePitchRange();
|
||||
}
|
||||
|
||||
int NoteInputPreferencesModel::delayBetweenNotesInRealTimeModeMilliseconds() const
|
||||
|
@ -76,14 +76,14 @@ void NoteInputPreferencesModel::setAdvanceToNextNoteOnKeyRelease(bool value)
|
|||
emit advanceToNextNoteOnKeyReleaseChanged(value);
|
||||
}
|
||||
|
||||
void NoteInputPreferencesModel::setColorNotesOusideOfUsablePitchRange(bool value)
|
||||
void NoteInputPreferencesModel::setColorNotesOutsideOfUsablePitchRange(bool value)
|
||||
{
|
||||
if (value == colorNotesOusideOfUsablePitchRange()) {
|
||||
if (value == colorNotesOutsideOfUsablePitchRange()) {
|
||||
return;
|
||||
}
|
||||
|
||||
notationConfiguration()->setColorNotesOusideOfUsablePitchRange(value);
|
||||
emit colorNotesOusideOfUsablePitchRangeChanged(value);
|
||||
notationConfiguration()->setColorNotesOutsideOfUsablePitchRange(value);
|
||||
emit colorNotesOutsideOfUsablePitchRangeChanged(value);
|
||||
}
|
||||
|
||||
void NoteInputPreferencesModel::setDelayBetweenNotesInRealTimeModeMilliseconds(int delay)
|
||||
|
|
|
@ -41,7 +41,7 @@ class NoteInputPreferencesModel : public QObject
|
|||
Q_PROPERTY(
|
||||
bool advanceToNextNoteOnKeyRelease READ advanceToNextNoteOnKeyRelease WRITE setAdvanceToNextNoteOnKeyRelease NOTIFY advanceToNextNoteOnKeyReleaseChanged)
|
||||
Q_PROPERTY(
|
||||
bool colorNotesOusideOfUsablePitchRange READ colorNotesOusideOfUsablePitchRange WRITE setColorNotesOusideOfUsablePitchRange NOTIFY colorNotesOusideOfUsablePitchRangeChanged)
|
||||
bool colorNotesOutsideOfUsablePitchRange READ colorNotesOutsideOfUsablePitchRange WRITE setColorNotesOutsideOfUsablePitchRange NOTIFY colorNotesOutsideOfUsablePitchRangeChanged)
|
||||
Q_PROPERTY(
|
||||
int delayBetweenNotesInRealTimeModeMilliseconds READ delayBetweenNotesInRealTimeModeMilliseconds WRITE setDelayBetweenNotesInRealTimeModeMilliseconds NOTIFY delayBetweenNotesInRealTimeModeMillisecondsChanged)
|
||||
|
||||
|
@ -56,7 +56,7 @@ public:
|
|||
explicit NoteInputPreferencesModel(QObject* parent = nullptr);
|
||||
|
||||
bool advanceToNextNoteOnKeyRelease() const;
|
||||
bool colorNotesOusideOfUsablePitchRange() const;
|
||||
bool colorNotesOutsideOfUsablePitchRange() const;
|
||||
int delayBetweenNotesInRealTimeModeMilliseconds() const;
|
||||
|
||||
bool playNotesWhenEditing() const;
|
||||
|
@ -66,7 +66,7 @@ public:
|
|||
|
||||
public slots:
|
||||
void setAdvanceToNextNoteOnKeyRelease(bool value);
|
||||
void setColorNotesOusideOfUsablePitchRange(bool value);
|
||||
void setColorNotesOutsideOfUsablePitchRange(bool value);
|
||||
void setDelayBetweenNotesInRealTimeModeMilliseconds(int delay);
|
||||
void setPlayNotesWhenEditing(bool value);
|
||||
void setNotePlayDurationMilliseconds(int duration);
|
||||
|
@ -75,7 +75,7 @@ public slots:
|
|||
|
||||
signals:
|
||||
void advanceToNextNoteOnKeyReleaseChanged(bool value);
|
||||
void colorNotesOusideOfUsablePitchRangeChanged(bool value);
|
||||
void colorNotesOutsideOfUsablePitchRangeChanged(bool value);
|
||||
void delayBetweenNotesInRealTimeModeMillisecondsChanged(int delay);
|
||||
void playNotesWhenEditingChanged(bool value);
|
||||
void notePlayDurationMillisecondsChanged(int duration);
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# 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_QRC autobot.qrc)
|
||||
|
|
|
@ -70,23 +70,23 @@ void NavigationApi::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;
|
||||
if (contolNameOrIndex.isString()) {
|
||||
ok = navigation()->requestActivateByName(section.toStdString(), panel.toStdString(), contolNameOrIndex.toString().toStdString());
|
||||
} else if (contolNameOrIndex.isArray()) {
|
||||
if (contolNameOrIndex.property("length").toInt() == 2) {
|
||||
if (controlNameOrIndex.isString()) {
|
||||
ok = navigation()->requestActivateByName(section.toStdString(), panel.toStdString(), controlNameOrIndex.toString().toStdString());
|
||||
} else if (controlNameOrIndex.isArray()) {
|
||||
if (controlNameOrIndex.property("length").toInt() == 2) {
|
||||
INavigation::Index idx;
|
||||
idx.row = contolNameOrIndex.property(0).toInt();
|
||||
idx.column = contolNameOrIndex.property(1).toInt();
|
||||
idx.row = controlNameOrIndex.property(0).toInt();
|
||||
idx.column = controlNameOrIndex.property(1).toInt();
|
||||
ok = navigation()->requestActivateByIndex(section.toStdString(), panel.toStdString(), idx);
|
||||
} else {
|
||||
LOGE() << "bad argument `control`: " << contolNameOrIndex.toString();
|
||||
LOGE() << "bad argument `control`: " << controlNameOrIndex.toString();
|
||||
ok = false;
|
||||
}
|
||||
} else {
|
||||
LOGE() << "bad argument `control`: " << contolNameOrIndex.toString();
|
||||
LOGE() << "bad argument `control`: " << controlNameOrIndex.toString();
|
||||
ok = false;
|
||||
}
|
||||
|
||||
|
@ -98,9 +98,9 @@ void NavigationApi::trigger()
|
|||
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) {
|
||||
trigger();
|
||||
}
|
||||
|
|
|
@ -49,9 +49,9 @@ public:
|
|||
Q_INVOKABLE void up();
|
||||
Q_INVOKABLE void down();
|
||||
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 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 activePanel() const;
|
||||
|
|
|
@ -104,9 +104,9 @@ io::path AutobotInteractive::selectDirectory(const QString& title, const io::pat
|
|||
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
|
||||
|
|
|
@ -67,7 +67,7 @@ public:
|
|||
|
||||
// dirs
|
||||
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
|
||||
RetVal<Val> open(const std::string& uri) const override;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
# 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.
|
||||
# Main goal - determine what need to do and call necessary functions.
|
||||
# Usually use from command line.
|
||||
|
||||
set(MODULE converter)
|
||||
|
|
|
@ -177,9 +177,9 @@ std::pair<int, QString> NotationMeta::tempo(const Ms::Score* score)
|
|||
QString tempoText;
|
||||
for (const Ms::Segment* segment = score->firstSegmentMM(Ms::SegmentType::All); segment; segment = segment->next1MM()) {
|
||||
auto annotations = segment->annotations();
|
||||
for (const Ms::EngravingItem* anotation : annotations) {
|
||||
if (anotation && anotation->isTempoText()) {
|
||||
const Ms::TempoText* tt = toTempoText(anotation);
|
||||
for (const Ms::EngravingItem* annotation : annotations) {
|
||||
if (annotation && annotation->isTempoText()) {
|
||||
const Ms::TempoText* tt = toTempoText(annotation);
|
||||
tempo = round(tt->tempo().toBPM().val);
|
||||
tempoText = tt->xmlText();
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
using namespace mu::diagnostics;
|
||||
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 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");
|
||||
|
@ -36,7 +36,7 @@ static const mu::UriQuery ENGRAVING_ELEMENTS_URI("musescore://diagnostics/engrav
|
|||
|
||||
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-navigation-tree", [this]() { openUri(NAVIGATION_TREE_URI); });
|
||||
dispatcher()->reg(this, "diagnostic-show-accessible-tree", [this]() { openUri(ACCESSIBLE_TREE_URI); });
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
void clearStatistic() override;
|
||||
void printStatistic(const std::string& title) override;
|
||||
|
||||
// registr
|
||||
// register
|
||||
void reg(const Ms::EngravingObject* e) override;
|
||||
void unreg(const Ms::EngravingObject* e) override;
|
||||
const EngravingObjectList& elements() const override;
|
||||
|
|
|
@ -74,12 +74,12 @@ Rectangle {
|
|||
FlatButton {
|
||||
id: moreBtn
|
||||
anchors.right: parent.right
|
||||
text: infoLable.visible ? "Less" : "More"
|
||||
onClicked: infoLable.visible = !infoLable.visible
|
||||
text: infoLabel.visible ? "Less" : "More"
|
||||
onClicked: infoLabel.visible = !infoLabel.visible
|
||||
}
|
||||
|
||||
StyledTextLabel {
|
||||
id: infoLable
|
||||
id: infoLabel
|
||||
anchors.top: reloadBtn.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
|
|
@ -48,7 +48,7 @@ void WriteScoreHook::onWriteStyle302(Ms::Score* score, Ms::XmlWriter& xml)
|
|||
}
|
||||
|
||||
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.)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -441,7 +441,7 @@ public:
|
|||
using PolygonF = PolygonX<qreal>;
|
||||
using Polygon = PolygonX<int>;
|
||||
|
||||
// Impelemtation ==========================================
|
||||
// Implementation ==========================================
|
||||
template<typename T>
|
||||
RectX<T> RectX<T>::united(const RectX<T>& r) const
|
||||
{
|
||||
|
|
|
@ -61,7 +61,7 @@ void EngravingConfiguration::init()
|
|||
Settings::Key key("engraving", "engraving/colors/voice" + std::to_string(voice + 1));
|
||||
|
||||
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) {
|
||||
Color color = val.toQColor();
|
||||
voiceColorKeys[voice].color = color;
|
||||
|
|
|
@ -182,13 +182,13 @@ void MscWriter::writeViewSettingsJsonFile(const QByteArray& data)
|
|||
|
||||
void MscWriter::writeMeta()
|
||||
{
|
||||
if (m_meta.isWrited) {
|
||||
if (m_meta.isWritten) {
|
||||
return;
|
||||
}
|
||||
|
||||
writeContainer(m_meta.files);
|
||||
|
||||
m_meta.isWrited = true;
|
||||
m_meta.isWritten = true;
|
||||
}
|
||||
|
||||
void MscWriter::writeContainer(const std::vector<QString>& paths)
|
||||
|
|
|
@ -115,7 +115,7 @@ private:
|
|||
|
||||
struct Meta {
|
||||
std::vector<QString> files;
|
||||
bool isWrited = false;
|
||||
bool isWritten = false;
|
||||
|
||||
bool contains(const QString& file) const;
|
||||
void addFile(const QString& file);
|
||||
|
|
|
@ -205,7 +205,7 @@ void LayoutHarmonies::alignHarmonies(const System* system, const std::vector<Seg
|
|||
// Algorithm:
|
||||
// - Find highest placed harmony/fretdiagram.
|
||||
// - 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 };
|
||||
int pass { 0 };
|
||||
while (moved && (pass++ < 10)) {
|
||||
|
|
|
@ -72,7 +72,7 @@ System* LayoutSystem::collectSystem(const LayoutOptions& options, LayoutContext&
|
|||
if (measure) {
|
||||
const LayoutBreak* layoutBreak = measure->sectionBreakElement();
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -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.)
|
||||
double acceptanceRange = squeezability * system->squeezableSpace();
|
||||
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
|
||||
* measures to fit per system. */
|
||||
if (doBreak) {
|
||||
|
@ -472,7 +472,7 @@ System* LayoutSystem::collectSystem(const LayoutOptions& options, LayoutContext&
|
|||
if (measure) {
|
||||
const LayoutBreak* layoutBreak = measure->sectionBreakElement();
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -964,7 +964,7 @@ void LayoutSystem::layoutSystemElements(const LayoutOptions& options, LayoutCont
|
|||
|
||||
//-------------------------------------------------------------
|
||||
// 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();
|
||||
|
|
|
@ -52,7 +52,7 @@ struct Acc {
|
|||
: 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[] = {
|
||||
Acc(AccidentalVal::NATURAL, 0, SymId::noSym), // NONE
|
||||
Acc(AccidentalVal::FLAT, 0, SymId::accidentalFlat), // FLAT
|
||||
|
|
|
@ -366,7 +366,7 @@ void Ambitus::layout()
|
|||
//
|
||||
// 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)
|
||||
//
|
||||
qreal xAccidOffTop = 0;
|
||||
|
|
|
@ -1539,7 +1539,7 @@ PropertyValue BarLine::propertyDefault(Pid propertyId) const
|
|||
{
|
||||
switch (propertyId) {
|
||||
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)
|
||||
// if (segment() && segment()->measure() && !segment()->measure()->nextMeasure())
|
||||
// return QVariant::fromValue(BarLineType::END);
|
||||
|
|
|
@ -838,7 +838,7 @@ void VBox::layout()
|
|||
|
||||
void VBox::adjustLayoutWithoutImages()
|
||||
{
|
||||
qreal calcuatedVBoxHeight = 0;
|
||||
qreal calculatedVBoxHeight = 0;
|
||||
const int padding = score()->spatium();
|
||||
auto elementList = el();
|
||||
|
||||
|
@ -846,11 +846,11 @@ void VBox::adjustLayoutWithoutImages()
|
|||
if (pElement->isText()) {
|
||||
Text* txt = toText(pElement);
|
||||
txt->bbox().moveTop(0);
|
||||
calcuatedVBoxHeight += txt->height() + padding;
|
||||
calculatedVBoxHeight += txt->height() + padding;
|
||||
}
|
||||
}
|
||||
|
||||
setHeight(calcuatedVBoxHeight);
|
||||
setHeight(calculatedVBoxHeight);
|
||||
Box::layout();
|
||||
}
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ public:
|
|||
int gripsCount() const override { return 1; }
|
||||
Grip initialEditModeGrip() 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
|
||||
};
|
||||
|
||||
//---------------------------------------------------------
|
||||
|
|
|
@ -216,7 +216,7 @@ void ChangeMap::cleanupStage0()
|
|||
|
||||
if (int(rampEvents.size()) > 1) {
|
||||
// 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.
|
||||
std::sort(rampEvents.begin(), rampEvents.end(), ChangeMap::compareRampEvents);
|
||||
for (auto& event : rampEvents) {
|
||||
|
|
|
@ -180,7 +180,7 @@ int Chord::downLine() const
|
|||
// (i.e., upside-down TAB are taken into account)
|
||||
//
|
||||
// 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
|
||||
|
|
|
@ -181,7 +181,7 @@ void Clef::layout()
|
|||
case ClefType::TAB: // TAB clef
|
||||
// on tablature, position clef at half the number of spaces * line distance
|
||||
yoff = lineDist * (lines - 1) * .5;
|
||||
stepOffset = 0; // ignore stepOffset for TAB and pecussion clefs
|
||||
stepOffset = 0; // ignore stepOffset for TAB and percussion clefs
|
||||
break;
|
||||
case ClefType::TAB4: // TAB clef 4 strings
|
||||
// on tablature, position clef at half the number of spaces * line distance
|
||||
|
|
|
@ -294,7 +294,7 @@ void Score::undoRedo(bool undo, EditData* ed)
|
|||
|
||||
//---------------------------------------------------------
|
||||
// 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.
|
||||
//---------------------------------------------------------
|
||||
|
||||
|
@ -3383,7 +3383,7 @@ void Score::cmdSlashFill()
|
|||
for (voice = 0; voice < VOICES; ++voice) {
|
||||
needGap[voice] = false;
|
||||
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
|
||||
if (!cr) {
|
||||
needGap[voice] = true;
|
||||
|
@ -3942,7 +3942,7 @@ void Score::cmdPitchDownOctave()
|
|||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// cmdPadNoteInclreaseTAB
|
||||
// cmdPadNoteIncreaseTAB
|
||||
//---------------------------------------------------------
|
||||
|
||||
void Score::cmdPadNoteIncreaseTAB(const EditData& ed)
|
||||
|
|
|
@ -428,7 +428,7 @@ void TDuration::truncateToFraction(const Fraction& l, int maxDots)
|
|||
// that wasn't enough so now change type too
|
||||
for (shiftType(1); isValid(); shiftType(1)) {
|
||||
if (setDotsToFitFraction(l, maxDots)) {
|
||||
return; // duration fits fits in l
|
||||
return; // duration fits in l
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
/**
|
||||
\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.
|
||||
*/
|
||||
|
||||
|
@ -36,7 +36,7 @@ namespace Ms {
|
|||
//-------------------------------------------------------------------------------------------------
|
||||
// The following function is inspired by "A Primer on Bézier Curve" sections 17 and 23 by Pomax:
|
||||
// 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
|
||||
// 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
|
||||
|
|
|
@ -1372,7 +1372,7 @@ void Score::cmdRemoveTimeSig(TimeSig* ts)
|
|||
Fraction tick = m->tick();
|
||||
|
||||
// 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
|
||||
// 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
|
||||
|
@ -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) {
|
||||
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,
|
||||
// this was already set when we created the staff
|
||||
// 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
|
||||
//adjustBracketsIns(idx, idx+1);
|
||||
}
|
||||
|
|
|
@ -2702,7 +2702,7 @@ void EngravingItem::setSelected(bool f)
|
|||
setFlag(ElementFlag::SELECTED, f);
|
||||
|
||||
if (f) {
|
||||
initAccessibeIfNeed();
|
||||
initAccessibleIfNeed();
|
||||
|
||||
if (m_accessible) {
|
||||
AccessibleRoot* accRoot = score()->rootItem()->accessible()->accessibleRoot();
|
||||
|
@ -2723,7 +2723,7 @@ void EngravingItem::setSelected(bool f)
|
|||
}
|
||||
}
|
||||
|
||||
void EngravingItem::initAccessibeIfNeed()
|
||||
void EngravingItem::initAccessibleIfNeed()
|
||||
{
|
||||
if (!engravingConfiguration()->isAccessibleEnabled()) {
|
||||
return;
|
||||
|
|
|
@ -606,7 +606,7 @@ public:
|
|||
void setColorsInverionEnabled(bool enabled);
|
||||
|
||||
private:
|
||||
void initAccessibeIfNeed();
|
||||
void initAccessibleIfNeed();
|
||||
};
|
||||
|
||||
using ElementPtr = std::shared_ptr<EngravingItem>;
|
||||
|
|
|
@ -370,7 +370,7 @@ EngravingItem* Factory::createItemByName(const QStringRef& name, EngravingItem*
|
|||
{
|
||||
ElementType type = name2type(name, isAccessibleEnabled);
|
||||
if (type == ElementType::INVALID) {
|
||||
LOGE() << "Invalide type: " << name.toString();
|
||||
LOGE() << "Invalid type: " << name.toString();
|
||||
return 0;
|
||||
}
|
||||
return createItem(type, parent, isAccessibleEnabled);
|
||||
|
|
|
@ -250,7 +250,7 @@ class FiguredBass final : public TextBase
|
|||
{
|
||||
std::vector<FiguredBassItem*> items; // the individual lines of the F.B.
|
||||
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.
|
||||
// under the same note)
|
||||
qreal _printedLineLength; // the length of lines actually printed (i.e. continuation lines)
|
||||
|
|
|
@ -75,7 +75,7 @@ const std::array<const char*, 2> Glissando::glissandoTypeNames = {
|
|||
};
|
||||
|
||||
//=========================================================
|
||||
// GlisandoSegment
|
||||
// GlissandoSegment
|
||||
//=========================================================
|
||||
|
||||
GlissandoSegment::GlissandoSegment(Glissando* sp, System* parent)
|
||||
|
|
|
@ -939,7 +939,7 @@ void Harmony::endEdit(EditData& ed)
|
|||
_realizedHarmony.setDirty(true);
|
||||
|
||||
// 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();
|
||||
setHarmony(s);
|
||||
layout1();
|
||||
|
|
|
@ -94,7 +94,7 @@ class Harmony final : public TextBase
|
|||
ParsedChord* _parsedForm; // parsed form of chord
|
||||
bool _isMisspelled = false; // show spell check warning
|
||||
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
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ using namespace mu;
|
|||
using namespace mu::engraving;
|
||||
|
||||
namespace Ms {
|
||||
//: Channel name for otherwise unamed channels
|
||||
//: Channel name for otherwise unnamed channels
|
||||
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
|
||||
const char* Channel::HARMONY_NAME = QT_TRANSLATE_NOOP("InstrumentsXML", "harmony");
|
||||
|
|
|
@ -116,8 +116,8 @@ void KeySig::addLayout(SymId sym, int line)
|
|||
SmuflAnchorId previousCutout = isAscending ? SmuflAnchorId::cutOutNE : SmuflAnchorId::cutOutSE;
|
||||
PointF cutout = symSmuflAnchor(sym, currentCutout);
|
||||
qreal currentCutoutY = line * step + cutout.y();
|
||||
qreal previousCoutoutY = previous.line * step + symSmuflAnchor(previous.sym, previousCutout).y();
|
||||
if ((isAscending && currentCutoutY < previousCoutoutY) || (!isAscending && currentCutoutY > previousCoutoutY)) {
|
||||
qreal previousCutoutY = previous.line * step + symSmuflAnchor(previous.sym, previousCutout).y();
|
||||
if ((isAscending && currentCutoutY < previousCutoutY) || (!isAscending && currentCutoutY > previousCutoutY)) {
|
||||
x -= cutout.x() / _spatium;
|
||||
}
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ void KeySig::layout()
|
|||
int t1 = int(_sig.key());
|
||||
|
||||
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) {
|
||||
bool drop = false;
|
||||
for (CustDef& cd: _sig.customKeyDefs()) {
|
||||
|
|
|
@ -50,7 +50,7 @@ LayoutBreak::LayoutBreak(MeasureBase* parent)
|
|||
_pause = 0.;
|
||||
_startWithLongNames = false;
|
||||
_startWithMeasureOne = false;
|
||||
_firstSystemIdentation = false;
|
||||
_firstSystemIndentation = false;
|
||||
_layoutBreakType = LayoutBreakType(propertyDefault(Pid::LAYOUT_BREAK).toInt());
|
||||
|
||||
initElementStyle(§ionBreakStyle);
|
||||
|
@ -65,12 +65,12 @@ LayoutBreak::LayoutBreak(MeasureBase* parent)
|
|||
LayoutBreak::LayoutBreak(const LayoutBreak& lb)
|
||||
: EngravingItem(lb)
|
||||
{
|
||||
_layoutBreakType = lb._layoutBreakType;
|
||||
lw = lb.lw;
|
||||
_pause = lb._pause;
|
||||
_startWithLongNames = lb._startWithLongNames;
|
||||
_startWithMeasureOne = lb._startWithMeasureOne;
|
||||
_firstSystemIdentation = lb._firstSystemIdentation;
|
||||
_layoutBreakType = lb._layoutBreakType;
|
||||
lw = lb.lw;
|
||||
_pause = lb._pause;
|
||||
_startWithLongNames = lb._startWithLongNames;
|
||||
_startWithMeasureOne = lb._startWithMeasureOne;
|
||||
_firstSystemIndentation = lb._firstSystemIndentation;
|
||||
layout0();
|
||||
}
|
||||
|
||||
|
@ -112,7 +112,8 @@ void LayoutBreak::read(XmlReader& e)
|
|||
readProperty(e, Pid::START_WITH_LONG_NAMES);
|
||||
} else if (tag == "startWithMeasureOne") {
|
||||
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);
|
||||
} else if (!EngravingItem::readProperties(e)) {
|
||||
e.unknown();
|
||||
|
@ -279,7 +280,7 @@ PropertyValue LayoutBreak::getProperty(Pid propertyId) const
|
|||
case Pid::START_WITH_MEASURE_ONE:
|
||||
return _startWithMeasureOne;
|
||||
case Pid::FIRST_SYSTEM_INDENTATION:
|
||||
return _firstSystemIdentation;
|
||||
return _firstSystemIndentation;
|
||||
default:
|
||||
return EngravingItem::getProperty(propertyId);
|
||||
}
|
||||
|
@ -306,7 +307,7 @@ bool LayoutBreak::setProperty(Pid propertyId, const PropertyValue& v)
|
|||
setStartWithMeasureOne(v.toBool());
|
||||
break;
|
||||
case Pid::FIRST_SYSTEM_INDENTATION:
|
||||
setFirstSystemIdentation(v.toBool());
|
||||
setFirstSystemIndentation(v.toBool());
|
||||
break;
|
||||
default:
|
||||
if (!EngravingItem::setProperty(propertyId, v)) {
|
||||
|
|
|
@ -59,8 +59,8 @@ public:
|
|||
void setStartWithLongNames(bool v) { _startWithLongNames = v; }
|
||||
bool startWithMeasureOne() const { return _startWithMeasureOne; }
|
||||
void setStartWithMeasureOne(bool v) { _startWithMeasureOne = v; }
|
||||
bool firstSystemIdentation() const { return _firstSystemIdentation; }
|
||||
void setFirstSystemIdentation(bool v) { _firstSystemIdentation = v; }
|
||||
bool firstSystemIndentation() const { return _firstSystemIndentation; }
|
||||
void setFirstSystemIndentation(bool v) { _firstSystemIndentation = v; }
|
||||
|
||||
bool isPageBreak() const { return _layoutBreakType == LayoutBreakType::PAGE; }
|
||||
bool isLineBreak() const { return _layoutBreakType == LayoutBreakType::LINE; }
|
||||
|
@ -92,7 +92,7 @@ private:
|
|||
qreal _pause;
|
||||
bool _startWithLongNames;
|
||||
bool _startWithMeasureOne;
|
||||
bool _firstSystemIdentation;
|
||||
bool _firstSystemIndentation;
|
||||
LayoutBreakType _layoutBreakType;
|
||||
};
|
||||
} // namespace Ms
|
||||
|
|
|
@ -380,7 +380,7 @@ void Lyrics::scanElements(void* data, void (* func)(void*, EngravingItem*), bool
|
|||
{
|
||||
func(data, this);
|
||||
/* 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)
|
||||
_separator->scanElements(data, func, all); */
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public:
|
|||
|
||||
// MELISMA FIRST UNDERSCORE:
|
||||
// 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
|
||||
// if the melisma is not extended beyond a single chord, but no suitable place to do this
|
||||
// has been identified yet.
|
||||
|
|
|
@ -98,7 +98,7 @@ class MasterScore : public Score
|
|||
QQueue<MidiInputEvent> _midiInputQueue; // MIDI events that have yet to be processed
|
||||
std::list<MidiInputEvent> _activeMidiPitches; // MIDI keys currently being held down
|
||||
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
|
||||
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
|
||||
|
@ -194,7 +194,7 @@ public:
|
|||
int midiChannel(int idx) const { return _midiMapping[idx].channel(); }
|
||||
void rebuildMidiMapping();
|
||||
void checkMidiMapping();
|
||||
bool exportMidiMapping() { return !isSimpleMidiMaping; }
|
||||
bool exportMidiMapping() { return !isSimpleMidiMapping; }
|
||||
int getNextFreeMidiMapping(int p = -1, int ch = -1);
|
||||
int getNextFreeDrumMidiMapping();
|
||||
void enqueueMidiEvent(MidiInputEvent ev) { _midiInputQueue.enqueue(ev); }
|
||||
|
|
|
@ -551,12 +551,12 @@ qreal Measure::tick2pos(Fraction tck) const
|
|||
|
||||
//---------------------------------------------------------
|
||||
// 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()
|
||||
{
|
||||
// Check wheter any measure number should be shown
|
||||
// Check whether any measure number should be shown
|
||||
if (!score()->styleB(Sid::showMeasureNumber)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -2331,7 +2331,7 @@ bool Measure::hasVoices(staff_idx_t staffIdx, Fraction stick, Fraction len) cons
|
|||
{
|
||||
Staff* st = score()->staff(staffIdx);
|
||||
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
|
||||
// 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 -
|
||||
|
@ -4542,11 +4542,11 @@ void Measure::stretchMeasureInPracticeMode(qreal targetWidth)
|
|||
// }
|
||||
|
||||
qreal spacing = s->spacing();
|
||||
qreal widthWihoutSpacing = s->width() - spacing;
|
||||
qreal widthWithoutSpacing = s->width() - spacing;
|
||||
qreal segmentStretch = s->stretch();
|
||||
x += spacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch);
|
||||
s->rxpos() = x;
|
||||
x += widthWihoutSpacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch);
|
||||
x += widthWithoutSpacing * (RealIsNull(segmentStretch) ? 1 : segmentStretch);
|
||||
s = s->nextEnabled();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ void MasterScore::rebuildMidiMapping()
|
|||
|
||||
void MasterScore::checkMidiMapping()
|
||||
{
|
||||
isSimpleMidiMaping = true;
|
||||
isSimpleMidiMapping = true;
|
||||
rebuildMidiMapping();
|
||||
|
||||
std::vector<bool> drum;
|
||||
|
@ -81,7 +81,7 @@ void MasterScore::checkMidiMapping()
|
|||
if (drum[index]) {
|
||||
lastDrumPort++;
|
||||
if (m.port() != lastDrumPort) {
|
||||
isSimpleMidiMaping = false;
|
||||
isSimpleMidiMapping = false;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
|
@ -92,7 +92,7 @@ void MasterScore::checkMidiMapping()
|
|||
int p = lastChannel / 16;
|
||||
int c = lastChannel % 16;
|
||||
if (m.port() != p || m.channel() != c) {
|
||||
isSimpleMidiMaping = false;
|
||||
isSimpleMidiMapping = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2194,7 +2194,7 @@ void Note::layout()
|
|||
if (_ghost) {
|
||||
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) {
|
||||
_fretString = "/";
|
||||
} else {
|
||||
|
@ -2417,7 +2417,7 @@ void Note::updateAccidental(AccidentalState* as)
|
|||
} else {
|
||||
// microtonal accidentals playback as naturals
|
||||
// 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
|
||||
// this is an incompatible change, but better to break it for 2.0 than wait until later
|
||||
AccidentalVal accVal = Accidental::subtype2value(_accidental->accidentalType());
|
||||
|
@ -2677,7 +2677,7 @@ int Note::playingOctave() const
|
|||
//---------------------------------------------------------
|
||||
// customizeVelocity
|
||||
// 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
|
||||
// modified by veloOffset
|
||||
//---------------------------------------------------------
|
||||
|
|
|
@ -152,7 +152,7 @@ public:
|
|||
Note* endNote = nullptr; // note to end slide (for 2 notes slides)
|
||||
bool isValid() const { return type != SlideType::Undefined; }
|
||||
bool is(SlideType t) const { return t == type; }
|
||||
uint32_t slideToNoteLenght = 40;
|
||||
uint32_t slideToNoteLength = 40;
|
||||
};
|
||||
|
||||
enum DisplayFretOption {
|
||||
|
|
|
@ -226,7 +226,7 @@ Note* Score::addPitch(NoteVal& nval, bool addFlag, InputState* externalInputStat
|
|||
std::vector<Note*> notes = chord->notes();
|
||||
// break all ties into current chord
|
||||
// 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) {
|
||||
if (n->tieBack()) {
|
||||
undoRemoveElement(n->tieBack());
|
||||
|
@ -563,7 +563,7 @@ void Score::repitchNote(const Position& p, bool replace)
|
|||
std::vector<Note*> notes = chord->notes();
|
||||
// break all ties into current chord
|
||||
// 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) {
|
||||
if (n->tieBack()) {
|
||||
undoRemoveElement(n->tieBack());
|
||||
|
|
|
@ -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) {
|
||||
continue;
|
||||
}
|
||||
// skip if present oiginally
|
||||
// skip if present originally
|
||||
auto i = std::find(oSpannerList.begin(), oSpannerList.end(), sp);
|
||||
if (i != oSpannerList.end()) {
|
||||
continue;
|
||||
|
|
|
@ -32,7 +32,7 @@ enum class Key;
|
|||
|
||||
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 {
|
||||
TPC_INVALID = -9,
|
||||
TPC_F_BBB, TPC_C_BBB, TPC_G_BBB, TPC_D_BBB, TPC_A_BBB, TPC_E_BBB, TPC_B_BBB,
|
||||
|
|
|
@ -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
|
||||
// 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
|
||||
// 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.
|
||||
//---------------------------------------------------------
|
||||
|
||||
|
@ -1847,7 +1847,7 @@ bool renderNoteArticulation(NoteEventList* events, Note* note, bool chromatic, i
|
|||
// body - notes to play comprising the body of the rendered ornament.
|
||||
// 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).
|
||||
// * 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.
|
||||
// * 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.
|
||||
|
@ -2321,7 +2321,7 @@ void Score::createPlayEvents(Chord* chord)
|
|||
break;
|
||||
}
|
||||
}
|
||||
// gateTime is 100% for slured notes
|
||||
// gateTime is 100% for slurred notes
|
||||
if (!slur) {
|
||||
Instrument* instr = chord->part()->instrument(tick);
|
||||
instr->updateGateTime(&gateTime, 0, "");
|
||||
|
|
|
@ -702,7 +702,7 @@ std::pair<std::vector<RepeatListElementList>::const_iterator, RepeatListElementL
|
|||
/// \brief RepeatList::performJump
|
||||
/// \param sectionIt [in] Section of the jump target
|
||||
/// \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 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
|
||||
|
@ -889,23 +889,23 @@ void RepeatList::unwind()
|
|||
|| ((activeVolta != nullptr) && (playbackCount == activeVolta->lastEnding()))
|
||||
) {
|
||||
std::pair<Jump const* const,
|
||||
int> jumpOccurence = std::make_pair(toJump((*repeatListElementIt)->element), playbackCount);
|
||||
if (_jumpsTaken.find(jumpOccurence) == _jumpsTaken.end()) { // Not yet processed
|
||||
int> jumpOccurrence = std::make_pair(toJump((*repeatListElementIt)->element), playbackCount);
|
||||
if (_jumpsTaken.find(jumpOccurrence) == _jumpsTaken.end()) { // Not yet processed
|
||||
// Processing it now
|
||||
_jumpsTaken.insert(jumpOccurence);
|
||||
_jumpsTaken.insert(jumpOccurrence);
|
||||
// Find the jump targets
|
||||
std::pair<std::vector<RepeatListElementList>::const_iterator,
|
||||
RepeatListElementList::const_iterator> jumpTo = findMarker(
|
||||
jumpOccurence.first->jumpTo(), sectionIt, repeatListElementIt);
|
||||
playUntil = findMarker(jumpOccurence.first->playUntil(), sectionIt, repeatListElementIt);
|
||||
continueAt = findMarker(jumpOccurence.first->continueAt(), sectionIt, repeatListElementIt);
|
||||
jumpOccurrence.first->jumpTo(), sectionIt, repeatListElementIt);
|
||||
playUntil = findMarker(jumpOccurrence.first->playUntil(), sectionIt, repeatListElementIt);
|
||||
continueAt = findMarker(jumpOccurrence.first->continueAt(), sectionIt, repeatListElementIt);
|
||||
|
||||
// Execute
|
||||
if (jumpTo.first != _rlElements.cend()) {
|
||||
push_back(rs);
|
||||
rs = nullptr;
|
||||
|
||||
activeJump = jumpOccurence.first;
|
||||
activeJump = jumpOccurrence.first;
|
||||
performJump(jumpTo.first, jumpTo.second,
|
||||
activeJump->playRepeats(), &playbackCount, &activeVolta, &startRepeatReference);
|
||||
sectionIt = jumpTo.first;
|
||||
|
|
|
@ -449,7 +449,7 @@ void Score::notifyPosChanged(POS pos, unsigned ticks)
|
|||
|
||||
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()
|
||||
Excerpt* excerpt = new Excerpt(masterScore());
|
||||
excerpt->setName(name());
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -268,8 +268,8 @@ EngravingObjectList Segment::scanChildren() const
|
|||
}
|
||||
}
|
||||
|
||||
for (EngravingItem* anotation : _annotations) {
|
||||
children.push_back(anotation);
|
||||
for (EngravingItem* annotation : _annotations) {
|
||||
children.push_back(annotation);
|
||||
}
|
||||
|
||||
if (segmentType() == SegmentType::ChordRest) {
|
||||
|
|
|
@ -2371,7 +2371,7 @@ std::pair<qreal, qreal> Segment::computeCellWidth(const std::vector<int>& visibl
|
|||
Chord* ch = toChord(cr);
|
||||
|
||||
//! 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()) {
|
||||
Segment* prevSeg = prev();
|
||||
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
|
||||
//! to avoid colliding between grace note and previos chord
|
||||
//! to avoid colliding between grace note and previous chord
|
||||
for (auto note : ch->notes()) {
|
||||
if (note->accidental()) {
|
||||
Segment* prevSeg = prev();
|
||||
|
|
|
@ -261,7 +261,7 @@ public:
|
|||
*/
|
||||
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
|
||||
*/
|
||||
static ChordRest* ChordRestWithMinDuration(const Segment* seg, const std::vector<int>& visibleParts);
|
||||
|
|
|
@ -1076,7 +1076,7 @@ QByteArray Selection::symbolListMimeData() const
|
|||
bool done = false;
|
||||
for (; seg; seg = seg->next1()) {
|
||||
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) {
|
||||
foreach (EngravingItem* el, seg->annotations()) {
|
||||
// do annotations include our element?
|
||||
|
|
|
@ -303,17 +303,17 @@ void ShadowNote::layout()
|
|||
qreal w = noteheadBbox.width();
|
||||
|
||||
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();
|
||||
newBbox |= RectF(up ? x + w - stemWidth : x,
|
||||
stemAnchor,
|
||||
stemWidth,
|
||||
stemLenght - stemAnchor);
|
||||
stemLength - stemAnchor);
|
||||
|
||||
if (hasFlag()) {
|
||||
RectF flagBbox = symBbox(flagSym());
|
||||
newBbox |= RectF(up ? x + w - stemWidth : x,
|
||||
stemAnchor + stemLenght + flagBbox.y(),
|
||||
stemAnchor + stemLength + flagBbox.y(),
|
||||
flagBbox.width(),
|
||||
flagBbox.height());
|
||||
}
|
||||
|
|
|
@ -180,7 +180,7 @@ qreal Shape::minHorizontalDistance(const Shape& a, Score* score) const
|
|||
sameVoiceCases = sameVoiceExceptions(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)
|
||||
&& (item2->isNote() || item2->isStem())) {
|
||||
padding = std::max(padding, double(score->styleMM(Sid::minNoteDistance)));
|
||||
|
|
|
@ -112,7 +112,7 @@ public:
|
|||
// 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 (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
|
||||
return false;
|
||||
}
|
||||
return (b + verticalClearence > c) && (a < d + verticalClearence);
|
||||
return (b + verticalClearance > c) && (a < d + verticalClearance);
|
||||
}
|
||||
} // namespace Ms
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue