When full-draw is set, use the `rect` passed as argument
to `drawRect` and ignore `drawn_rects` invalidation.
This may fix some missing redraws when switching tabs.
Properly special case first single touch; fall
back to allow windows to emulate mouse events for it.
Yet let gdk handle any multi-touch events, not allowing gestures.
* Fix special case of first single touch. While another touch
is active, any new touch must not get the ID of the (ignored)
first touch.
* reset "last-touch" coordinate on touch-begin.
Previously it was possible that the first motion event was
ignored.
NB: This does not fix missing events when the first touch
coincides with any other finger (gesture?).
Found via `codespell -q 3 -S "*.pdf,*.po,./.git,*.tosc,./waf,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch" -L acount,addin,ane,ba,buss,busses,caf,capela,devine,disconnectin,discreet,doubleclick,envolution,filetest,fo,ghandi,homs,hsi,layed,maschine,mis,nd,ontop,pass-thru,removeable,retrn,ro,scrollin,sectionin,seh,siz,sord,sur,te,trough,ue,wth`
route_by_name() may not find a track created with a given
name, if that name contains illegal chars that were replaced,
or if the track-name was otherwise changed (number suffix) to
make it unique.
This broke in f67029bd0 and notably bcc1aeeb86.
next_tick needs to accommodate for sub-sample accuracy when
PPQN are not integer samples. e.g. 110 bpm @ 48kHz
PS. Instead of `double` we could use superclock next_tick, and
`one_ppqn_in_superclocks` respectively. This would provide us
with 62 bit significand (instead of 52 bit using double).
Yet for the case of MIDI clock, this will have no real world
effect.
The CmdPipeWriter::Terminated signal is used to trigger the FileWritten
callback, which invokes ExportGraphBuilder::Encoder::copy_files
Encoder::filenames must not be destroyed before the callback
arrives. This is now guaranteed by the Encoder d'tor waiting
for for the encode process to terminate.