platform/upstream/gstreamer.git
9 years agovalidate-runner: Implement REPORT_NONE for global reporting.
Mathieu Duponchelle [Fri, 10 Oct 2014 04:01:03 +0000 (06:01 +0200)]
validate-runner: Implement REPORT_NONE for global reporting.

Yeah that was tough. Helpful already though, for example:
GST_VALIDATE_REPORT_LEVEL=none,x:all gst-validate src name=x ! sink
will only report issues reported by the source.

+ Add test.

9 years agotests: Check monitors correctly determine their reporting level.
Mathieu Duponchelle [Fri, 10 Oct 2014 03:08:28 +0000 (05:08 +0200)]
tests: Check monitors correctly determine their reporting level.

+ [API] gst_validate_reporter_get_reporting_level

9 years agovalidate-runner / monitor: Let the user single out pads.
Mathieu Duponchelle [Fri, 10 Oct 2014 01:55:37 +0000 (03:55 +0200)]
validate-runner / monitor: Let the user single out pads.

That's some pretty specific code but it should be helpful.
The following syntax can be used : element-name::pad-name.

+ Free return of gst_object_get_name.

9 years agovalidate-runner / reporter: Sanitize reports refcounting.
Mathieu Duponchelle [Fri, 10 Oct 2014 00:52:26 +0000 (02:52 +0200)]
validate-runner / reporter: Sanitize reports refcounting.

The previous code worked but was confusing, the runner didn't actually
take the ref it was releasing later.

+ Fix indentation.

9 years agotests: Test reports refcounts.
Mathieu Duponchelle [Fri, 10 Oct 2014 00:49:54 +0000 (02:49 +0200)]
tests: Test reports refcounts.

+ Set the element monitor on the element as qdata.

9 years agovalidate-monitor: Determine the reporting level at setup.
Mathieu Duponchelle [Thu, 9 Oct 2014 23:17:43 +0000 (01:17 +0200)]
validate-monitor: Determine the reporting level at setup.

9 years agovalidate-runner: Add code to parse GST_VALIDATE_REPORT_LEVEL.
Mathieu Duponchelle [Thu, 9 Oct 2014 17:41:48 +0000 (19:41 +0200)]
validate-runner: Add code to parse GST_VALIDATE_REPORT_LEVEL.

+ Extend the tests.
+ [API] gst_validate_runner_get_default_reporting_level
+ [API] gst_validate_runner_get_reporting_level_for_name

9 years agovalidate-runner: report-level initial work.
Mathieu Duponchelle [Wed, 8 Oct 2014 03:08:21 +0000 (05:08 +0200)]
validate-runner: report-level initial work.

+ Defines reporting levels and document them.
+ Add API to get the default level.
+ fix indentation.
+ fix some typos.
+ Add the beginning of a reporting test.

9 years agovalidate-pad-monitor: concatenate issues.
Mathieu Duponchelle [Thu, 2 Oct 2014 00:50:29 +0000 (02:50 +0200)]
validate-pad-monitor: concatenate issues.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735665

The process is to check for a similar report in intercept_report on
the pads of the upstream element, set that report as the master report
of the intercepted report, and return REPORTER_KEEP instead
of REPORTER_REPORT.

9 years agotest-utils: add a create_and_monitor element function.
Mathieu Duponchelle [Thu, 2 Oct 2014 00:34:26 +0000 (02:34 +0200)]
test-utils: add a create_and_monitor element function.

9 years agovalidate-reporter: Add some methods
Mathieu Duponchelle [Wed, 1 Oct 2014 16:28:33 +0000 (18:28 +0200)]
validate-reporter: Add some methods

+ gst_validate_reporter_get_reports
+ gst_validate_reporter_get_reports_count

9 years agovalidate-report: Add the notion of master / shadow reports.
Mathieu Duponchelle [Wed, 1 Oct 2014 13:53:24 +0000 (15:53 +0200)]
validate-report: Add the notion of master / shadow reports.

A master report is a report that has been detected by a monitor
to stem from the same issue. It thus contains a list of
"shadow reports" which it will browse when printing itself.

9 years agovalidate-report: Make the ref / unref functions safer.
Mathieu Duponchelle [Wed, 1 Oct 2014 13:50:11 +0000 (15:50 +0200)]
validate-report: Make the ref / unref functions safer.

9 years agotests/padmonitor: Correcly strdup the result of get_metadata.
Mathieu Duponchelle [Tue, 21 Oct 2014 11:07:02 +0000 (13:07 +0200)]
tests/padmonitor: Correcly strdup the result of get_metadata.

The const pointer was becoming invalid after the first call to add_metadata,
and we ended up setting corrupted data on the second call.

9 years agovalidate-reporter: Add return value to intercept_report.
Mathieu Duponchelle [Wed, 1 Oct 2014 13:11:21 +0000 (15:11 +0200)]
validate-reporter: Add return value to intercept_report.

It will allow to drop, keep or report reports.

9 years agovalidate-pad-monitor: Reimplement reporter interface.
Mathieu Duponchelle [Tue, 30 Sep 2014 14:08:46 +0000 (16:08 +0200)]
validate-pad-monitor: Reimplement reporter interface.

+ Do nothing there for now, except chain up.

9 years agovalidate-reporter: add gst_validate_reporter_get_report.
Mathieu Duponchelle [Tue, 30 Sep 2014 12:52:35 +0000 (14:52 +0200)]
validate-reporter: add gst_validate_reporter_get_report.

+ Add locking.

9 years agoBack to development
Thibault Saunier [Mon, 20 Oct 2014 11:38:20 +0000 (13:38 +0200)]
Back to development

9 years agoRelease 1.4.0
Thibault Saunier [Mon, 20 Oct 2014 10:04:25 +0000 (12:04 +0200)]
Release 1.4.0

9 years agovalidate: Print position if it could properly be queried
Thibault Saunier [Mon, 13 Oct 2014 14:28:54 +0000 (16:28 +0200)]
validate: Print position if it could properly be queried

Otherwize we will print meaningless garbage.

9 years agovalidate:launcher: Minor enhancement in the documentation
Thibault Saunier [Mon, 13 Oct 2014 08:32:07 +0000 (10:32 +0200)]
validate:launcher: Minor enhancement in the documentation

9 years agovalidate: Rename action type playback_time to playback-time
Thibault Saunier [Sun, 12 Oct 2014 18:19:42 +0000 (20:19 +0200)]
validate: Rename action type playback_time to playback-time

Keeping backward compatiblity with the old naming

9 years agovalidate: Rename gst_validate_add_action_type to gst_validate_register_action_type
Thibault Saunier [Sun, 12 Oct 2014 18:07:58 +0000 (20:07 +0200)]
validate: Rename gst_validate_add_action_type to gst_validate_register_action_type

The _register naming corresponds much better to what the method does
and makes it more similar to how we refer to this kind of action in
GStreamer.

It is a last minute API change, but that API should not change anymore
after 1.4 is released.

9 years agovalidate: Fix the addition of playback_time in the parameter types
Thibault Saunier [Sun, 12 Oct 2014 18:00:03 +0000 (20:00 +0200)]
validate: Fix the addition of playback_time in the parameter types

9 years agovalidate: Rename --list-action-types to --inspect-action-type
Thibault Saunier [Sun, 12 Oct 2014 17:46:39 +0000 (19:46 +0200)]
validate: Rename --list-action-types to --inspect-action-type

Making clearer the meaning of the parameter and closer to the
usual naming in the GStreamer land.

9 years agovalidate: Add the 'flags' for the seek action type
Thibault Saunier [Sun, 12 Oct 2014 17:16:08 +0000 (19:16 +0200)]
validate: Add the 'flags' for the seek action type

This was always a mandatory field but was not documented

9 years agovalidate: mishandled pointer criticals
Anuj Jaiswal [Mon, 29 Sep 2014 04:52:55 +0000 (10:22 +0530)]
validate: mishandled pointer criticals

Free glist of criticals

Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736313

9 years agovalidate:docs: Add documentation about the default testsuite
Thibault Saunier [Wed, 1 Oct 2014 08:54:47 +0000 (10:54 +0200)]
validate:docs: Add documentation about the default testsuite

9 years agovalidate-runner: switch to using a GList for the reports.
Mathieu Duponchelle [Tue, 30 Sep 2014 08:30:24 +0000 (10:30 +0200)]
validate-runner: switch to using a GList for the reports.

+ Return a copy of that list in get_reports.
+ update tests.

9 years agovalidate-runner: Hide implementation.
Mathieu Duponchelle [Tue, 30 Sep 2014 07:24:48 +0000 (09:24 +0200)]
validate-runner: Hide implementation.

9 years agogst-validate-runner: Add locking for the reports list.
Mathieu Duponchelle [Tue, 30 Sep 2014 07:11:58 +0000 (09:11 +0200)]
gst-validate-runner: Add locking for the reports list.

9 years agoRelease 1.3.90
Thibault Saunier [Mon, 29 Sep 2014 13:37:40 +0000 (15:37 +0200)]
Release 1.3.90

9 years agovalidate:launcher: Factorize code to get a MediaDescriptor name for classname
Thibault Saunier [Fri, 12 Sep 2014 08:47:18 +0000 (10:47 +0200)]
validate:launcher: Factorize code to get a MediaDescriptor name for classname

Instead of copy/pasting that code badly

9 years agovalidate/docs: Add location of Scenario/Action defines
Edward Hervey [Fri, 12 Sep 2014 08:22:15 +0000 (10:22 +0200)]
validate/docs: Add location of Scenario/Action defines

9 years agovalidate: (performance issue)refactor to remove duplicate assignment
Anuj Jaiswal [Wed, 10 Sep 2014 11:15:41 +0000 (16:45 +0530)]
validate: (performance issue)refactor to remove duplicate assignment

Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736412

9 years agovalidate: docs: Always dist the launcher directoty
Thibault Saunier [Thu, 11 Sep 2014 08:54:43 +0000 (10:54 +0200)]
validate: docs: Always dist the launcher directoty

Fixing make distcheck

9 years agovalidate: Get the Runner reports in order of arrival
Thibault Saunier [Thu, 11 Sep 2014 07:42:02 +0000 (09:42 +0200)]
validate: Get the Runner reports in order of arrival

Making sure they are printed in the right order

9 years agovalidate: Start a testsuite
Thibault Saunier [Wed, 10 Sep 2014 07:47:22 +0000 (09:47 +0200)]
validate: Start a testsuite

Currently implemented tests are:
  * Settup and cleanup on monitor is done properly
  * Some tests in the PadMonitor are done properly, namely:
        - Buffer before segment
        - Buffer outside segment
        - First buffer running time is always 0
        - The Demuxer flow aggregation is properly checked

https://bugzilla.gnome.org/show_bug.cgi?id=736379

9 years agovalidate/private: Avoid double typdef
Edward Hervey [Fri, 12 Sep 2014 07:49:35 +0000 (09:49 +0200)]
validate/private: Avoid double typdef

Instead just include required (public and local) header

gst-validate-scenario.h:43:44: error: redefinition of typedef 'GstValidateActionParameter' is a C11 feature [-Werror,-Wtypedef-redefinition]

9 years agotimeline: disable tooltip while scrolling
René Stadler [Wed, 26 Sep 2012 00:28:00 +0000 (02:28 +0200)]
timeline: disable tooltip while scrolling

9 years agoHide some columns by default
René Stadler [Wed, 26 Sep 2012 00:00:10 +0000 (02:00 +0200)]
Hide some columns by default

9 years agocolumns: optimize cell data functions a little
René Stadler [Tue, 25 Sep 2012 23:56:05 +0000 (01:56 +0200)]
columns: optimize cell data functions a little

9 years agoFix crash when copying row to clipboard
René Stadler [Tue, 25 Sep 2012 23:41:22 +0000 (01:41 +0200)]
Fix crash when copying row to clipboard

9 years agotimeline: fix incorrect position after scrolling using the timeline
René Stadler [Mon, 24 Sep 2012 20:58:58 +0000 (22:58 +0200)]
timeline: fix incorrect position after scrolling using the timeline

Apparently events are dropped internally, so the last position after you stop
dragging can be off.

9 years agomodels: store line offsets in arrays
René Stadler [Sun, 23 Sep 2012 14:43:25 +0000 (16:43 +0200)]
models: store line offsets in arrays

9 years agoUse pango markup instead of attributes
René Stadler [Sun, 23 Sep 2012 15:22:53 +0000 (17:22 +0200)]
Use pango markup instead of attributes

Attributes don't work from introspection, so this blocks porting to gtk3.

In MessageColumn, admit that multiple highlighters don't actually work.

9 years agofindbar: highlight multiple matches in a message
René Stadler [Sun, 23 Sep 2012 15:22:12 +0000 (17:22 +0200)]
findbar: highlight multiple matches in a message

9 years agotimeline: only redraw updated parts of the graph
René Stadler [Mon, 24 Sep 2012 00:15:09 +0000 (02:15 +0200)]
timeline: only redraw updated parts of the graph

Improves rendering performance a lot.

9 years agotimeline: fix position rectangle missing on first click
René Stadler [Mon, 24 Sep 2012 00:23:22 +0000 (02:23 +0200)]
timeline: fix position rectangle missing on first click

Regression caused by previous commit.

9 years agotimeline: only redraw required areas when updating position rectangle
René Stadler [Fri, 21 Sep 2012 23:27:37 +0000 (01:27 +0200)]
timeline: only redraw required areas when updating position rectangle

9 years agoFix crash when range filtering
René Stadler [Fri, 21 Sep 2012 23:25:22 +0000 (01:25 +0200)]
Fix crash when range filtering

Regression from 25cfe9 (timeline: make log level calculation a lot faster).

9 years agotimeline: clean up widget drawing
René Stadler [Fri, 21 Sep 2012 22:33:41 +0000 (00:33 +0200)]
timeline: clean up widget drawing

9 years agotimeline: make log level calculation a lot faster
René Stadler [Fri, 21 Sep 2012 20:52:25 +0000 (22:52 +0200)]
timeline: make log level calculation a lot faster

This is the step where the timeline graph gets colored with the individual log
level colors. It's roughly 4.5 times faster now. Probably can be made even
better, the code also needs a cleanup.

9 years agoData: improve stripped log file loading performance
René Stadler [Fri, 21 Sep 2012 20:15:07 +0000 (22:15 +0200)]
Data: improve stripped log file loading performance

A ~9% improvement for files without colors. This now slightly outperforms the
code before color support was added.

9 years agoData: also yield while loading unparseable files
René Stadler [Fri, 21 Sep 2012 19:38:58 +0000 (21:38 +0200)]
Data: also yield while loading unparseable files

Otherwise, the UI would be blocked while loading something big that is not a
log file at all.

9 years agoRemove color stripping script
René Stadler [Fri, 21 Sep 2012 17:13:07 +0000 (19:13 +0200)]
Remove color stripping script

9 years agoData: add support for colored log files
René Stadler [Fri, 21 Sep 2012 17:11:40 +0000 (19:11 +0200)]
Data: add support for colored log files

Adds a ~5% penalty for loading stripped files.

9 years agotimeline: remove broken actions from context menu
René Stadler [Thu, 20 Sep 2012 22:40:07 +0000 (00:40 +0200)]
timeline: remove broken actions from context menu

Hide lines before/after doesn't work as expected in this case.

9 years agoData: fix parsing of lines missing filename or function name
René Stadler [Thu, 20 Sep 2012 21:51:05 +0000 (23:51 +0200)]
Data: fix parsing of lines missing filename or function name

E.g. ffmpeg.

9 years agotimeline: grab when scrolling in TimelineWidget
René Stadler [Thu, 20 Sep 2012 18:20:58 +0000 (20:20 +0200)]
timeline: grab when scrolling in TimelineWidget

Also use gdk_event_request_motions.

9 years agotimeline: move mouse handling into TimelineWidget
René Stadler [Thu, 20 Sep 2012 18:11:48 +0000 (20:11 +0200)]
timeline: move mouse handling into TimelineWidget

9 years agotimeline: replace self.connect calls with vmethod overrides
René Stadler [Thu, 20 Sep 2012 17:58:06 +0000 (19:58 +0200)]
timeline: replace self.connect calls with vmethod overrides

9 years agosetup: fix build
Andrzej Bieniek [Mon, 17 Sep 2012 16:39:53 +0000 (18:39 +0200)]
setup: fix build

9 years agotimeline: don't select row when changing position in the timeline
René Stadler [Mon, 27 Aug 2012 20:52:56 +0000 (13:52 -0700)]
timeline: don't select row when changing position in the timeline

Behaves just like the scrollbar now.

9 years agotimeline: stop scanning the file while filtering
René Stadler [Mon, 27 Aug 2012 20:46:14 +0000 (13:46 -0700)]
timeline: stop scanning the file while filtering

9 years agotimeline: small cleanup
René Stadler [Mon, 27 Aug 2012 20:45:57 +0000 (13:45 -0700)]
timeline: small cleanup

9 years agoModernize menus a little
René Stadler [Fri, 24 Aug 2012 00:09:04 +0000 (02:09 +0200)]
Modernize menus a little

A bit in preparation to gtk3 app menus.

9 years agoSimplify and optimize filtered model implementation
René Stadler [Thu, 23 Aug 2012 23:50:44 +0000 (01:50 +0200)]
Simplify and optimize filtered model implementation

RangeFilteredLogModel is gone. The functionality is trivially implemented in
FilteredLogModel now. Changing the range is now O(log n) at worst (was O(n) at
best, for rewriting the arrays). Stacking filtered models is not supported
anymore, which simplifies the code.

9 years agoMake RangeFilteredLogModel internal to GUI.models
René Stadler [Thu, 23 Aug 2012 23:42:00 +0000 (01:42 +0200)]
Make RangeFilteredLogModel internal to GUI.models

9 years agoAlways use a filtered log model in the log view
René Stadler [Thu, 23 Aug 2012 23:40:24 +0000 (01:40 +0200)]
Always use a filtered log model in the log view

Preparing to phase out RangeFilteredLogModel.

9 years agomodels: cleanup dead code
René Stadler [Thu, 23 Aug 2012 23:37:27 +0000 (01:37 +0200)]
models: cleanup dead code

9 years agowindow: prevent default handler for delete-event from running
René Stadler [Fri, 30 Mar 2012 23:16:25 +0000 (01:16 +0200)]
window: prevent default handler for delete-event from running

9 years agowindow: set to insensitive during load/filter operations
René Stadler [Thu, 23 Aug 2012 23:26:32 +0000 (01:26 +0200)]
window: set to insensitive during load/filter operations

9 years agowindow: show error for unparseable files
René Stadler [Thu, 23 Aug 2012 23:20:05 +0000 (01:20 +0200)]
window: show error for unparseable files

9 years agowindow: replace progress and error dialogs with InfoBars
René Stadler [Thu, 23 Aug 2012 22:24:55 +0000 (00:24 +0200)]
window: replace progress and error dialogs with InfoBars

9 years agowindow: set wmclass, to have a nicer app name when running uninstalled
René Stadler [Thu, 23 Aug 2012 22:10:05 +0000 (00:10 +0200)]
window: set wmclass, to have a nicer app name when running uninstalled

9 years agoData: fix up out-of-order log lines
René Stadler [Wed, 16 Nov 2011 19:37:21 +0000 (20:37 +0100)]
Data: fix up out-of-order log lines

This is important because we rely on monotonically increasing timestamps for
binary searches in various places.

Overhead for an already sorted file with 1 million lines is less than 5%.

9 years agowindow: connect action handlers using a function decorator
René Stadler [Wed, 16 Nov 2011 19:23:31 +0000 (20:23 +0100)]
window: connect action handlers using a function decorator

A bit esoteric, but better than maintaining the list of action names.

9 years agoGUI: use 'with' statement
René Stadler [Wed, 16 Nov 2011 18:50:06 +0000 (19:50 +0100)]
GUI: use 'with' statement

9 years agoSwitch to new try..except syntax
René Stadler [Wed, 16 Nov 2011 18:45:16 +0000 (19:45 +0100)]
Switch to new try..except syntax

This is forward compatible to Python 3.

9 years agocolumns: auto size time column when setting base time
René Stadler [Sun, 6 Nov 2011 12:35:26 +0000 (13:35 +0100)]
columns: auto size time column when setting base time

Base time formatting adds + or - in front of the timestamp, so the column has
to grow a little to not hide the last digit.

Also fixes a crash when setting the base time while the time column is hidden.

9 years agocolumns: also auto size thread and pid column on zoom change
René Stadler [Sun, 6 Nov 2011 12:19:55 +0000 (13:19 +0100)]
columns: also auto size thread and pid column on zoom change

9 years agocolumns: cleanup default size calculation
René Stadler [Sun, 6 Nov 2011 12:18:19 +0000 (13:18 +0100)]
columns: cleanup default size calculation

Some unused parameters here.

9 years agoTimeline: small cleanup
René Stadler [Sun, 6 Nov 2011 11:49:43 +0000 (12:49 +0100)]
Timeline: small cleanup

9 years agoData: remove log line serialization
René Stadler [Sun, 6 Nov 2011 11:41:08 +0000 (12:41 +0100)]
Data: remove log line serialization

This is incomplete and prone to error. Move it out into the utility script
(which is the only user).

9 years agoRemove odd-even row colors from log level column
René Stadler [Sun, 6 Nov 2011 11:19:52 +0000 (12:19 +0100)]
Remove odd-even row colors from log level column

This is more of visual clutter than aid. People also seem to be less likely to
spot the connection between the column and the timeline graph colors.

9 years agoResize time and log level columns after zoom change
René Stadler [Sat, 5 Nov 2011 23:16:29 +0000 (00:16 +0100)]
Resize time and log level columns after zoom change

9 years agoStore zoom level in state
René Stadler [Sat, 5 Nov 2011 22:47:47 +0000 (23:47 +0100)]
Store zoom level in state

9 years agoAdd zoom reset action
René Stadler [Sat, 5 Nov 2011 22:05:00 +0000 (23:05 +0100)]
Add zoom reset action

9 years agoClean up context menu
René Stadler [Sat, 5 Nov 2011 21:53:24 +0000 (22:53 +0100)]
Clean up context menu

These actions are not so commonly used, and also are not depending on the
context at all.

9 years agoRefactor and fix zoom handling
René Stadler [Sat, 5 Nov 2011 22:52:40 +0000 (23:52 +0100)]
Refactor and fix zoom handling

ColumnManager has to apply the zoom factor to newly added columns. Otherwise,
showing a previously hidden column appears with scale 1.0.

This also drops the value-changed signal emission for the vadjustment, as it is
apparently not needed.

9 years agoAdd 'fixme' and 'trace' log levels
Stefan Kost [Tue, 6 Jul 2010 08:42:08 +0000 (11:42 +0300)]
Add 'fixme' and 'trace' log levels

9 years agotimeline: add tooltip to histogram as well
Stefan Kost [Wed, 30 Jun 2010 13:16:45 +0000 (16:16 +0300)]
timeline: add tooltip to histogram as well

9 years agoAdd zoom in/out actions, reduce vertical row padding
Stefan Kost [Fri, 16 Apr 2010 15:26:26 +0000 (18:26 +0300)]
Add zoom in/out actions, reduce vertical row padding

Add two actions to shrink and enlarge the text in the log pane. Add a theme
overide to set expander size to 1 (see bug #615985) and also turn focus lines
off. Remove extra ypadding on cells.

9 years agoFix tests
René Stadler [Sun, 25 Sep 2011 19:38:48 +0000 (21:38 +0200)]
Fix tests

Forgot to convert this when modules got split.

9 years agoFix --version option
Andrzej Bieniek [Sun, 11 Sep 2011 20:10:47 +0000 (21:10 +0100)]
Fix --version option

9 years agoImprove wording of hide lines actions
René Stadler [Fri, 9 Sep 2011 20:02:28 +0000 (22:02 +0200)]
Improve wording of hide lines actions

These also appear in the context menu of the timeline. The more generic wording
makes more sense for the timeline, since you do not pinpoint any specific line
in this case.

9 years agotimeline: fix grey background artifact when enlarging window
René Stadler [Fri, 9 Sep 2011 19:47:16 +0000 (21:47 +0200)]
timeline: fix grey background artifact when enlarging window

9 years agoFix glib warnings on model property access
René Stadler [Wed, 7 Sep 2011 14:11:58 +0000 (16:11 +0200)]
Fix glib warnings on model property access

Seems like pygobject can all of the sudden not handle a NULL model on a
property. Using the getter works around this. Also using the setter now for
consistency.

9 years agotimeline: fix possible lag when dragging on timeline
René Stadler [Tue, 6 Sep 2011 20:27:33 +0000 (22:27 +0200)]
timeline: fix possible lag when dragging on timeline

I need to idle-aggregate scroll updates, since gtk performs heavy operations in
a synchronous fashion here (ironically, they do that to make scrolling smooth).