Code Log


Commit Date  
[r12201] by msjulie

Cycling through overlapping segments now correctly highlights the elements.

If there was a selection set in place, moving to a new segments via
alt+pg up or alt+pg down failed to show the selection of events on the new
segment

Just un-nested some if statements so they could both execute.

Note the issue is that new staff oan old staff may be the same visible staff
but not be the same staff in general.

2011-01-24 01:19:40 Tree
[r12200] by msjulie

Creating notation_cleanup branch to see what we can do to make it better

2011-01-23 21:33:36 Tree
[r12199] by msjulie

Selection update: Now we start with the position in the container that cooresponds to the Event instead of from the begining and end of the segment.

I've reduced the code enough to be satisfied. Any more encapsulation will just
detract from readability and maintainability ... IMO.

2011-01-22 19:43:55 Tree
[r12198] by msjulie

remove debugging output flags

2011-01-22 17:38:09 Tree
[r12197] by msjulie

A much more robust and compact selection mechanism, that doesn't crash.

I hope function member pointers are acceptible. I just couldn't see creating
true OOD classes to encapsulate the behaviors. They are all private calls
to private methods, so there is no real new learning curve to using public
members.

Still not happy with current addRemoveEvent() function. A better routine is
needed. This think I can write this to run either run in both directions from
the element in question or in one pass, instead of starting at both ends of
the container.

Improvements:
* One main method to update instead of two.
* Selecting and deselecting elements inside a larger selection set function
correctly.
* No crashing after undo of a select/copy/move operation
* No chances of items getting added in multiple times

Possible bugs (to still be explored):
* Overlapping notes (have halos on them) may not correctly trigger their
tied neighbors in some cases. I haven't investigaed this in-depth.

2011-01-22 17:10:08 Tree
[r12196] by yguillemot

Implement in Ian's branch the display of repeated segment in notation editor.
That's a first step only.
Still to do :
- Remove the repetition bars
- Remove the redundant clefs and keys
- Fix the crash when deleting the repeating segment while notation editor
is opened

2011-01-19 21:42:04 Tree
[r12195] by msjulie

Restored tied note selection through chords and polyphonic-like structures.

I broke this behavior while fixing more serious select / deselection bug. But
it is now working again.

Test cases fixed:

Setup
* One measure segemment starting on measure 1 (4/4) time
* type: aahnahd8aa
* tie all of middle c notes (keypress a's)

Test 1:
select quarter note on beat or or two

result:
Fail to select tied not in chord or the eighth notes in beat 4

Test 2:

Select either of the eighth notes on beat 4

result:
Fails to select tied notes in beats 1, 2, or 3

Test 3:
Select the tied note in the chord on beat three

result:
falied to select any of the notes it is tied to in beats 1, 2 or 4.

2011-01-18 20:58:26 Tree
[r12194] by gperciva

Clean up slightly.

2011-01-18 10:42:56 Tree
[r12193] by msjulie

Reworked tied forward and tied back to correct runaway interators and crashes.

NOTE: There is lots of redundant code in here. I just followed suit. This
could use some refactoring to encapsulate the common code.

Base examples that are fixed:
For each test:
* Create a one measure segment at measure 1
* add 4 quarter notes all some pitch (middle C is good)

Test 1:
* Select first two quater notes
* Tie them with the tie button
* Single Select the fourth quarter note with mouse
* Single select the first note

Result: runaway pointer

Test 2:
* Select the first three quarter notes
* Tie them with the tie button
* Use mouse to drag them to the left (so a couple of the tied notes are now before the segment start.
* Undo (control Z)

Result:
Segmentation fault

Test 3:
Like test two but move to the right then undo

Result:
Segmentation Fault

Test 4:
* Select the first the notes
* Tie them with the tie button
* Begin repeat: Use mouse to move them up an octave (Select the second quater not for "best" result).
* Undo (Controll Z)
* Repeat

Result:
Eventually the thing will mess up when the 2nd note is placed incorrecly compared
to the other notes that were moved (and compared to the reference note).

Then when undo is chosen --- segmentation fault.

2011-01-18 02:02:53 Tree
[r12192] by gperciva

Fix transport controls in pitchtracker.

2011-01-17 11:39:51 Tree
[r12191] by msjulie

Now rests are split and tied upon insertion.

Note: split rests only have the first rest selected.

2011-01-17 04:06:00 Tree
[r12190] by msjulie

Reworked split and tie during note insertion so selection is consistent regardless of split and tie status of the event.

2011-01-17 03:20:45 Tree
[r12189] by dmmcintyr

Well, that takes care of ornaments well enough.

2011-01-17 01:19:44 Tree
[r12188] by dmmcintyr

Adding marks or fingerings ignores all but the first note in a tied chain.

We need to fix ornaments somehow. Triggering an ornament from one of these
things puts multiple copies of the tr marking in the score, and I think these
are indications now besides, so this is just allll farked up.

What do we do about slashes? I'm guessing whatever slashes are one one part of
the tied note unit probably do need to occur on all the other parts, but perhaps
a really sadistic composer might have varying numbers of slashes on different
notes in the tied series or something like that. I'm thinking whatever extremes
there might be in this area, Rosegarden most likely cannot accommodate them, and
we should just move along without giving any of that another thought.

2011-01-17 01:12:36 Tree
[r12187] by msjulie

Fix advancement of pointer when inserted notes are split and tied upon insert

* Works with mouse and keybaord insert.

2011-01-16 04:22:15 Tree
[r12186] by iangardner

Changing the underlying mechanism for segment linking, whilst preserving the current functionality.

Removed all classes derived from Segment. Added a SegmentLinker class which handles all the coordination between the linked segments. Segments have a SegmentLinker pointer. If this pointer points to a valid SegmentLinker object then it is linked. If this pointer is null then it is just an ordinary segment. Segments which are linked together point to the same SegmentLinker.

All SegmentLinkers are connected to the signal which is emitted after any command is performed which is the trigger for doing the segment coordination. SegmentLinker uses the refresh status mechanism to determine whether any of its segments have changed, and if so, refreshes all of its other segments from the changed one.

For the time being I've left the transposition stuff in as it was before, in anticipation of it being overhauled in the near future.

The serialisation is simplified from before, all it requires is some extra attributes to be serialised with the segment (a linker id and some transposition parameters). There is no need to serialise anything from the SegmentLinker class. The happy consequence of this is that there will be no problems with forward or backward compatibility. The worst that will happen is that people loading compositions containing linked segments in older versions which don't support linked segments will just see their linked segments appearing as ordinary segments.

2011-01-15 12:29:39 Tree
[r12185] by gperciva

Update from Nick.

2011-01-15 11:43:21 Tree
[r12184] by gperciva

merge 12014:12183

2011-01-14 14:38:38 Tree
[r12183] by dmmcintyr

My dear friend is buried in the rose garden now, at the foot of this bench.
This splash is a composite of two images captured on Christmas Day 2010. The
base shows a dreary gray winter rose garden, and on top of it, I've collaged
Dubby looking up at me. I had real trouble getting candid photos of this dog,
because if his eyes were aimed in my direction, he never failed to run over and
put his forepaws on my shoulders. The look in his eyes in this image is sadness
at being encouraged to keep all four paws on the ground momentarily, but what a
fitting harbinger it was of things to follow soon after.

Dubby died on New Year's Day. He developed idiopathic canine epilepsy two years
earlier, and his seizures were increasingly severe, and increasingly difficult
to control. He is survived by dozens of chewed up sticks, ropes, squeaky toys,
and approximately 200 tablets of phenobarbital that he didn't live to take.

REQVIESCAT IN PACE AMICVS OPTIMVS MEVS

2011-01-13 18:03:20 Tree
[r12182] by dmmcintyr

library contribution

2011-01-13 15:40:42 Tree
[r12181] by msjulie

Update to shortcut-editor (no new functionality):

* Forced style sheet on QTableWidgets to ensure visibility.
* Reused TableWidgetItem instead of creating new ones.

I hope this helps a bit. Better late than never.

2011-01-09 20:31:06 Tree
[r12180] by dmmcintyr

Revert the patch from Alvar Udras as suggested by John Anderson. I've looked
back and tried to figure out what behavior Alvar was trying to cure with that
patch, and I don't really understand what the patch was meant to do. John is
completely correct that the patch was responsible for the notation editor's
failure to scroll while moving the cursor around with various edit keys.
Reverting this patch clearly has high value in terms of usability improvement,
but I would be more comfortable if I understood what compromise I'm accepting in
so doing. This leaves some other bad behavior lurking out there, to be
rediscovered one day, and at that time, hopefully we can arrive at a better
solution to that other problem than this one turned out to be.

2011-01-04 17:52:58 Tree
[r12179] by msjulie

fix conflicting notation editor shortcut n-tuplet shortcut is now ";"

2010-12-28 01:11:58 Tree
[r12178] by cannam

* Update from live site

2010-12-22 19:17:28 Tree
[r12177] by dmmcintyr

patch from Dave Platter fixing gcc 4.6 issues

2010-12-18 00:14:40 Tree
Older >