Commit Graph

34 Commits

Author SHA1 Message Date
044be53616 attempt to properly manage MIDI note display of selected status
Whether to display the selected outline depends on BOTH whether the note is
selected, and whether we are in an internal editing mode.
2020-05-01 17:39:13 -06:00
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
fc69b29c88 avoid crazy costs of looking up and constructing color modifier every time, and cache color values for MIDI notes 2018-07-06 07:57:19 -04:00
b0e496c825 remove more unused MIDI note colors 2018-07-05 16:52:49 -04:00
0b8f57f762 retire no-longer used color names for MIDI notes 2018-07-05 16:26:40 -04:00
631b8f1b6b fix interpolation math error 2018-07-05 15:01:55 -04:00
44c40bc065 use MIDI meter colors (themeable) to show MIDI note velocity.
Selected notes no longer show the selected color for fill, following Alex
Mitchell's proof-of-concept patch that showed it was easier to see what you're
doing when the fill color shows velocity and we just use outline for selection
status.
2018-07-05 14:56:56 -04:00
b1ad462a7a respond to changes in use-note-color-for-velocity 2018-07-03 17:02:20 -04:00
601c317d70 Clean up library inheritance (colors.h, utils.h)
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
nick_m
bf5933add6 Performance: store NoteBase UIConfiguration colors between config changes.
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
2016-10-17 03:19:02 +11:00
nick_m
32a579ec28 Fix ordering thinko in note selected colour. 2016-07-10 02:18:37 +10:00
nick_m
e856615c75 Performance tweak - NoteBase doesn't recalculate colour as often.
- not sure if we can store this atm.
2016-07-10 02:18:36 +10:00
Nil Geisweiller
591c9bf0d4 Fix indentation of note_base (whitespace to tab) 2015-12-22 04:52:50 +01:00
e7b8e98db2 Replace static PBD::Signal in NoteBase with direct call to MidiRegionView
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.
2015-10-17 22:15:07 -04:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
12a7f12b0b Context menu for applying edits to note selection. 2014-12-25 15:32:10 -05:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
e0cb9efb00 Various color tweaks.
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.
2014-12-16 00:05:45 -05:00
1fd681604e next modifier 2014-12-15 10:21:08 -05:00
56ca52651e fix up requested color names everywhere.
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
48a7a11974 initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
2588b1cac9 Trim the include tree. 2014-11-30 23:56:19 -05:00
5d5d9cb9e2 Fix various sticky/broken cursor issues.
This still isn't quite right, but it's a lot less broken than before, at least.
2014-11-14 02:37:36 -05:00
ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
ce08ec0de0 substantial changes in color management, involving a reduction in the use of Gdk::Color and more consistent logic for region coloring.
Group tabs now also get the text drawn in an appropriately contrast-y color
2014-06-09 23:29:00 -04:00
2fd62f25b3 remove channel selector from canvas note events, as was done in master 2013-05-02 20:28:04 -04:00
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
7de31d5a41 use virtual bool canvas_group_event () in TimeAxisViewItems to get suitably delegatable/inherited event handling 2013-04-25 16:06:12 -04:00
96eee9e7a1 change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems 2013-04-16 23:46:22 -04:00
4e84bc3a39 changes to get cairocanvas branch to build on OS X, with its stupid nil and 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 2013-04-12 21:46:44 -04:00
8eef4b1904 master merge; new files not added after initial cairocanvas patch application 2013-04-05 17:16:33 -04:00