fons.adriaensen at skynet.be
Wed Oct 27 15:18:34 PDT 2004
On Wed, Oct 27, 2004 at 04:00:48PM -0400, Paul Davis wrote:
> you would have to intercept every event on the canvas and check if you
> wanted to consider it to be associated with a different object. thats
> a really ugly hack, if you ask me. you're really saying "i know i set
> "close" to be N pixels, but if its within N+M pixels of objects of
> type foo or bar, then the event is really for that object, not the one
> chosen using the "close" setting". ugh.
I see your point. But this would also make the task of 'put a new
object wherever the user clicked' quite difficult - it means in fact
that the 'canvas object' abstraction is no longer the one you want.
Any abstraction will break down at some point, that's when it becomes
clear it's not the right one.
> ardour has what i call a vertical breakdown for handling canvas
> events: all events go to the Editor object, but they first pass
> through a layer that adds ardour's own item type to the information
> about the event. the editor then does a huge, ugly, complex switch
> statement that factors the item type, the event type and the current
> state of the editor, and comes with a decision about what to do.
> there have been discussions about the pros and cons of using a
> horizontal breakdown, where each kind of item handles its own events,
> using the state of the editor. there are pros and there are cons -
> this change has not been made, and might never be. it would make the
> kind of event analysis you are describing rather difficult.
Sounds *very* familiar. My experience (whatever it's worth) has driven
me more to the 'horizontal' approach. It *is* more difficult, and much
requires things to be right 'by design'.
Apart from all this, Ardour remains very 'mmmmmmmm' for me, with the
same 'mmmmmmmm' as for a delicious ice cream with lots of extra stuff
More information about the Ardour-Dev