Commit graph

23 commits

Author SHA1 Message Date
Paul Davis
8b389ee829 amend 365e3ef8e2 to be "more right"
NoteBase-derived note objects must delete their children, because
often they are deleted long before the parent (group) is. However,
in MidiView::clear_events() we used to call _note_group->clear (true)
first, which would delete the canvas items owned by these objects,
without them knowing about it. This made it dangerous for them
to delete those same items in their destructors.

This reverses the ordering so that NoteBase objects are deleted first
(along with their canvas items) and after that we clear _note_group
which will address any danging canvas items created there that are
not owned by a NoteBase-derived object
2025-03-25 14:49:49 -06:00
Paul Davis
365e3ef8e2 midiview: correctly manage NoteBase lifetimes
MidiView::clear_events() deleted the canvas items corresponding to Notes/Hits,
but did not delete the owner NoteBase objects.
2025-03-24 11:43:32 -06:00
Paul Davis
a550b6482f start using the now-compilable MidiView
Nothing yet derives from this, but MIDI display items and drags
do use it.
2024-10-17 07:44:29 -06:00
Paul Davis
2d9a2ad668 lollis: also adjust velocity bars during the drag 2023-06-26 14:18:18 -06:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
Robin Gareus
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
Paul Davis
b9c6ffac21 fix header order and space alignment 2017-09-24 12:57:27 -04:00
Paul Davis
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
Paul Davis
2a19dbb307 add header required when boost shared ptr debugging is in use 2016-05-31 15:30:44 -04:00
Paul Davis
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
David Robillard
d283608fe9 Automation ghost notes for percussive hits. 2014-12-28 21:31:33 -05:00
David Robillard
606efb601c Show correct ghost hit for percussive tracks. 2014-12-28 20:23:52 -05:00
David Robillard
12b18da8f6 Fix rect select of hit events. 2014-12-28 20:03:38 -05:00
David Robillard
2588b1cac9 Trim the include tree. 2014-11-30 23:56:19 -05:00
Robin Gareus
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
Paul Davis
0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
Paul Davis
f48b556888 do not use Item::move() when dragging notes since this resets the Item's position in its group, rather than its coordinates.
This fixes the double-distance/wrongly drawn location of MIDI notes after a drag
2014-03-13 11:02:06 -04:00
Paul Davis
fa5529b694 fix missing Hit destructor, which left polygons all over the canvas after deleting the Hit object(s) 2014-03-06 23:17:04 -05:00
Paul Davis
37de3e2f67 make Hit (percussive note display item) actually draw something and fix up its coordinates 2014-03-06 13:26:36 -05:00
John Emmas
f8574fc39d 'gtk2_ardour' - Add namespaces + casting where necessary + general bits of 'correctness' to keep MSVC happy 2013-10-03 09:06:56 +01:00
Paul Davis
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
Paul Davis
8eef4b1904 master merge; new files not added after initial cairocanvas patch application 2013-04-05 17:16:33 -04:00