Age | Commit message (Collapse) | Author |
|
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
|
|
|
|
Cumulative time in percent while wiggling the tempo lines rapidly.
Before:
MidiRegionview::update_sustained 12.02
NoteBase::base_color 6.43
MidiGhostRegion::update_note 3.12
Note::set 1.27
TempoMap::frame_at_quarter_note 0.59
_dynamic_cast 0.13
After:
MidiRegionview::update_sustained 10.49
MidiGhostRegion::update_note 5.57
Note::set 2.52
TempoMap::frame_at_quarter_note 1.13
NoteBase::base_color 0.17
_dynamic_cast 0.17
|
|
|
|
- not sure if we can store this atm.
|
|
|
|
NoteBaseDeleted signal is static so each MidiRegionView(MRV) gets notified
about the deletion of each NodeBase instance even if it is contained in another
MRV
The NoteBase and MRV classes are currently coupled anyway, so this change uses
the reference to the MRV parent to directly call the parent when the NoteBase
is deleted. This is all in the GUI thread so I'm not sure why a PBD::Signal was
being used?
If the MRV class is the only reference holder to the NoteBase class
then I'm not sure if a callback is needed, perhaps the MRV should just remove
the note from the selection before deleting it but I'm not that familiar with
the code.
Signal emission/calls static NoteBaseDeleted signal vs direct with 10540
NoteBase instances.
static:
After Load Session: 6360638
After Unload Session: 12221026(5860388)
direct:
After load Session: 10540
After unload Session: 21080
Session Load/Unload time in master, debug/release with ~10000 Notes(seconds)
Load Debug: 32, 26
Unload Debug: 83
Load Release 32, 20, 42
Unload Release 26, 25
Session Load/Unload time with direct call debug/release(seconds)
Load Debug: 21.7, 18.1
Unload Debug: 69.4, 71
Load Release: 22.6, 13.4, 17.7
Unload Release: 24, 23.5
This is not a large Session, 1500 regions, 10000 notes so there is probably
some other funky stuff going on that needs fixing.
|
|
Paul Davis was responsible for introducing almost all of this.
|
|
This removes the direct dependence on ardour_ui.h from 39 files
|
|
|
|
|
|
This commit changes some color names, nuke your theme. This isn't quite ideal
yet, but takes some steps towards where I think things should go aesthetically:
Make automation tracks/regions colors correspond to their parent's type.
Make selected MIDI notes outlined in red like most everything else, and scrap
separate min/mid/max fill colors for selected MIDI notes.
Color automation ghost MIDI notes based on original note color.
Try to kill 90's looking brightish gray gradients in general.
|
|
|
|
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
|
|
UIConfiguration::color(name).
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
|
|
|
|
This still isn't quite right, but it's a lot less broken than before, at least.
|
|
ARDOUR_UI::config()
|
|
Gdk::Color and more consistent logic for region coloring.
Group tabs now also get the text drawn in an appropriately contrast-y color
|
|
|
|
|
|
delegatable/inherited event handling
|
|
ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
|
|
Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master
|
|
|