Commit graph

21 commits

Author SHA1 Message Date
Maurizio M. Gavioli
b12132258d Fix #49126 Glissando and the Inspector / Fix #49141 - Glissando dragging
**Common part**: Both issues stemmed by the fact that clicking a glissando sometime selected the whole `Glissando` and sometime one of its segments.

It depended on the order in which element types appear in `element.h` enum: for all other spanners the segment type is listed **before** the whole element type, while for `GLISSANDO` and `GLISSANDO_SEGMENT` it is opposite.

Changing the order ensures that the segment is always selected rather than the whole `Glissando` element.

**Inspector**: adding property management to `GlissandoSegment` routing whole `Glissando` properties from the segment to the `Glissando` fixes `Glissando` access in Inspector once one of its segment(s) is selected.

This is parallel to how other spanners are currently managed (see for instance, `TextLine` and `TextLineSegment`).

**Dragging** and Saving: fixed by treating glissando segment user offset as user offset rather as position component (parallel to how VOLTA is managed).
2015-02-28 12:15:56 +01:00
Maurizio M. Gavioli
eef2d4ad68 Fix 48096 - Crash on glissando editing
Entering edit mode on a glissando and trying to move the grips results in crash.

Fixed by disabling glissando editing altogether, as it does not make sense until proper support for grip nudging and anchor note selecting is added.
2015-02-19 00:32:22 +01:00
Maurizio M. Gavioli
f5d831a023 Glissando as a multi-segment line.
- Implemented as a sub-class of `SLine`.
- Anchor type changed from CHORD to NOTE: allows to attach glissando start and end points to individual notes, rather than generically to chords (with note within the chord chosen by the program).
- The Glissando element is now stored in the `Note::_spannerFor` list.
- `Chord::_glissando` has been removed and replaced by a `bool _endsGlissando`, recording whether the chord is at the end of glissando (as gliss.-end chords require more space if mid-measure or system-initial).
- Debugger UI for `Chord` updated accordingly.
- Glissando in now save into score file as a spanner, within the initial note, and with appropriate `<endSpanner>` tag in the Glissando ending note.
- Existing scores with the old Glissando file format are correctly read back.

Notes:

- MusicXML import/export of the new Glissando implementation NOT IMPLEMENTED.
- This version can read scores from older versions, but older versions **cannot read** scored from this version (they do not expect a <Glissando> tag within a Note). Does this require a NEW FILE VERSION NUMBER?
- This implementation would allow rather easily to move the start and end anchors around (as for slurs) to override the note/chord chosen by the program when the glissando is initially created; but the UI for this is not implemented yet.
2015-02-18 12:21:56 +01:00
ws
16764d4614 fix #44466: Crash extending volta over mmrest starting a new system + other cleanups 2015-01-19 12:41:16 +01:00
Joachim Schmitz
5bc83194af move GlissandoType to Glissando::Type
needed to make it available to the plugin framework
2014-06-26 11:57:50 +02:00
Joachim Schmitz
75623c53dc move ElementType to Element::Type
needed to make it available to the Plugin framework
2014-06-26 11:57:35 +02:00
Joachim Schmitz
931e837c5e convert enum ElementType into enum class 2014-05-23 10:35:27 +02:00
Joachim Schmitz
7043cdaac5 convert "enum class" to "enum class : char"
or "enum class : signed char" or even "enum class: short", whatever/whenever feasible on all exsting "enum class" that don't have it yet, also fixing some signed vs. unadorned char. This
should reduce the memory footprint.
2014-05-23 10:35:15 +02:00
Joachim Schmitz
14290d26be expose HairpinType, Syllabic and GlissandoType
as the only Q_ENUMS() not accompnied by corresponding a
Q_DECLARE_METATYPE()
2014-05-16 14:17:03 +02:00
Joachim Schmitz
54ede6a1f6 improve builtin plugin documentation
reformatting, removing some comments that are irrelevant to plugin
framework in a way that DoxyGen should still find them, documenting the
enums and fully qualify all types that are specific to MuseScore,
2014-05-16 13:58:30 +02:00
Joachim Schmitz
6963bfc298 fix typos in comments/for plugin documentation 2014-05-13 15:33:30 +02:00
Joachim Schmitz
2481872bbf improve, fix and extend plugin dosumentation
not sure about the changes in mstyle though
2014-01-12 12:51:51 +01:00
ws
9ebabcc2e5 add namespace Ms 2013-05-13 19:43:59 +02:00
ws
220db94494 reorganize synthesizer; add zita1 reverb 2013-04-03 12:50:21 +02:00
ws
317e39ad28 replace all subtype()/setSubtype() Element methods 2013-03-05 20:24:16 +01:00
ws
990704873b updates for Glissando 2013-02-28 15:06:54 +01:00
ws
bf1cbe2aa0 use QXmlStreamReader for xml parsing 2013-01-11 18:10:18 +01:00
Maurizio Gavioli
98ba4beb79 Improves glissando drawing in TAB's.
Initial implementation.
2012-12-12 19:01:08 +01:00
Werner Schweer
3d91e61ef4 More plugin bindings 2012-07-25 11:49:34 +02:00
Werner Schweer
5182c9e085 derive Element from QObject; add Q_OBJECT into every Element class 2012-05-28 11:29:21 +02:00
Werner Schweer
1f9ccfcdce add libmscore
git-subtree-dir: libmscore
git-subtree-mainline: 412ca45401
git-subtree-split: 6047361bd0
2012-05-26 14:54:47 +02:00