OK, as Michael asked, I've committed my ongoing changes.
On branch update-figurations, I've added UpdateFigurationCommand to
ExpandFigurationCommand. Basically, it knows about figurations you've
made in the past and updates them.
In order to manage this, I've added several pseudo-events:
* SegmentID, a persist segment ID event. Not the same as segment name or
Segment pointer, it survives save+restore etc. UpdateFigurationCommand
tries to keep it conformant.
* GeneratedRegion, which indicates that a region was auto-generated and
where it came from. A generatedregion can be edited manually to change
what sources create it, and then UpdateFigurationCommand will bring it
into sync.
So if you use figurations and then change your mind about your chords, one
command will bring it all back up to date.
Some implementation notes:
* New commands:
* UpdateFigurationCommand
* GeneratedRegionDialog
* GeneratedRegionInsertionCommand
* New directory base/figuration/ I put all the shared support code here.
* SegmentID.{h,cpp} instead of fattening NotationTypes.h
* GeneratedRegion.{h,cpp} similarly.
* SegmentFigData.{h,cpp} about scanning segments for figuration
purposes. Contains some stuff that used to live in
ExpandFigurationCommand.
* RelativeEvent
* FigurationSourceMap
* FigChord - used to be
* Various support in NotationStaff, NotationView, just paralleling other
NotationTypes.
Incidental stuff:
* New support files DocumentGet.{h,cpp}. I noticed that my modest
requirement to get all the active segments was dragging in not only
RosegardenMainWindow.h and RosegardenDocument.h, but every header that
they included. For one trivial function call! I notice this cascade
happens in other files too. So I made this little file, just a namespace
with two functions in it.
* Fixed NotationRules' "unused" warning differently. Newer compilers
complain about "foo" being assigned to and never used.
It's 90% complete. Most importantly, there is NO UNDO yet. I had hoped
to reveal it in a more complete state.
Tom Breton (Tehom)
------------------------------------------------------------------------------
How fast is your code?
3 out of 4 devs don\\\'t know how their code performs in production.
Find out how slow your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219672;13503038;z?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel