Commit graph

37 commits

Author SHA1 Message Date
Matt McClinch
58e59f9477 fix #288528: After you change the pitch of a note that's tied, both tied notes end up selected. 2019-05-01 09:01:37 -04:00
ws
ec3be9a99a Replacd integer midi tick values by fractions.
- tick names a position on the time axis
- tick is always a Fraction()
- only Measure() and Segment() (and Tuplet?) have a tick value
- tick() for an generic element return only a sensible value if isMeasure() or isSegment() or isSegment(parent())

- "ticks" names a duration stored in a Fraction()
- the tick value for an Segment is relative to its measure

- rename "duration" to "ticks"
- rename afrac() to tick()
- rename rfrac() to rtick()
- rename some variables, changing "fraction" into "tick"
  (example: actualFraction() into actualTicks())

- Lyrics ticks are written as Fraction, on read if xmlreader sees a "/" it reads a fraction
  else midi ticks for backwards compatibility
2019-02-18 11:46:05 +01:00
Mark McKay
a755aa1068 fix #280111: Modifier keys do not modify selection in PRE
Modifier keys now correctly altering selection for Piano Roll Editor.
Now working for single note selection.
2018-12-15 18:18:57 -05:00
Dmitri Ovodok
aeb4919e77 Avoid copying Selection objects
This also fixes probably an error with not updating a selection
in ScoreView::cmdChangeEnharmonic since the own copy was modified.
2018-11-29 16:06:25 +02:00
Mark McKay
613ae8840f fix #278339 Fix crash when note entered in piano roll
Fixing crash when note is entered in piano roll editor before any has been selected or a note duration has been chosen.

Can now use piano roll editor to enter notes in 'gap' spaces with no chord or rest.

Selection box color now reading properly from preferences.

Shift now used for horizontal in mousewheel scrolling.
2018-11-16 15:43:23 -05:00
Mark McKay
b1fc556762 fix #278232 Crash when deleting staff while open in PianoRoll
Can now delete a staff while staff is being displayed in Piano Roll Editor.
2018-11-14 08:55:02 -05:00
Mark McKay
5480e00811 fix #278215 Crash when inserting note in Piano Roll Editor
Handling a null pointer that can occur when adding notes past the end of the current note range.
2018-11-14 03:43:03 -05:00
Joachim Schmitz
b0d53364b5 fix more compiler warnings
introduced with PR #3811
2018-10-27 12:14:38 +02:00
Mark McKay
63d2db7b14 fix #273601: Updated UI for pianoroll editor.
Updating main piano roll display to have 12 rows per octave.

Updating piano keyboard to track main piano roll window.

Moving PianoKeyboard to its own file.

Better tracking of playhead during playback.

Drawing beat lines within measure.

Scrollbars now adjusted for stasis when zooming in the pianoview.

Piano ruler now showing tick marks respecting zoom level.

Fixing scroll issue during playback.

Taking direct control of selection.

PianoItem is no longer a Qt object.

Preping  for note group drag.

Can now drag pitch changes.

Adjusting viewport pos when staff set.

Removing CMakeLists.txt

Adding CMakeLists.txt back in.

Cleaning things up for resubmission.

Now displaying drumset names in PianoKeyboard when relevant.

Updating tracking signal in Pianoroll Editor.  Cleanup.

Locator lines no longer Qt objects.  Removing redundant note move on
mouse up.

Now adjusting final event for playback.

Now showing note voice name.  Using Tpc to use note name tha reflects
accidentals.

Better checking for Position when opening Pianoroll window.
Adding note for ctrl-click on rest.

Swithing velocity type will now also adjust to equivilent velocity
value.  Better checking for single note selection.

Pianoroll window.  Adding note for ctrl-click on rest.
equivilent velocity value.  Better checking for single note selection.

Ctrl-click now adds note to selection.

Note up/down now correct direction for drumroll

Fixing calcuation for switching note velocity.

Can now horiz resize piano keyboard.

Setting up new PianoLevels control for setting note event values.

Now drawing subbeat divisions.

Can now cut notes.

User can now select data type to display.

Can now use mouse to adjust levels.

Adding undo to note event changes.  Now smoother transition between
absolute and offset level values.

Smoother update communication between controls.

Adding labels to piano levels.  Removing unneccary blocking of scene()
in pianoview.

Now handles adjusting level with 1px wide mouse sweep.

mouse sweep.
'c8199ac5a'.

fix #273601: Updated UI for pianoroll editor.

Now handling setting null staff.  Adding missing .h files to CMakeLists.txt

Removing undo step to avoid selection problem.

Adding tool tip display.

Keyboard display now adjusting to reflect transposition of instrument.

Now showing part name in Piano Roll editor.

Moving color display options into preferences.

Levels editor now using preferences too.

Fixing incorrent note being highlighted in piano roll editor.  Base color now used for coloring levels panel.

Cleaning code

Investigating cut/pasete actions.

Adding popup menu.

Encapsulating selection into a command.  Creating minimal popup menu.

Can now insert notes of arbitrary duraition to piano roll.

Adding dark and light color schemes to piano roll editor.

Can now set subbeats to non powers of 2.

Fixing bad rebase.

Holding shift will clamp values to mousedown position.

Adding dropdown to modify which white lines are shown behind notes.
2018-10-21 04:27:23 -04:00
Joachim Schmitz
fe50c85097 fix #275218: fix MSVC C4458 warnings
reg. a declaration shadowing a class member,
"Warning C4458: declaration of 'XXX' hides class member"
2018-09-27 17:38:20 +02:00
Joachim Schmitz
474e8152cd fix #275218: fix MSVC C4456 warnings
reg. a declaration shadowing a previously declared local
variable,
"Warning C4456: declaration of 'XXX' hides previous local
declaration"
2018-09-27 17:38:19 +02:00
Finley Lau
6637bfaf39 Fix #269901: fixed segmentation fault within piano roll editor 2018-03-02 15:06:00 +01:00
Werner Schweer
867f2582f6 move Segment::Type into SegmentType 2017-03-08 13:12:26 +01:00
Werner Schweer
1d4c6b2f21 move Element::type() to ScoreElement 2017-01-18 14:16:33 +01:00
Joachim Schmitz
e6e7436177 move SegmentType to Segment::Type and make int again
needed to make it available to the plugin framework
and the memory saved is not worth the performance penalty
2014-06-26 11:57:39 +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
ws
e8be73f41b fix transposition when changing instrument 2014-06-04 10:40:26 +02:00
ws
e1b1246e0c make SegmentType an global enum class 2014-06-01 20:24:29 +02:00
Joachim Schmitz
38c0d12b67 convert enum TType into enum class 2014-05-26 15:49:20 +02:00
Joachim Schmitz
931e837c5e convert enum ElementType into enum class 2014-05-23 10:35:27 +02:00
ws
2acd84931d update pianoroll 2014-03-29 13:28:54 +01:00
ws
448c2cf085 fix pianoroll crash if there is no score 2014-03-28 11:56:00 +01:00
ws
0fded1b281 update pianoroll editor: editing of note even ontime/duration 2014-03-27 14:50:01 +01:00
ws
e3413be7c6 fix #23219 (spelling errors) 2013-10-18 16:36:17 +02:00
ws
35698c65a8 regressions: fix grace note playback 2013-07-01 11:29:15 +02:00
wschweer
ab6120f85e refactoring grace notes 2013-06-12 14:23:57 +02:00
ws
9ebabcc2e5 add namespace Ms 2013-05-13 19:43:59 +02:00
ws
14d97d0eea pianoroll regression fixes 2013-05-07 09:20:01 +02:00
ws
449ef9b1eb inspector tweaking 2013-03-11 12:01:10 +01:00
ws
4f743e8c19 implement selections for simple text editing 2013-02-19 20:35:23 +01:00
ws
699b9afda3 pianoroll updates 2013-02-19 20:35:23 +01:00
ws
bba7b703d4 fix pianoroll drawing offset 2013-01-21 14:13:17 +01:00
Werner Schweer
ee721ae6ef fix regression: midi rendering of grace notes 2012-12-05 14:50:19 +01:00
Werner Schweer
f7ee7b2105 changes in rendermidi implementation 2012-11-19 09:29:46 +01:00
Werner Schweer
3139970fd1 move ElementType to Element() 2012-09-13 18:07:11 +02:00
Werner Schweer
2e84a7ee70 fix enum script binding for SegmentType 2012-08-03 15:54:02 +02:00
Werner Schweer
412ca45401 Initial commit 2012-05-26 14:49:10 +02:00