Commit graph

46 commits

Author SHA1 Message Date
Dmitri Ovodok
d26bd056de Assign PIDs and names for some properties 2019-03-14 15:13:43 +02:00
ws
a5381618fb fix #278916 Numbers only option has no effect on ottava display 2018-12-05 15:17:48 +01:00
ws
ffdab67a9d fix handling of custom formatted text and values in inspector:
- replace properties "BOLD ITALIC UNDERLINE" by one property FONT_STYLE
- if text is custom fomatted (has size/fontface changes, contains parts in bold/italic etc.
  then the appropriate property values are set to "unstyled". This enables the reset button
  in the inspector.
- pressing reset for some text properties strips changes of this property in the text
  Example: text contains a part in italic: pressing reset removes the italic formatting
- the "remove custom formatting" button is only enabled if there is some custom formatting
2018-11-26 21:17:19 +01:00
Dmitri Ovodok
c354eb24c3 Remove read300 functions 2018-09-19 01:57:37 +03:00
Dmitri Ovodok
8fa920b7df Backup old MSC read functions, add a test for fileformats compatibility
Use old read functions for reading 1.x and 2.x fileformats

Assign version number 3.01 to the new MSCX format flavor
2018-08-16 19:08:45 +03:00
ws
10d1ae0529 add method propertyDelegate() to Element 2018-07-24 15:48:24 +02:00
ws
3fc269fc8b update ottava styles and properties 2018-07-11 12:23:42 +02:00
ws
175d5aadb3 cleanup ElementFlags interface, use more Placement properties on mxml import/export 2018-07-04 12:41:14 +02:00
ws
33d1cd7fb4 rename StyleIdx -> Sid and P_ID -> Pid 2018-03-27 15:36:00 +02:00
ws
e8ec15109c substyle update 2018-03-22 10:09:52 +01:00
ws
6969419cfc update subStyle implementation 2018-03-21 14:05:43 +01:00
luz.paz
dab3b5f056 Misc. typos follow up
Follow up to previous typo commit a8ac55c180
2018-02-19 19:30:12 -05:00
Werner Schweer
b46b55fa1e fix ties from/to grace notes; add 'final' to classes were appropriate 2017-12-21 14:08:44 +01:00
Werner Schweer
07bda70230 fix compiler warnings 2017-12-14 12:58:17 +01:00
Werner Schweer
d92ef8b9d4 update properties/styles, update glissando 2017-12-13 15:50:04 +01:00
Werner Schweer
020f7b1c08 fix vtst 'chord-space-1' 2017-12-11 12:35:23 +01:00
Werner Schweer
0e4211e2d0 update let ring, palm mute 2017-11-27 16:55:52 +01:00
Werner Schweer
90b1991912 replace Q_OBJECT with Q_GADGET for all Element based classes 2017-02-17 15:48:28 +01:00
Werner Schweer
1d4c6b2f21 move Element::type() to ScoreElement 2017-01-18 14:16:33 +01:00
Werner Schweer
c5f46bb208 rename Xml() -> XmlWriter() 2016-11-19 11:51:21 +01:00
ws
9f933d8503 Layout reorganization 2016-04-13 11:05:04 +02:00
Maurizio M. Gavioli
49edb8d0c3 Fixes #19155, #22861 (duplicate of the former) and #23100.
__References__:
Issues:	https://musescore.org/en/node/19155 https://musescore.org/en/node/22861 https://musescore.org/en/node/23100

__Description__:
Allows to change the start and end note to which a glissando is anchored after it has been entered. Either anchor can be changed independently.

The user interface follows the current working of other 'snappable' lines. Once either the start or end grip is selected:
- `[Shift]+[Left]` snaps the anchor to the previous chord, defaulting to its top note.
- `[Shift]+[Right]` snaps to the next chord, defaulting to its top note.
- `[Shift]+[Up]` snaps to the note above (possibly in a chord, voice or staff above the current one).
- `[Shift]+[Down]` snaps to the note below (possibly in a chord, voice or staff below the current one).

This permits to set the anchor points of a glissando to any note in the score, allowing several glissandi between the notes of the same two chords and other complex configurations (glissandi skipping intermediate chords, start and end notes in different voices or staves, and so on).

It is possible to move the anchor to a different staff of the same instrument, but not to a different instrument; also, it is not possible to 'cross' a change of instrument in the same staff.

__Known limitations__:
- The `[Shift]+[Up]` and `[Shift]+[Down]` use the same note-finding functions as the `[Alt]+[Up]` and `[Alt]+[Down]`actions which move the selection cursor to the above and below note, even across voices or staves. Occasionally, in particular if the note immediately above or below is not time-aligned, the algorithm has little expected results; however, the behaviour is already known to the user. Improving the algorithm would benefit both uses.

__Notes__:
- Most of the added infrastructure is not specific to glissando but to any spanner anchored to notes, then it should also add after-the-fact "snap to" note support to note-anchored text line.
- When moving an anchor, the algorithm usually prefers a note in the same voice/staff of the old note if it exists; if there is none, it tries other voices of the same staff.
- The change of anchor is undoable.
- The fix corrects the management of the `Chord::_endsGlissando` flag, taking into account that a chord can be the ending point of several glissandi and removing one of them not necessarily means the chord no longer ends a glissando (another glissando may still exists).
- The fix also improved the rendering of the glissando wavy line, with better alignment with anchor notes and, with glissando text, better text-line spacing.
2015-09-30 09:16:47 +02:00
lasconic
9c9593718d Merge branch 'plugin_manual_classes_E-L' of https://github.com/mgavioli/MuseScore into mgavioli-plugin_manual_classes_E-L 2015-07-13 10:09:25 +02:00
jimka2001
782e592ad4 implementation of glissando playback
added play button for glissando
also updated test case
updated glissando accidentals to work correctly based on end note, even if in different staff
2015-05-16 10:46:02 +02:00
Maurizio M. Gavioli
2f7b5bfe76 Updates the documentation for classes named from E to L to proposal A) in http://dev-list.musescore.org/Plugin-documentation-generated-manual-td7579164.html
Properties are also sorted in alphabetical order for easier identification.

No attempt made to evaluate what to include and what to exclude from documentation: anything which is currently documented is retained. Case by case decisions can always be made.

Also completed update for `Accidental`.
2015-04-24 00:55:46 +02:00
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