[SCM] advene packaging annotated tag, release/3.1, created. release/3.1

oaubert-guest at users.alioth.debian.org oaubert-guest at users.alioth.debian.org
Fri Nov 17 20:51:58 UTC 2017


The annotated tag, release/3.1 has been created
        at  fb67e4ba5616087ffd0c0acfdf1649d349c2c521 (tag)
   tagging  e7e02cf9133f1ebee51bde265e2b590f20f54a15 (commit)
 tagged by  Olivier Aubert
        on  Mon Jul 24 23:50:11 2017 +0200

- Shortlog ------------------------------------------------------------
Release 3.1

Emmanuel Ayala Mexicano (1):
      Update spanish translation

Olivier Aubert (238):
      Rename aeidon to aeidon_import
      Fix variable name
      gui.edit.shapewidget: implement opacity setting
      gui.edit.shapewidget: add filled option for Line
      core.controller, gui.main, util.importer: _fieldnames is a set()
      share/exporters.xml: implement metadataplayer export view
      util.helper: display --:error:-- string for invalid timestamps
      gui.plugins.videoplayer: fix select_file action
      gui.edit.shapewidget: define __unicode__ method for Shape classes
      core.plugin: display exception message in case of ImportError
      Merge pull request #3 from pchampin/patch-2014-01-22
      gui.edit.shapewidget: fix property editing bug
      gui.edit.shapewidget: "Del" shortcut when a shape is selected in the list will delete it
      Merge branch 'master' of github.com:oaubert/advene
      util.helper: fix conversion from float format s.ms
      Factorize helper.get_annotations_statistics and use it in timeline inspector
      Use non-minified version of jquery to comply with GPL
      share/exporters.xml: fix main_media id
      share/exporters.xml: encode strings in metadataplayer export view
      util.slicebuffer: use autovideosrc
      util.importer: use utf-8 as default encoding
      util.importer: fix "both" mode in textual import
      util.importer: improve command line handling
      util.importer: dump package to stdout if no output file name is specified
      util.importer: add spaces
      core.controller: rename variable
      util.importer: load plugins
      util.importer: fix reference to IMPORTER list
      util.importer: fix display
      CHANGES.txt: document changes
      Merge pull request #4 from eamexicano/master
      Merge branch 'master' of github.com:oaubert/advene
      Update translations
      core.version: update version information
      share/exporters: add annotation num field in metadatapleyer export
      core.version: update from 1.0.1 to 1.1
      Allow negative offset
      Implement youtube xml transcript import filter
      Add a link
      Add Shift modifier for conversion shortcut
      Update e-mail address
      core.controller: make get_title more robust
      gui.evaluator: display exceptions when running commands from shortcut
      Activate content completion in table edition and timeline quickedit mode
      Implement WebAnnotation export view
      Handle general exceptions in element lifecycle callbacks
      gui.views.table: the view can be uninitialized
      Bump version number
      gui.views.timeline: reset package_from_init so that timeline updates after type selection
      gui.views.timeline: fix timeline view parameters restore
      Fix annotation type selector dialog sizing issue
      Port to Gtk3/Gstreamer1
      Implement WebAnnotation export view
      gui.views.finder: port to Gtk3
      Fix pixbufloader call
      Add begin_s/end_s attributes to formatted global method
      gui.views.finder: fix DnD
      gui.views.annotationdisplay: fix get_text method
      Rename overriding variable
      gui.views.transcription: fix encoding issues
      gui.views.timeilne: update rectangular selection display code
      gui.views.timeline: fix restrict playing button display
      gui.views.timeline: remove duplicated code
      gui.util: fix shaped window building
      gui.views.activebookmark: fix API calls
      gui.views.finder: nodeChildren always return a list
      Gtk3 API fixes
      Gst1.0 API fixes
      Fix get_text parameters
      gui.views.activebookmarks: remove arrow drawing code
      gui.views.activebookmarks: fix DND
      gui.main: consider SMOOTH scrolling for slider
      gui.evaluator: fix text buffer interaction
      gui.evaluator: implement dump_tree method
      gui.evaluator: fix get_parent call
      gui.main: fix API call for get_size
      gui.main: use mnemonics/shortcuts in menu definition
      plugins.shotvalidation: fix get_state() handling
      gui.views.timeline: set names on pane widgets
      gui.widget: accessing container may result in RuntimeError
      gui.evaluator: close the parent if it is a toplevel Window
      gui.widget: reset widget size on annotation update
      Do not specify the video player size
      gui.util.dialog: specify default transient window
      gui.views.table: add shortcuts C-< / C-> to set begin/end time
      gui.util: catch RunTimeError
      gui.views.timeline: use Gtk.Paned instead of H/VPaned
      gui.main: modifying timestamp format requires a restart
      all: set transient window for dialogs
      gui.main: suppress warnings
      core.controller: suppress a warning
      gui.views.finder: display elemnent title as column title
      gui.views.table: save source TALES expression if present
      gui.evaluator: convert log parameters to string
      share/advene.css: reorder properties
      gui.views.finder: display metadata for elements
      Fix main window reference for dialogs
      gui.views.table: Fix get_pointer call
      gui.edit.shapewidget: port to gtk3
      gui.edit.shapewidget: fix editing artifacts
      gui.edit.shapewidget: fix warnings
      gui.edit.shapewidget: fix get_bounds for Text elements
      gui.edit.ShapeWidget: fix arrow drawing
      plugins: remove obsolete code
      gui.plugins.contenthandlers: update shapewidget API
      gui.util: fix typo in docstring
      plugins.owl_import: implement OWL schema importer
      core.version, CHANGES.txt: update version number
      gui.evaluator: catch possible exception when visualizing result
      gui.evalutor: explicitly encode data if necessary
      Update translations
      gui.views.timeline: fix BookmarkHighlight drawing
      model.content: add a shortcut to get data
      mode.content: in setData, store unicode strings if textual
      all: convert .get_text output from Gtk widgets to unicode
      model.content: use text_mimetypes from config to determine text content
      util.snapshotter: fix logging call
      gui.main: encode workspace serialization as unicode
      core.controller: optimize generate_sorted_lists by having begin/end as locals
      gui.views, gui.views.viewbook: contextual actions take no parameter when called from menu
      gui.views.table: implement table export view
      gui.evaluator: factorize code
      gui.evaluator: implement silent mode (starting an expression with @)
      gui.evaluator: remove unused variable
      util.helper: compute media value for annotation list
      core.controller: cache build_context result
      gui: consider window.get_pointer() as basic tuples.
      Conditionally import GdkX11
      gui.edit.frameselector: use classes for styling frames
      gui.views.accumulatorpopup: remove deprecated code
      gui.views.timeline: disconnect signal only if it was defined
      whitespace fixes
      share/exporters.xml: update webannotation export
      gui.edit.importer: replace Expander by Frame
      gui.views.table: set max width for content column
      gui.main: add table view icon to view toolbar
      Use logging module
      gui.main: Fix typo
      Specify formatter for GUI logging handler
      core.controller: remove unused variable
      Remove obsolete adhoc views
      core.controller: do not display date/time in the logging formatter
      gui.main: remove unused variable
      core.config: add -d (debug) option
      util.importer: fix set_options method
      plugins.soundenveloppe: set a lower dB value limit
      gui.util.dialog: handle both OK and YES responsetypes
      gui.views.table: go to next annotation after time edit
      gui.views.table: make sure focus is grabbed when continuing edition
      TODO updates
      doc/TODO: some solved issues
      core.config: add -i option for display loggin.INFO level
      core.config: use json instead of pickle for saving prefs
      core.controller: check against zero duration
      core.controller, tal.context: checkpoint/restore cached contexts
      gui.views.editaccumulator: add missing import
      gui.main: remove old shotdetect code
      gui.util.completer: implement completion-predefined-only option
      gui.util.completer: split predefined terms along , if present
      gui.util.completer: remove obsolete code
      README.win32: update dependencies
      gui.edit.frameselector: increase precision for frame fetching
      util.importer: fix GObject import
      plugins.shotdetectapp: preserve some doc
      player.gstreamer: add link for win32 info
      core.version: update release date
      gui.plugins.tracetimeline: import adequate element
      Update translations
      Update translations
      Use logging module for logging warning messages
      gui.views.finder: enable drag from ModelColumn
      gui.util: add logger information
      gui.util: remove unused import
      gui.util: patch Gtk.Menu for popup_at_pointer
      player.gstreamer: monkey patch Gst.Structure.__getitem__ if necessary
      gui.views.ActiveBookmarks: fix popup call
      core.config: use east viewbook as default popup destination
      core.controller: coding style fixes
      gui.main: fix typo
      bin/advene: coding style fixes
      share/exporters.xml: precise content mimetype in WebAnnotation export
      gui.main: do not save workspace when editing Export package
      Display css classes in dump_tree
      gui.views.shotvalidation: fix background color setting
      util.snapshotter: register notifysink as gst element
      gui.util: catch runtime error
      gui.views.timeline: draw separating lines
      gui.plugins.logmessages: fix autoscroll on view open
      Translation updates
      gui.main: display log messages from memory
      Update INSTALL.txt
      update links
      Update links/address
      gui.views.finder: fix autoscroll
      gui.util: fix dereferencing bug in generic dnd handling
      gui.views.viewbook: specify popup location for opening set of annotations
      plugins.undomanager: convert data to unicode
      util.helper: specify utf-8 encoding to convert information from gui
      Update CHANGES
      Merge remote-tracking branch 'origin/gi'
      gui.edit.importer: allow to specify fixed importer
      model.content: make JSON parsing more robust
      gui.views.timeline: save/restore list of displayed annotations if present
      gui.popup: display importer in annotation type context menu
      gui.main: do not try to reposition windows out of screen
      gui.views.timeline: determine whether we display all types or just a selection
      gui.views.timeline: use logger methods
      gui.main: enable video slider navigation
      util.helper: pass whole Content object to title2content and handle json
      gui.views.browser: fix potential encoding issue
      gui.util: implement and use get_clipboard()
      util.snapshotter: use stream time as reference for snapshots instead of PTS
      util.snapshotter: configure logger
      HPI concept detection import filter
      plugins.hpi: Check that needed screenshots are available
      util.importer: add .output_message attribute
      core.version: remove reference to svn
      core.version: update to 3.0
      gui.views.browser: fix incorrect docstring
      gui.views.viewbook: homogeneize contextual actions
      gui.views.table: title2content is expecting a unicode string.
      gui.views.timeline: improve zoom level handling
      gui.views.interactivequery: add missing import
      core.config: use recursive version for creating conf directories
      gu.views.html: use popup_at_pointer method
      gui.views.timline: store inspector-width as parameter
      gui.views.timeline: cleanup zoom setting code
      gui.views.timeline: fix get_save_arguments
      model.viewable: handle utf8 encoded results from TAL intepreter
      gui.views.timeline: remove useless comment
      gui.views.timeline: fix relation display when layout is scrolled
      gui.views.timeline: remove useless code
      cherrypy: update local copy from 3.1.2 to 3.5.0
      plugins.owl_import: update to latest AdA OWL structure
      plugins.owl_importer: use @en labels and descriptions
      gui.owl_import: handle predefined values
      gui.views.finder: use logger to report errors + fix some bugs
      Release 3.1

Pierre-Antoine Champin (1):
      fixed bug in shapewidget (could not restore opacity to 1.0)

brichard (362):
      added pangocairo and cairo to py2exe imports
      =Mise a jour de la date
      release date updated
      essage=Added win32 licence file
      Added win32 licence file
      Date updated
      New prerelease for win32
      core.version: bumped version number
      version.py : Bumped core version
      version.py : date updated
      Version date updated
      build date updated
      Version number bumped
      added Nosferatu v1 example
      fixed a bug when trying to open preference window with osdtext
      Added unstable version of Nosferatu package ( menu + blocks in progress)
      little changes in Nosferatu_unstable.azp
      Fixed some problem using url2pathname with win32
      Nosferatu_unstable.azp : replaced plan -> shot, pannel ->panel, Index -> Home, Accueil -> Summary. Fixed 'then all' annotations.
      Nosferatu_unstable.azp : Menu views created; Index dispatched in level1, level2, level3 index; WITV and HWIB blocks are now right aligned. No-snapshot image refreshed.
      Nosferatu_unstable.azp : changes in css file, in menu, Template, Navig and Dynamics views added.
      Nosferatu_unstable.azp : Yannick : TODO view added.
      Nosferatu_unstable.azp : changes in detail view, detail_shot, translation, emotions, plan annotations modified, panels modified.
      Nosferatu_unstable.azp : home, submenu2, dynamics, submenu1 updated.
      Nosferatu_unstable.azp : Modifications in the level 1 views, home, summary, shots, details, etc., stylesheet and TODO updated.
      Nosferatu_unstable.azp : Panel, detail_shot, detail_panel, emotion views updated
      Nosferatu_unstable.azp : edit_content view added.
      Nosferatu_unstable.azp : Yannick's commit.
      Nosferatu_unstable.azp : tutorial views added, submenu4 added.
      Nosferatu_unstable.azp : Yannick, modifications in lvl 3 and 4
      Nosferatu_unstable.azp : fixed bugs in detail view.
      Nosferatu_unstable.azp : exercice view updated
      Nosferatu_unstable.azp : css modified, characters annotations deleted
      Nosferatu_unstable.azp : mirror view completed, step3 view updated.
      Nosferatu_unstable.azp : Step 4 updated
      timeline.py : fixed mouse clic on timeline view.
      timeline.py : back to last timeline file, fix seems to create problems in viewbook drag_received
      timeline.py : fixed timelina click on win32
      Nosferatu_unstable.azp : lots of fixes. Panels_overview fixed, navigation fixed, step3 fixed, transcription view modified, TODO updated.
      main.py : included fix for the webserver reaction time
      advene.iss : updated with example
      Nosferatu updated to v2, included required advene version in the home page.
      Nosferatu_v2.azp : correct previous changes...
      README.win32 updated
      removed Nosferatu_v1.azp
      advene.iss : added registry key
      version.py : date updated
      version.py : updated
      setup.py : included gtk.keysyms in py2exe exports
      version.py : updated
      README & README.win32 : updated with python 2.4 informations
      advene.iss updated to version number 0.22
      advene.iss : svg libs added
      version.py : updated
      version.py updated.
      advene.iss : included nosferatu_v3
      fckeditor : AdveneIMG plugin added, fckconfig.js updated.
      fckeditor : added forgotten files
      template.azp package updated, fckeditor advene plugin updated
      core.webcherry: fix response document for POST update
      deleted fckeditor data
      updated fckeditor data
      fckeditor files : annotation plugin added
      template.azp : fix annotation plugin path
      version.py : updated.
      advene.iss : updated
      advene.iss : included libvlc-control.dll
      config.py : fixed get_registry_value
      advene.iss, setup.py : includes updated (libvlc)
      __init__.py : fixed window (re)size on popup for win32
      schemaEditor.py : schema editor plugin
      schemaEditor.py : relation creation updated
      schemaEditor.py : move to gui/plugins
      schemaEditor.py added
      plugin.py : fixed zipimporter fname separators
      fckplugin.js : fixed icon uri
      mediacontrol.py : changes for all in one installation
      adveneAllInOne.iss : script to generate All in one installer for win32
      *.iss : updated
      mediacontrol.py : fixed vlc detection
      config.py : added 'version' option to data.player
      popup.py : fixed Wysiwyg edition
      config.py, mediacontrol.py : changed vlcbundle detection
      win32.txt : doc updated
      win32.txt : doc updated
      win32.txt : doc updated
      adveneAllInOne.iss : uninstall advene if old verison exists
      controller.py : added a function to import event history in a new package
      controller.py : fixed create_event_history_package
      __init__.py : fixed win32 bug when opening a view in its own window (introduced by precedent bug fix)
      Nosferatu_v5.azp : _richedit view changed (redirection after validation)
      *.iss : changed references to nosferatu_v5
      *.iss changed version to 0.28
      timeline.py new option in d&d : merge annotations
      ecaengine.py : changed record event
      importer.py : ots of changes in iterator function
      remove fckeditor
      new fckeditor added
      timeline.py fixed dest/d source/s problems
      ecaengine.py utf8 encoding
      actions.py : use of pymedia and threads for win32 soundplaying (still some problem with threads priority)
      actions.py : use of pySoundPlayer.exe to play sounds on win32
      advene.iss, adveneAllInOne.iss : copy pySoundPlayer.exe
      ecaengine.py : fixed relationtype catching
      schemaeditor.py : fully changed implementation of annotation groups and relation groups + lots of fixes
      elements.py : sending EditElementBegin notification
      schemaeditor.py : list selector for mimetypes and other fixes
      ecaengine.py : when logging events, manage generic element case
      importer.py : moved event schema creation
      ecaengine.py : some fixes
      elements.py : added edit window events notification
      main.py unregister_edit_popup : moved destroy event here
      elements.py : removed destroy event notification
      elements.py : added event descriptions for ElementEditXXX and AnnotationMerge
      timeline.py : added AnnotationMerge notification
      timeline.py : disabled merge option if source has relations
      schemaeditor.py : relation drawing fiwed
      dialog.py : tried to fix filechooser refresh problem
      schemaeditor.py : removed tab label, fixed a remove bug, add relationDeleteEvent_update.
      schemaeditor.py : refresh updated
      schemaeditor.py : update on annotation / relation / annotationtype / relationtype events
      schemaeditor.py : added schema_update and model_update
      schemaeditor.py : changed hbox for hpaned for schemaarea
      timeline.py : fixed annotation merge min/max
      rules/importer.py, util/importer.py, core/controller.py : added output_to_file , export_event_history and EventImporter
      schemaeditor.py : schema display modification
      selIMG.js : fixed some bugs
      controller.py : changes in export event history
      importer.py : moved output_to_file to controller.py
      importer.py : removed useless imports
      schemaeditor.py : opening table on double click
      schemaeditor.py : reapplied rev4234 changes
      controller.py : changed Exception catch in event export
      handyxml.py : added a forced option to xml function to skip caching
      importer.py : added an offset option for event import
      controller.py : modified event import
      controller.py : player event notification change, enrich_event_package modified
      ecaengine.py : more event clarified
      adveneAllInOne.iss : added libgio-2.0-0.dll (from gtk+ 2.12)
      advene.iss, adveneAllInOne.iss : nosferatu v6
      INSTALL.txt : added a gtk 2.12 warning for vista.
      *.iss : changed to 0.30
      adveneAllInOne.iss : changes to install without administrator privileges
      schemaeditor.py : fixed annotation creation
      schemaeditor.py : fixed relation creation and mimetype selection
      schemaeditor.py : LOTS of changes : removed Notebook, now 1 canvas displaying from 0 to 4 schemas.
      AdveneStable/adveneAllInOne.iss : fix registry check
      schemaeditor.py : some drag & drop stuff implemented
      schemaeditor.py : fixed relation redraw after drag&drop
      schemaeditor.py : hack to correctly refresh relations on drop
      schemaeditor.py : added vizualisation features, trasnsschema prepared.
      share : added some schema editor png images
      *.iss : added libgoocanvas.dll (needed since pygoocanvas 0.10)
      controller.py : added gobject_threads_init() to solve thread problem on vista
      schemaeditor.py : commented part about transfering type to an other schema, as current model do not allow that.
      schemaeditor.py : fixed drawing location when creating annotation type
      schemaeditor.py : recommented some stuff related to moving type to an other schema
      schemaeditor.py : fixed color stuff
      schemaeditor.py : more color stuff
      version.py : changed to 0.31
      *.iss : fixed advene shortcut working dir
      schemaeditor.py : commited from branch
      setup.py : fixed plugins inclusion
      iss : use advene.ico instead of dvd.ico
      git-svn-id: svn+ssh://svn.gna.org/svn/advene/trunk@4728 3fb6f576-06d4-0310-ad11-a4b695aa9f05
      adveneAllInOne.iss : changed nosferatu version
      schemaeditor.py : zoom functions updated
      controller.py : added tracer stuff
      ecaengine.py : modified tracer stuff
      EventAccumulator.py
      eventAccumulator.py : internationalization
      eventAccumulator.py : using TimestampRepresentation to display event and operation snapshot
      tracebuilder.py : added a comment field
      eventAccumulator.py : handle dbl click on actions,
      main.py : added a button to display the trace plugin in expert mode
      controller.py : fixed a bug in self.create_static_view
      SchemaEditor.py : allow to create a new schema by right-clicking on bg
      tracebuilder.py : removed snapshot variable
      added trace switch images
      main.py : added a switch to toggle tracing on/off
      main.py : fixed toggle button
      main.py : showtraces and toggle button only in expert mode
      tracebuilder.py : fixed editing operations
      added png for trace filters and updated traces_off.png
      eventaccumulator.py : changed reset_filters button
      elements.py : added DurationUpdate in events_names
      eventaccumulator.py : added filters interface
      eventaccumulator.py : import/export, filters
      eventaccumulator.py : fixed index
      tracebuilder.py : fixed import
      tracebuilder.py : fixed imported content
      tracebuilder.py : added a function to convert old style traces (package based)
      eventaccumulator.py : completed content for incomplete events
      schemaeditor.py : fixed a bug when creating a relation
      imagecache.py : fixed image loading under win32
      eventaccumulator.py : fixed event names not in list
      trtracebuilder.py : changed export file name
      elements.py : added AnnotationMove to event_names
      tracebuilder.py : Fixed export for None movie value
      elements.py : added popupdisplay event
      eventaccumulator.py : changed events_names and operation_names to use elements.py descriptions
      main.py : added trace export to autosave
      tracebuilder.py : fixed month in exported file named
      eventaccumulator.py : changed raz button. fixed quit button in filters options. fixed time switch.
      SchemaEditor : added a font zoom
      timeline.py : hotfixed _fieldnames problem in create_annotation
      traces_on/off : modified icons
      eventaccumulator.py : small fixes
      tracebuilder.py : small fixes
      eventaccumulator.py : more fixes
      elements.py : added SnapshotUpdate event name
      tracebuilder.py : fixed some bugs in activity_time
      adveneAllInOne.iss : updated
      config.py : win32 shotdetect default path updated
      version.py : svn version / date updated
      tracetimline.py : a vertical timeline to visualize trace
      htmlcontenhandler.py : changed the way to fix the double drag_data_received as it was not working on win32 (timestamp is always 0)
      SchemaEditor.py : Fixed background motion
      tracetimeline.py : added zoom, fixed background motion
      tracetimline.py : populate actions with objects squares
      tracetimeline.py : renamed file
      removed old file
      tracetimeline.py : added links on click, partially fixed zoom system
      tracetimeline.py : fixed zoom / scrolling
      AdveneForReleases/trunk/adveneAllInOne.iss : added conditionnal file association depending on user rights
      tracetimeline.py : objects representation as ObjGroup, changed selection highlight, added type initial
      tracebuilder.py : added some more info in events and operations
      tracebuilder.py : fixed import for traces without o_type
      tracetimeline.py : fixed case where selected item was lost when zooming (refresh during receive), fixed display of objects, fixed sel/desel method
      tracetimeline.py : changed from click to mouse over to toggle relations
      tracetimeline.py : gui changes
      tracetimeline.py : fixed resizing problem
      tracetimeline.py : possibility to lock links drawing
      tracebuilder : fixed a typo
      tracetimeline.py : added object inspector
      lock icons added
      tracetimeline.py : some changes in toolbar
      TraceTimeline : canvas for audiovisual document added, minor bugfixes
      tracetimeline.py : changed color management. added color to docgroup marks. Changed redrawing of marks/lines.
      tracetimeline.py : added docgroup redraw when resizing doc_canvas
      tracetimeline.py : contextual menu added in the timeline ; click to move added in the doc canvas
      tracebuilder.py : quickfix for the snapshotupdate event
      tracebuilder.py : remove print
      eventaccumulator.py : fixed a bug in receive function
      tracebuilder.py : added more informations about concerned object in events and operations
      tracetimeline.py : fixed a bug with links; fixed a bug with object recreation; added a toggle button to switch between link modes
      tracetimeline.py : fixed a bug in menu with unknown items
      tracetimeline.py : some changes in contextual menu
      tracetimeline.py : fixed a bug when resizing; added export btn (need to find an icon for it)
      tracebuilder.py : filter noisy events
      tracetimeline.py : fixed encoding bugs
      tracetimeline.py : fixed a bug with ACTIONS global var
      tracetimeline.py : fixed a bug with some traces when the last event was not the last...
      tracetimeline.py : fixed a bug whith zoom 100%; fixed a bug drawing twice the last action; added separators in operations displays in the inspector
      tracetimeline.py : fixed a bug with an action disappearing (re)introduced in last commit
      tracebuilder.py : added ipv6 network export and threading for it.
      config.py : changes vlcplugin path for win32
      adveneAllInOne.iss : fixed registry install key, changed vlc plugin path
      tracebuilder.py : fixed network broadcasting end
      controller.py : changed tracers call/end
      tracebuilder.py : threaded tracebuilder
      tracetimeline.py : added comment field, changed some refresh. FIXME : sometimes 100% cpu usage in refresh
      ecaengine.py : changed notification to tracers
      tracetimeline.py : fixed 100% cpu bug
      tracebuilder.py : fixed multitraces
      tracebuilder.py : added a name to the trace, fixed import/export accordingly
      tracetimeline.py : implemented multi traces, need to fix combobox size
      tracebuilder.py : changed import defaults
      tracetimeline.py : moved trace_selector, fixed lock and inspector when changing selected trace.
      tracebuilder.py: changed export/import to save full trace (this is a bit strange and should be fixed someday)
      tracetimeline.py : fixed zoom_on when item was not displayed
      tracebuilder.py : quickly fixed object type import/export
      tracetimeline.py : fixed strange embedded view resize problem.
      tracebuilder.py : implemented search function, improved some trace objects attributes
      tracetimeline.py : added a search button, and a remove button for imported traces
      tracebuilder.py : changed search result traces name
      tracebuilder.py : fixed bug with comments in actions
      tracetimeline.py : changed items color to reflect annotations,relations, types and schemas colors
      AdveneForReleases/trunk/adveneAllInOne.iss : changed to reflect py2.6 & co changes. Added some more customization (quicklaunch, delete prefs, with or without vlc)
      tracebuilder.py : changed content of players operations to keep the destination time
      tracetimeline.py : changed the way operations were displayed in the inspector. Changed search entry.
      tracetimeline.py: fixed operation and event content unicode, updated EventAccumulator accordingly
      tracebuilder.py : cf last commit
      tracetimeline.py : display 5 letters in column headers # need to be fixed to display full name when possible
      main.py : modified thread initialization with win32
      gstreamer.py : modified playlist_item uri for win32 platform
      gstreamer.py : changed last modification, as only file:/// was needed
      gstreamer.py : fixed fullscreen with win32
      timeline.py : changed mouse selection to avoid a memory leak (seemingly in gtk.container.child_get_property)
      advene: changed strftime for gtk2.16+ compatibility (%F does not exist anymore)
      AdveneForReleases/trunk/adveneAllInOne.iss : added gst to installer, with env variables when needed
      vlcctypes.py : fixed vlc import.
      controller.py : in select_player(), removed 0 in stop_player() parameters. Vlcctypes stop() do not take 2 parameters.
      AdveneForReleases/trunk/adveneAllInOne.iss : changed PATH env variable modification
      AdveneForReleases/trunk/adveneAllInOne.iss : fixed gst component path
      config.py : changed default to vlcctypes as it works fine now
      setup.py : modification to import gstreamer
      tracebuilder.py : changed export path to ~\advene\traces instead of ~\advene
      *.iss : removed old iss, some modifications to all in one.
      advene: fixed a strange indent and added one more check for win32 gtk
      post_install.bat : added a post_install script to modify pixbuf-loaders
      gstreamer.py : ensure gstreamer plugin path and gstreamer bin path are set in win32 environment.
      config.py: changed win32 default vlc path. Should check it before importing vlcctypes.
      post v0.40 release: Trace modifications & new trace preview plugin
      0.40
      tracetimeline.py : implemented find_group to find a group in the timeline corresponding to an operation or action
      tracepreview.py : lots of changes : icons, item reps...
      added icons for the tracepreview plugin
      tracepreview.py : cleanup & fixes
      tracepreview.py : display movie time for navigation operations
      gstreamer.py: try to fix embedding on win32
      trace : changed color code
      main.py: fixed pause/resume notification
      trace : some more changes in color, used same representation for timeline inspector and trace preview, fixed operations timecode problem
      trace: more visual links between preview and timeline, fixed operation color, and more.
      tracebuilder.py: added relation content to events/operations
      tracetimeline.py: new left space to display time context information. Added relation re-creation.
      trace: moved icons to pixmaps/traces
      trace: moved icons to pixmaps/traces
      tracebuilder.py : fixed some bad import/export mechanisms, added comment for action building, removed del statements.
      tracetimeline.py: fixed color when importing without the right package
      tracetimeline.py : work in progress, changing the timeline drawing, refresh, zoom processes and the way objects are displayed
      AdveneForReleases/trunk/adveneAllInOne.iss : updated to 0.41, included brltty
      setup.py : updated win32 part to include Brl
      tracebuilder.py: fixed trace start time
      tracebuilder.py: fixed exported trace, fixed movie position parameters
      tracebuilder.py: fixed search results start
      tracebuilder.py: forgot to remove a debug print
      tracepreview.py: fixed navigation items
      tracetimeline.py: lots of work.
      tracetimeline.py: changed gobject functions import
      tracetimeline.py: changed line moves to use points instead of y props as it does not exist in old version of goocanvas...
      tracetimeline.py: revert previous changes as it does not solve anything, pygoocanvas 0.14 is needed anyway
      tracetimeline.py: added context canvas functions.
      tracetimeline.py : changed commentMarks icon / buttons / added popup management. You can now see your comment directly in a popup.
      tracetimeline: changed view navigation icon
      tracetimeline: added error icon, used it in tracetimeline & preview
      tracetimeline.py: re-enabled links as it is now fully functionnal again.
      tracetimeline.py: added comments to every function
      tracetimeline.py: some little fixes, updated comments.
      vlcctypes.py: missing os import
      audio.py: fixed win32 sound playing
      tracetimeline.py: added gtk main iteration loops to avoid gui freezing at import
      tracetimeline.py: fixed a strange behavior, which expanded context canvas when resizing tracetimeline.
      tracetimeline.py: fixed crlf/lf
      viewbook.py fixed tabs titles for gtk 2.20+
      adveneAllInOne.iss: added a function call to check if advene is running, using psvince.dll innosetup extension.
      timeline.py: added a gtk_main_iteration in the populate function to avoid freezes during loading.
      tracetimeline.py: fixed context canvas, fixed refresh, fixed loading time, added a curosr change when loading trace.
      tts.py: fixed espeak on win32, using fse encoding (because subprocess uses it to pass args to the cmd).
      main.py: shotdetect fix for win32;
      tts.py: removed win32 fix for espeak as it is no longer necessary, same for customTTS. Customarg still raises encoding problems.
      tts:customarg encoding problems
      tts: added an import which seemed to be missing (python was complaining :D)
      iss: 0.44
      gstreamer.py: fixed accentuated characters in video / video path on win32
      tracepreview.py: handled goocanvas the same way we did in tracetimeline
      win32 fix missing/not detected svg-pixbuf-loader
      gstreamer.py : fixed crash if GST_PLUGIN_PATH was defined but gst was not in PATH. Maybe we should ask the user if he wants to use his GST installation or our embedded GST, because if the wrong version is installed, he will not be able to launch advene...
      audio.py : fixed gstreamer detection as in player/gstreamer.py
      tracetimeline.py: fixed a possible crash on package load
      tracepreview.py: fixed a scrolling problem when closing the view

oaubert (6780):
      Initial import of advene project
      * Edit default ruleset instead of user ruleset (the latter should be done
      Fix for imports
      Renamed a badly-named variable (dir), detected by pychecker
      Renamed a badly-named variable (id), detected by pychecker
      Renamed a badly-named variable (id), detected by pychecker
      Renamed a badly-named variable (list), detected by pychecker
      (Bad) workaround for the wrong position problem upon player start
      Removed last_slow_position attributes
      Corrected ruleset update (using copy.copy)
      Corrected (halfly) abstract fragment methods
      Added a return value
      Some updates
      Implemented getModel (XML-content parsing)
      * Fixes in RuleSet.from_dom
      Added get_stbv_list and activate_stbv methods
      * Renamed combo to type_combo
      Added STBV option menu
      * Typo in get_selected_node
      Implemented Relation and RelationType edit popup
      Added support for ruleset editing
      Reactivated package save in unit test
      Implemented update_element for EditRuleSetForm
      Added get_packed_widget method
      Some more
      * Renamed boolean gtk constants
      Added RelationEditBegin/End
      Update
      Added element creation
      Module for creating new elements
      update_annotation should now work
      Renamed gtk.FALSE and TRUE to False and True
      get_edit_popup now takes controller as parameter
      Added controller as parameter
      Update
      Updated comment
      * Converted gtk.FALSE/TRUE to False/True
      * Added updated_annotation_cb and updated_relation_cb to forward
      TreeWidget now takes controller as parameter, in order to correctly
      * Correctly handle empty packages when computing timeline duration
      Timeline now gets a controller instance, we suppress the package init parameter
      Changed ViewActivation description
      Moved DONE items to an Archive section
      Removed non-generic rules (which can now be defined in packages' STBV)
      Doc update
      New ideas
      Moved vlclib.VLCPlayer to advene.core.mediacontrol.PlayerLauncher
      Add support for logging module
      Annotation sequence editor
      Added a notify method (just a proxy for event_handler.notify)
      Fixes
      Use the controller.notify proxy (more readable)
      Created update_gui method
      Cosmetic fixes
      Added controller parameter to TreeWidget
      Updates
      distutils-based setup script
      Updated to use debhelper
      Debhelper files
      Add right-button click on annotations
      Make package generation work. Use
      Removed create_package (we now use debhelper)
      Advene installed directories
      Update
      Update
      Misc fixes in order to be more lintian-compliant
      Moved advene.1 to doc
      We do not need to check root when doing clean
      Updated developer doc to ease application development
      Conversion script (sequence to annotations)
      PO update : we now have a Makefile to ease the updates, and use a .pot file
      Portability fix (to be tested...)
      Fix in init
      Implemented approximate matching
      Implemented automatic snapshot update
      * Renamed self.controller.event_handler.notify to  self.controller.notify
      Update vlc version dependency
      Updated self.controller.event_handler.notify to self.controller.notify
      Implemented clear_state/get_state/set_state methods
      Removed bangpath line
      Update
      Moved advene.1 from debian to doc
      Added advene.manpages
      Do not output translatable gladestrings
      The main advene script now tries to guess the location of the package
      More development-tree related tweaks: override the path settings for resources.
      Changed the info message
      We need to notify here, since we can modify the fragment duration
      Use logging.INFO to set the logging level
      Add info about view plugins
      More work...
      Correctly named debian installation scripts
      Use dh_python to generate python dependency (and pre/post inst/rm scripts)
      Corrected spaces to tabs
      Generate locales to locale directory
      Install /usr/share/locale
      Install the generated locale directory
      Removed useless bang path
      Correctly use the controller (some more things to check, but it is
      Update to match webserver API change
      Handle None status in update_status
      Add popup menu to create Annotation- and RelationTypes
      * Renamed bc parameter to position
      * Enhanced start_html method (more flexible)
      More configuration checks: check for the MediaControl.so file (for
      Some more...
      Translated None in STBV menu
      update
      Update
      Added missing dependencies (python-xml and python-simpletal)
      Cache duration and save it as metadata in packages
      Use the controller.cached_duration
      Typo fix
      get_selected_node does not need a treeview parameter
      Update
      Automatically save the mediafile metadata
      Misc fixes following a pychecker run
      pychecker-related fixes
      Removed useless variable
      Corrected pychecker related bugs
      Corrected pychecker related issues
      Added a FIXME
      Parenthesis fix
      pychecker-related fixes
      * Added IDL constants and exceptions as Player class attributes
      * Removed CORBA dependency
      * pychecker fixes
      Added notifications for all elements
      * Added new events (edit-related) and reformated event list
      Added epydoc documentation
      Removed CORBA/VLC dependency
      Added comment (FIXME)
      Renamed DVDControl as AdveneGUI
      * Renamed DVDControl as AdveneGUI
      Specify the type_ in remove_rule
      Renamed DVDControl as Controller
      Added notification on edit validation
      * Named column number
      * Corrected module imports
      Passed controller as parameter to edit popup
      Column labels are now clickable
      Created the epydoc documentation
      Updates
      Docstrings (epydoc) update
      Added browser support
      Added browser support in menu
      Added a "parsed" method appliable on content objects. It will return a
      * Updated to the new advene model API for annotation creation
      Update
      Forced to unicode some strings in context
      * epydocified the classes
      Created a Query class (untested)
      Typo fix
      * Implemented annotation delete
      * Implemented annotation delete (event propagation + popup menu)
      Implemented delete_annotation
      Implemented delete_annotation callback
      Splitted util.vlclib into util.vlclib and gui.util in order to remove
      Splitted util.vlclib into util.vlclib and gui.util in order to remove
      Splitted util.vlclib into util.vlclib and gui.util in order to remove
      DVD chapter/title selection widget
      Use default values from current package media
      Implemented DVD chapter/title selection
      Implemented set_default_media
      Added gettext import
      2 items done
      Corrected the POTFILE generation
      Updated translations
      Updates
      Added changes from 0.4 to 0.5
      Finalized (C-c C-c under emacs) changelog
      In build, create .mo fils
      Made annotation_popup_cb a controller method
      Implemented update_model
      Added update_model method
      Added update_model method
      * Added a treeview in the main app window
      Popup should be under the mouse
      Documentation about the mediacontrol python API
      Make some space for default treeview
      Fix in annotation_popup
      Fixed relative imports
      Query inherits from content.WithContent
      Removed a superfluous check for MediaControl.so
      Hardcoded python path
      Changed ' to "
      Removed sys.path modification for win32, it is the responsibility of the main application
      Added missing exceptions and player status (from the latest MediaControl update)
      win32 fix: update sys.path
      Better info message for win32 fake corba
      Removed DOS-style line endings
      Restored with UNIX line endings
      Added hacked version of matching_relationtypes
      Correctly implemented relation creation (with vlclib.matching_relationtypes)
      Added expert parameter to EditEvent component
      Removed a debug message
      Added interesting comment
      Pass the text filename as parameter
      Added update_element method
      Made the fields editable
      More ideas and reference to ZPT moved to wiki
      Added Apply button to EditPopup
      Do not generate anything except headers in raw mode (so that views can
      Implemented modifying_events to change the modified state of the controller
      Added a test for modification before quitting
      Added a test for modification before quitting
      Strip dots from generated ids (for they mess with CSS class identifiers)
      * Memorize position_before in update_status
      Return unicode strings
      Specify parameter names
      Added meaningful prefix for generated identifiers
      Added meaningful prefix for generated identifier
      Fix relative import paths
      BIG FAT WARNING! In all StringIO, data must be stored in utf-8 encoding
      Fixed some encoding-relative errors
      * Context __str__ returns unicode
      Set default size and resize behavior for logmessage
      Correctly named COLUMN_ values
      Pass controller reference everywhere
      Navigation history module
      Added Navigation history menu item
      Added navigation history support
      Moved platform-dependant player code in advene.player module
      advene.core.mediacontrol only provides PlayerFactory
      Use the advene.core.mediacontrol.PlayerFactory
      Use the advene.core.mediacontrol.PlayerFactory
      Use the advene.core.mediacontrol.PlayerFactory
      Generic context menu builder
      Use the new advene.gui.popup.Menu component
      Fix for get_title
      Fixed relative imports
      Removed relation creation items for we cannot create empty relations
      Removed debug messages
      Use RuleSet.xml_repr() method
      Implemented AnnotationType and RelationType creation
      Added RuleSet.xml_repr method
      Popup menus are now generated by advene.gui.popup module
      Possibility to edit the current STBV
      Added a popup menu
      stbv menu initialization revamped
      get_stbv_list may be called with package uninitialized
      Renamed Ruleset as Dynamic view
      Added "Edit current stbv" button
      Done some work
      Updated changelog
      Implemented Schema delete
      New element update model (*_lifecycle calls in main.py, and we pass
      Fix for Schema creation
      Removed *EditBegin events and added *Create events
      New API for model update
      New API for model updates
      Documentation for the advene mimetypes
      Changed the structured mimetype to application/x-advene-structured
      Use advene.gui.popup module
      MediaPlayer ActiveX control player
      Update to MediaPlayer9
      Import win32com.client
      Update to MP9 object model
      Some fixes
      Renamed player modules
      Use players according to the OS
      Finalized changelog for 0.6
      version=0.6
      Update translations
      Use self.create_position everywhere
      We must convert the unicode filename to a string because CORBA seems
      Fix e-mail address
      Added missing parameter
      Native python-VLC player interface
      CORBA has some problems with unicode strings, so encode them to UTF8
      Specify utf8 encoding for playlist_add_item
      Specify utf8 encoding for playlist_add_item
      Specify utf8 encoding for playlist_add_item
      Specify utf8 encoding for playlist_add_item
      Specify utf8 encoding for playlist_add_item
      Specify utf8 encoding for playlist_add_item
      Fixed the unicode fix...
      Updates
      Début de documentation utilisateur
      Binding of XML into python objects. Handy indeed.
      Parse XML
      Removed debug messages
      * Added a config.data.webserver and put launch_http_server in it as
      Added a config.data.webserver dict options and put launch_http_server
      Added a config.data.webserver dict options and put launch_http_server
      Cut long values
      Fixed the update_model
      Synchronize legend layout and timeline layout (vertically)
      Bug fix
      Implemented get_title
      Use the new vlclib.get_title method
      Removed debug prints
      Pass additional parameters as keywords to build_context
      Typo
      Some more, some less
      Documentation
      Bug fix
      On "new package" activation, check that the current package has been saved.
      Determine Gtk DLLs directory
      Fix the DLL detection
      Completed Query support
      from_dom returns self (to ease construction)
      Implemented query global method
      Bug fix
      Implemented EditQueryForm and EditQueryPopup
      Check the query mimetype before proceeding
      Set the mimetype x-advene-simplequery
      Implemented EditQuery
      Added support for Query
      Implemented Query creation
      Handle Query elements
      Bug fix
      Tried to fix constructor
      Fix getMimeType
      Query language implemented
      Implemented Query language
      Fix for __str__ and i18n
      Fixed Query constructor
      Typo fix
      Use named parameters
      Added update_query method
      Added Query events propagation
      Added Query-related events
      Version number is now 0.7
      Typo
      Translation updates
      * Fix a bug in greater and lower conditions (inversed right and left
      Added return value in queries
      Moved get_valid_members into vlclib
      BugFix
      Bugfix in method name
      Étoffage
      Implemented correct popup for bundles
      Accents
      Added q=queries[-1]
      Des ajouts
      Finalized 0.7 changelog
      Added python-imaging dependency
      Added information files
      Translation updates
      Many updates
      Implemented regexp match in Conditions
      Use Advene NS from config.data
      Added PlayerGoto action
      Try to fix ratio in update_model
      Updates
      Return to referer document after /media/play, pause or stop
      "start" and "set" in update_status convert long parameters to
      Use representation instead of display meta-attribute for annotation titles
      Added Popup action
      Implemented PopupGoto action
      Added python evaluator window (C-e to invoke)
      Added TimeAdjustment support in standard gui.edit.elements popup,
      * Added EditGenericForm (uses getter and setter methods)
      Added some doc files
      Updates
      Translation updates
      Translation updates
      New changelog
      Bumped up version number
      Fixed bug in read_config_file
      * Fixed set_default_media and consistently use it
      Use controller.set_default_media instead of direct access to player
      Fixed debug message
      Added get_homedir method and use it as default path['data']. Next
      Use dvd: rather than dvdsimple: (which is broken)
      Launch the player at application start
      Bug fix
      Well, it seems like the opposite (dvd: - which uses dvdread - is
      Implemented DisplayMarker (rectangle, circle)
      DisplayMarker updates:
      Bugfix
      Importer module.
      Documentation
      Implemented srt importer
      Fixed the STBV edit issue (GUI updates correctly) at the expense
      Fixed formating time issue (missing hour)
      * Fixed a bug in convert (missing quotes)
      Gettext update
      evaluator: Implemented output save
      Removed XML comment (messes with the svg output plugin)
      Fixed lsdvd import
      Fixed bug for the case where no annotation type exists
      Implemented chaplin import
      Do not update snapshots if the player is not playing
      Sort parameter list
      Check bound for updated value
      Check that fragment.begin < fragment.end when editing an annotation
      Added a "sorted" global method, that sorts annotation lists according
      Display an error message if fragment.begin > fragment.end
      Added a check_validity method for forms
      Added an exception report
      Added id validity check
      Changed id prefixes to match validity check
      Added exception report on player closing
      * evaluator: check if annotations exist
      Merged TODO
      Browser now takes a root element as parameter
      Added a popup method
      Added a test for controller
      Use the popup method from browser
      Added element browsing
      Typo fix
      Use bold face if annotation has relations
      Added evaluator and help menuitems
      Added sys module
      * Implemented continuous annotation mode (C-Return)
      Build HTML doc from doc/user.txt
      * Added duration in formatted method
      Global method sorted also sorts collection of comparable elements
      Added self.controller in evaluator
      Implemented /media/stbv
      Implemented generic metadata methods
      Updates
      Done some work
      Implemented dvd_uri method
      Added an EditMetaForm
      New change
      Added description attribute editing for Schema and RelationType
      Added Highlight submenu for annotations
      Added Annotation(De)Activate support
      Forward Annotation(De)Activate events to views
      Renamed *activation to *activate
      Renamed *activation to *activate
      popup menu support for relation members
      Display a submenu for members of relations
      Work done
      New features
      MAJ traduction
      MAJ traduction
      Bumped version number to 0.9
      Version module
      Use version module and check that changelog matches
      Doc update
      Add a trailing / to config.path.data if necessary
      * Whitespace removal
      Documentation updates
      Implemented ELAN converter
      Minor fixes
      Translations
      * ELANImporter now creates specific relation types
      * Highlight related now also highlight current annotation
      Removed useless files
      Added number in valid identifiers
      Display a message on package save
      Implemented Allen's relations
      Transcription view
      Transcription view is triggered by the Cut action using the current
      Reorder
      Added PackageEditEnd event name
      Notify PackageEditEnd
      The delete-event handler must return True to block the propagation of
      Display a hint for STBV in treeview
      * Implemented EditContentForm
      Added register_gui method (needed by popup)
      Register GUI to controller
      Indicate with (*) imported elements (that cannot be edited)
      Take the case of Annotation-/Relation-Types into account and check
      Implemented read-only popups for imported elements
      Make TranscriptionView accessible from the popup menu on AnnotationType
      Removed transcription from cut menu
      Progress documentation
      Integrated Yannick's remarks
      Glade upgrade related
      /media/play can now take a position as next path element
      Completed modifying_events
      Bugfix (the modified state was not updated if there was no rule
      Translation update
      Added Return/Cancel handling in element creation popup
      Implemented PopupGoto2
      Implemented autocompletion (Tab to complete, C-d to display completions)
      Implemented Control-PageUp/Down to scroll the result window
      Return "204 No Content" on /media actions
      Updates
      Renamed config.data.preferences as config.data.player_preferences
      Renamed config.data.preferences as config.data.player_preferences
      Renamed config.data.preferences as config.data.player_preferences
      Implemented ActivateSTBV action
      Implemented popup method for transcription
      Implemented popup method in tree
      * Implemented resize_cb
      Use the new timeline.popup method
      Implemented timeline.popup method
      Use main.init_window_size
      Use main.init_window_size
      Use main.init_window_size
      Use main.init_window_size
      Use main.init_window_size
      Use main.init_window_size
      Save config preferences on exit
      config.data.preferences is now a dict automatically saved/restore. It
      Use transcription.popup
      Updates
      Updates
      * Use a generic multiple choice popup generator
      Do not expand meta element entry fields
      Initialize mimetype for new AnnotationType and RelationType
      Documentation
      Implemented SingletonPopup
      Use the new SingletonPopup
      Renamed view-plugin as viewplugin
      Renamed view-plugin as viewplugin
      Added test (package does not have isImported attributes)
      Manage newlines in popup messages
      Try to manage destroy events (unfinished)
      Corrected timeout handling
      Added duration parameter in Popup actions
      Implementd formatted method for numbers
      Added RuleExecute pseudo-event
      Added SendUserEvent action
      Renamed RuleExecute to UserEvent
      * Implemented option parsing
      Updates
      Updates
      Corrected bug in schedule related to delay (which is still buggy anyway)
      Added a return value
      Pass controller as parameter to browser
      Use gui.init_window_size
      * Implemented annotation recognition
      Added browserview windowsize
      New functionalities
      No expand for metadata edit fields
      Translation updates
      Bugfix in EditQuery (take controller as parameter)
      Added Query support in EditContentForm
      Implemented dummy player
      Use dummy player under win32 for now instead of wmp
      Fixed the newline issues (due to windows editors)
      * Removed reference to the advene.win32 package (we now use
      Implementation of network control of Xine
      Test if duration parameter is present in popups
      Implemented snapshot functionality and automatic launch of xine
      Fixed bug in annotation bounds settings
      Rewrote get_player
      snapshot2png: handle the "PNG" image type case
      Try to kill vlc only if not in win32
      Test for config.data.iorfile before trying to unlink it
      Updates
      Do not specify encoding in parseTemplate for XMLTemplateCompiler
      Importer of Advene elements GUI
      Implemented treeview to edit package imports
      Renamed import as imports (to avoid nameclash with reserved keyword)
      * init_window_size: set a default value for new views
      Added menu items for package imports and external sources import
      Bugfix and added some FIXMEs
      Display URI in imports list
      Implemented GUI for Advene imports
      Implemented dialogs for file import
      Added icon to File import
      Renamed create_package to init_package and do not overwrite package if
      Implemented GUI for DVD chapter import
      News
      Added menuitem for DVD chapters import
      Extended get_title behavior
      Added list_selector function
      * Implemented EditElementListForm to edit lists of elements
      New: edit members of relation types
      * Added Transcription in the Views menu
      Documentation updates
      Created a yes_no_cancel_popup method
      * Renamed add_rule/remove_rule to add_rule_cb/remove_rule_cb
      Renamed button STOCK_DELETE to STOCK_REMOVE
      Implemented the "Import new package" action (GUI only, the model does
      * Implemented the Transcription view access from the Views menu
      Added a statistics attribute (dict) to the Importer class
      Comment update
      * Implemented addition/removal from the ACL
      * Augmented get_title with a supplemental representation= parameter
      Display an informative message upon version mismatch
      Implemented XML read/write methods for class Rule (used in DnD and copy/pasting)
      Added rule drag type for Rule
      * Changed the server root document
      Cosmetic changes
      Use the format_time method from vlclib
      * Implemented toggle options (display timestamps, display annotation
      Changed the display of the history
      * Use the gui.util.entry_dialog method
      * Pass the controller parameter to the logwindow
      Generate a valid ID
      * Implemented package adding
      * Implemented entry_dialog
      Bug fix in parameter order
      Updated format_time
      Fix related to imported packages
      Translation updates
      News
      Update
      * Added "Import file" and "Import DVD chapters" menu items
      Final changes for 0.10
      Update for version 0.10
      Update to match the new simpletal API (3.9)
      Update to match the new simpletal API (3.9)
      Update to match the new simpletal API (3.9)
      Documentation update
      Documentation update
      Documentation update
      Documentation update
      Documentation update
      * Documentation update
      Documentation update
      Documentation update
      Documentation update
      Documentation update
      * Update to match the new simpletal API (3.9)
      * Update to match the new simpletal API (3.9)
      Typo fix
      Documentation update
      Ideas
      Add controller parameter to browser
      Commented out debug message
      Final update for compatibility with simpleTAL 3.9.
      Implemented build_context method, useful in debugging
      Create a default rule when creating a new STBV
      Added a "Save output" button to transcription view
      VLC http interface
      Kill the vlc player only if the player instance is from vlcorbit
      * Catch Advenetalesexception when evaluating parameters
      * Added category parameter to actions
      * Added category parameter to actions
      * Added category parameter to actions
      Updated to version 0.11
      0.11 release justified by the simpletal API changes
      Depends on simpletal >= 3.9.
      Updates
      Translations update
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Removed bang path
      Implemented CategorizedSelector
      Use CategorizedSelector for action selection
      Added categorization for conditions
      * Changed build_optionmenu API and moved it in advene.gui.util
      * Use CategorizedSelector for conditions
      Bugfix
      Use CategorizedSelector for actions and conditions
      Handle editable parameter in CategorizedSelector
      Removed image_to_pixbuf
      Translation updates
      Translation updates
      Format times in mediainformation
      Defined strings to display player status
      Implemented check_player / dvd_uri
      Correct bug in lsdvd importer's regexp
      config.data.player_args does not specify the --intf so that it can be
      * Corrected dvd_uri
      Removed erroneous check (now that we have multiple choices for player)
      Fixed bugs in dummy.py so that it can be used
      * Use self.statustext in view mediainformation
      Update to the new vlc MRL syntax
      Bugfixes
      Use relative positions in display_text again
      Updated Depends:
      Translation updates
      Format time when displaying annotations
      Removed .cvsignore
      Bugfix (restart_player is in controller)
      Made the evaluator widget generic (it is reusable outside Advene).
      display_doc:
      Handle local variable assignment
      Handle assignment expressions in completion and doc
      Do not display private attributes by default.
      * Added shortcuts for button
      Update to match the new evaluator.Window API
      Added close button on evaluator popup
      Cosmetic changes
      Removed debugging print
      Handle selections (possibility to evaluate only the selection)
      Removed gettext support (evaluator is for debugging purposes, and not
      Added comment
      Handling of parenthized expressions
      Implemented restart_player
      Ignore missing TIME_VALUE in anchors
      Implemented setHackedMemberTypes
      Implemented membertypes initialisation in relation type creation for ELAN importer
      Implemented update_element in EditElementListForm
      Documentation update
      Update
      Some information
      Bugfix: insert --intf corba as args
      Fix the bugfix
      config is the module here
      Removed debugging print
      Doc fix
      Implemented TypedString (with contenttype attribute) and use it in snapshot2png
      Implemented TypedString (with contenttype attribute) and use it in view()
      Implemented TypedString (with contenttype attribute) and use it in not_yet_available_image
      Handle content-type attribute
      Version 0.12 (last exit before upgrade to gtk2.4)
      Set author to advene team
      Fix in ecaengine.notify to set a valid 'view' value
      gtk2.4 update: use gtk.ComboBox for current_type_combo and stbv_combo
      Removed gtk.Combo from EditAction
      Bugfix: notify ViewActivation when view is None
      gtk2.4 update: use ComboBox instead of OptionMenu
      Some work to do
      Check that no relations use the deleted annotation
      Revamped the combobox code
      Added Description edit field in package edit popup
      vlclib.get_title handle None
      Update the dependencies
      Use the object as default reference in traversePathPreHook
      gtk 2.4 update (OptionMenu -> ComboBox)
      * Put generate_list_model in advene.gui.util
      get_title does not crash if controller is not set
      Moved generate_list_model to advene.gui.util
      Converted buttonbox into toolbar
      Added a view toolbar
      * Try to resolve the main window auto-resize bug
      Translation updates
      gtk2.4 udpate: VALID_ITER checks are more strict. nodeChildren(None)
      Use logwindow.popup method
      * Implemented popup method
      Added a file operations toolbar
      Handle descriptions (starting with '----') from get_valid_members
      Added descriptions (starting with '----') in get_valid_members
      Handle descriptions (starting with '----') from get_valid_members
      Converted constants to dicts (config.data.target_type and config.data.drag_type) for drag n drop implementation
      Add a suffix to a dropped rule if another rule with the same name exists
      Converted constants to dicts (config.data.target_type and config.data.drag_type) for drag n drop implementation
      Added vlcnative as default player for Win32
      Implemented get_filename with FileChooser widget (from gtk 2.4)
      Use advene.gui.util.get_filename
      * Removed file_selector and associated callbacks
      Bugfix in unit test
      Bugfix
      Display package preview button
      Depend on vlc-plugin-corba OR python-vlc
      New things (mostly gtk 2.4 related)
      * Handle plural forms in package summaries
      Added translation for the EditRule frame title
      * Added a description parameter to PopupGoto
      set toolbar style: preselect current style and update all toolbars
      Bugfix for windows: convert windows drive: notation to URI-compatible syntax
      * Update preferences bugfix
      * Do not use GNU extensions in time.strftime (non portable)
      Some tweaking
      Added Win32-specific information (requirements)
      Resolved conflict on mediacontrol
      Bumped version number to 0.13
      Added windows-specific setup (for py2exe)
      Added idgenerator module
      Workaround the too-specific windows hack
      Extended tests for Gtk path
      Many updates
      Added player_url global method
      Added preselect parameter to list_selector
      Convert chapter and title to int
      Do not use the (broken) snapshot module for the moment
      dvd_uri: Use title/chapter order
      Translation updates
      Update changelog information
      Added excludes options for Tk
      Added hack to improve the webserver reactivity on win32
      Hack: force http mode to gtk_input on Win32
      Commented out pygtk.require, to ensure proper running on win32
      Added some includes to setup-win (for py2exe)
      Bugfixes
      Defined default size for main window
      InnoSetup configuration file
      * Win32 specific fixes
      Win32 fixes: guess the VLC path from the registry. It invalid, use the
      Debug message
      Merged Win32 modifications
      Description of 0.14 changes
      TODO Updates
      Translation updates
      Translation updates
      Added default value for imagecache path on Win32
      Updated version number
      Use relative paths in ISS file
      * Added gtk etc and useful lib directories
      Bugfix
      Bump version number to 0.15
      Fix installed locations for data files on Win32
      Added .ico file
      Updated template file (added mimetype to simpletext annotation type, updated
      Re-commented dll_excludes options
      Added ref. to .ico icon file
      Changelog finalization
      vlc-plugin-svn is recommended rather than required.
      Use a uniform syntax for DVD URIs:
      Get DVD device name from VLC
      Bugfix in dvd_uri
      Bugfix wrt dvd_regexp
      * Added OpenView action
      Use md5 to generate the mediafile id
      Call gtk.threads_init for win32
      get_default_media: check None value
      get_default_media now never returns None
      Francisation du titre, suppression d'un accent
      Bugfix in mediafile2id
      * DVDChapter: use the new unified DVD URI syntax
      transcript: Display control buttons on 2 lines
      Convert URI to Win32-pathname  in package.save
      Reload package if the URI has changed
      Update the window title on title update
      Handle forward references on annotations in ELAN files
      transcription view: display activated annotation in reverse-video
      * Bugfix in snapshot2png
      Define a pseudo-class Snapshot
      controller.py: Removed player status test in update_snapshot
      vlcnative:
      vlcnative: Use absolute position in update_status
      TALES entry widget
      browser.py: Implemented popup_value to support tales.TALESEntry
      tales.py: implemented get_text, show, hide
      Use tales.TALESEntry to edit TALES fields
      Pass controller to EditRuleSet
      * Pass controller to EditRuleSet
      * Support /media/stbv/stbvid syntax
      TranscriptionEdit widget
      Implemented ask_for_annotation_type
      Implemented annotation generation
      Added dialog feedback on completion
      Implemented format_element_name (to get plural forms of element names)
      Use format_element_name from vlclib
      importer: Added statistics_formatted
      * Added TranscriptionEdit support (from File menu)
      Added Import Transcription to File menu
      Use statistics_formatted from Importer
      Added Go to... context menu to timestamp marks
      Changelog update
      Added length method
      Added '-p' command-line option to select a player
      * Added transcribeview to windowsizes
      Use player defined by config.data.player['plugin']
      * Use advene.gui.util.list_selector to select the relation type
      More work
      transcribe: Added discontinuous mode toggle
      transcription: correctly handle current annotation selection (on
      Changes for 0.16
      Move python-pyorbit from Depends: to Recommends:
      Update version number to 0.16
      Added an "update" target to do all three steps
      Translation updates
      Updated developper.txt (and use ReST format)
      Move vlc-plugin-corba|python-vlc to Recommends:
      control: use Architecture: all
      Update version to 0.16
      Added Exceptions to dummy player
      vlcnative: Implemented set_visual (for video embedding)
      Implemented video embedding
      developper.txt: Added release information
      user.txt: added information about data import and transcription import
      Cosmetic change: split get_player methods into 2 platform-dependent methods
      * args are passed in the Controller constructor
      Bugfix in mediacontrol
      Implemented singletonpopup.reparent method
      args are now given to the AdveneGUI constructor
      Added logwindow widget.
      GUI tweaks
      Handle the --no-embedded option
      Implemented mplayer support (limited with 1sec resolution only)
      Workaround the empty representation bug (to fix later)
      Removed debug message
      Implemented controller.open_url (used by logwindow)
      Add left button click in timeline to display popup menu
      transcribe: Added adjustment possibilities to mark popup menu
      Documentation update
      timeline: Implemented drag modes (annotation alignment)
      importer:Trivial bugfix
      Implemented AccumulatorPopup
      * Discontinuous mode is now default
      singletonpopup: Add default param to undisplay to match AccumulatorPopup API
      Use AccumulatorPopup
      accumulatorpopup: Bugfix in widget expiry code
      controller: Added notify parameter to update_status
      history: implemented append/clear methods
      mplayer: implemented display_text
      dummy: added self.relative_position
      mediacontrol: player selection through -p option on win32 too
      main: Added NavigationHistory widget to the main view
      changelog: news
      TODO: more things
      Moved all visualisation widgets (video output, popups, history, url
      timeline: Translated strings
      config: added tuple support for advenefile
      advene: bugfix (conflicting variable name)
      main: added toolbar in visualisationwidget
      create: added modal parameter to popup()
      importer: initialise statistics elements to 0
      edit.elements: implemented modal mode in .edit()
      create: popup() now returns the created element
      vlclib: added TitledElement
      logwindow: make logwindow embeddable
      main: implemented creation mode in annotationtype and schema selection
      Translation updates
      transcribe: typo correction
      create: bugfix
      transcribe:
      gui.util: translated strings
      main: set author on annotation creation
      user.txt: Conversion to twiki formatting style
      controller:
      edit.elements: added default_stbv and default_utbv package metadata
      actions: added OpenURL action
      controller: implemented get_default_url
      main: user controller.get_default_url on web browser open
      controller.get_default_url: return None if no package is loaded
      timeline: added player control toolbar
      transcribe: added player control toolbar
      dummy: implemented dvd_uri
      mplayer: implemented dvd_uri
      mplayer: implement stop using pause
      mplayer:
      main: bugfix (get_default_url is in controller)
      transcribe: implemented ignore text functionality (via popup menu)
      setup.py: removed build_doc as user.txt is now in TWiki
      importer: use config.data.userid as default author
      timeline: do not check if the annotation is in the list when handling AnnotationCreate
      main: use idgenerator for new annotations
      vlclib: added new element_declinations
      importer:
      transcribe: moved the toolbar to the popup
      create: use idgenerator
      controller: use the idgenerator
      Translation updates
      News things
      TODO: updates
      controller: variable name bugfix
      webserver: implemented favicon.ico support
      transcribe: use lightblue/tomato for markers colors
      controller: implemented get_title
      vlclib: make get_title more robust (catch exception in representation
      fragment: corrected implementation of clone()
      annotation: typo fix
      controller: implemented transmute_annotation()
      timeline: implemented annotation transmutation
      Removed timechooser
      timeline: suppress popup on left-button click (confuses gtk on win32),
      timeline: (not quite) correct detection of the legend width
      controller: append newly created annotation to package.annotations
      accumulatorpopup: changed a label
      timeline: also display empty annotation types
      vlclib: make get_title more robust
      main:
      controller: typo fix
      tree: use vlclib.get_title to render elements
      elements:
      transcribe: strip leading and trailing whitespace/newline
      main: display number of relations in saved package
      main: display number of relations in saved package
      tree: bugfix in element title truncation
      vlclib: get_title should be really robust by now, shouldn't it ?
      elements: bugfix in empty-metadata-workaround
      config: added config.data.webserver['displaymode'] parameter
      webserver: use config.data.webserver['displaymode'] parameter
      transcribe:
      rules: bugfix in Query edit widget
      logwindow: added embedded parameter
      main: use the new logwindow embedded parameter
      transcribe: variable typo fix
      controller: reset annotation list on player start or set (fixes the
      global_methods: handle the empty list case in first() and last()
      logwindow:
      timeline: set default zoom value to 1.0
      logwindow: make labels left-aligned
      rules.elements: make "before" and "after" Allen's relations use >=
      accumulatorpopup: add a frame and a title around the widgets
      singleton: add title= parameter to display() to match accumulatorpopup API
      main: frames around the popup widgets is now handled by
      controller: generate AnnotationBegin/End events only if status=PlayingStatus
      webserver: use controller.get_default_media if available
      config: added config.data.path['moviepath'] parameter
      controller: implemented moviepath support
      timeline:
      timeline: keep the current mark at the same position when zooming
      controller: implemented event queue (to better handle multiple
      main: use gtk.threads_(enter|leave) around controller.update (which
      webserver: update_status and activate_stbv are now implemented using
      accumulatorpopup: use pack_start instead of add so that popup keep the
      transcribe: converted buttons to toolbar
      timeline: shortened labels for toggles
      tree: double click an a list of (schemas, views, queries) proposes to
      edit.ryles: replaced gtk.FALSE/TRUE by False/True
      edit.tales, edit.rules, edit.elements: implemented TALES validity check
      main: use vlclib.format_element_name to give feedback on package load/save
      transcribe: handle [xx:xx:xx.xxx] timestamps and generate marks
      vlclib: implement convert_time() (taken from importer)
      importer: convert_time has been moved to vlclib
      changelog: updates to rev. 1149
      timeline: implemented relations display on mouse-over-button
      accumulatorpopup: add a colored title to new widgets
      transcribe: check on the consistency of mark wrt. surrounding marks
      gui.util: implemented image_from_position with scaling parameters
      history: use gui.util.image_from_position
      main: use gui.util.image_from_position
      imagecache: removed debug message
      global_methods: added application/x-advene-simplequery to XML mimetypes
      webserver: display formatted times
      controller: removed debug message
      accumulatorpopup:
      evaluator: implemented attribute setting (o.attr=val syntax)
      transcribe: handle ignored text when saving/loading transcriptions
      transcribe: implemented Control-S to save transcription
      main:
      global_methods: fixed rest() method
      advene.glade: added file history toolbar item
      tales: epydoc updates
      transcribe: added Save As toolbar item
      config: added config.data.preferences['history']
      evaluator: implement dict key completion
      viewplugin: added note about update_position
      Translation updates
      importer: add source filename in description
      Added filehistory icon
      main: in self.log, replace the cursor at the end each time
      edit.rules, edit.elements: bugfix in update_value/update_element that prevented validation of elements
      popup:
      advene.glade: added missing tooltips
      advene.glade: forgot to run scripts/fix_glade
      config: implemented -c<configfile> option
      changelog: updates and restructure
      Translation update
      webserver: make query parameters available through request/ root element
      webserver: use default_utbv in root document if present
      advene.glade: GUI redesign to gain some space
      rules.elements: trivial bugfix in match()
      controller:
      user.html: imported from TWiki
      config: use os.path.expanduser to find homedir
      webserver: use the /media/snapshot/alias/???? syntax for snapshot access
      advene.glade: changes in fileop toolbar
      main: display a log message if the help file is not present
      main: removed webbrowser references, use controller.open_url
      transcribe: when saving a transcription, preserve whitespaces/newlines
      popup: implemented delete_elements() for  annotationtypes and relationtypes
      fr.po: suppressed all accented characters from glade strings (messes
      timeline:
      controller: improved get_default_media of moviepath on windows
      main: install gettext using config.data.path['locale']
      setup-win.py: added cp437 encoding
      controller: do not send update_status commands if playlist is empty
      controller: added root parameter to get_default_url
      main: display a UTBV menu when clicking on the webbrowser icon
      importer:
      main: pass controller to get_importer
      importer: remove debug message
      main: handle accented filename in import
      main, create, importer, controller: use '%Y-%m-%d' for strftime instead of the %F shortcut (does not work on Windows)
      changelog: updates
      controller: small (but subtle) bugfix: do not try to overoptimize, or
      main: trivial bugfix in action_popup
      vlclib: implement (un)import_element for all importable types
      imports: implemented GUI support for annotations, relations, queries,
      main: disable update_snapshot functionality
      imports: try to better handle the imports (not quite there yet)
      main: do not activate the edited STBV by default.
      sample_player: sample implementation of a simple player with embedded video output
      timeline: display outgoing relations in green and incoming in yellow
      browser: Propose to display the query results in a timeline if it is a
      interactivequery: first implementation
      timeline: do not reset the annotation list to the whole package
      main, advene.glade: added support for Find (InteractiveQuery)
      popup: add InteractiveQuery support
      webserver: /media/play without parameter starts the video
      webserver: added stbv= parameter to /media/play
      actions: make the player control use the controller update_status
      controller:
      All GUI views: added view_name property
      vlclib: implement get_id method (waiting for the model to properly
      main: on_transcription1_activate can take an annotation type as parameter
      webserver: implemented /application/stbv and /application/adhoc support
      webserver: displaymode is now changed by a simple GET /admin/display/raw
      config: make 'raw' the default display mode
      timeadjustment: "Play" launches the player if it is not playing
      tanscribe: add default timestamp mark at 0
      transcribe: made local reaction time a spinbutton. Use it also for
      advene.glade, main: move file history to File menu
      transcribe:
      transcribe: re-enabled 1s/.5s/.1s mark alignment menus
      main: on_import_transcription1_activate accepts a filename/uri as parameter
      webserver: implemented /application/adhoc/transcribe?url=... support
      transcription:
      Starting of esperanto translation
      Translation updates
      Ajout du fichier .mo dans le repository
      vlcnative: implemented activation of snapshot filter
      config, gui.main: implement config.data.preferences['history-size-limit']
      webserver: epydoc updates
      doc/html: added epydoc-generated HTML developer documentation
      Makefile: for developer tools access (epydoc, gettext)
      browser: add view_button in popup_value
      changelog: updates
      TODO: updates
      importer, handyxml: epydoc updates
      controller: epydoc update
      webserver: use self.server.packages to count how many packages are loaded
      webserver: implemented /application/adhoc/browser support
      main: ignore new_pkg in file history
      core.version: updated version number to 0.17
      Doc: removed vlc.* (confuses buggy windows clients that are case-insensitive)
      webserver:
      vlcnative: pause/resume do not work as toggles anymore
      controller: bugfix in translated string
      Translation fix
      New .mo
      logwindow: use labeled frame
      advene: update path['plugins']
      TODO: updates
      advene.iss, config, vlcnative, advene: use VLC plugins from {advene}/lib
      vlcnative: update_status("pause") now is a toggle
      advene.iss: updated version number to 0.17, display changelog
      Removed last accented translation for glade
      model.tal.context: use Unicode with simpleTAL
      simpletal: embed version 3.12 so that we know it is available
      webserver:
      vlclib: add TypedUnicode class
      viewable: do not decode view() result
      evaluator: implemented dict attribute setting
      vlcnative: do not pass plugin-path on Linux, it crashes VLC
      Removed user.txt and make a copy of user.html from the Public Wiki
      Documentation update
      update_doc: fetch the documentation from the public wiki and remove wiki-specific links
      config: add 'locale' to default paths
      changelog: add trailer signature
      debian/doc: updates
      dummy: pretend that dummy can be embedded (implement set_visual)
      Updated translations
      Removed old version of shared/web.html
      Moved user doc from doc/ to share/web
      update_doc: updated user.html directory
      global_methods: handle both application/ and text/ for
      controller: do not use Queue for event queueing (it should not cause
      main: catch socket error in HTTP request handling
      main:
      mplayer: return integer values
      transcribe: implemented Tab (play/pause) and Control-Return (insert
      transcribe: implemented Control-(left|right|home) [video control]
      Translation updates
      Removed spurious c-M
      main: gtk.threads_(enter|leave) are now useless (since all
      gui.edit.elements: added content open/save/reload functionality
      gui.util: Add defaut_file parameter to get_filename()
      browser: remove deprecated expressions
      controller: fix moviepath _ handling
      timeline: handle either specific annotation lists or the whole package
      main:
      mediacontrol: fix reading of VLC registry value
      changelog: news
      main: do not automatically start the DVD upon DVD chapter selection
      controller:
      edit.tales: allow empty expressions
      global_methods: implemented randompick method
      transcribe:
      transcribe.py:
      main:
      transcription: sort annotations before displaying them
      advene.glade:
      TODO: some more, some less
      debian/control: remove dependency on python-simpletal (it is now
      changelog: some news
      Translation updates
      Updated translations
      .glade, main: added a button to select the movie file in package properties
      Bump version number to 0.18
      scripts/update_doc: bugfix (typo in output filename)
      share/web/user.html: updated documentation
      debian/docs: removed user.html (now in share/web/user.html)
      Define translated templates
      Quick translation of the template file
      Integration du template espagnol (traduction de Emmanuel Ayala)
      Integration du fichier gettext espagnol (traduction de Emmanuel Ayala)
      Remove useless urlparse module
      Remove unused modules
      vlcnative: Implement set_visual using native API first
      Translation updates
      Added spanish translation
      Update mo files
      Many new todo items
      config: fix 'locale' and 'plugins' when using registry values for
      setup.cfg: configuration file with RPM specific options
      Some more TODO items
      controller: add /package root element in build_context()
      interactivequery: catch TALESException when evaluating query
      gui.main: removed useless imports
      webserver: removed useless imports
      All: Added GPL headers to .py files
      bin/advene: added GPL header
      Removed outdated scripts
      MANIFEST.in: filelist for RPM generation
      Move trunk to the top-level directory
      doc/html: epydoc documentation update
      doc/html: epydoc update with added files
      Ignoring ignorable files
      README update
      mediacontrol: use dummy module if the mediaplayer import caused an error
      changelog: notified spanish translations
      TODO: some notes
      browser.py: remove #! line
      tmp/html: remove obsolete directory (epydoc documentation is now in doc/html)
      vlcnative: use option "--vout-filter"
      debian/copyright: updated FSF address
      resources.py: Classes to access resources in Advene Zip Packages
      zippackage: support for the (transitional) Advene Zip Package format (.azp)
      package:
      create, main, sequence, relation, tree, controller, webserver:
      controller: handle .azp files on command line
      controller: add ~ expansion in moviepath
      zippackage: bugfix in cleanup method
      zippackage:
      zippackage: handle manifest.xml files
      debian/changelog: announce new .azp file format
      TODO: update
      main: clean the event_handler initialization for internal rules
      package: implemented .azp support for Package creation from source=
      controller: added zippackage cleanup in on_exit()
      idgenerator: added support for resources
      create: add support for resources creation
      viewable: add hack to allow simple display of ResourceData instances
      resources:
      zippackage:
      package:
      tree: add resources view in DetailedTreeModel
      popup:
      importer: use self.timestamp if date attribute is missing in ELAN file
      TODO: new idea
      TODO: demo maker updates
      vlclib: made vlclib more flexible
      importer: first pass at a CMML importer
      zippackage: use the same extension when making a local copy of a URI
      package: add a close() method (to cleanup Zip packages)
      util: display preview for .azp packages too
      changelog: new cmml importer
      advene.glade: add a File/Select video file item
      edit/elements: implemented ResourceData editing widget
      edit/elements: removed trailing whitespaces
      resources: implemented getId
      create: change notifications to ResourceCreate
      tree: use childrencache for Resources
      rules.elements: document Resource-related events
      edit.elements: notify ResourceEditEnd
      Explanations about the new .azp file format
      mimetypes.txt: added AZP mimetyp
      TODO updates
      Bump version number to 0.19
      TODO: ref. to schema editor
      gui.main: - remove pygtk import
      all: remove pygtk import
      core.config: handle darwin platform detection (config.data.os)
      advene.glade: use new icons
      gui.main: hide Navigation history and URL stack menu items when these  views are embedded.
      model.package: documentation fix
      core.controller: properly catch the exception when the template file cannot be found
      debian/control: advene now uses STOCK_MEDIA_* icons available from gtk2.6
      scripts/version: script that returns the version number of the tree
      pyinstaller: generation of an executable with all needed libraries embedded
      gui.edit.elements: do not allow mimetype edition for queries
      gui.main: use gtk.STOCK_MEDIA_ icons in navigation toolbar
      gui.edit.elements: factorized mimetypeeditable setting
      shapewidget: basic shape editor
      global_methods: make parsed handle application/x-advene-zone
      gui.edit.elements: handle application/x-advene-zone mimetype
      simpleTAL: make HTMLTemplate.expand grok the suppressXMLDeclaration parameter
      gui.edit.elements: pass annotation context to EditContentForm
      Moved shapewidget from gui.views to gui.edit
      transcribe: display snapshot in popup menu
      advene.util.importer: add registering framework
      gui.edit.elements: defaut zone is whole picture
      core.webserver: log messages to a StringIO instance
      gui.main: display exceptions in the logwindow
      gui.main: implemented "View webserver log"
      Added Webserver log menu item
      All: global untabify on source files
      core.plugin: plugin loader module
      core.plugin: documentation
      Translation updates
      core.config: removed references to CORBA player
      player.vlcorbit: inserted data removed from config
      GUI: added element creation toolbar
      plugin architecture documentation
      player.dummy: simulate time progression
      core.plugin: get plugin name
      controller:
      bin/advene: implemented pyinstaller configuration hook
      gui.main: moved GUI actions to gui/plugins/actions.py
      Remove pygtk references
      TODO: some items done
      README: we now use gtk >= 2.6 features
      changelog: some news
      TODO: resolved merge
      changelog: some news
      doc/plugins.txt: implementation notes
      controller: add flag cleanup_done to execute on_exit only once
      setup.cfg: require gtk >= 2.6
      Generic property editor
      gui.edit.properties: add popup() method
      gui.edit.properties: use new fileselector
      GUI: use advene.gui.edit.properties instead of Glade dialogs
      core.config: define common content mimetypes
      core.config: revert change
      gui.edit.elements: use ComboBoxEntry for editable MIME type
      gui.edit.elements: prepare for content MIMEtypes
      controller: simply deactivate the web server if the port is busy, do
      gui.main: handle the deactivated webserver case
      TODO: cleanpu
      doc/plugins.txt: add example
      gui.popup: correct bug in element deletion
      gui.util: implement message_dialog helper
      gui.util: if icon==gtk.MESSAGE_QUESTION, then return a boolean matching the answer
      All: use advene.gui.util.message_dialog
      gui.main: comment fix
      edit.elements: defined ContentHandler interface and moved contenthandlers
      core.controller: add register_content_handler
      core.config: implement register_content_handler and get_content_handler
      changelog: update
      Update svn:ignore
      core.plugin:
      core.controller, gui.main: use the prefix= parameter in load_plugin
      plugin, controller, main: do not use . in plugin prefix, it will mess with
      gui.plugins.contenthandlers: use floats to define zone bounds percentages
      gui.edit.create: add SPARQL Query creation
      gui.plugins.contenthandlers: name edition for zones
      gui.edit.transcribe: make a snapshot for transcription marks
      core.plugin: use inspect.isclass
      gui.evaluator: doc display is now Control-h. Control-H displays object source.
      gui.evaluator: implemented expression history
      gui.views.interactivequery: use a source parameter
      gui.popup: pass source= parameter to interactivequery
      vlcnative: catch the exception generated by o.config_set if the
      bin/sample_player: patch to embed video output on win32
      gui.evaluator: implement module import
      player.vlcnative: deactivate clone module (hence snaphots) on win32.
      bin/advene: first check if we are in a development tree
      gui.edit.transcribe: win32-related bugfix (filename encoding)
      player.vlcnative: restart_player now does the same as player initialization
      gui.main: re-embed player on player restart
      gui.transcription: use the advene.gui.util fileselector
      gui.views.transcription: catch exceptions when saving output
      gui.main: do not use controller.load_plugins to load default plugins,
      gui/plugins/__init__.py: package init file
      model.package: fix .azp loading on win32
      bin/advene: use traceback.print_exc to display exceptions
      bin/advene: missing traceback display
      core.controller: modify exception reporting
      controller: open_url should use webbrowser.get() on Mac OS X
      gui.edit.transcribe: clicking on a timestamp mark will now goto the mark position (instead of deleting the mark)
      gui.edit.transcribe: put "Remove mark" item in the popup menu
      zippackage: fix .AZP package loading on win32
      gui.main: bugfix (yes/no inversion in dynamic view creation question)
      advene.glade: corrected callback for create schema toolbar item
      gui.main: implemented generic player shortcuts
      transcribe, timeline: use generic player shortcuts
      gui.main: superfluous :
      player.dummy: implement the Position object
      gui.evaluator: implement expression history save/restore
      player.dummy: fix position creation
      core.controller: return unicode package_url
      rules.elements: add priority attribute to rules
      rules.ecaengine: use the rules.priority to sort parallel rules
      core.config: small change to information messages
      core.controller: define default priority when loading default ruleset
      Remove epydoc generated documentation. It will updated from time to time in the download section of gna.org/projects/advene/
      evaluator: test on historyfile definition
      gui.main: save evaluator history to ~/.advene/evaluator.log
      gui.views.browser: use controller.build_context to build context
      gui.views.browser: remove useless default_options()
      TODO: some ideas
      gui.edit.imports: remove pygtk reference
      core.webserver: cleanup
      changelog: updates
      Add .bak so svn:ignore
      gui.edit.elements: fix SVG mimetype
      core.webserver: bugfix in get_url_for_alias call
      gui.main: make webserver log window scrollable
      core.config: add weblogview window size
      player.vlcorbit: define a cleanup() method
      controller: try to call player.cleanup()
      gui.edit.transcribe: fix timestamp modification + control-space shortcut
      gui.edit.create: remove useless key_pressed_cb method
      gui.main: remove useless code (from pychecker)
      gui.edit.rules: pychecker + whitespace fixes
      gui.edit.transcribe: pychecker + whitespace fixes
      gui.evaluator: import modules into self.globals_
      gui.evaluator: whitespace fixes
      core.controller: doc. update
      core.controller: whitespace fixes
      Merged TODO items
      TODO: Merge
      core.controller: use the correct date when creating a new package
      core.controller: set_default_media belongs to controller
      model.query: bugfix (remaining code from a copy/paste), exhibited when importing queries
      player.dummy: implement restart_player
      translations: update of the french translations
      core.controller: stop event handler on exit
      core.config: fix get_player_args
      gui.main: coding changes in configure player dialog
      player.vlcnative: use config.data.get_player_args() to launch vlc
      core.config: use --vout-filter for vlc
      model.package: convert windows paths to URL for imports
      player.dummy: remove useless comments
      gui.edit.imports: annotation- and relation-types ids can now be displayed
      interactivequery: use vlclib.get_id
      core.idgenerator: add id existence testing facility
      gu.edit.create:
      player.dummy: return a dummy stream_duration only when playlist is not empty
      model.modeled: handle the None prefix case
      model.package: modified getQnamePrefix implementation
      core.idgenerator: do not append id to self.existing in get_id
      core.config: allow to specify vout on non-linux
      gui.evaluator:
      core.controller: reset playlist related parameters when loading a package
      gui.evaluator: correct indentation
      player.vlcnative: do not take snapshots if we are not playing
      gui.main:
      gui.views.history: fix standalone use
      Add initial version of gstreamer player plugin (not working ATM)
      core.imagecache:
      gui.main: when saving imagecache, display the cache directory name
      gui.main: use config.data.path['data'] as default dir in import and media association
      core.config: add user-specified paths to config.data.preferences. When set, they will override config.data.path[] items
      gui.main: add GUI to edit configuration paths
      debian/changelog: some news
      changelog: add some whitespace
      bin/advene-import: standalone script for convering data to Advene format
      Rename advene-import to advene-convert
      Remove obsolete runAdvene.py
      vlclib: snapshot2png return a dummy picture if the image.type is not known.
      core.controller: update_snapshot only if config.data.player['snapshot']
      gui.main, advene.glade: completely remove the Update snapshot functionality, it is too unstable anyway
      gui.main: always use gtk.threads_init (even on win32)
      bin/advene: do not modify path['plugins'] in fix_paths
      core.config: config file advene.ini takes precedence over settings automatically saved in preferences
      core.config: add '--intf dummy' to vlc parameters
      util.vlclib: handle 'png ' fourcc
      vlcnative: remove the clone parameter settings. The built-in snapshot functionality will be used starting with vlc 0.8.5 (svn rev. 13895 in fact)
      core.config: snapshot functionality no longer depends on clone (cf vlcnative logs)
      gui.main: correct win-specific video player  output options
      Translation updates
      gui.main: threads_init on win32 prevents Advene from starting...
      setup.py: merged win32 specific functionalities, thus remove setup-win32.py
      translations: put back accented characters in .glade translation strings
      gui.main: tune gettext related initialisations
      glade: Modif titre appli
      gui.util: implement get_dirname
      gui.edit.properties: implement dir. selection
      gui.main: use add_dir_selector for directories
      gui.evaluator: tweaks to handle named parameters vs. directory assignment
      util.vlclib: bugfix in snapshot2png
      rules.elements: remove the deprecated from_file/to_file code
      gui.edit.shapewidget: added epydoc documentation
      model.*: epydoc updates
      core.*: epydoc updates
      util.handyxml: epydoc update
      util.client: remove obsolete file, could contain misleading information
      gui.main: automatically add filename extension
      Added notavailable pixmap
      core.imagecache: load not_yet_available_image from the pixmaps
      util.vlclib: allow graceful degradation if the Image module is not available.
      advene.glade: remove Quit toolbutton (use File/Quit to quit the application)
      gui.views.timeline: remove debug messages
      scripts/version: use /usr/bin/env bangpath, helps on cygwin
      All: replace os.sep.join() with os.path.join() [same effect, different style]
      bin/advene: replace os.sep.join() by os.path.join()
      setup.py: use os.path.join instead of os.sep.join
      pyinstaller/advene.pyspec: minor change
      pyinstaller/Makefile: replace PYINSTALLER path
      Update svn:ignore
      bin/advene: use os.path.pathsep instead of ;
      gui.main: use os.path.pathsep in tooltip about moviepath configuration
      GUI: move toolbar style selection into main preferences panel
      core.imagecache: read/write snapshots in binary mode
      model.resources: use binary mode for reading/writing resources
      player.vlcnative: try to get date parameter from snapshot
      model.tal.context: py2exe does not understand that ContextVariable is inherited from simplesTALES.Context, just specify what module it comes from.
      gui.main: do not destroy the embedding widget when the video output
      gui.main: fix the embedded vout destroy problem(on movie stop) for win32
      core.controller: remove code for automatic snapshot taking
      gui.main: remove update_snapshot from updated_position_cb (now done in controller)
      core.controller: do a snapshot *before* changing position
      TODO updates
      gui.views.history: fix widgets
      gui.util:
      gui.create: use the new gui.util.list_selector_widget method
      gui.main:
      gui.main: catch a conversion error of movie duration
      core.controller: implement queue_registered_action
      util.vlclib: implement is_valid_tales (moved from gui.edit.tales)
      gui.edit.tales: use vlclib.is_valid_tales
      core.webserver: implement /action-style paths
      webserver DONE: /action path
      gui.edit.elements: in TextContentHandler, insert values or TALES paths
      advene.model: rename unit.py to test.py
      doc/TODO: more items
      gui.views.tree: fix update_model
      UserGuide update (english only now)
      gui.edit.create: fix bug in GUI for schema creation
      gui.views.tree: use row-activated event to catch double-click. This
      gui.views.timeline: add shortcut to edit an annotation (e when the
      core.webserver:
      Standalone web server, with path setup
      debian/changelog: some more explanations about resources
      debian/changelog: updates
      GUI: by default, use the space at the right of the video window to display
      debian/changelog: news
      gui.main:
      model.tal.global_methods: implement the related method, that returns
      changelog: explain global_methods.related
      tal.model.global_methods: improve docstrings
      core.config: implemented register_global_method
      core.controller: implement controller.register_global_method
      core.controller: in build_context, add a player element, and user-defined global methods
      rules.ecaengine: in build_context, use controller.build_context as a
      util.vlclib: display user-defined global methods
      model.tal.global_methods: import random inside the randompick function
      core.webserver: /admin/methods displays the list of available TALES methods
      core.controller: config.data.global_methods is now a dictionary
      core.config: config.data.global_methods is now a dict
      core.webserver: define the log controller method
      core.webserver: return after displaying message + handle the case where imagecache loading fails
      core.config: rename embed-logwindow preference to the opposite embed-treeview
      gui.main: use the embed-treeview option, and allow to set it in the preferences panel
      gui.edit.create: fix bug in resource creation
      gui.main: use the same identifier when saving imagecache as in controller.manage_package_load
      core.imagecache: fix imagecache loading (be more tolerant to invalid filenames)
      core.webserver: fix update_status paremeters
      core.webserver: in standalone load_package, update the playlist
      core.controller: update documentation
      core/controller, core/config: allow to specify a name for register_global_method
      gui.util: handle the case of corrupted png data (use the not available image)
      gui.main: put video output on the left of the window (helps when other
      doc/plugins.txt: update documentation
      debian/changelog: typo
      core.controller: in build_context, package and player are globals, not options
      rules.ecaengine: in build_context, use if present the here parameter
      gui.main: in visualisation widget, replace the HBox by a HPaned, so that the user can resize all elements
      gui.views.timeline: compute timeline bounds in timeline constructor
      gui.views.timeline:
      Notebook of views widget
      gui.edit.transcribe: add view_name attribute
      gui.views.browser: put the view_name attribute at the right place
      gui.views.__init__: define a generic AdhocView class
      gui.views.viewbook: add drag and drop functionality to add views, and popup menu on tabs to remove views
      gui.views.browser: use AdhocView popup method
      gui.views.viewbook: bug/warning fixes
      gui.views.viewbook: make viewbook itself a AdhocView
      gui.views.viewplugin: attribute updates
      gui.views.__init__: use widget buttonbox if available
      gui.views.browser: test for existence of self.view_button
      gui.views.timeline: use AdhocView methods
      README: update requirements
      gui.views.tree:
      gui.views.viewplugin: inherit from AdhocView
      core.config: add a new DnD type for adhoc views
      gui.views.transcription:
      HTML view implementation
      gui.edit.transcribe:
      advene.glade: give meaningful names to toolbuttons for AdhocViews
      gui.views.logwindow: inherit from AdhocView, remove the embedded parameter
      gui.main:
      core.webserver: use gui.open_adhoc_view from /application/adhoc
      debian/changelog: some news
      gui.views.browser: initialize view_button in the right class
      doc/adhoc-views.txt: some information about adhoc view implementation
      TODO: some more
      gui.main: in the general case, pass None as annotation list to the
      gui.main, core.webserver: rename gui.annotation_views to gui.adhoc_views
      gui.main: close non-updateable views on package load
      gui.views.*: added attribute self.close_on_package_load
      gui.views.__init__: close the popup window when the widget is destroyed
      core.config: add historyview and urlstackview sizes in config
      gui.edit.transcribe: do not close the view on package load
      gui.views.browser, edit.tales, edit.elements:
      player.vlcnative: do not update the snapshot for position < 100ms on
      debian/changelog: updates
      core.version, advene.iss, pyinstaller: bump version number to 0.20
      debian/control: update dependencies on gtk/glade >= 2.8
      Translated template.xml to english, and fixed some views
      core.webserver: display links to /application and /admin/halt in admin page
      core.webserver: fix send_error parameter
      gui.main: allow tree or treeview as synonyms in open_adhoc_view
      core.controller: doc update
      Translations updates
      gui.main: display version number + release date in the about box
      share/template.xml: remove mediafile and duration meta attributes
      core.config: implement config.data.version_string property
      gui.main: use config.data.version_string property
      bin/advene:
      gui.main: display advene version on exception
      player.vlcnative: in snapshot, test position through
      web/user.html: user documentation update
      gui.views.html: implement navigation history
      README: dependencies update
      gui.views.timeline: restore the default height for annotations to 30p (to avoid clipping text)
      gui.views.html: preferably use gtkhtml, it is lighter
      setu.cfg: update dependencies version numbers
      TODO: some ideas
      TODO: some more
      core.config: parse options using the optparse module.
      gui.views.timeline: specify a smaller font for the timeline widgets, so that there is more displayed information
      core.config: display version number with -v/--version
      gui.views.viewbook: on add_view, show the widget before doing
      gui.main: add xvideo video output selection in player preferences
      gui.edit.rules: make tooltips on action parameters work again (set_tip was applied to the wrong widget)
      core.webserver: in /admin summary, add a link to /action
      gui.views.logwindow: remove Frame from base widget
      gui.views.viewbook:
      gui.views.history:
      gui.main: use 2 ViewBooks on the right-hand side of the video, to be able to embed various adhoc views
      gui.plugins.actions: create a new action: Entry
      changelog: some updates
      rules.elements: define RegisteredAction.as_html()
      core.webserver: generate a form to enter action parameters
      core.webserver: fix URL to /action
      core.webserver: embed the execution form in the global action list
      TODO: some updates
      core.idgenerator: add package parameter to constructor
      gui.edit.elements: harmless code tweak
      gui.evaluator:
      share/*, lib/advene/*, bin/advene-webserver:
      debian/changelog: multiple packages loading in the GUI
      doc/TODO: updates
      glade, gui.main, core.controller: implement package close
      gui.main: verify that all packages are saved before quitting
      gui.main:
      core.webserver: add a set_log_handler() method
      bin/advene, bin/advene-webserver, core.controller: fix command line args handling
      core.controller: handle package duration update and player playlist
      gui.views.timeline: fix the layout resize on update_model
      core.controller, core.webserver: make webserver use controller.build_context, for consistency
      bin/advene-webserver: use controller.serverthread for handling requests
      core.config:
      core.controller: removed parse_command_line since option processing is now done in config.data
      core.webserver: fix test case
      rules.elements: do not use <br/> in as_html()
      core.config: add -m/--webserver-mode option
      gui.main: use controller.handle_http_request method
      core.webserver: remove epoz support
      core.webserver: doc. update
      bin/advene-webserver: correctly use controller.server functionality
      core.controller: implemented self.loop for standalone mode
      gui.views.html: bugfix for gtkmozembed
      po, locale: translation updates
      rules.element: modify PackageActivate description
      core.controller: add packages to context globals
      util.vlclib: add packages as valid TALES root element
      gui.views.timeline: implemented position_reset() and deactivate_all()
      gui.main: call position_reset() on all adhoc views on PlayerSet
      gui.main: call position_reset() on adhoc_views on PlayerStop too.
      core.controller, rules.*, gui.edit.rules: convert core actions to plugin infrastructure
      gui.edit.elements: added a GenericContentHandler for non-text content
      core.config: added a config.data.text_mimetypes attribute (for
      gui.edit.elements: use config.data.text_mimetypes to select TextContentHandler
      gui.main: rebuild the package list on demand, so that we can display the modified status of each package
      rules.elements: add Resource* events to modifying_events
      gui.main: implement resource_lifecycle method
      gui.views.tree: implement update_resource
      gui.popup: implement "Insert a new resource file"
      gui.views.viewbook: use view.contextual_actions to build the popup menu
      gui.views.tree: added self.contextual_actions
      gui.views.__init__: populate buttonbox with self.contextual_actions
      gui.views.logwindow: Clear is now a contextual_action
      gui.views.history: make Clear a contextual action
      gui.views.browser: make insert path/insert value contextual_actions
      gui.views.timeline: added a refresh contextual action
      gui.views.tree: fix update_model method
      gui.main: bugfix in save_as
      share/template.azp: add template.azp
      core.config: use template.azp (so that resources are available for new packages)
      core.config: add missing import _winreg
      core.controller: fix OSError name
      core.imagecache: remove useless import
      core.webserver: fix missing/useless imports
      gui.popup: remove useless import
      gui.util: remove useless import
      gui.main: bugfix + remove useless import
      gui.evaluator: remove useless import
      gui.edit.create: remove useless imports
      gui.edit.elements: remove useless imports
      gui.edit.elements: fix variable name
      gui.edit.properties: remove useless import
      gui.edit.rules: remove useless import
      gui.edit.shapewidget: remove useless import
      gui.edit.transcribe: remove useless imports
      gui.plugins.contenthandlers: remove useless import and add license plate
      gui.plugins.actions: add license plate
      gui.views.accumulatorpopup: remove useless imports
      gui.views.browser: remove useless imports
      gui.views.history: fix vlclib module name
      gui.views.html: remove useless imports
      gui.views.logwindow: remove useless imports
      gui.views.relations: remove useless imports
      gui.views.interactivequery: add gettext import
      gui.views.relation: remove useless import
      gui.views.sequence: remove useless imports
      gui.views.singletonpopup: remove useless import
      gui.views.singletonpopup: inherit from AdhocView
      gui.views.singletonpopup: remove spurious line
      gui.views.timeline: remove useless imports
      gui.views.transcription: remove useless imports
      gui.views.tree: remove useless imports
      gui.views.viewbook: remove useless imports
      gui.views.viewplugin: import gettext
      gui.edit.create: remove useless imports
      gui.edit.elements: remove useless imports
      gui.edit.rules: remove useless import
      gui.edit.transcribe: remove useless imports
      player.dummy: bugfix
      player.gstreamer: remove useless imports
      player.mplayer: bugfix in all_snapshots
      player.vlcnative: remove useless imports
      model.context: bugfixes in variable names
      model.package: remove useless import
      model.query: remove useless import
      model.resources: remove useless import
      model.schema: remove useless import
      model.test: remove useless imports
      model.test:  remove useless import
      rules.actions:  remove useless imports
      rules.ecaengine: remove useless imports +  bugfix
      rules.elements: remove useless imports
      rules.elements: bugfix
      util.importer: add missing quotes
      util.spawn: classname fix
      util.vlclib: remove useless import + variable name fix
      core.controller: remove useless import
      model.zippackage: remove useless import
      rules.actions: correct bug in ActivateSTBV action
      gui.edit.elements: make TextContentHandler able to edit XML (score 60)
      gui.views.transcription: handle AnnotationEditEnd and AnnotationDelete events
      gui.views.transcription: allow to update annotation contents when they are modified in transcription + add contextual_actions
      gui.edit.create: use r'' strings for regexps
      gui.views.transcription: update the annotation content when the representation is simple (in the form here/content/parsed/field)
      TODO: updates
      changelog: some news
      gui.popup: implemented insert_resource_directory
      model.resources: inherit rootPackage/ownerPackage from parent
      model.resources:
      gui.popup: implemented resource deletion
      TODO: done some items
      Update svn:ignore
      core.controller: fix package loading when the template is not found (should not happen anyway)
      gui.edit.create: propose default mimetypes for AnnotationType and
      core.webserver: fix display_packages_list to correctly generate the alias and take .azp files into accound
      core.controller: display the template path if it cannot be found (to ease debugging)
      model.package: in package creation from source, handle windows pathnames
      core.controller: display error origin when cannot load template package
      model.package: concert source filename on win32 platforms
      model.zippackage: try to handle all possibilities for filename (thank you windows pathnames :-( )
      core.config: rewrote drag_type configuration + added text/uri-list type
      core.version: update version+release
      changelog: merged news
      TODO: merge updates
      TODO: updates
      All: add missing license plate
      advene/win32: remove old win32 compatibility files, they are useless now
      scripts/: remove obsolete scripts
      core.config: add config.data.video_extensions list
      core.controller: use config.data.video_extensions list
      gui.main: on open package, check if the user tried to open a video
      gui.main: if the user selected a video file (with a known extension) instead of a package in Open, then load the video file (principle of least surprise)
      changelog: news
      changelog: remove whitespace
      core.webserver:
      core.webserver:
      views.browser: fix display_in_timeline value check
      core.webserver: remove useless SocketServer.ThreadingMixIn inheritance, since we do not use the corresponding API
      core.controller: emit MediaChange notification on playlist modification
      core.webserver: emit MediaChange on playlist change
      gui.view.history: clear the history view on event MediaChange
      gui.util: list_selector members parameters is now a list of couples
      gui.main, gui.views.timeline: invoke util.list_selector with a list of couples as members
      rules.elements: added MediaChange event
      gui.edit.elements: edition of RelationType
      debian/changelog: some news
      gui.edit.elements: in metadata_get_method, match whole expression
      gui.views.transcription: fix case of representation is None
      util.importer:
      core.config: add darwin-specific path initialization
      gui.util: implement a generic dialog_keypressed_cb
      gui.edit.create: use advene.gui.util.dialog_keypressed_cb
      gui.edit.elements: use advene.gui.util.dialog_keypressed_cb
      gui.edit.properties: use RESPONSE_CANCEL in dialog + whitespace fixes
      gui.edit.elements:
      gui.edit.timeadjustment: specify the snapshot width
      pom locale: translation updates
      gui.edit.shapewidget, gui.edit.create: use RESPONSE_CANCEL
      gui.util: use RESPONSE_CANCEL
      gui.views.timeline: allow to edit the list/order of displayed
      debian/changelog: some news
      gui.views.html: fix gtkmozembed profile initialization
      gui.views.viewplugin: doc. update
      gui.main: use textwrap to reformat popup text
      core.config: add application/x-advene-sparql-query to config.data.text_mimetypes
      model.tal.global_methods: revert change 2019, the proper fix is done in core.config
      model.tal.global_methods: properly get the query absolute URL
      gui.edit.create: do not try to launch an EditPopup for Resources
      model.resources: Resources must maintain a cache of its children, so
      gui.views.tree: remove unused and buggy FlatTreeModel
      gui.views.timeline: on update model, reset self.annotationtypes if doing a full update (on package activation)
      gui.edit.create: use el variable
      gui.views.html: untabify
      doc/TODO: some things done
      gui.edit.properties: remove spurious whitesapce
      core.controller: allow to specify the alias for packages loaded from
      core.config: display the alias=uri syntax in command line help
      gui.views.tree: remove debug message
      gui.views.timeline: variable name fix
      gui.util: allow to enter the alias in the get_filename fileselector
      gui.edit.imports: get alias through the filename dialog
      gui.main: get alias from get_filename dialog
      changelog: alias explanations
      gui.main: do not try to handle slider events if the playlist is empty
      changelog: new command line syntyax to specify package alias
      gui.edit.elements: do not display a warning about "Messed up metadata" if the field is empty
      core.config: add timeline parameters in preferences
      gui.views.timeline: use display parameters from config.data.preferences['timeline']
      gui.main: in Edit Preferences dialog, allow to edit timeline display parameters
      changelog: news
      model.tal.global_methods: finally a consensus on the method for
      core.controller, rules.ecaengine:
      global_methods: display an informative message when the query id is not found
      core.config: modify default timeline parameters
      gui.main: do not propagate element lifecycle events if they are not in the current package
      gui/*: convert dict.has_key to foo in dict, cf http://gentooexperimental.org/~ferringb/bzr/pkgcore/HACKING
      core.webserver: convert query string to unicode
      core.imagecache: ids() convert keys to str
      core.controller: add 'aliases' reference to context options
      core.controller: add reference to controller in context options
      model.tal.global_methods: fix snapshot_url to work in multipackage context
      model.tal.global_methods: make player_url work in multipackages
      gui.plugins.actions: fix the OpenView action
      TODO: updates
      model.tal.global_methods: use urlencode in player_url
      model.tal.global_methods: remove useless imports
      gui.main: implement (un)register_edit_popup
      gui.edit.elements: check if the edit popup for an element is already present. If so, set_urgency_hint and reuse it.
      gui.main: on package close, close all edit popups corresponding to this package
      gui.edit.elements: allow to specify editable property in editpopup constructor
      gui.edit.imports:
      core.webserver: do not try to /media/play if the playlist is empty
      gui.evaluator: allow to embed in a notebookview
      core.controller: fix variable name
      player.wmp: variable name fix
      model.tal.context: remove the from simpletal.simpleTALES import *
      Remove useless imports
      gui.edit.imports: remove unused import
      All files: renamed advene.util.vlclib to advene.util.helper
      TODO: update
      TODO: merge update
      model.util.uri: revert previous change, urljoin is used by importers of util.uri
      core.controller: fix mediafile specification on the command line
      model.viewable: implement GenericViewable and GenericViewableList, to support applying views on non-advene elements (such as lists returned by TALES expressions like package/annotationTypes/first/annotations)
      model.tal.global_methods: in 'view' method, embed the element in a GenericViewable if it is not a Viewable (so that it is possible to apply views)
      model.tal.context: namespace fixes
      gui.views.html: fix gtkmozembed code (location display, back)
      gui.main: if available, enable embedded HTML view
      gui.views.viewbook: make the htmlview view permanent (else it can provoke a crash)
      gui.views.html: revamped the code (through mozembed_wrapper and gtkhtml_wrapper) to be cleaner
      debian/changelog: updates
      gui.views.html: improve elements layout (navigation buttons + address
      core.controller: implement get_utbv_list
      gui.main: build_utbv_menu now uses controller.get_utbv_list and allows
      gui.views.html: offer an easy access to main UTBVs
      gui.main: the default UTBV view (in the embedded HTML case) will use the advene alias
      gui.main: add player control toolbar beneath the video output + re-implement view menuitem callbacks
      scripts/glade2py: rename gtk.TRUE to True
      changelog: update
      advene.glade: removed player control toolbar (now put beneath the video window), and modified the top-level layout
      core.version: update release date
      advene.glade, gui.main: integrate video-related elements (player toolbar, dynamic view selection) around the video window. This should be more conventional, and saves display space.
      core.config: move webserver mode tweaking on win32 in win32_specific_config
      core.config: support player preferences save/restore
      gui.main: allow to edit SVG caption player preference
      gui.main: Glade widget "toolbar_control" does not exist anymore
      core.webserver: convert the parameter string to unicode with latin1
      core.config: config.data.player['svg'] is False by default, this will ease the transition from vlc < 0.8.5 to the vlc with --text-renderer option
      core.controller: fix test in save_package so that duration and default
      core.controller: store cached_duration as an attribute of the package,
      gui.edit.transcribe: use default data dir
      gui.edit.transcribe: do not store the transcription sourcefile in
      core.version: bumped version number
      po, locale: translation updates
      gui.main: put the slider above the player control toolbar
      core.webserver: catch exception on select.select
      gui.main: connect the stbv combo "changed" signal to on_stbv_combo_changed
      gui.main: when editing package duration, update the .cached_duration package attribute
      TODO: some more, some less
      core.webserver: use queue_action to start player from
      core.webserver: call all player interaction methods through controller.queue_action
      core.controller: in update_snapshot, always return True
      player.vlcnative: use a loop in Snapshot constructor
      core.webserver: small fix for select.select test
      gui.main: warn the user if he tries to create a new package without saving the previous template package
      core.config: use webserver mode 2 (threading) by default also on win32
      doc/release.txt: checklist for vlc release
      doc/release.txt: translate into english
      TODO: some ideas
      gui.views.viewbook: do not display the Close popup button it the view is permanent
      core.config: add application/x-javascript to text mimetypes
      core.webserver: viewable.view returns a TypedUnicode value, so use its
      core.webserver: use start_html to send headers for TALES expression results to get consistent behavior (esp. UTF8 encoding for HTML results)
      core.webserver: fix mimetype handling for package elements display
      debian/control: recommend firefox before www-browser, to please lintian.
      Update version number / release date
      po/, local/: update translations
      doc/release.txt: small update to release instructions
      core.controller: warn that the position parameter for update_snapshot is ignored
      core.imagecache: make is_initialized more robust
      gui.main: remove tabs
      TODO: some new ideas
      debian/control: build-depends on debhelper 5.0.37.2, see http://wiki.debian.org/DebianPython/NewPolicy
      util.helper: fix documentation
      player.gstreamer: (unfinished) work on gstreamer plugin
      player.gstreamer: some advances. It now plays the movies and correctly gets status/position/duration
      player.gstreamer: re-set xid for embedding video output widget on restart
      player.gstreamer: keep video aspect ratio
      player.gstreamer:
      util.helper: add video/x-raw-rgb to fourcc2rawcode
      player.gstreamer: implement snapshot functionality. Not bound yet to the standard pipeline
      po/fr.po: translation fixes
      gui.main: set a black background for the embedded video space
      rules.elements: define default values for RegisteredAction
      rules.actions, gui.plugins.actions, core.controller: define default values for RegisteredActions
      gui.edit.rules: display default values from RegisteredActions
      gui.edit.timeadjustment: reduce snapshot size to 60 pixels
      gui.edit.transcribe, gui.views.timeline, gui.views.transcription: define self.player_toolbar
      gui.views.viewbook: hide the player control toolbar for embedded views
      gui.edit.transcribe: implement annotations import into a transcription
      gui.views.timeline: put toggle options in a self.options dict
      gui.views.timeline: change autoscroll behavior: the whole display is
      gui.edit.transcribe: propose to delete existing annotations when converting from text transcription
      doc/TODO: new ideas, some done
      gui.views.tree: call set_search_column
      doc/TODO: pyjamas-related link
      player.gstreamer: use gst.MSECOND constant
      debian/changelog: news
      gui.util: add callback parameter to list_selector_widget
      gui.views.timeline: offer 3 types of autoscroll (None, continuous, discrete)
      gui.edit.transcribe: Control+scroll on a timestamp mark increments/decrements the timestamp
      gui.views.timeline: allow to create an annotation type from the timeline window
      core.controller: implement split_annotation
      gui.views.timeline: implement split_annotation
      gui.popup: re-order the context popup menu
      gui.popup: fix annotation type deletion
      gui.views.timeline: handle annotation type updates (creation, edition, deletion)
      gui.views.timeline: formatting fix
      gui.views.timeline: allow to resize annotation by DND of the bounds
      gui.views.timeline: create an annotation from the popup menu. Default duration is 1/100 of the media duration.
      gui.views.timeline: when creating an annotation from the popup menu, make its duration 1/20 of the media duration
      core.config: added annoattion-resize drag type
      gui.views.timeline: allow to move annotations through dnd
      gui.views.timeline: factorized annotation_fraction
      gui.views.timeline: control + scroll button on an annotation widget
      debian/changelog: some news from the timeline
      gui.edit.timeadjustment: set snapshot size to 100 pixels
      gui.edit.timeadjustment: DND from annotation widgets sets the time to the annotation begin time
      gui.edit.timeadjustment: control+scroll in the timestamp increments/decrements the value
      core.config: added preferences['gui']['scroll-increment']
      gui.edit.transcribe, gui.edit.timeadjustment, gui.views.timeline: use config.data.preferences['gui']['scroll-increment']
      gui.main: edit scroll-increment in the preferences dialog
      all: move 'scroll-increment' to config.data.preferences, because of an upgrade issue: old 'gui' preferences got overriden by the saved one.
      gui.views.timeline: annotation types are displayed in italic
      gui.views.timeline: control+click on the begin or end of the annotation sets the bound to the current player position value
      gui.edit.transcribe: move preferences to a global preferences dialog
      gui.edit.transcribe: handle play-on-scroll option
      gui.edit.transcribe: control+mark -> set the current video time as timestamp
      core.webserver: use cgi.parse_qsl to parse query parameters
      core.controller, gui.popup: implemented "Duplicate annotation"
      TODO: updates
      po, locale: translation updates
      debian/changelog: news
      core.controller: remove debug message
      gui.views.timeline: all event names use underscore
      gui.views.timeline: annotation widgets get focus when the mouse enters them
      gui.views.timeline: Pressing 'P' while on an annotation widget plays the movie at the begin or end time, depending on the cursor position in the widget
      gui.views.timeline: pressing 'P' in the timeline background plays the movie at the cursor position
      gui.edit.elements: implement Reload in Generic content handler
      core.controller: when duplicating annotation, check that the new fragment does no go beyond the movie end
      gui.views.timeline: when creating a new annotation, ensure that it fits in the current screen
      gui.views.timeline: fix annotation resize by drag and drop
      gui.views.timeline: take the current position into account to compute the cursor position in ms
      gui.views.browser: the package browser can now handle package switch
      gui.edit.properties: added add_label method
      core.config, gui.main, gui.views.viewbook:
      rules.elements: use default values in HTML generated from RegisteredActions
      gui.plugins.actions: add a destination parameter to the OpenView action
      gui.views.viewbook: disable notebook popup menu, it brings more confusion than information
      gui.edit.elements: be compatible with gtk < 2.8
      gui.views.timeline:
      TODO: some more, some less
      debian/changelog: some news
      core.controller:
      rules.ecaengine: conditionally store the event history
      gui.edit.transcribe:
      gui.edit.transcribe: warn the the action (load, import) will overwrite
      rules.importer: define an importer for event history
      core.controller: implement import_event_history (not bound to anything
      gui.edit.transcribe: when modifying a timestamp with control+scroll on
      gui.views.timeline:
      gui.views.timeline: add a quick-edit functionality for textual
      gui.edit.elements: put the focus on the content widget
      share/web/user.html: updated HTML doc
      debian/changelog: new shortcut
      debian/changelog: some news
      debian/control: recommend python-gst0.10
      doc/TODO: Updates
      core.config: add text-related drag types
      core.config: add a display-scroller option
      gui.views.scroller: new Scroller widget
      gui.edit.properties: implemented EditNotebook
      gui.edit.properties: implement EditNotebook.get_name
      gui.main: optionaly display the Scroller widget below the video
      gui.views.timeline: Handle DND from annotation widgets to common
      core.version: update release date
      gui.edit.rules: bugfix in action parameter edition
      gui.views.timeline: remove display artifacts in center_on_position
      gui.views.timeline: use a.upper - a.page_size everywhere fitted
      gui.views.timeline: update display from zoom fraction on update_model
      gui.edit.timeadjustment:
      gui.edit.timeadjustment: use scroll-increment from global preferences
      gui.views.accumulatorpopup: add vertical parameter
      gui.views.__init__: make AdhocView inherit from object
      gui.plugins.contenthandlers: add compact parameter to get_view method
      gui.edit.elements: add compact parameter to make_widget/get_view
      gui.views.editaccumulator: stack compact editing widgets
      gui.main: control-a pops up the Editaccumulator
      core.config: add editaccumulator value in windowsize preferences
      gui.edit.timeadjustment: text entry is taken into account on Return
      core.config, bin/advene: make fix_paths a config.data method
      gui.edit.timeadjustment: allow for single testing
      core.imagecache: untabify
      Create examples directory
      gui.edit.timeadjustment: remove debug message
      gui.evaluator: fix import support
      gui.main: bugfix
      player.gstreamer: honour position parameter in start()
      player.gstreamer: whitespace fixes
      player.vlcnative: use vlc instead of VLC module name + whitespace fixes
      core.config: add 'editaccumulator' windowsize
      documentation update
      gui.edit.timeadjustment: do not use gtk.Button.set_image, which seems
      gui.edit.elements: make compact() method initialize the window attribute
      gui.edit.timeadjustment: check if the edit popup already exists
      gui.views.accumulatorpopup: allow to specify a gtk.Widget as title
      gui.views.editaccumulator: add OK, Apply, Cancel buttons
      gui.views.timeline: use Return for quick edit of annotations
      gui.main: generate a URL for the local helpfile
      gui.views.timeline: scroll on annotation focus
      gui.views.timeline: add a 'e' shortcut to edit annotation types
      util.importer:
      util.importer: IRIImporter: get duration from the longest decoupage duration
      gui.views.timeline: try to fix the scroll_to_annotation behaviour (not
      gui.main: do not fail if locale.setlocale does not work
      gui.views.timeline: handle 'representation' attribute in quick edit
      gui.views.timeline: remove the Return keybinding on timeline
      All: use gtk.RESPONSE_OK instead of RESPONSE_ACCEPT
      gui.util: support default dialog keypress (Return, Escape)
      gui.views.timeline:
      gui.main: when importing a package, emit the PackageActivate signal
      gui.views.timeline: set ratio_adjustment.lower to 5
      gui.edit.elements: add tooltips to EditGenericForm/EditMetaForm
      gui.views.caption: new "Caption" view, intended to replace the caption functionality in non-complete players
      core.config: add display-caption option
      gui.main: allow to use the CaptionView instead of the player caption functionality
      rules.actions: if the CaptionView widget is activated in the GUI, use
      global_method: parsed() always defines a _all key in parsed content,
      gui.edit.elements: allow to edit the 'color' metadata for annotation types
      gui.views.timeline: honour the 'color' metadata from annotation types
      gui.views.timeline: do not fail on invalid color specification
      gui.views.timeline: whitespace fixes + space on an active annotation widget
      Rename player.xine into player.xinerc
      Display shortcuts from the Help menu.
      gui.views.timeline: added a "Center on current position" button
      gui.views.transcription:
      gui.views.transcription: the view was already fairly generic, some
      gui.main:
      core.webserver: use new signature for controller.open_adhoc_view
      advene.glade: view transcription either for an annotation type or for the whole package
      main GUI: use buttons instead of toolitems for adhoc views, so the functionality is unchanged and tooltips are displayed
      po, locale: translation updates
      gui.main: fix preferences
      core.controller: do adhoc type checking and conversion in transmute_annotation
      doc/mimetypes.txt: update
      gui.views.timeline: put Center button neat the scrolling choice
      gui.*: whitespace fixes
      gui.views.timeadjustment: put the entry below the snapshot, so that
      gui.views.timeline: fix quick edit in the case of missing key
      gui.views.timeline: set a _default_color attribute for all annotations
      gui.edit.timeadjustment: add a "Set to current position" button
      gui.edit.timeadjustment: moved set-to-now button to the right of the timecode entry
      core.config: add 'imagecache-save-on-exit' option
      core.imagecache: implement valid_snapshots() and invalidate() methods
      gui.views.accumulatorpopup:
      player.dummy: use the position parameter in start()
      gui.main: handle imagecache-save-on-exit option
      gui.views.timeline: represent relations with lines between annotations
      gui.edit.tales: whitespace fixes
      translation updates
      gui.views.timeline: annotations with relations are underlined
      gui.views.timeline:
      gui.views.timeline: write the relation type on a white background
      model.viewable: use TypedString or TypedUnicode depending on data type
      core.webserver: encode to utf-8 only text/* data
      gui.popup: remove De/Active Related menu items
      gui.views.timeline: when drawing relations, ensure that both members
      gui.views.timeline: renamed event callbacks
      gui.views.timeline: allow multiple selection in displayed types choice
      gui.edit.timeadjustment: right click on snapshot invalidates it
      gui.views.timeline: remove obsolete resize method for annotations
      gui.views.timeline: hide the tooltip when leaving the annotation widget
      model.viewable: bugfix
      gui.edit.timeadjustment: display a popup menu proposing to invalidate
      gui.views.timeline: do not scroll to the annotation if it is already visible
      gui.views.history: do not set minimum widget size
      gui.views.timeline: fix automatic scroll on annotation focus
      core.webserver: implement /media/current method
      model.package: make the .azp test a little more robust
      gui.views.browser: fix viewing non-unicode data in package browser
      core.verison: update revision date (we should do a real release of
      debian/changelog: display latest changes
      gui.views.timeline: add preferences to enable/display relation type
      gui.views.editaccumulator: if the editaccumulator is active, use it to
      gui.views.timeline: use the idgenerator when creating a relation
      player.dummy: use default parameter values
      core.controller: display full traceback in console when an exception
      gui.views.accumulatorpopup:
      gui.views.editaccumulator: put action buttons at the bottom
      gui.main: make the editaccumulator scrollable
      gui.main:
      gui.views.tree, gui.views.timeline:
      gui.edit.create: use gui.edit_element method
      gui.edit.elements: make some parts of the popup expandable
      gui.views.logwindow: clear the URL stack on package change
      TODO: some more, some less
      core.imagecache: build TypedStrings when loading a saved imagecache,
      gui.edit.elements: edit attributes for Relations
      model._impl: tags support (from a contribution by Frank Wagner)
      model.annotation: Annotation and Relation inherit from Tagged
      gui.views.editaccumulator: put annotation/relation type in title
      model._impl: Tags API changes
      gui.edit.elements: make more attributes fields expandable
      model.annotation: implement new annotation methods/properties for
      util.helper:
      gui.edit.create: use type names from util.helper module
      util.merger, gui.edit.merge: implement package merging functionality, with GUI
      advene.glade, gui.main:
      Translation updates
      gui.edit.properties: check for existence of default file in file selector
      model.annotation, model.tal.global_method:
      debian/changelog: update
      core.version: update version date
      Nosferatu_unstable: added nightmare/supernatural annotations
      gui.popup: access relations (incoming and outgoing) from the
      gui.main: only edit Annotations and Relations in edit_accumulator
      gui.views.accumulator: right-align frame label
      Nosferatu_unstable: added view_internal_tour and view_global_tour STBV + view_themes UTBV
      util.merger: fix view creation when merging
      Big changes: merge of YP views, renamed many ids (panel, shot, episode...), fixed some XXX, etc.
      model.zippackage:
      gui.main: define open_url_embedded
      core.controller: in open_url, first try to open the URL in the
      gui.edit.rules: fix parameter handling in rules edition
      gui.plugins.actions: define PopupURL action
      model.annotation: implement typedIncomintRelations/typedOutgoingRelations
      gui.main: bugfix in open_url_embedded
      gui.views.timeline: fix activate/desactivate_annotation
      rules.actions: catch the exception in ActivateSTBV
      rules.ecaengine: catch exceptions when executing rules
      model.annotation: fix typedIncomingRelations/typedOutgoingRelations
      Created view_nightmare, view_supernatural, tour_nightmare, tour_supernatural
      gui.main: package merge - use data directory
      gui.popup: add a readonly attribute
      gui.edit.merge: offer access to element data (current and updated)
      util.merger: fix automatic schema creation
      util.merger: really fix automatic schema creation
      gui.edit.merge:
      gui.edit.merge: quick Show Diff implementation (only for updated
      model.package: define get_element_by_id method
      gui.edit.elements: make the edit window (begin to) look like an
      gui.edit.popup: limit the size of the popup title
      gui.main:
      core.webserver: implement /application/adhoc/edit/element_id path
      gui.edit.editaccumulator: tweak the GUI a bit
      TODO: some more ideas
      gui.views.timeline: in quick_edit, put the edit entry at the same
      gui.main: make pp an alias for pprint.pformat in evaluator
      model.tal.global_methods: add a '_error' key for malformed structured
      gui.views.editaccumulator: remove borderwidth parameter
      gui.main: add 'editaccumulator' as open_adhoc_view parameter
      gui.main: when resizing window, use .resize instead of .set_default_size
      gui.views.timeline: when the cursor is over an annotation type,
      TODO: new items
      gui.views.timeline:
      gui.views.timeline: quick_edit will display the entry on top of the
      model.zippackage: implementation of update_statistics/generate_statistics
      model.package: when saving a .azp package, update its statistics.xml
      gui.views.__init__: move window resizing after the show() call
      rules.actions: implement SetVolume and SetRate actions
      gui.edit.transcribe: automatic mark insertion feature (activated from
      gui.views.timeline: allow to deactivate tooltips (which sometimes get
      gui.main + icon: add icon for EditAccumulator
      gui.views.timeline: annotation resize by DND is disabled by
      gui.main: add 'vertical' parameter to get_illustrated_text
      gui.edit.elements: display illustrating snapshot in members of relation
      gui.edit.elements: display element id in the title of the edit window
      gui.popup: add a "Copy id" popup menuitem for all elements
      model.fragment: convert the value to long() in setBegin/setEnd, else
      core.controller: split_annotation now takes a split position instead
      gui.views.timeline: in popup menu, display the position value for
      Main GUI:
      gui.views.timeline: use Return on an annotation type widget to quick
      debian/changelog: updates
      share/pixmaps: add icons for timeline actions (adapted from openclipart/computer/icons/flat-theme/actions)
      gui.views.timeline: use new icons
      share/web/shortcuts.html: update from the wiki
      gui.views.browser: rename update_view to _update_view to avoid
      model.tal.global_methods: make the QueryWrapper more robust
      Nosferatu_unsable:
      Nosferatu_unstable: fixed invalid images in resources
      gui.popup: do not use underline as special marker in popup menu
      Nosferatu_unstable: updated exercices step 3 / 4 + supernatural/nightmarish annotation contents
      gui.edit.merge: use a fixed size font for "show diff" window, and add
      gui.edit.merge: colorize +/- lines
      gui.views.timeline: use gtk.STOCK_HELP if gtk.STOCK_INFO is not
      model.package: implemented generate_statistics and XML statistics parsing
      model.zippackage: generate_statistics is now in advene.model.package
      advene.util.helper: implemented get_statistics (to return formatted
      gui.util: use helper.get_statistics to get package statistics
      TODO: some done
      gui.util: make yes_no_cancel_popup modal
      gui.util: get_filename, implement file filters
      gui.main: use file filters in filename selection dialog
      gui.edit.imports: use file filters in filename selection dialog
      core.controller: handle package-list session files (.apl extension)
      gui.util: add a "Advene session (.apl)" filter
      core.controller: handle .apl session files loading on command line
      gui.main, GLADE: define "Save session" menuitem
      multiple files: template strings with multiple parameters use a dict parameter instead of a tuple, to make translations more correct
      po/, locale/: translation updates
      core.controller:
      core.controller: reinsert string fixes from r.2516
      view.accumulatorpopup: use controller.register_usertime_action to
      gui.main: display the infromation about DND views during 10 seconds
      model.tal.global_methods, model.content, gui.plugins.contenthandlers:
      gui.views.interactivequery: offer the choice to 1/ display result in
      scripts/package_sorter: script to sort the contents of a XML package. Depends on elementtree
      package_sorter: in sort_time and sort_id, copy the attributes of the
      TODO updates
      debian/changelog: updates from r.2486 to r. 2526
      gui.main: implement volume level control from the player control toolbar
      core.controller: implement set_volume/get_volume
      gui.main: put the volume control widget only in the main player toolbar
      gui.views.timeline: add "Center and zoom" in popup menu for annotations
      Glade interface: add Create (schemas, views...) menuitems in submenu Edit/Create
      gui.views.interactivequery: display a simplified form to search for
      player.gstreamer: make more robust
      gui.views.interactivequery: add standard keyboard shortcuts (Return, Escape)
      util.helper: add notify= parameter to un/import_element methods
      model.package: fix import of .azp packages
      core.controller: when loading a package, check that all imports can be
      model.package: fix bug when there is no description in generate_statistics
      util.helper: variable name bugfix
      model.package: fix for empty title in generate_statistics
      core.controller: preliminary support for "auto-import" metadata
      util.helper: workaround endian problems in snapshots
      core.controller: do not reset videotime_bookmarks in reset_annotation_lists
      gui.main: implement "Loop on annotation" functionality, accessible
      gui.popup: offer access to "Loop on annotation" feature
      debian/changelog: documented changed from r.2527 to r. 2546
      gui.main: update the loop toggle button if the bookmark has been reset by user interaction
      gui.views.timeline: in center_and_zoom, set a minimal zoom value
      gui.views.timeline: on "Center and zoom", set the autoscroll mode as no-scroll
      gui.main: implement set_current_annotation(), the loop feature relies
      gui.views.timeline: when playing a specific annotation (space or p on
      gui.popup: when playing a specific annotation (Go to...), set it as
      core.controller: reset the imagecache when selecting a new media file
      debian/control: clean up dependencies
      debian/docs: update docs list
      debian/docs: remove useless README
      debian/control: fix e-mail address
      setup.cfg: fix RPM generation control file
      debian/rules: do not force python version
      core.version: update release date to 20070101
      README: make a note about gstreamer
      core.mediacontrol: if the player cannot be loaded on linux, try to
      core.controller: trivial bugfix (in auto-import functionality)
      po/, locale/: translation updates
      gui.evaluator: fix rendering of non-displayable content
      core.config: add dvd-device player option
      gui.main: allow to edit dvd-device player option from player preferences
      player.vlcnative: remove dependency on vlc.Object API, which is
      gui.views.history: remove container parameter
      gui.views.history: add ordered parameter
      gui.views.timeline: add 'timestamp' drag and drop target
      gui.views.history: handle 'timestamp' DND target type
      gui.views.history: generate DND events for 'timestamp' target
      gui.views.history: do not append a position if already present
      gui.views.history:
      pixmaps: add history.png
      core.config: define the 'timestamp' DND target type
      gui.main: allow to create new history views by DND
      debian/changelog: news
      gui.views.timeline: fix log method invocation
      core.controller: implemented set_media method
      core.webcherry: cherrypy HTTP server implementation
      core.config: introduce config.data.(no)play_interval to try to
      gui.main: use config.data.(no)play_interval values
      core.config: fix variable name
      core.webserver:
      gui.main:
      core.config: add config.data.webserver['engine'] parameter
      core.controller:
      core.webcherry: bugfixes
      core.webcherry: upgrade to version 3.0 of cherrypy
      core.webcherry: bugfix in response mimetype enforcing
      player.gstreamer: remove VideoSinkBin code
      player.gstreamer: implement text captioning (display_text method)
      player.gstreamer: remove useless ffmpegcolorspace plugin
      util.helper: implement get_video_stream_from_website
      gui.main: in "Open a video stream", if the given URL is a
      examples/Nosferatu_unstable.azp: fixed expressions for annotation types representation
      core.webcherry: bugfix in build_context parameters
      core.webcherry: remove default navigation mode (old debug code)
      core.controller: in build_context, use the current package as default
      core.config: make application/x-advene-adhoc-view editable by TextContentHandler
      gui.views.viewplugin: document the parametered views handling
      gui.views: implement parametered adhoc views (parameters load/save),
      doc/adhoc-views.txt: document timeline parameters
      gui.views.timeline: allow to save timeline parameters
      gui.popup: handle Adhoc view activation through the popup menu
      gui.main: implement parametered adhoc views in .open_adhoc_view
      gui.views.tree: add a marker for parametered Adhoc views
      gui.views.AdhocView: implement save_view method in abstract class
      gui.views.timeline: only define get_save_arguments for view saving
      gui.popup: bugfix in annotation type transcription from popup menu
      gui.views.timeline: use "Save view" label
      gui.views.transcription: Handle parametered adhoc view
      gui.views.viewplugin: document get_save_arguments
      gui.main: handle view_id values in open_adhoc_view
      gui.views.transcription: TranscriptionView now uses a TALES expression
      gui.main, gui.popup, core.webserver, core.webcherry: pass the new source= parameter to TranscriptionView
      gui.views.AdhocView: define a specialized log method that prefixes the
      gui.views.browser: use own log method
      gui.views.timeline: use own log method
      gui.views.transcription: use own log method
      gui.views.viewbook: use own log method
      core.config: make config.data.webserver['mode'] a boolean
      core.controller: remove deprecated mainloop integration of webserver
      gui.views.AdhocView: define self.options attribute
      gui.views.tree: define self.options attribute
      gui.views.history: define self.options attribute
      gui.views.viewbook: handle drops  of parametered adhoc views
      gui.views.tree: enable drag of: annotations, annotation-types, adhoc
      gui.main: when loading a session file (.apl), ask for confirmation if
      util.merger: implement memberTypes and members merge
      gui.view.AdhocView, gui.views.timeline, gui.views.transcription, gui.views.viewplugin: load_parameters returns an (option, arguments) tuple, which must be be handled by the view.
      gui.views.tagbag: new Bag of tags view
      gui.views.timeline: handle DND to/from TagBag
      core.config: define new 'tag' target type
      rules.elements: new event "TagUpdate"
      gui.main: add support for TagBag view
      gui.views.timeline: notify AnnotationEditEnd on tag update
      gui.views.tagbag: add vertical parameter
      share/pixmaps/tagbag.png: add TagBag icon
      gui.views.tagbag: put an "Add" button, check for tag validity
      gui.edit.elements: add tag support when editing annotations, relations
      model.annotation, model.util.defaultdict: define DefaultDict in its own module
      core.controller: handle package._tag_colors attribute (load/save)
      gui.views.tagbag: popup menu for tags, to remove or set the color of a tag.
      model.tal.global_methods: new global method "tag_color", using tag
      gui.views.tagbag: in color selection dialog, show the current value
      debian/changelog: news from 2588 to 2657
      gui.views.history: put vertical, ordered, snapshot_width attributes in
      gui.views.history: handle parameters
      gui.main: pass parameters to HistoryNavigation
      gui.views.AdhocView: remove debug dump of generated XML parameters
      gui.edit.elements: process generic player shortcuts in element edition popups
      core.config: convert userid to unicode (trying to guess the encoding)
      debian/changelog: some precisions
      gui.views.history: change return values for DND methods
      gui.views.tagbag: notify and use the signal TagUpdate for tag modifications
      gui.views.timeline: handle TagUpdate events to update the annotation
      core.version: update version number to 0.22
      debian/changelog: date the changelog
      gui.views.timeline: new shortcut: 't' toggles tooltips on/off
      debian/changelog: document new timeline shortcut
      gui.edit.elements: fix global player shortcuts handling
      player.quicktime, player.qtlowlevel, player.qtmovie: QuickTime bindings for win32
      core.config: allow to specify -pquicktime
      core.mediacontrol: handle quicktime player
      gui.main: use player.set_widget instead of player.set_visual if available
      player.dummy: use self.log instead of print everywhere
      player.quicktime: added FIXMEs
      doc/mimetypes.txt: update
      gui.edit.elements: fix typo in player shortcut handling
      gui.edit.elements: try to process player shortcuts in
      player.quicktime: try to fix current_position()
      player.gstreamer: fix captioning
      gui.main: use 'any' filter for import file dialog
      util.importer: IRIimporter: import views elements as attributes of the
      gui.views.history: rename label "Navigation history" to "History"
      debian/changelog: updates
      core.config: updated command line option for webserver mode
      model.zippackage: use tempfile.mkdtemp instead of os.tempnam (which is deprecated)
      core.controller: do not try to start the webserver thread if it could
      gui.edit.elements: views do not have tags (yet)
      core.controller: try to detect the KDE/Gnome session to open URLs with
      model.zippackage: (final?) fix for the accented TMP dir problem on
      model.zippackage: tempfile takes multiple parameters (path elements)
      model.resources: use zippackage.tempfile method to access resources
      gui.views.transcription: fix current annotation highlighting
      model.zippackage: use self.tempfile in getContentsFile method
      model.package: lower filename before testing for extension
      gui.main: in loop_on_annotation_gui, set the loop button as active
      doc/TODO: update
      bin/advene: gui.on_exit() is already called  before exiting, do not
      doc/win32.txt: some win32-specific information
      model.zippackage: in some cases (pyinstaller version for instance),
      po/, locale/ : translation updates
      doc/: documentation updates
      setup.cfg: add a dependency on gstreamer010-python
      core.webserver: if necessary, create the .advene directory to store webserver.log
      debian/docs: added plugins.txt doc
      doc/advene.1: talk about --help option
      debian/ : updated to use python-central, cf http://wiki.debian.org/DebianPython/NewPolicy
      debian/control: add Ubuntu-specific depends/recommends + added
      Remove local copy of simpletal, since we are compatible with both 3.12 and 4.1, and it is available in many linux distributions
      model.zippackage: fix package+resources loading, we need to be
      gui.main: threads_init() is now in gtk.gdk
      core.webserver: variable name fix
      README: document dependencies on gstreamer and cherrypy
      debian/control: Depend (instead of recommends) on gstreamer/pygst
      gui.util: use set_current_name in filechooser dialog
      gui.edit.elements: pass a parent= parameter to EditContentForm, so
      gui.plugins.contenthandlers: define parent= init parameter
      debian/control: remove superfluous Depends
      debian/control: add python-simpletal dependency
      debian/: python-central is not available on dapper. Reuse the old rules files, and remove python-cherrypy3 as a Depends: for Dapper-compatible packaging
      core.config: add mkv extension to video_extensions
      gui.util: in get_filename, ensure that returned filenames are always unicode
      util.merger:
      core.controller: use long(float(string)) to convert durations to long,
      gui.views.interactivequery: add an option to highlight/unhighlight
      core.webcherry: more server.quickstart to __init__ since it must be
      gui.util: handle empty list case in list_selector_widget
      advene.util.importer:
      gui.edit.importer: new dialog for importing files
      gui.main: use ExternalImporter
      gui.edit.merge: update action labels
      util.importer: add progress calls for Elanimporter
      player.gstreamer: implement snapshot support
      debian/changelog: news
      po/, locale/: translation updates
      gui.edit.importer: add a label to the dialog
      gui.edit.transcription: propose some pre-defined separators in the preferences
      debian/changelog: correct the date of the 0.22 changelog
      core.version: date update
      Nosferatu_unsable.azp:
      * Remove Nosferatu_v2
      gui.views.timeline: draw separators between annotation type lines
      gui.evaluator: on completion or help, consider only the expression on
      gui.views.timeline: replace drag-mode toolbar by a popup menu when
      gui.views.timeline: display a popup with options for resizing when DND
      core.controller: set self.server attribute even is the webserver is deactivated
      core.mediacontrol: fix status message
      core.mediacontrol: make get_player take an arg to force the selected player
      gui.util: implement center_on_mouse, and use it for dialogs
      gui.util: center list_selector window
      gui.edit.elements, gui.edit.create, gui.views.timeline: use gui.util.center_on_mouse
      gui.util: in get_filename, filename may be None (when cancelling)
      gui.main: use the standard gtk.AboutDialog widget
      gui.util: for center_on_mouse, use the widget root window instead of the default one
      core.imagecache: maintain a _modified attribute
      gui.main: propose to save the imagecache only if imagecache._modified
      gui.views.timeline: do not allow to create an annotation from an
      gui.views.timeline: when creating an annotation from an annotation
      core.imagecache: define CachedString to fetch snapshots directly from
      core.webcherry: fix Media.snapshot return value
      gui.views.timeline: display the valid relation types in a submenu of
      gui.views.interactivequery: add "ignore case" checkbox for full text search
      gui.views.interactivequery: make "highlight annotations" option a toggle
      gui.util: remove WIN_POS_CENTER_ALWAYS flag on yes_no_cancel dialog,
      core.imagecache:
      gui.util: in png_to_pixbuf, convert png_data to str if necessary.
      core.config: add adhoc-west GUI preference
      gui.main: GUI change: viewbooks are on both sides of the video window,
      gui.util: fix center_on_mouse (do not go too far)
      gui.views.interactivequery: for the quick (fulltext) search, try to
      gui.views.timeline: use the cached_duration of the package instead of
      gui.views.timeline: rename l parameter to elements
      gui.views.__init__: make AdhocView.close accept parameters - this
      core.controller: make playerfactory an attribute of the controller
      gui.views.interactivequery:
      gui.main:
      advene.glade: remove element creation toolbar (functionality is available from the Edit/Create element menu), and replace it by a placeholder for the quicksearch entry
      gui.main: add a fareast vertical notebook, hidden by default
      gui.views.interactivequery: fix typo + do not close intermediary window when displaying an output
      core.config: add adhoc-fareast option
      gui.views.timeline: add zoom combobox in the toolbar
      gui.views.timeline: add zoom in/out buttons
      util.helper:
      gui.views.timeline:
      gui.main: default views: move urlstack to west viewbook, and popup
      core.config: in default preferences, open a timeline view in the south
      gui.main: use only the icon for the quicksearch icon
      gui.util: define get_small_stock_button function
      gui.main: use gui.util.get_small_stock_button
      gui.views.history: use small icon for delete button
      gui.main: move slider value display to the left of the slider
      gui.main: use small icons in toolbars
      pixmaps/*: make adhoc view icons smaller
      gui.views.viewbook: add a close button to closable tabs
      share/pixmaps: add small_close.png for tabs close buttons
      gui.views.timeline:
      core.config, gui.views.logwindow: rename "URL Stack" to "Links"
      core.webcherry: try to convert to utf-8 only mimetypes starting with text/*
      Nosferatu_unstable: fix Detail view, colorize annotation types
      gui.views.timeline:
      share/advene.glade: do not fill toolbar elements
      gui.util: in list_selector_widget, allow to create a ComboBoxEntry or a
      gui.main: remove D.View label + put dynamic view combobox above the video
      gui.views.viewbook: use RELIEF_NONE for tab close buttons
      gui.util: define title_id_dialog + get_title_id function
      gui.main: display a popup menu when clicking on an adhoc view icon
      gui.views.timeline: keep position when zooming + fix zoom behaviour
      util.helper: ensure that char is unicode before trying to get its
      gui.edit.create: initialize color metadata to here/tag_color for new
      gui.edit.elements: do not display warning message for empty metadata
      Nosferatu_unstable.azp: use tag_color for annotation types, else fallback on a fixed color
      po/, locale/: translation updates
      gui.main:
      core.imagecache: typo: iterkey to iterkeys
      gui.views.timeline: fix timeline refresh problems
      gui.main:
      gui.views.viewbook: truncate long view names and display the full name
      gui.main: fix specific adhoc view labelling + pass correct parameters
      gui.main: remove debug print + fix interactivequery embedding (Ctrl-F)
      gui.main: center on mouse the Import window
      gui.views.interactivequery: fix labelling of query/result windows
      gui.views.tagbag: deactivate scrollwindow so that the requested
      core.webcherry: fix behavior if mimetype is None
      gui.views.AdhocView: popup() takes a label parameter
      gui.views.viewbook: when DND parametered adhoc views, use the view
      gui.main: use the view label in popups too
      gui.views.viewbook: allow to detach an embedded view to its own window
      gui.views.viewbook: allow to move a view from a viewbook to another
      core.config: declare options quicksearch-ignore-case and quicksearch-source
      gui.views.tree: subclass views in dynamic, static, adhoc
      gui.views.table: new AnnotationTable view
      gui.edit.create: when creating an element, ask for a title and
      gui.views.timeline: try to preserve position when zooming
      gui.main:
      gui.views.interactivequery: offer to display the results in a table
      gui.views.viewbook: try to reuse view label when moving the view
      examples/Nosferatu_unstable.azp: fix a typo
      gui.edit.elements: allow to resize attributes columns in edit windows
      pixmaps/: new icons
      gui.plugins.contenthandlers: make the size of snapshot for Zone
      gui.views.tree: sort views alphabetically
      gui.util: define get_pixmap_button
      gui.views.table: allow to resize content and type columns, and to
      gui.views.editaccumulator: limit label size
      gui.main: in quicksearch, shorten the label for the result widget
      gui.views.interactive: for results, display a table by default and
      gui.main: in quicksearch, allow to search in view contents
      gui.views.table: implemented GenericTable
      gui.views.interactivequery: put the result table (AnnotationTable or
      player.quicktime: remove dependency on advene.core.config + fix test method
      gui.views.interactivequery: display the whole movie timerange in timeline result display
      gui.views.viewbook: fix string typo
      gui.main: check for empty quicksearch text
      gui.views.interactivequery: in InteractiveResult, use a notebook to
      util.helper: define get_view_type function
      gui.views.timeline:
      gui.popup: use duck typing (on viewableType attribute) to detect bundles
      gui.views.timeline: define get_widget_color, with a more regular
      gui.edit.elements: allow to edit 'color' and 'item_color' attributes
      util.helper: define CircularList
      gui.main: on package loading, initialize a package._color_palette
      core.config: define a default color palette
      gui.edit.create: when creating annotation types and relation types,
      gui.edit.elements: add a color picker to edit color metadata
      gui.main: implement update_color method
      core.config: define 'color' target type
      gui.popup: allow to select colors for annotation types and relation types
      gui.views.timeline: allow DND of a color on an annotation type
      gui.views.timeline: when an annotation type has been update, update also its annotations, since representation or
      gui.edit.importer: display "No available importer" if it is the case
      util.importer: implement multiple types support in IRIImporter
      gui.main: remove colorpicker reference
      Fix translation issues (gettext initialization mostly)
      po/, locale/: translation updates
      gui.views.timeline: try to use the color metadata to draw relations
      gui.annotation: define our own AnnotationWidget (depends on pycairo, thus on pygtk >= 2.8)
      gui.views.timeline: replace the annotation tooltips by a status message in
      gui.views.timeline: remove contextual menu on left-button click in the layout
      gui.views.timeline: rename get_widget_color to get_element_color
      gui.views.timeline: use the new AnnotationWidget if possible (linux,
      core.webcherry: use controller.queue_action to start the engine, to
      gui.views.annotation: allow annotation to take focus (and draw a
      gui.views.timeline:
      gui.popup: do not display common submenu for non-Advene elements
      gui.views.tree: make VirtualNode look like bundles (for correct
      gui.edit.create: new 'mimetype' optional parameter
      gui.popup: add "create static view"/"create dynamic view" menu items
      player.gstreamer: add support for ximagesink (need to add a
      gui.main: display a more informative message for the loop button
      model.tal.global_methods: implement "representation" global method,
      gui.edit.elements: in EditAttributesForm, ensure that textual content
      gui.edit.elements: EditGenericForm: ensure that the entry content is
      model.zippackage: if the given filename.azp is a directory, then
      debian/changelog: document changes
      debian/control: depend on python-cairo
      doc/TODO: more ideas, some done
      gui.views.AdhocView: implement view reattach
      share/mime.types: private copy (for OSes that do not have one: Win32, MacOSX)
      core.config: provide the mimetypes module with our copy of mime.types
      core.config: make the mimetypedb an attribute of config.data
      core.config: define register_mimetype_file method
      core.controller: register private mime.types files on platforms != 'linux'
      core.webserver: use config.data.guess_mimetype instead of mimetypes.guess_type
      core.config: register private mimetypes in the standard mimetypes module
      core.webcherry: remove useless query2dict
      core.webserver: revert r2919
      gui.util: allow empty elements list in generate_list_model
      gui.edit.tales: allow to pass predefined items
      gui.edit.rules: predefine some items for TALES expressions
      gui.views.AdhocView: fix variable name
      more.zippackage: ignore .svn, .cvs directories in zippackages
      gui.views.timeline: remove r2913, made by mistake
      gui.annotation: make alpha = 1 when painting the widget
      gui.widget:rename gui.annotation to gui.widget
      model.zippackage: change ignored cvs directory name to CVS
      model.zippackage: add .bzr and _darcs to ignored directory names
      share/web/fckeditor: integrate fckeditor v. 2.4.2
      core.webcherry: handle destination parameter in /application/adhoc actions
      Remove share/web/epoz
      gui.edit.transcribe: use yes_no_cancel dialog for annotation conversion
      Translation updates
      template.azp: fix case for fckeditor directory
      gui.widget: implement a GenericColorButtonWidget, and an AnnotationTypeWidget
      gui.views.timeline: use the new widget.AnnotationTypeWidget
      core/controller: remove the SimpleHTTPServer-based webserver, replaced by CherryPy
      gui.views.timeline: add .width attribute to OldAnnotationTypeWidget
      gui.views.timeline: fix width assignment in OldAnnotationTypeWidget
      gui.popup: use gui.edit_element_annotation
      gui.popup: fix variable name
      gui.views.timeline: fix OldAnnotationTypeWidget.width initialization
      core.controller: define get_element_color
      gui.views.timeline: use controller.get_element_color
      gui.edit.elements: use gtksourceview if available for textual contents
      core.controller: fix get_element_color
      gui.main: display an error dialog if the package saving produced an
      gui.main: display error dialogs when an IOError occurs when loading a package
      share/template.azp: fix edit-content view wrt. new POST URL values in cherrypy
      gui.widget: implement standard keypress action + drag and drop for
      gui.util: implement name2color function
      gui.views.timeline:
      util.helper: in get_title, return only the first line if the title is multiline
      gui.edit.elements: correct bug in compact case
      views/*: convert some views to plugin architecture
      gui.main: implement register_viewclass + use
      core.controller: implement register_viewclass + move plugin
      gui.views.history, gui.views.browser: add tooltip
      core.webcherry: support gui.registered_adhoc_views in
      core.config: fix view ids
      gui.views.tree: rename Treeview id to 'tree' + add tooltip
      util.helper: fix cleanup method
      gui.views.tree: convert to plugin architecture
      gui.main: register tree plugin + rename treeview to tree
      gui.views.viewbook: allow to move views by drag and drop
      core.config: define adhoc-view-instance target type
      gui.views.table: allow to have elements == NOne
      gui.views.AdhocView: enable DND from the Reattach button of a popup view
      player.gstreamer:
      player.gstreamer: implement restart()
      po, locale: translation updates
      core.config, gui.main: implement remember-window-size preference (default True), settable from the application preferences dialog
      Put a copy of cherrypy
      gui.views.browser: propose to display current value in a table
      gui.widget: import advene.gui.popup
      gui.views.timeline: implement keypress and buttonpress in OldAnnotationTypeWidget
      gui.views.timeline: make the "Move annotation" item insensitive if the
      gui.views.timeline: connect annotation button_press_event
      gui.views.timeline: do not redraw the whole timeline when changing the
      gui.views.tree: draw lines interconnecting the expanders (works only
      gui.edit.montage: Dynamic montage component
      gui.popup: fix Browser invocation
      gui.edit.tales: fix Browser invocation
      gui.edit.montage: allow to DND annotation types
      gui.views.timeline: implement keypress and drag_sent in OldAnnotationWidget
      gui.views.timeline: fix code for initial display of the timeline with OldAnnotationTypeWidget/OldAnnotationWidget
      gui.views.timeline: add button ZOOM_100 to the toolbar
      core.config: add .ogg to the list of video extensions
      gui.views.transcription: add Play menuitem at the first level of the
      gui.edit.elements: when editing relations, expand the Content edit
      gui.main: define resize and shrink parameters for the horizontal
      gui.views.history: put the Remove button in a HButtonBox
      gui.views.timeline: move the status bar at the right of the toolbar
      gui.views.timeline: update the status bar on annotation focus (to get
      Nosferatu_unstable: remove trailing whitespaces from annotations
      util.importer: add option -m to IRIImporter
      gui.views.table: implemented csv_export
      gui.views.table: encode data in utf8 in csv_export
      gui.view.table: make get_selected_nodes a parameterless method
      gui.views.interactivequery: in InteractiveResult, open in timeline and
      gui.views.timeline: when changing the zoom value, try to center on the
      util.merger: correct test for resource-less packages
      gui.views.viewbook: deactivate drag and drop of permanent views
      gui.views.transcription: fix popup menu
      util.merger: fix date parameter
      gui.popup: add a menuitem to use the WYSIWYG editor on
      gui.views.transcription: add a separator menuitem
      core.controller: when setting the mediafile, stop the playing of the
      debian/changelog: updated to rev. 3020
      Renamed README to INSTALL.txt
      INSTALL.txt: updated
      Added README.txt file
      gui.widget: return False in update_widget so that it can be used
      gui.views.timeline: use focus-in/focus-out events to update relations,
      core.version: update to version 0.23
      README.win32: update public wiki URL
      examples: define Nosferatu v4
      debian/changelog: finalize changelog
      advene.iss: update version number
      debian/changelog: fix finalisation line
      core.webcherry: fix format specification
      po, locale: translation update
      share/web/user.html: the old one-page userguide is obsolete, replace
      gui.views.timeline: fix statusbar update
      debian/changelog: yet another fix of the finalisation line
      gui.util: png_to_pixbuf return None if the png_data is invalid
      gui.util: handle PNG data corruption in the png_to_pixbuf
      Makefile: implement archive target
      Makefile: build the archive in the parent directory, and exclude .svn
      core.config: Check if the settings directory is present, and create it if necessary.
      examples/Nosferatu_unstable.azp: integrated the rich editor views
      examples/Nosferatu_unstable.azp: fix matchFilter for rich edit views
      gui.popup: fix schema deletion
      gui.views.editaccumulator: close the edit window on element deletion
      core.webcherry: simply use update_status("start")
      gui.views.interactivequery: remove superfluous import
      util.merger: fix matchFilter copying in copy_view
      model.zippackage:
      model.zippackage: allow to specify an expanded .azp package directory by
      model.package:  recognize file names with a trailing / as expanded .azp packages
      gui.edit.elements: add a preview button on the edit popup for static
      core.controller: use helper.get_view_type to determine static views
      gui.views.timeline: display annotation id in the statusbar
      gui.edit.elements: import util.helper module
      gui.views.history: add a "Insert bookmark for current player position" button
      gui.edit.transcribe: fix buffer_is_empty method, to take into account
      gui.main: on package change, reset the quicksearch-source value to
      gui.main: define variables for direct access to opened adhoc views in the evaluator
      gui.main: close edit popups (in their own window, or in the
      gui.views.editaccumulator: define widget.window in order to be able to
      rules.elements: fix TagUpdate description
      gui.widget: remove default button press action on
      gui.widget: implement TagWidget
      gui.views.timeline: implement annotation-type button press handler to
      gui.views.timeline: remove buttonpress code from OldAnnotationTypeWidget
      gui.views.tagbag: use gui.widget.TagWidget + implement OldTagWidget
      gui.edit.elements: register the TagBag callback, so that color updates
      util.importer: IRIImporter: do not overwrite duration and mediafile if
      gui.views.timeline: reset current mark position on position_reset
      core.config: define expert-mode preference
      gui.main: add expert-mode option to the edit preferences dialog
      gui.views.interactivequery: display the button to display the results
      gui.main: in quicksearch options, display which source is currently used
      gui.views.timeline: F11 on an annotation displays its contextual menu
      gui.popup: remove useless import
      util.importer: fix content aggregation
      gui.views.interactivequery: open the EditAccumulator through gui.open_adhoc_view
      gui.widget: draw a border around TagWidget
      gui.views.tagbag: add a preference to automatically display new tags
      gui.views.tree: we do not need to append the view type (adhoc, stbv)
      core.controller, gui.main: move package._color_palette instantiation to core.controller
      util.importer: if the package _color_palette is available, get a
      core.controller: add a notify parameter to move_position
      gui.history: make a snapshot when inserting a bookmark for the current time
      gui.views.history: set view_name to Bookmarks (more generic).
      gui.main: do not notify when doing small moves (button fast
      core.config: remove unused osdtext player preference
      gui.main: remove OSD option from the main preferences
      core.config: enforce history-size-limit on application startup
      gui.main: in gtk 2.10, "Dialogs created by gtk_about_dialog_new() no
      player.gstreamer, player.vlcnative: implement new methods:
      share/pixmaps: add new icons for sound mute/unmute
      gui.main: replace the volume control by a mute/unmute toggle button
      gui.views.viewbook:
      gui.views.transcription: implement interactive text search
      gui.views.viewbook: revert r3099, since it impacts too many views.
      gui.views.transcription: set the no-show-all property on the widget,
      gui.views.timeline: automatically grab focus on quick_edit widgets
      gui.edit.transcribe: when loading a transcription file, try to decode
      model.bundel: define (inefficient) get_by_id method
      gui.views.transcription: define close callback directly as
      gui.views.evaluator: small bugfix + print informative messages to
      gui.popup: display "Offset"  menuitem in expert mode
      core.controller: define register_importer method
      player.gstreamer: call gobject.threads_init() on plugin initialization
      gui.views.timeline: increase zoom step when control+scrolling in the layout
      gui.views.timeline: left click in the upper part (timestamps) moves
      gui.views.timeline: remove Control-q shortcut
      gui.views.timeline: fix click position determination in the timeline background
      gui.views.montage: first implemenation of play method. Not perfect yet.
      gui.edit.timeadjustment: validate entry value when the focus leave the
      util.ElementTree: integrate a copy of the ElementTree module.
      util.helper: define ElementTree indent function
      gui.views.AdhocView: rewrite adhoc-view saving using ElementTree
      gui.main: AdhocViewParametersParser signature change
      util.helper: define recursive_mkdir
      gui.views.AdhocView:
      gui.views.AdhocView: in load_parameters, try to load default options
      gui.views.AdhocView: make save_default_options take any parameters (to
      gui.views.AdhocView: fix adhoc view XML generation
      gui.views.timeline: add "Save default options" contextual action
      gui.views.AdhocView: display log message when saving default options
      gui.views, gui.edit: implement save_default_options for some views
      gui.views.tagbag: fix load_parameters invocation
      util.helper: add application/x-advene-workspace-view as adhoc view in get_view_type
      core.config: add application/x-advene-workspace-view as text_mimetypes
      gui.popup: use helper.get_view_type to determine view type
      gui.views.tree: use helper.get_view_type method
      gui.views.logwindow: define self.options attribute
      gui.views.AdhocView: use get_title_id dialog when saving the view +
      gui.views.viewbook:
      gui.main: implement workspace saving/restoring
      share/advene.glade: add file/workspace/save... menuitems
      gui.main: implement "Save default workspace"
      gui.main: in expert mode, clicking on an adhoc-view icon directly
      gui.views.timeline: save position and zoom level when saving view
      all files: replace the deprecated sre module by the re module
      util.helper: initialize ElementTree prefixes dict
      gui.views.AdhocView: ElementTree namespace map is initialized in helper
      po, locale: translation updates
      debian/changelog: some news
      model.zippackage: rewrite manifest.xml read/write with ElementTree
      gui.main: update quicksearch button tooltip in order to indicate the
      gui.main: catch OSError in addition to IOError in package loading
      gui.views.transcription, core.webcherry: explicitly convert position parameter
      gui.popup: use "start" instead of "set" action in Goto annotation
      gui.popup: revert previous change
      gui.views.timeline: rename callback method + remove
      gui.views.transcription, core.webcherry: use update_status("set") to change the media position
      player.dummy: implement sound_mute/unmute/is_muted methods
      Main GUI: Replace "Defaults" occurences, according to http://www.asktog.com/basics/firstPrinciples.html#defaults
      gui.views.interactivequery: remove quicksearch code in
      gui.edit.rules: add annotation/fragment/duration shortcut in condition widget
      gui.util: implement non-modal message_dialog behaviour
      core.config, gui.main: implement auto-save feature, desactivated by default
      gui.views.timeline: preserve cursor position when zooming with control+scroll
      gui.views.timeline: new behaviour for double-click on annotation (edit
      gui.views.timeline: double-click in the layout background will move
      gui.util: fix type in gui.util.message_dialog
      bin/advene: in case of crash, display an information dialog proposing
      gui.views.transcription: fix annotation modification from the
      gui.widget: apparently, cairo.Context.show_text requires utf8 encoded
      gui.views.timeline: add ACTION_LINK to annotation-types DND definition
      gui.views.viewbook: dragging an annotation type over a viewbook will
      gui.main: when activating the loop through the toggle button, move the
      gui/*: unify id for transcribe, transcription and tagbag views
      gui.views.AdhocView: Use url-like encoding for parameter/option values
      gui.edit.element: special case when editing text content: the common
      gui.views.timeline: use label set_ellipsize method to ensure that the
      gui.views.transcription: do not use add_with_viewport for the
      gui.views.transcription: remove debug message
      gui.main: display an informative message when no dynamic view is active
      gui.main: update tooltip for STBV edition button according to its behaviour
      gui.main: surround dynamic view titles with triangles
      gui.views.AdhocView: when reattaching a popup window to the main GUI,
      gui.views.AdhocView: put contextual actions in a submenu
      gui/*py: refactoring of gui.util package + remove superfluous imports
      All files: cosmetic changes (mainly solve problems spotted by pylinks)
      gui.edit.elements: correctly pass the compact parameter
      gui.edit.elements: remove the misleading Preview button (which
      gui.edit.timeadjustment: display a smaller snapshot in compact mode
      gui.edit.timeadjustment: make the timeadjustment widget more compact
      gui.edit.elements: import advene.gui.popup
      gui.util.dialog: fix variable naming (fixes bug introduced in r3185)
      gui.edit.rules: fix CategorizedSelector ref.
      gui.plugins.contenthandlers: import Query, RuleSet and their Edit forms
      model.package: in generate_statistics, handle the case when
      gui.edit.rules: remove __main__ code
      gui.edit.timeadjustment: remove __main__ code
      gui.popup: use gui.open_adhoc_view to open new views
      gui.views.tree: reorder DND target types
      gui.views.relation: remove superfluous import
      gui.views.viewbook:
      gui.views.interactivequery: add missing import gui.evaluator
      Completer feature for gtk.TextView()s
      gui.main: initialize completer.Indexer on package load
      gui.edit.elements: use text completer in text contents
      completer:
      gui.edit.element: use new Completer API
      gui.main: update content indexer on annotation-type, relation-type and
      gui.util.completer: fix initial positioning
      gui.util.dialog: fix cornercase in alias generation
      core.controller:
      gui.main: use and define the package parameter for the PackageLoad event
      debian/changelog: sum up some new features
      gui.main: in mediainformation, display time values also as unformatted
      gui.main, gui.evaluator: rename evaluator.Window to evaluator.Evaluator
      gui.views.timeline: optionally put the statusbar at the bottom of the timeline
      advene.desktop: create .desktop file
      gui.main: initialize the STBV list widget ASAP
      doc/plugins.txt: improve documentation
      gui.util.dialog: fix typo
      gui.views.timeline: reintroduce annotation tooltips, controllable
      bin/advene: implement support for running the application from a MacOS X .app bundle
      share/pixmaps, gui.main: add new Advene icons and use them for the application windows
      gui.main, share/pixmaps: add Advene logo and use it in the about box
      gui.main: make messages gettext-friendly
      po, locale: translation updates
      gui.edit.shapewidget: implement basic SVG load feature
      gui.edit.shapewidget:
      gui.edit.shapewidget:
      gui.plugins.contenthandlers: define a SVGContentHandler
      setup.cfg: rewrite Requires line
      gui.edit.create: add SVG mimetype to annotation type creation dialog
      util.helper:
      gui.edit.elements: add (unused) label parameter to edit method
      gui.views.timeline: make position parameter evaluation more robust
      util.merger: fix create_view
      po/, locale/: translation updates
      mac/: scripts and information for MacOS X installer generation
      setup.py: integrated fixes for MacOS X py2app build
      debian/changelog: some news
      core.version: update version date
      gui.edit.shapewidget: implement clear_objects + handle the unrealized
      gui.edit.elements: implement TextContentHandler.content_set method
      gui.plugins.contenthandlers: allow to switch between graphical
      debian/changelog: finalize changelog
      Makefile: restrict epydoc generation to advene packages
      gui.edit.elements: fix bug preventing the edition of textual annotations
      gui.widget: workaround a bug exposed by MacOS X version (cairo context
      core.version: update release date
      Rename control file as control-debian, in order to ensure that the package chooses the file adapted to his distrib (Debian or Ubuntu)
      gui.edit.shapewidget: add safety tests
      gui.views.timeline: when creating an annotation by transtyping, put
      gui.views.viewbook: propose to open a timeline when DNDing an
      gui.edit.transcribe: propose completions in note-taking view
      gui.edit.montage:
      gui.edit.montage: display montage duration
      gui.edit.montage: implement zoom
      gui.edit.montage: implement vie saving
      share/pixmaps/montage.png: add montage.png icon
      share/pixmaps: add advene.ico
      core.webcherry: use advene.ico
      gui.main: register and display montage adhoc view
      gui.views.viewbook: on DND, propose to use the annotation-type's annotations in
      gui.edit.transcribe: do display +0.1sec adjustment in context menu
      gui.edit.montage: fix backwards montage play
      gui.edit.transcription: if the user specifies a representation, then
      gui.views.timeline: fix check in annotation reordering by DND
      gui.edit.montage: add a ZOOM_100 button
      gui.widget: use the element representation when DNDing
      bin/advene: store Advene error messages to ~/.advene/advene.log
      gui.views.timeline: fix annotation highlight problem when changing
      core.webcherry: add .controller attribute to Root object
      gui.main: fix quicksearch button tooltip update
      core.version: update version number/date
      bin/advene: fix test for determining if we are in a MacOS X .app
      core.config: activate captioner by default on MacOS X (should be removed once VLC captioning works correctly)
      debian/changelog: some news
      debian/changelog: forgotten news
      bin/advene: fix error log redirection
      gui.widget: use FONT_SLANT_ITALIC instead of FONT_WEIGHT_BOLD to
      gui.edit.transcribe: activate by default the automatic mark insertion
      gui.widget: do not draw the text in AnnotationWidget if the widget is
      gui.views.viewbook: on DND, propose to display the annotation-type's
      gui.popup: in the annotation type contextual menu, propose to display
      gui.edit.transcribe: do not use add_with_viewport for textview
      gui.widget: add safety test
      gui.edit.montage:  make dropzones 4 pixels wide + add a "Highlight
      gui.edit.montage: when DNDing an annotation inside a montage, consider
      gui.widget: shortcut 'h' on an annotation will activate/deactivate its
      gui.edit.montage: correctly handle annotation delete/update/activation
      gui.edit.montage: highlight currently playing annotation
      gui.edit.montage: only change position if we are not already at the
      gui.views.timeline: rename self.ratio_adjustment to self.scale
      gui.views.transcription: desactivate annotations when changing position
      gui.edit.montage: make self.scale a gtk.Adjustment
      gui.views.AdhocView: implement un/register_slave_view and safe_connect
      gui.edit.montage: implement set_master_view
      edit/* views/*: properly invoke the parent class AdhocView __init__ method
      gui.edit.montage: typo in set_annotation_active
      gui.edit.montage: use the whole montage view as drop target for annotations
      gui.views.transcription: allow to pass elements parameter (list of
      gui.main: open_adhoc_view transcription can now take 'elements' parameter
      gui.views.editaccumulator: fix super() call
      gui.views.interactivequery: propose to display the output of a query
      gui.views.timeline: ignore fraction_event if layout width  < 2. It
      gui.views.timeline: fix quick edit of annotation created by Return on
      gui.views.AdhocView: better support for master view
      gui.main:
      gui.views.timeline: add support for slave annotation display view and
      gui.views.viewbook: use a new format for adhoc-view DND selection data
      gui.views.tree: use the new format for adhoc-view DND selection data
      gui.views.viewbook: double-click on a view tab proposes to rename the view
      gui.views.timeline: ensure that the default zoom value (100%) is set
      gui.views.timeline: put statusbar at the bottom of the timeline
      share/web/advene.css: synchronise the standard css with the new Advene
      Annotation display view (meant to be used as a slave view for timeline)
      gui.views.timeline: fix closure/variable scope related issues
      gui.edit.elements: implement refresh method on ContentForms and EditPopups
      gui.main: update the eventual element edit popup if the element is updated
      gui.views.timeline: try to fix some NameError exceptions related to
      gui.views.transcribe: automatically insert mark only if the cursor is
      gui.edit.transcribe: display error messages (invalid timestamp...) in
      gui.edit.transcribe: do not auto-insert a timestamp mark if the key
      gui.views.timeline: fix bug when DNDing an annotation type on itself
      core.config: add .flv to video extensions
      bin/advene: when not running from a development tree, save
      bin/advene: use an AutoFlushed file object to write the log, in order
      bin/advene: if running in a development tree, do not redirect stdout/stderr
      gui.edit.transcribe: do not display resize grip on statusbar
      gui.edit.properties: handle Return/Escape as bindings for OK/Cancel
      gui.main: when extracting the stream address from a
      core.mediacontrol: register gstrecorder player module
      player.gstrecorder: audio stream recorder
      bin/advene: print useful information (advene version, run date,
      gui.edit.properties: implement add_entry_button
      gui.main: add Reset button for cached duration in package properties dialog
      gui.edit.elements: allow the edition of cached duration and mediafile
      gui.popup: add a shortcut to "Edit package properties" in the context
      gui.views.transcription: add button to quick switch between predefined presentation options
      po, locale: translation updates
      gui.views.annotationdisplay: take annotation as parameter
      gui.views.viewbook: DNDing an annotation on a viewbook will also
      util.ElementPath: needed part of ElementTree
      debian/changelog: document new features
      advene.plugins directory + mpeg7 importer
      core.controller: try to load plugins from global advene/plugins directory
      gui.edit.elements: in TextContentHandler, try to adapt to different
      gui.views.annotationdisplay: correctly handle annotation update/delete
      gui.views.timeline: remove annotation resize by DND and allow to
      gui.views.viewbook: use view._label as source when renaming
      gui.main: extract search_string() from do_quicksearch
      gui.views.interactivequery: display text entry with the search text in
      core.controller: add a position parameter to controller.transmute_annotation
      gui.views.timeline: when transmuting an annotation to a new type,
      gui.util: get_small_stock_button/get_pixmap_button allow to pass
      gui.views.interactivequery: option to create annotations from the
      core.version: update version date
      gui.views.timeline: when DNDing an annotation, also propose to copy
      util.helper: make matching_relationtypes directly take annotation types as parameters
      core.webcherry: update matching_relationtypes parameters
      gui.main: do not display the package browser icon in non-expert mode
      gui.edit.elements: add Next/previous annotation buttons
      gui.edit.elements: add Highlight annotation button
      gui.edit.elements: display a readable representation of
      gui.main: upon package loading, display a message dialog if the video
      gui.views.table: implement AnnotationTable.get_elements
      gui.views.interactivequery: offer to create a montage from the search
      gui.edit.transcribe: automatically add .txt extension if no extension
      gui.views.timeline: remove old compatibility code (for gtk<=2.6 with
      gui.views.tagbag: remove old compatibility code (for gtk<=2.6 with
      util.importer: add optional individual notification for annotation create
      gui.views.history: allow to create annotations from bookmarks
      gui.views.timeline: allow to copy all annotations from an annotation
      gui.views.timeline: reorder annotation-types by DND between annotation
      gui.views.timeline: DND an annotation-type on another will now propose
      gui.views.annotationdisplay: display annotation screenshot
      gui.main: do not display warning about no associated media file in
      gui.views.timeline: allow to delete annotations that have relations
      core.controller: implement delete_element
      gui.popup: use controller.delete_element
      gui.popup: use standard Delete menuitem for Resources
      core.controller: fix delete_element for resources
      gui.edit.create: use defaults parameter values from RegisteredActions
      gui.view.table: implement get_elements in AnnotationTable and GenericTable
      gui.views.interactivequery: use table.get_elements() (return table
      gui.edit.rules: use registeredaction.defaults values for parameters
      gui.views.tree: display annotation/relation colors in treeview
      model.tal.global_methods: implement 'color' global method
      share/template.azp: use colors in admin views
      rules.elements:
      core.controller: handler SubviewList in activate_stbv
      gui.edit.rules: implement EditSubviewList widget
      gui.edit.create: add a default SubviewList  when creating a new
      gui.edit.rules: add tooltips to copy/add/remove button in EditRuleset
      rules.elements: fix variable names
      rules.elements: add catalog as (unused) parameter of
      gui.edit.rules: allow DND of a SubviewList to copy it
      core.imagecache: allow to specify the epsilon parameter in get() method
      gui.edit.tales: do not display Package Browser button in non-expert mode
      gui.edit.elements: do not display Package Browser button in non-expert mode
      core.imagecache: add epsilon parameter in imagecache.get, so that
      gui.views.accumulatorpopup: display popup title at the left
      gui.edit.editaccumulator: replace V/OK/X buttons by OK/Cancel icons
      gui.popup: fix typo bug in annotation-type popup menu
      gui.views.annotationdisplay: do not close_on_package_load if it is a
      gui.widget: implement set_highlight and set_playing method for AnnotationTypeWidget
      gui.edit.elements: fix Prev/Next annotation navigation
      gui.edit.elements: remove expander for tag display, it takes as much
      gui.edit.elements: display existing relations in AnnotationEditPopup
      gui.edit.elements: restore player shortcut handling in
      core.controller: implement controller.restrict_playing
      gui.main: get_illustrated_text takes an optional height parameter
      gui.views.timeline: on single-click on an annotation, goto its beginning
      gui.views.timeline: code refactoring
      gui.views.timeline: highlight annotation-types from the same schema
      gui.views.timeline: implement auto-loop feature, with controlling
      gui.views.timeline: enable type playing restriction (with button next
      gui.views.timeline: add visualisation pane at the right of the
      gui.views.timeline: implement filtered copy of annotation by DND of an
      gui.views.timeline: allow to create a new relation-type when DNDing an
      gui.main: implement quicksearch in tags (in all annotations and relations)
      debian/changelog: document new features
      po, locale: translation updates
      gui.edit.transcribe: use WRAP_WORD mode
      gui.views.annotationdisplay: use a scrolledwindow to display contents
      gui.views.transcription: use WRAP_WORD mode
      gui.main: save as .azp by default.
      core.config: use $HOME/Library/Preferences/Advene to store settings, logs...
      gui.main: fix associated media message display
      gui.edit.properties: enable wrapping for labels
      gui.main: remove adhoc-view specification in the Edit/Preferences/GUI
      debian/changelog: document new features
      core.config: add language preference
      gui.main: Edit/Preferences/GUI code to set default language
      bin/advene: use specified interface language
      gui.main: if not standard workspace is defined, open appropriate
      gui.main: fix default view name
      core.plugin: handle plugins embedded in zip files (used in package
      bin/advene: fix stdout/stderr redirection
      core.plugin: fix line order
      bin/advene: fix indentation
      gui.views.accumulatorpopup: allow an unlimited number of popups (with size=0)
      gui.views.editaccumulator: do not limit the number of open edit widgets
      rules.elements: add predefined parameter for RegisteredAction
      core.controller: when playing is restricted to a given type, loop on
      gui.views.history, gui.main: rename HistoryNavigation to Bookmarks
      gui.main: save preferences when validating the preferences dialog
      gui.edit.tales: when editing TALES expression, display string:
      gui.edit.rules: display predefined values for Action parameters
      gui.views.logwindow: predefine parameter values
      rules.actions, gui.plugins.actions: predefine parameter values
      player.vlcnative: workaround for initial player position in start() method
      gui.views.timeline: fix quick annotation creation from the timeline
      gui.views.timeline: add a Frame around the annotation inspector
      gui.views.timeline: in restrict_playing, go to the first annotation
      gui.views.timeline: turn annotation highlight off by default
      gui.views.timeline: new shortcut 'c': center on current position
      gui.views.timeline: display the Restrict playing to type as a toggle
      gui.views.timeline: set a fixed width for annotation inspector
      gui.popup: allow to renumber all annotations of a given type through
      gui.main, gui.views.bookmarks, etc: rename 'history' view to 'bookmarks'
      gui.views.editaccumulator: use small_ok, small_close icons
      gui.views.editaccumulator: use bold titles
      gui.plugins.actions, gui.popup: fix typo in labels
      scripts/update_version:  update core.version module with builddate and svn revision number.
      core.version: update version date + add a svn revision info
      locale, po: translation updates
      debian/changelog: document new features
      core.plugin: in standard_plugins, look for .py rather than .pyc
      plugins.anvil: Anvil import filter
      plugins.anvil:
      plugins.anvil: extract media file location from the source
      util.importer: use a transient filename when creating package in GenericImporter.init_package
      plugins.annotationgraph: AG (Annotation Graph)  importer
      plugins.anvil: remove useless imports
      gui.views.tree: add missing import
      gui.views.bookmarks: allow to add comments to bookmarks
      gui.views.timeline: add a toggle to desactivate the "Goto on click" feature
      gui.main: navigation_history: use display_comments=False
      gui.views.bookmarks: honour self.display_comments setting
      gui.popup: add a Related annotations (sorted by type) submenu to the
      debian/changelog: document changes
      gui.views.timeline: store goto-on-click behaviour in self.options (so
      core.version: version number update
      po, locale: translation updates
      debian/changelog: reorder items
      doc/TODO: many changes
      debian/changelog, core.version: set version (0.26 stable release, even number)
      advene.iss: 0.26 version number
      mac/Advene.wrapper:
      mac/create_app_bundle:
      core.plugin: fix zip_plugins for win32 case
      core.plugin: fix return keyword
      gui.edit.elements: validate the annotation contents on next/prev navigation
      gui.main: workspace_save: do not save permanent widgets
      gui.views.bookmarks: use multiline textviews for comments
      gui.views.bookmarks: move Save view and Convert to buttons
      core.version: update svn rev.
      core.config: display svn revision in version_string
      gui.edit.tales: use a correct default value for predefined
      gui.plugins.actions: fix predefined definitions (single-element tuples
      rules.actions: fix predefined definitions (single-element tuples
      gui.edit.tales: fix TALES entry conversion from readable value to
      rules.elements: fix subviews.from_dom when there is no defined subview
      gui.edit.rules: do not short-circuit TALESEntry.get_text, else we get
      gui.views.timeline: fix annotation transtyping when no position is available
      gui.views.timeline: control+return == split annotation at the current
      gui.widget: implement AnnotationWidget.set_active
      gui.views.timeline: use AnnotationWidget.set_active instead of
      util.merger:
      gui.edit.rules: fix predefined values for action parameters
      gui.views.timeline: fix DND in the timeline or legend background when
      gui.views.timeline: fix relation content background display
      gui.edit.tales: make the regexp more flexible
      util.importer: use create_annotation_type/create_schema methods in init_package
      util.helper: handle format_time(None)
      gui.edit.importer: make the Convert button insensitive once the
      gui.main: replace the slider builtin value display by a gtk.Label, to
      gui.main: display the position slider with the width of the video window
      gui.edit.merge: fix treeview scrolling
      util.merger: handle empty annotation-types in relationTypes.getHackedMemberTypes
      model.query: make Query constructor accept author parameter
      gui.edit.elements: do not fail if cached duration is empty
      core.controller: fix cached duration setting (in case of bad formatting)
      gui.edit.elements: make duration metadata conversion more robust
      util.helper: prefix Relation Type title with an arrow
      gui.views.timeline: when transtyping, use Duplicate instead of Copy in labels
      gui.views.timeline: when transtyping an annotation to the same type,
      gui.views.timeline: while quick-editing an annotation created with
      gui.views.timeline: in goto-on-click mode, set annotation as
      gui.main: control-k == select the quicksearch field
      gui.views.interactivequery: implement "Edit query again"
      core.controller: when moving an annotation to the same type with a
      gui.views.timeline: allow to move annotation to its own type and a
      gui.edit.transcribe: bugfix in mark insertion with button press
      gui.widget: AnnotationWidget: shift-del == delete annotation
      plugins.shotdetect: Shotdetect importer
      debian/changelog: bugfixes/enhancements in 0.26
      po, locale: translation updates
      core.version: update date and svn revision number
      gui.views.timeline: variable name bugfix
      gui.views.singletonpopup: fix super() call
      gui.views.bookmarks: factorize imports
      core.version: update svn rev.
      debian/control-feisty: since gutsy nows accepts the same packages as debian, the control-ubuntu is specific to feisty
      core.controller: make load_package use immediate notification, so that all package attributes are properly initialized before we try to open the default views (which may depend on some attributes)
      bin/advene: import gtk in the error handling code
      core.controller: allow to pass immediate=False value to notify (even
      core.controller: fix syntax bug
      gui.views.annotationdisplay:
      gui.views.finder, gui.main: implement package finder (a la MacOS X)
      core.controller: do not forget to remove the old restricted_rule
      pixmaps: add play.png and noplay.png
      gui.views.timeline: replace ToggleButton for retricting playing to a
      core.config: fix target mimetype generation
      gui.widget: implement DND methods for TagWidget
      gui.views.timeline: make relation-to-relation DND work on win32 (which
      gui.views.bookmarks: make annotation DND to bookmarks view work on win32
      gui.widget: define and use GenericColorButtonWidget.default_size
      gui.edit.transcribe: use gui.widget.GenericColorButtonWidget for
      gui.edit.transcribe: remove TranscriptionEdit.set_color method
      gui.views.tree: fix DetailedTreeModel.on_iter_children when the
      gui.views.tagbag: remove tag drag_sent code, since it is implemented
      gui.views.bookmarks: take the initial history parameter into account
      gui.views.timeline: make double-click on an annotation open the
      gui.edit.transcribe: fix refresh problem when converting timestamped notes
      gui.edit.transcribe: change default automatic insertion delay to 1500 ms
      gui.edit.transcribe: inserting a mark is done with double-click by
      gui.edit.transcribe: add an autoscroll option (on by default) in
      gui.edit.transcribe: add a "Center on current mark" button
      gui.widget: define TimestampMarkWidget (for note-taking view)
      gui.edit.transcribe: use gui.widget.TimestampMarkWidget
      gui.edit.transcribe: gray-out background for text before the current
      gui.edit.transcribe: strike the text that should be ignored
      gui.edit.transcribe: fix tooltip
      gui.edit.transcribe: add a toggle in the toolbar to de/activate
      gui.edit.transcribe: do not auto-insert a mark if Space was pressed
      gui.main: import module for finder view
      model.bundle: shorten bundle string representation
      debian/changelog: new features
      core.version: update version number
      gui.views.tree: fix on_get_iter method
      gui.views.tree: improve remove_element method (maybe it is correct now...)
      gui.views.finder: handle model updates
      gui.views.bookmarks: fix history initalization
      gui.views.timeline: make click in the background also obey the "Goto
      share/template.azp, share/web/fckeditor: prefix all template admin views ids with _
      gui.views.timeline: shift-click on an annotation -> activate annotation
      gui.views.timeline: shift-click: _toggle_ annotation active state
      gui.views.timeline: remove (once again) tooltips for annotations,
      gui.views.timeline: remove leftover from previous commit
      gui.views.timeline: allow to select a region
      share/pixmaps: new icons
      gui.views.timeline: add selection actions from toolbar
      gui.edit.transcribe: check for None iterator in get_iter_at_child_anchor
      gui.main: in self.loop_on_annotation_gui, check that annotation == self.current_annotation
      gui.views.timeline: save visualisation pane position when saving view
      gui.views.timeline: implement "Center and zoom on selection"
      gui.views.timeline: implement lazy-loading of snapshots in timeline scale
      core.config: modify default timeline parameters
      gui.popup: do not display the TALES explorer in non-expert mode
      core.controller: augment docstring for loop_on_annotation
      gui.views.viewbook: propose to open a bookmarks view when DNDing an annotation
      util.helper: implement find_in_path
      plugins.tts: Text-To-Speech plugin, which defines the Pronounce
      plugins.tts: implement MacOSXTTSEngine
      gui.views.timeline: do not try to restrict playing to an empty type
      gui.views.timeline: allow to edit selected annotations
      debian/changelog: new features
      gui.views.timeline: fix double click in timeline background
      gui.views.timeline: draw selection rectangle
      pixmaps/noplay.png: change icon
      core.controller: remove unused loop_on_annotation method
      gui.main: rewrite loop_on_annotation_gui using internal_rule
      gui.views.timeline: remove goto-on-single-click for layout background
      gui.views.timeline: in DND menu, offer to duplicate the selection
      gui.views.annotationdisplay: handle graphics contents
      gui.views.annotationdisplay: render graphical annotation over the
      gui.widget: remove unused event BUTTON3_MOTION_MASK
      gui.main: remove useless test
      plugins.tts: some doc update for win32
      gui.views.timeline: remove shortcut for tooltip display, since it does
      gui.views.transcription, gui.views.browser: remove __main__ code
      gui.views.sequence: remove obsolete module
      gui.views.relationdisplay: RelationDisplay widget
      gui.views.finder: display relations through RelationDisplay
      gui.widget: move AnnotationRepresentation and RelationRepresentation
      gui.edit.elements: move AnnotationRepresentation and RelationRepresentation
      gui.views.finder: refactorize the code
      gui.views.finder: implement ViewColumn
      gui.views.timeline: change popup menu labels
      gui.views.finder: implement QueryColumn and ResourceColumn
      gui.edit.elements: use binary open mode when writing data in
      gui.edit.elements: in GenericContentHandler, display the image if the
      gui.views.finder: if mimetype.startwith('image/'), display image preview for Resources
      gui.views.finder: fix label for Edit Query
      gui.views.finder: fix bug in matchFilter test
      gui.popup: propose to open the static view in the web browser if it
      gui.views.browser: rename "Package browser" to a more appropriate "TALES browser"
      gui.views.annotationdisplay: fix initial display configuration
      gui.views.timeline: refactorize timeline toolbar generation
      simpletal: add embedded version of simpletal. It has the inconvenience of overriding the Linux version, but the advantage of not adding another dependency for MacOS X and win32
      gui.views.relationdisplay: fix bug in refresh method
      gui.views.timeline: modify the timeline layout so that the scale part
      gui.main: fix slider display when changing the video size
      gui.views.finder: always display horizontal scrollbars in finder
      gui.views.timeline: display picture duration in minutes/seconds
      gui.views.timeline: make screenshots larger, and use | instead of an
      gui.views.timeline: use displayed scale area to determine screenshot
      gui.views.timeline: dynamically modify screenshot size and repartition
      share/pixmaps/notavailable: use a 4:3 ratio for the not available image
      gui.views.timeline: add previous/next annotation navigation buttons at
      gui.edit.rules: take the context (editing a Query or a Rule) into
      gui.views.timeline: make the precision of the screenshot fetching from
      gui.main: implement generate_screenshot method
      share/advene.glade: add Player/Generate screenshots menuitem
      core.controller: remove debug print
      gui.views.timeline: use screenshot width / 2 for imagecache fetching precision
      gui.views.transcription: double click in transcription -> go to annotation
      gui.views.AdhocView: implement set_label method
      gui.views.AdhocView: set window title if the view is in a popup window
      gui.views.viewbook: set an appropriate view name
      gui.main: set the title of the transcription window to the title of
      gui.edit.tales: update the tooltip of the TALES Entry with the real
      gui.views.timeline: keep displaying the annotation in the inspector
      gui.edit.transcribe: implement get_save_arguments + view restoration
      core.controller: implement search_string, with google-like search
      gui.main: use controller.search_string
      core.controller: add missing import
      gui.edit.montage: fix annotation DND on win32 (requires
      gui.views.timeline: fix annotation-type DND on win32 (requires
      share/exporters.xml: export views
      gui.plugins.exporter: exporter framework
      gui.main, advene.glade: add Export data menuitem
      gui.views.viewbook: add new drag ACTIONs
      gui.edit.importer: change the window title when importing
      gui.views.finder: make the DND of the Open in GUI button for an adhoc
      gui.views.timeline: display selection as submenu in timeline
      gui.main: use controller.load_plugins to load GUI plugins, now that
      gui.edit.transcribe: implement text search facility
      gui.edit.rules: in non-expert mode, do not display "Return value"
      rules.elements: implement composition mode save/load for ConditionList
      gui.edit.rules: implement and/or composition modes for ConditionList in EditQuery and EditRule
      gui.views.interactivequery: make "Create annotations from the result"
      gui.edit.transcribe: offer a more featureful convert dialog window
      gui.edit.transcribe: polish annotation conversion dialog.
      gui.edit.transcribe: take initial timestamp mark into account when
      gui.edit.transcribe: fix last timestamp mark handling in parsing
      gui.edit.transcribe: fix mark highlighting
      gui.edit.transcribe: make the delete existing toggle unsensitive when
      gui.main: remove obsolete comment
      gui.views.timeline: never display the vertical scrollbar in the
      gui.main: forward quick-search for a single string to open
      gui.edit.create, gui.edit.transcribe, gui.views.interactivequery: use controller.get_timestamp() to get element creation dates
      core.controller: fix search_string method
      gui.views.AdhocView: use gtk.RESIZE_IMMEDIATE only for win32
      share/exporters.xml: fix IRI export view
      core.config: specify time-increment in config.data.preferences
      gui.main: use config.data.preferences['time-increment'] and allow to
      gui.views.timeline: fix strings
      po, locale: translation updates
      debian/changelog: document new features
      gui.views.finder: make left/right arrows work as expected
      gui.views.finder: add column titles to all types of column
      model.resources: rename "Resources of" to "ResourceSet"
      gui.main: left click on quicksearch button displays the popup menu,
      gui.popup: display the number of annotations in a type in the popup menu
      share/exporters.xml: define default displayed types for IRI exporter
      gui.plugins.exporter: do not forget to close() the output stream, else
      core.config: add save-default-workspace, restore-default-workspace preferences
      gui.main: implement workspace saving in the package. Automatic restore
      gui.edit.elements: edit default_adhoc metadata for Package
      gui.views.interactivequery: allow to save the interactive query as a
      core.config: define core.config.first_run to determine if this is the
      gui.views.timeline: properly update the type color when it is updated
      gui.views.transcription: check for the presence of the marks when
      core.controller: allow to specify a subset of annotations in restrict_playing
      gui.views.timeline: if the timeline is displaying only a subset of the
      gui.views.viewbooks: when DNDing a view, if an existing view of the
      po, locale: translation updates
      gui.views.timeline: fix positioning of next/prev annotation buttons in
      mac/Leopardish: add Leopardish theme for MacOSX version
      mac/Advene.wrapper: if a theme directory is present in the bundle, use it
      mac/create_app_bundle:
      core.config, core.controller: use sort(key=) which is more efficient than the old way.
      gui.views.annotationdisplay: fix initial display of AnnotationDisplay
      gui.views.viewbook: set use_underline=False in popup menu items
      gui.edit.elements, gui.edit.transcribe, gui.popup, gui.views.accumulatorpopup, gui.views.timeline: use sort(key=) syntax where relevant.
      core.imagecache: use sort(key=) syntax
      INSTALL.txt: note the requirement for python >= 2.4 and add
      core.config: add .mp3 and .wav to video file extensions
      core.controller: on package loading, remove already used from the
      gui.views.interactivequery: make action buttonbar a toolbar, so that
      gui.views.interactivequery: make the interactiveresult view more compact/able
      gui.views.annotationdisplay: fix indent typo
      debian/changelog: document new features
      rules.elements: implement rules.elements.Quicksearch class
      gui.views.interactivequery: allow to save the query from the
      rules.elements, gui.edit.create, gui.plugins.contenthandlers, model.tal.global_methods: rename advene.rules.elements.Query to advene.rules.elements.SimpleQuery, to avoid confusion with advene.model.query.Query
      rules.elements: pay attention to encoding of the searched string when
      gui.views.interactivequery: simplify (?) a bit
      gui.main: remove useless code
      gui.views.finder: in QueryColumn, add the possibility to try to apply
      gui.edit.montage: add an AnnotationDisplay view in the montage
      gui.views.interactivequery: implement search/replace string in query results.
      gui.views.interactivequery: close query result view on package load
      mac/Leopardish/xfwm4: remove useless files
      Give credits where credits is due
      some views: replace self.controller.log by self.log
      gui.views.timeline: rename self.statusbar to self.quickview
      gui.views.bookmarks: make action buttons a toolbar at the top of the view
      gui.views.AdhocView: implement message method (needs a
      gui.views.transcription: put the action in a toolbar at the top
      gui.edit.transcribe: the message method has been moved to gui.views.AdhocView
      gui.views.html: convert buttons to a toolbar
      gui.views.interactivequery: fix variable name
      gui.views.montage: put the action buttons in a toolbar
      core.controller: fix generate_sorted_list (bug introduced by r3732)
      core.controller: convert mediafile to sys.getfilesystemencoding() when
      gui.views.timeline: prevent a DND to trigger a single-click event,
      gui.main: use the sys.getfilesystemencoding() to check for mediafile existence
      gui.plugins.actions: new action: PopupGotoOutgoingRelated
      gui.views.accumulatorpopup: display a small close button next to popup title
      share/template*xml: remove unused XML templates. The template is template.azp
      share/template.azp: rename bundle-view to _bundle-view. Now, all admin views begin with _.
      gui.views.tree: now that all admin views begin with _, we can display
      gui.views.tree: remove leftover debug prints
      core.version: update date and svn rev number
      gui.plugins.actions: display relation type + content (if present) in PopupGotoOutgoingRelated
      po, locale: translation updates
      setup.py: do not bundle simpletal and cherrypy on linux (most distribs
      debian/changelog: document new features
      Revert r3778 (and take this opportunity to rename the file in all-lowercase). Since schemaeditor is still experimental and depends on still "exotic" libs such as goocanvas, we cannot assume that it will work everywhere, and we do not want to load it by default.
      gui.views.schemaeditor: remove trailing ^M
      examples/Nosferatu_unstable: update admin views, general cleanup
      share/template.azp: fix author/date fields
      gui.views.timeline: when selecting annotations, control+DND will
      gui.views.timeline: display cursor time when selecting annotations
      gui.views.timeline: implement "Merge selection"
      gui.views.timeline: add a Selection submenu to the annotation popup
      gui.main: do not ask confirmation for the creation of dynamic view,
      gui.views.timeline: display cursor time when DNDing an annotation in
      gui.views.timeline: fix time conversion in annotation transtyping
      gui.views.timeline: put in the middle when scrolling to annotation
      gui.views.timeline: put Selection submenu at the start of the
      core.imagecache: implement autosync
      gui.main: activate imagecache autosync feature when generating screenshots
      gui.main: initialize imagecache.name if necessary
      gui.views.timeline: put position, pane-position and zoom in
      gui.views.timeline: put back position and zoom in arguments when
      main GUI: add a Help/Get support menuitem, and directly use the online help system (Help/Help) instead of a local copy
      share/web/shortcuts.html: updated local copy
      core.plugin: handle the case when the zipfile library uses / as path separator
      debian/changelog: sign the changelog entry
      gui.edit.elements: implement set_label
      core.config: add application/x-advene-quicksearch to config.data.text_mimetypes
      util.importer: make IRIImporter more robust to invalid IRI files
      gui.views.timeline: remove obsolete code
      gui.main: fix snapshot generation
      po, locale: translation updates
      gui.views.timeline: display a time marker in the scale layout, on the timecodes
      gui.views.timeline: use GenericColorButtonWidget to display the
      gui.widget: introduce self.alpha attribute, to control the alpha
      gui.views.timeline: remove obsolete code related to marker time selection
      gui.views.timeline: fix current marker refresh problem
      gui.views.timeline: 1 pixel wide for the current time marker seems enough
      gui.views.timeline: reintroduce the test for SCROLL_UP (since there
      model.resources: rename ResourceSet to ResourceFolder
      rules.elements, gui.plugins.actions: introduce new action category "Popup"
      gui.dialog: replace the treeview-based CategorizedSelected for actions
      gui.views.timeline: add use_underline=False to gtk.MenuItem instanciation
      gui.popup: add use_underline=False for some  gtk.MenuItems
      gui.util.dialog, gui.views, gui.views.tagbag: add use_underline=False where appropriate
      gui.views.annotationdisplay: allow to pass an time value (int) instead
      gui.views.timeline: when DNDing an annotation or defining a zone,
      share/exporters.xml: implement Advene2 export template
      core.imagecache: allow to specify epsilon parameter in is_initialized
      core.webcherry: resources creation through webserver is done with the
      gui.edit.shapewidget: add support for xlink:href on SVG elements
      gui.plugins.contenthandler: create a shape with link to the element
      model.annotation: cache annotation type value
      model._impl: cache meta values (the parsing of the whole meta children
      model.package: define self.meta_cache in Package (for caching meta attributes)
      gui.views.timeline: set scale height to a value displaying the
      core.webcherry: ask webcherry to *not* process the request body only
      debian/changelog: updates
      core.webcherry: improve resource creation via POST method
      core.webcherry: handle file upload for data in POST method
      core.webcherry: fix PUT method handling
      core.webcherry: handle redirect in all POST queries
      core.webcherry: handle no_content value for redirect parameter
      gui.simple: Simplified Advene GUI
      core.config, bin/advene: handle --simple option
      gui.widget: define expose_alpha attribute
      model.tal.global_methods: add support for resources in absolute_url
      gui.edit.shapewidget: implement Text shape
      gui.edit.shapewidget: implement basic image support
      gui.edit.shapewidget: edit shape  properties on double-click
      gui.evaluator: fix bug in attribute completion
      gui.popup: offer to open the resource in the web browser from the
      util.helper: add namespace mapping for xlink
      core.version: update version and svn rev.
      gui.edit.shapewidget: handle shape list reordering
      gui.edit.shapewidth: pass the current path to parse_svg to allow the
      gui.plugins.contenthandlers: when editing a SVG resource, pass its
      model.resources: implement Resources.__contains__
      rules.actions: implement PlaySoundClip and PlaySound actions
      rules.actions: fix sound player on macos X
      rules.elements, rules.actions: move PlaySound and PlaySoundClip actions to 'Sound actions' category
      rules.actions: fix sound playing on win32
      gui.edit.shapewidget: use the background image dimensions as canvas
      gui.edit.shapewidget: store relative dimensions with 1e-3 precision
      gui.main: use different arrows to represent dynamic views depending on
      util.helper: use simplified arrow (->) on win32 to represent relation
      gui.edit.shapewidget: fix Image.get_svg + do not use
      gui.popup: display the "Open in web browser" menuitem for all elements
      rules.actions: remove debug print
      misc files: do not translate internal debug messages. They should not be seen by the user, and may cause exceptions when displaying to a terminal (if the terminal encoding is not correctly set)
      rules.actions: do not wait for aplay process completion when playing sounds
      core.webcherry: when updating elements through the webserver, if the
      gui.views.interactivequery: fix evaluator classname
      po, locale: translation updates
      util.merger: handle a corner case with empty metadata in annotation types
      model._impl: fix bug in setMetaData
      examples/Nosferatu_unstable: integrated annotation data from IRI
      gui.views.timeline: fix DND of annotation type to the "Remove" toolbar button
      core.controller: fix string search corner case
      core.controller: correctly handle ignore-case
      gui.popup: modify annotation renumbering behaviour: if the annotation
      gui.main: in quicksearch, directly launch the search when modifying
      examples/Nosferatu_unstable: fix some views
      debian/changelog: document new features
      gui.widget: add a check for width < 0 (malformed data with begin > end)
      model.content, gui.widget: add support for application/x-advene-values mimetype, which specifies a list of space-separated float values. They will be rendered as a bargraph in the AnnotationWidget
      util.importer: implement IRIDataImporter, importer for sound sample
      advene.gui.util.initialconfig, bin/advene: on first Advene launch (i.e. if the preferences directory does not exist yet), ask some basic configuration questions
      gui.util.dialog: use set_markup in message_dialog
      gui.main: implement check_for_update (against my will, per Yannick's
      core.config: add 'update-check' and 'last-update' settings
      core.config: ***Potentially disruptive change*** On Win32, use
      gui.main: display update notification only in the Popupwidget view
      gui.util.initialconfig: improve settings descriptions
      share/advene.glade: add a Help/Check for updates menu
      gui.widget: display bargraph with a .5 alpha
      gui.main: add a button to open the Advene website in check_for_update
      gui.main: indicate current Advene version in check_for_update
      po, locale: translation updates
      gui.popup: use binary mode when inserting resource file, else binary
      plugins/*: ElementTree.parse can directly take a filename as parameter
      model.resource, gui.edit.elements: open resources and generic content in binary mode (for win32)
      gui.util.initialconfig: correctly initialize gettext
      gui.util.initialconfig: in the initial dialog, hide the '_' moviepath
      gui.util.initialconfig: string change
      po, locale: update translation
      gui.edit.shapewidget: keep a copy of all SVG attributes
      gui.plugins.contenthandlers: handle text/uri-list drops to SVG editor
      core.version: update svn rev and date
      gui.edit.rules: fix query editing, when condition is None
      gui.edit.rules: fix generation of predefined values for query source
      rules.elements: fix comment
      gui.views.browser: do not display a dialog in case of exception
      gui.plugins.actions: fix the generation of predefined values for the
      gui.edit.elements: revert r3412: do not enable player shortcuts in
      gui.dialog: in message_dialog, if set_markup fails, use label.set_text
      debian/changelog: document changes
      setup.py: bugfix
      share/simple.glade: add a Quit button
      INSTALL.txt: update
      doc/README: remove obsolete file
      doc/adhoc-views.txt: doc update
      doc/advene.1: give the user guide URL in the manpage
      doc/: documentation update
      doc/TODO: TODO update
      gui.widget, gui.views.timeline: when DNDing an annotation, display the destination time and screenshot, or the destination annotation title and screenshot next to the cursor
      gui.widget: do not update the DND cursor if not necessary
      gui.views.timeline: in annotation DND, when the cursor leaves the
      gui.widget, gui.views.timeline: rename set_time to set_cursor
      gui.widget: in DND, limit text size in the cursor to 30 chars
      gui.views.timeline: in DND, use a try:except: clause for _icon.set_cursor
      core.controller, model.tal.global_methods: move Query interpretation wrt. mimetype to the controller
      gui.views.viewbook: when DNDing an annotation over a viewbook, propose
      gui.edit.elements: implement refresh() in EditRelationsForm
      gui.main: in annotation_lifecycle and relation_lifecycle, update the
      gui.views.__init__: tweak r3947
      gui.main: update the displayed time when moving the slider
      gui.main: make double-click on the time label open a dialog to enter a
      core.version:  update svn rev. and date
      po, locale: translation updates
      README.txt: minor change
      player.gstreamer: modify update_status("set") behaviour
      player.gstrecorder: restore the video encoding pipeline
      gui.views.tree: reorder target types for drag from the treeview
      debian/menu: update menu definition
      share/pixmaps: add .xpm version of icons
      debian/menu: reference .xpm icons
      debian/advene.desktop: define .desktop file
      debian/rules: use dh_desktop
      setup.py: install .desktop file
      debian/changelog, core.version: release 0.28
      examples: copy unstable to v5
      model.package: fix generate_statistics when title is empty (None)
      gui.views.timeline: fix bug in zoom handling when
      advene_pad.xml: PAD file (for win32 sites)
      gui.main: when Checking for udpates from the menu, display a message
      gui.widget: on AnnotationWidget._drag_begin, pass element instead of
      share/exportes.xml: define CMML export template
      core.version: we are now developping the 0.29 (unstable) version
      gui.views.timeline: polish merge code
      core.config: define config.data.startup_time
      rules.ecaengine: cleanup record-action code
      rules.ecaengine: in record-action, convert timestamps into ms
      rules.importer: timestamps for actions are now stored in ms
      gui.main: fix bug in do_generate
      gui.edit.timeadjustment: handle 'timestamp' dragtype
      gui.views.timeline: add "Highlight selection" menuitem
      gui.main: remove Stop button from the player control toolbar. This
      core.controller: encode native log message (for gui-less controller)
      debian/changelog: we are now working on 0.29
      core.version: update svn rev. and date
      gui.edit.rules, gui.edit.create: in dynamic views, use default names for rules in the form Rule\d+
      gui.main: "Add dynamic view" button
      gui.views.timeline: when there is a selection, popup menus will only
      core.controller, rules.elements, rules.actions: add state-related actions
      gui.views.bookmarks: rename bookmarks plugin
      gui.views.timeline: allow DND of timestamps (hence bookmarks) in the
      gui.views.timeline: allow DND of timestamp (bookmark) to annotation
      gui.views.timeline: use also shift for multiple selection
      core.controller, gui.main: define controller.get_defined_tags() method
      gui.util.dialog: allow to specify a completions= parameter for entry_dialog
      gui.views.timeline: allow to tag the selection
      gui.edit.timeadjustment: allow to drag timestamps from timeadjustment
      gui.edit.timeadjustment: the button is not a source for annotation drags
      gui.views.viewbook: when dropping a timestamp over a viewbook, open a
      gui.views.viewbook: remove debug message
      gui.edit.timeadjustment: use a decorated (image + timestamp) drag cursor
      gui.views.bookmarks: use a decorated (image + timestamp) drag cursor
      Convert some TABs to whitespace.
      Remove trailing whitespaces
      Fix license boilerplate
      Fix copyright header
      COPYING: remove non-license text
      gui.views.activebookmarks: extended bookmarks view
      gui.util.__init__: Image.show() in get_pixmap_button (so that b.show()
      gui.views.activebookmarks: allow to DND to the empty bounds + display
      gui.edit.timeadjustment: implement callback in timeadjustment
      gui.views.activebookmark: do not allow to set invalid timestamps
      gui.edit.timeadjustment: handle text drag types
      gui.views.activebookmarks: synchronize activebookmarks with model
      gui.views.activebookmarks: synchronize contents
      gui.main: add icon for ActiveBookmarks view
      core.controller: make notifications synchronous when deleting an
      util.importer: fix bug in create_schema/create_annotation_type methods
      util.importer: in SRTImporter, try to guess the encoding (utf8 or latin1)
      gui.views.timeline: allow to move all annotations of a type to another type
      gui.views.bookmarks: handle double click on bookmark widget (start
      gui.views.editaccumulator: update the element frame title when it is updated
      gui.views.timeline: rename "Copy all annotations" to "Duplicate all
      gui.views.activebookmark: create annotation in the 'Text annotation'
      model.zippackage, gui.util.dialog: if None, fallback sys.getfilesystemencoding() to utf8, as it is a more sensible default than ascii
      gui/*py: when DNDing, always encode/decode the selection in utf8.
      gui.util.dialog: implement combo.set_current_element in list_selector_widget
      gui.views.activebookmarks: display a dropdown list of the type used to
      bin/advene: on MacOSX and linux, immediatly exit if the DISPLAY env. var is not set.
      core.config: define config.data.preferences['bookmark-snapshot-width']
      gui.main: use config.data.preferences['bookmark-snapshot-width']
      gui.views.bookmarks: define a proper BookmarkWidget
      bin/advene: fix check for DISPLAY env. var on linux/macosx
      rules.element: describe ElementEditBegin event
      gui.views.bookmarks: fix bookmark DND to remove it
      gui.views.bookmarks: rename BookmarkWidget.timestamp to
      gui.views.bookmarks: make BookmarkWidget able to handle None values
      gui.views.bookmarks: fix BookmarkWidget attributes
      gui.views.activebookmarks: reuse BookmarkWidget in activebookmarks
      gui.views.bookmarks: different layout for BookmarkWidget
      core.controller: add a notify parameter to transmute_annotation
      gui.views.timeline: in copy_annotations, if copying more than 50
      gui.widget: define TimestampRepresentation
      gui.views.bookmarks: use TimestampRepresentation widget
      gui.views.bookmarks: fix append behaviour
      gui.views.activebookmarks: fix end widget initial display
      gui.views.bookmarks: add a scrollwindow to display the comment
      gui.widget: make TimestampRepresentation more compact
      gui.views.activeboomarks: fix content synchronisation
      gui.views.bookmarks: use the same font size for comments as in the timeline
      po, locale: translation updates
      plugins.brltty: Braille output plugin
      core.plugin: display registered plugins
      gui.main: fix copyright dates
      gui.main: mark an about string as translatable
      core.config: add 'widget' target type for DND
      gui.views.activebookmarks: implement bookmark deletion
      gui.views.activebookmarks: in DND, invert begin and end if end < begin
      gui.views.activebookmark: when the annotation is complete, display a
      gui.views.activebookmarks: fit the frame around the activebookmark
      gui.views.activebookmarks: add a tooltip for the type selector
      gui.views.bookmarks: fix bookmark content update
      gui.views.activebookmarks: update textview background color with the
      gui.views.activebookmarks: deleting the begin timestamp if there is a
      gui.views.activebookmarks: do not use the unnecessary
      core.config: remove the 'widget' target_type.
      gui.views.bookmarks: fix Bookmark refresh when there is no comment
      gui.views.activebookmarks: when DNDing inside the view, move the
      gui.views.bookmarks: display "Comment here" as default content, which
      gui.views.activebookmarks: display BookmarkWidget.default_comment as default
      gui.views.activebookmarks: 'reorder bookmarks' feature
      gui.views.activebookmarks: allow to DND a type
      gui.views.activebookmarks: restore bookmark bin functionality
      gui.views.activebookmarks: handle annotation-type updates
      gui.views.activebookmark: DND a type to a completed active bookmark
      gui.main: allow to edit bookmark snapshot width in preferences
      util.importer: add a 'complete' parameter for importer
      gui.views.bookmarks: mark generated annotations as not complete
      gui.views.editaccumulator: on annotation creation, only edit not
      gui.views.timeline: mark annotations created from timestamp as not complete
      gui.views.activebookmarks: handle Control+scroll on timestamp representations
      gui.views.activebookmarks: prevent control+scroll to generate invalid
      rules.elements: define Bookmark(Un)highlight events
      gui.views.timeline: handle Bookmark(Un)Highlight events
      gui.widget: emit Bookmark(Un)Highlight events on enter/leave widget
      gui.views.timeline: shortcut evaluateValue and directly access context.globals
      gui.views.timeline: mark annotations created by Return on the type as
      core.config, gui.main, gui.widget: allow to specify the precision (in ms) for the bookmarks snapshots (Edit/Preferences/GUI)
      gui.views.bookmarks, gui.views.activebookmarks: make the comment entry as wide as possible
      gui.views.activebookmarks: allow DND on comment entry to set type/end time
      gui.widget: unhighlight the bookmark in the timeline when changing its value
      gui.views.activebookmarks: update annotation type list when changing package
      gui.views.activeboomark: fix return value in handle_scroll_event
      gui.views.activebookmark: ignore drop if dragging from the same annotation
      gui.widget: make TimestampRepresentation generate drags for
      gui.views.activebookmark: by default, when replacing the timestamp of
      gui.views.accumulatorpopup: implement convenience method display_message
      gui.main: use convenience method popupwidget.display_message
      gui.widget: cosmetics
      gui.widget: cosmetics
      gui.views.activebookmarks: make the frame draggable (and possibly
      gui.edit.elements: hide the Mimetype field when editing a dynamic view
      gui.main: do not inhibit standard C-c, C-v, C-x behaviour
      core.config: define config.data.preferences['drag-snapshot-width']
      gui.widget: display begin and end keyframes when DNDing an annotation
      gui.widget: display the annotation drag icon with a fixed size and in
      gui.main: new global shortcut: Insert will create a new activebookmark
      gui.edit.timeadjustment: display adjustment widgets (entry, current
      gui.views.activebookmark: update drag cursor definition
      gui.views.activebookmarks: reflect latest changes for drag cursor
      gui.widget: add width and epsilon parameters to TimestampRepresentation
      core.config: add 'application/x-advene-values' to config.data.text_mimetypes
      gui.main: add Alt-Space (in addition to Insert) as shortcut to create bookmarks
      gui.views.activebookmarks: pressing "Del" on a timestamp image will
      gui.views.activebookmarks: add a permanent dropzone
      core.imagecache: add epsilon parameter to invalidate_snapshot
      gui.widget: add a standard popup menu ("Invalidate snapshot") to TimestampRepresentation
      gui.main: take a snapshot when creating a  new bookmark
      gui.views.activebookmarks: allow to reorder bookmarks by DND
      core.imagecache: allow to get imagecache[None]
      gui.views.annotationdisplay: use bookmark-snapshot-precision and
      gui.widget: implement dummy TimestampRepresentation.set_color and
      gui.edit.transcribe: use screenshots as timestamp marks
      gui.widget: make invalidate_snapshot a TimestampRepresentation method
      gui.edit.transcribe: allow to DND timestamp marks into note-taking
      gui.edit.transcribe, gui.views.bookmarks: cleanup
      gui.util: implement encode_drop_parameters/decode_drop_parameters
      gui.main, gui.views.viewbook: use the encode/decode_drop_parameters utilities
      Transmit comments along timestamps in DND
      gui.util: fix accented chars transmission in encode/decode_drop_parameters
      gui.views.activebookmark: fix initial type selection
      gui.main, gui.views.activebookmarks: set the focus on the comment entry when creating a new activebookmark
      gui.views.timeline: also draw the bookmark indicator in the annotation
      gui.widget: add ACTION_MOVE and ACTION_LINK to AnnotationWidget
      gui.views.timeline: add a trash can toolbutton to delete annotations
      gui.views.activebookmarks: allow to reorder completed bookmarks/annotations
      gui.views.activebookmarks: fix completed bookmarks reordering
      gui.views.timeline: draw an arrow when the highlighted bookmark is out
      gui.views.timeline: properly resize scale_layout
      gui.views.activebookmarks: display a drop zone for the end bookmark
      gui.views.activebookmarks: fix completeness tests
      gui.util.completer: complete with view index if no context is given
      gui.views.bookmarks: enable text completion in bookmark comment
      gui.widget: do not display the destination annotation as drag cursor
      gui.views.activebookmarks: use only ACTION_COPY for the trash icon DND
      gui.views.activebookmarks: set no_show_all on dropbox
      gui.widget: set_cursor() without parameter will set  the default drag cursor. This fixes the refresh problem when leaving the timeline.
      rules.actions: define OpenStaticView action
      po, locale: translation updates
      gui.widget.TimestampRepresentation: rename _update_display into refresh()
      gui.edit.transcribe: allow to set the scale of timestamp marks
      gui.widget: display x-advene-values with filled lines instead of bars
      gui.views.activebookmarks: fix type selection of created bookmarks
      gui.views.timeline: only display time-alignment options that can be applied
      gui.edit.transcribe: use the defined image scale when creating new
      gui.widget: TimestampRepresentation.width initialisation
      gui.views.bookmarks: add a width parameter to BookmarkWidget
      po/, locale/: translatio updates
      gui.views.activebookmarks: implement scroll_to_end
      gui.main: always scroll to the end of the ActiveBookmark view when
      gui.widget: doc update
      core.idgenerator, core.controller: when deleting an element, remove its id from the _idgenerator id set, so that we can reuse it later on.
      gui.views.finder: reset Apply query buttons when changing element
      core.controller: in evaluate_query, add an optional 'expr' parameter
      model.tal.global_methods, gui.views.viewbook: use the new evaluate_query API
      gui.views.finder: use controller.evaluate_query
      gui.popup: propose to try to execute the query on various sources from
      gui.views.activebookmarks: allow to save and restore the ActiveBookmarks view
      gui.edit.timeadjustment: revert part of r4130 (timestamp entry is now
      gui.dialog: extract title_id_widget method, and use a gtk.Table for
      gui.main: improve the annotation type selection/creation facility
      gui.views.timeline: use the new gui.main.ask_for_annotation_type method
      gui.views.activebookmarks: use a toolbar item to save the view
      gui.views.activebookmarks: DND of an annotation creates an
      gui.util: define shaped_window_from_xpm method and arrow_up/arrow_right xpms
      gui.views.activebookmarks: display an arrow indicating the drop
      gui.views.activebookmarks: hide_arrow_mark is only locally defined
      gui.views.activebookmarks: correctly update frame label when directly
      gui.views.activebookmarks: allow to create a new type directly from
      gui.util.__init__: gtk.image_new_from_pixmap is only available from
      core.version: update svn rev. and date
      core.controller: transmit the immediate_notify parameter to
      gui.views.activebookmarks: fix bug in DND marker positioning
      gui.views.activebookmarks: add test
      gui.views.activebookmarks: delete annotation using either Delete or BackSpace
      gui.main: use Control-Tab to play/pause the player, in order not to
      gui.views.activebookmarks: when replacing a timestamp, put the copy of
      gui.edit.elements: in TextContentHandler, set the background color of
      gui.main: in ask_for_annotation_type, display tooltips for the various
      gui.views.activebookmarks: implement ActiveBookmark.set_current
      gui.views.activebookmarks: allow to navigate between bookmarks with Tab/Shift-tab
      gui.views.activebookmarks: fix current bookmark selection when DNDing timestamps
      gui.views.activebookmarks: set can-focus to False for end_widget and
      gui.main: Alt-Shift-Space (or Alt-Insert) will create a new bookmark
      gui.views.activebookmarks: add after_current parameter to append
      gui.views.activebookmarks: use a black border to mark the current bookmark
      gui.widget: register the defined widgets into gobject
      gstreamer: fix width and height for screenshot capture
      gui/*: homogeneize gtk signal names (use - as word separator, enclose in single quotes)
      gui.main: fix bug in variable name
      gui.views.timeline: fix bug (single quote/double quotes issue)
      gui.views.activebookmarks: Control-D -> duplicate bookmark
      gui.views.activebookmarks: fix bug when removing the last bookmark
      gui.views.activebookmarks: in set_current, force grab_focus to get a
      gui.views.tree: when double-clicking on a adhoc-view, open it (rather
      gui.views.activebookmarks: allow to instanciate an ActiveBookmark from
      gui.views.activebookmarks: use drag_(un)highlight to mark current
      model.content: make the parsed() method more robust when parsing x-advene-values
      gui.views.activebookmarks: add a contextual menu for bookmarks
      gui.views.activebookmarks: propose to automatically complete
      gui.views.activebookmarks: allow to change annotation type from the
      gui.views.activebookmarks: fix scroll_to_bookmark method
      gui.main: when adding a new bookmark with the shortcut (Insert or
      gui.views.activebookmarks: extend the end timestamp popup menu to
      gui.views.activebookmarks: fix autoscroll method
      gui.widget: implement TimestampRepresentation.set_width and doc. updates
      gui.widget: doc. update
      gui.edit.transcribe: use the TimestampRepresentation.set_width method
      gui.widget: if the TimestampRepresentation.label is now shown, then
      gui.views.activebookmarks: allow to specify the image snapshot size
      gui.widget: implement TimestampRepresentation.as_html()
      gui.views.activebookmarks: implement HTML export
      gui.views.activebookmarks: propose to open the exported view in the
      debian/changelog: document changes
      core.webcherry: force navigation mode in /action page
      core.webcherry: force navigation mode for all administration forms
      core.version: update svn rev. and date
      gui.views.activebookmarks: fix Change type popup menu
      core.controller: implement merge_annotations in controller
      gui.views.timeline: use controller.merge_annotations method
      gui.views.activebookmarks: fix Ctrl/Shift behaviour for DND
      gui.main: do not warn about missing media if it starts with 'dvd'
      gui.widget: define method TimestampRepresentation.goto_and_refresh
      gui.views.bookmarks: use Timestamp.goto_and_refresh method for 'activate'
      player.gstreamer: fix dvd_uri method
      gui.widget: improve goto_and_refresh method
      gui.main: display the value of time-increment in the tooltips for
      gui.widget: a "Use current player position" in the TimestampRepresentation popup menu
      core.controller: in update_status, capture a snapshot before and
      core.controller: fix typo
      gui.widget: fix popup menu generation
      gui.widget: always display the TimestampRepresentation tooltip
      core.imagecache: handle None key value
      gui.views.timeline, gui.edit.transcribe: make Control+Scroll behaviour to modify the time value consistent with Control+Up/Down for navigation (Up-> increase, Down->decrease)
      gui.main, util.importer: when importing DVD chapters, display a message if the lsdvd application cannot be found
      core.controller: when creating elements, make sure their id is
      core.idgenerator: implement new_from_title
      gui.views.AdhocView: when saving view, propose a meaningful name based
      gui.main: restore the Stop button
      gui.main: add Previous/Next frames buttons to the player toolbar if
      gui.main: in annotation-type creation, check that we are not
      gui.main: check for existing id in schema creation too
      core.imagecache: make sure that we never store a None key in the
      core.controller: implement move_frame method
      gui.main: use controller.move_frame method
      gui.views.activebookmarks: scroll-up on a timestamp *increases* the
      core.version: svn rev and date update
      share/template.azp: rename "Simple text" schema into "Basic schema"
      plugins.shotdetect: specify 'representation' attribute for generated type
      core.controller: fix move_frame method
      util.importer: remove whitespace
      gui.views.activebookmarks: homogeneize the behaviour of Ctrl/Shift in DND
      gui.views.timeline: click on the Delete icon will delete the selected annotations
      gui.views.activebookmarks: remove "Drop timestamps here" drop zone
      gui.views.activebookmarks: r4310 was a bit too radical...
      util.helper: fix title2id behaviour wrt. accented strings
      gui.views.activebookmarks: clicking on the trash can removes the
      core.controller: handle non-Advene elements in get_element_color
      gui.util.dialog: allow to specify a color in list_selector_widget / generate_list_model
      gui.main, gui.edit.transcribe, gui.views.activebookmarks: display type color in type selection combobox
      gui.main: fix previous commit
      gui.views.activebookmarks: remove "Create a new type" item from the
      gui.views.activebookmarks: fix arrow navigation. Up/Down/Home/End
      gui.views.activebookmark: default to preserving (copying) destination timestamps
      gui.views.activebookmarks: add a "Remove begin timestamp" item to the
      gui.widget: add with_timestamp parameter to TimestampRepresentation.as_html
      gui.edit.transcribe: implement as_html
      gui.views.AdhocView: implement export_as_static_view
      gui.views.activebookmarks: export_as_static_view is now defined in the
      gui.views.activebookmarks: add a popup menu to the frame to access the
      model._impl: fix setMetadata/setTitle when value is ''
      util.merger: use empty string when copying if source title is None
      model.tal.global_methods: improve sorted() behaviour
      core.controller: get_utbv_list() return _index_view as first element
      share/template.azp: define _index_view, a simplified standard summary
      model.viewable: remove debug prints
      core.config, core.controller: add a log-to-terminal option
      gui.views.activebookmarks: implement C-c/C-x/C-v for bookmarks
      core.config: define 'bookmark' drag_type
      advene.glade: remove Copy/Cut/Paste from the main menu, they are handled by individual views
      core.controller: comment r4274 to check if it did not introduce
      core.controller: revert r4338, not guilty.
      debian/changelog: document changes
      debian/changelog: indicate that the bookmarks view is deprecated
      gui.main: in non-expert mode, display a dialog indicating which media
      po, locale: translation updates
      gui.views.activebookmarks: autoscroll the view in DND when passing
      gui.views.timeline: autoscroll the view in DND when passing
      gui.edit.importer: fix file importer GUI
      player.gstreamer: implement fullscreen/unfullscreen. Not fully working
      player.gstreamer: have un/fullscreen work correctly multiple times
      gui.main: display a Fullscreen button for gstreamer player
      player.gstreamer: make sure that the fullscreen window background is black
      gui.main, player.gstreamer: handle standard player shortcuts in fullscreen mode
      player.gstreamer: in fullscreen mode, make the space bar pause/resume
      gui.dialog: add a modal= parameter to message_dialog
      gui.edit.tales: implement set_no_show_all proxy
      gui.edit.rules: use set_no_show_all on condition entries
      util.helper: add view to TALES valid root elements
      share/template.azp: in _package-view, sort views alphabetically
      share/pixmaps: small icon fixes
      Nosferatu_unstable.azp: import sound enveloppe values from LdT data
      New stable example Nosferatu package v6
      doc/developper.txt: small clarification
      debian/changelog: 0.29 entry finalisation
      debian/changelog: changelog entry for 0.30 release
      Nosferatu_v6: update the version number in the Home view
      po, locale: translation updates
      doc/TODO: updates
      debian/control-debian: remove dependency on python-xml
      core.version: update version number
      advene_pad.xml: update version numbers
      debian/control-debian: depend on python-gobject
      setup.py: fix simpletal/cherrypy directory ignore on linux
      debian/copyright: add more precise copyright information
      debian/rules: fix clean target
      fckeditor: remove a Thumbs.db file
      mac/create_dmg: get version number from scripts/version
      mac/Advene.wrapper: do not use the Leopardish theme
      advene_pad.xml: update windows package size information
      INSTALL.txt: remove python-xml dependency
      README.win32: remove paragraph about VLC installation
      gui.edit.merge: pass the controller to Differ
      util.merger: better handle incomplete data
      gui.edit.importer: when selecting a .azp or .xml package, propose to
      core.controller: whitespace fixes
      debian/changelog: document changes
      gui.main: in expert mode, display a button to open the Schema editor
      gui.views.activebookmarks: DND on the end bound placeholder triggers
      gui.views.annotationdisplay: fix rendering of SVG content
      gui.views.activebookmarks: properly select Text annotation (id:
      core.controller: allow unbalanced quotes in searched strings. A simple
      core.controller: correctly handle accented search strings on
      gui.widget: use ->/<- instead of unicode chars on win32
      gui.views.activebookmark: change complete icon tooltip
      gui.edit.transcribe: never display  timestamp labels in note-taking
      gui.widget: if the specified TimestampRepresentation width is less
      gui.widget: use 6x12 smallish timestamp marks
      gui.views.timeline: implement discrete scrolling as per some people's
      core.controller, util.helper, gui.popup, gui.views.transcription: move get_title code into controller.
      gui.views.transcription: set use_underline=False for menu item
      gui.views.schemaseditor: ask for filename in pdf export
      gui.views.timeline: Tab in quick-edit mode validates the annotation
      gui.views.schemaeditor: use standard popup menu for annotation types
      model.resources: be resilient to errors resulting from a non-existing
      gui.views.timeline: fix adjustment.page_size calculation, this solves
      gui.views.timeline: add Control +/- shortcut for zooming, and always
      gui.views.timelines: quote fixes
      gui.views.timeline: when selecting annotations by drawing a frame, if
      gui.views.timeline: always grab the focus after duplicating an
      gui.views.timeline: DND of a type in its own line creates a new annotation
      gui.views.timeline: small workaround for the bookmarks remaining
      core.controller: add missing import
      core.plugin: do not "print" plugin registration information, it
      model.content: encode error message into utf8
      gui.views.finder: fix the bug where the finder view was reset  when
      gui.edit.elements: when editing an AnnotationType, RelationType or
      gui.main: display a (*) marker in the window title if the package is modified
      gui.main: correctly update the modified (*) marker
      gui.views.schemaseditor: fix carriage returns (no DOS \r
      gui.views.schemaeditor: remove useless imports
      gui.main: there is a bitwise xor operator in fact, which is what we
      gui.views.schemaeditor: do not register the view if the goocanvas
      schemaeditor: move from views/ into plugins/ directory, so that it gets autoloaded
      gui.views.timeline: use self.create_annotation method
      gui.widget: in GenericColorButtonWidget, define set_cursor for the
      gui.plugins.schemaeditor: correctly handle the absence of goocanvas module
      gui.views.timeline: in create_annotation, ensure that we do not create
      gui.util.dialog: fix modal/non-modal behaviour in message_dialog
      gui.main: correctly display the media information popup when loading a package
      gui.main: complete workspace automatic save/restore feature. It is
      core.config, gui.main: introduce second-time-increment parameter, used for the Control-shift-left/right shortcut. Customizable through Edit/Preferences/Time related.
      gui.edit.transcribe: add a "Edit" item to the timestamp mark popup menu
      core.config, misc. views: implement second-scroll-increment behaviour (for Control-Shift-scroll updates). Customizable through Edit/Preferences/Time related
      gui.main: make Control-Space also play/pause the video
      gui.edit.transcribe: change Control-Space shortcut (pause the video
      gui.views.timeline: add keyboard modifiers for annotation DND in the
      gui.main: rename "default workspace" to "saved workspace"
      gui.edit.transcribe: when restoring a saved view, use unquote_plus to
      core.config: set restore-default-workspace to 'ask' by default
      gui.views.tree: allow to drag views from the treeview
      gui.views.transcription, gui.views.logwindow, gui.views.tagbag: make them valid plugins
      core.plugin: when traversing directories, ignore python files that are
      core.controller: display a meaningful error message
      gui.edit.transcribe: make transcribe a valid plugin
      gui.main: early loading of gui plugins + automatically load from
      gui.main: fix typo
      model.package: implement get_element_by_id through URI reconstruction
      gui.views.editaccumulator: make it a valid plugin
      gui.edit.schemaeditor: now that plugins are autoloaded from gui/views and gui/edit directories, move schemaeditor to a more appropriate directory
      util.helper: get_view_type return None if the parameter is not  aview
      gui.plugins.actions: OpenInterface is now used to open an empty adhoc
      gui.plugins.contenthandlers: correctly handle view drops on
      debian/changelog: reformat to match TWiki list syntax (3 or 6 spaces
      debian/changelog: document changes
      debian/changelog: whitespace fixes
      setup.py: generate a list of plugins, in order to force their
      setup.py: improve previous fix
      core.controller, gui.edit.transcribe, gui.views.timeline: remove controller.delete_annotation, it is superseded by controller.delete_element
      core.version: update svn release
      gui.main: define create_boomark method, so that it can be reused
      plugins.brltty: handle input events from BrlTTY
      gui.main: extract find_bookmark_view method
      gui.views.activebookmarks: implement move_boomark/select_bookmark in container
      plugins.brltty: offer navigation in defined bookmarks
      plugins.brltty: display unhandled keys + fix invalid exception problem
      gui.simple: update to match gui.main modifications
      gui.main: refactor process_player_shortcuts method (introduce dict
      gui.main: fix keypad shortcuts
      rules.elements: handle undefined registered actions (for instance,
      util.helper: defined unaccent  method
      plugins.brltty: unaccent strings before displaying them
      plugins.brltty: define the Braille action even if the brltty API could
      plugins.brltty: display message to the Advene log if the connection to the Braille display could not be initialized
      gui.edit.rules: fix rule numbering problem with accented characters
      gui.edit.rules: allow to DND a rule tab to copy it
      rules.elements: use ElementTree to parse ruleset/queries. This may
      core.controller, gui.plugins.contenthandler, gui.views.interactivequery: from_dom/to_dom do not exist since r4503. Use from_xml/to_xml instead
      share/default_rules.xml: fix namespace problem
      core.controller: dynamically fix namespace issues in queries and
      rules.elements: trivial bugfixes
      rules.elements: fix Rule serialization to XML
      rules.elements: remove obsolete comment
      gui.popup: add a "Generate a caption dynamic view" menuitem to
      gui.main: fix player_rewind_frame
      debian/changelog: update
      po, locale: translation updates
      plugins.tts: implement Espeak TTS engine (advantages over festival:
      plugins.tts: dynamically configure ALSA for Festival + fix bug in EspeakTTSEngine.close
      plugins.tts: remove debug code
      core.config, gui.main: define preference tts-language + its gui
      gui.main: fix bug in method name
      plugins.tts: manage to kill espeak on win32
      gui.main: convert searched string to unicode (fix win32 behaviour)
      gui.util.dialog: do not specify encoding when converting get_filename
      core.controller: fix encoding issues (for win32 of course) in controller.get_default_media
      player.gstreamer: try to make it work on win32 (no captions)
      rules.elements: specify utf-8 encoding when saving rule elements
      model.zippackage: specify utf-8 encoding when generating MANIFEST
      model.package: another attempt at fixing loading of accented package names on win32
      util.helper: encode filenames in get_statistics
      core.controller: avoid double notification of ViewActivation
      po, locale: translation updates
      core.version: update date and svn rev.
      share/web/shortcuts.html: update from wiki
      debian/changelog: make a note about espeak
      util.helper: import sys module
      gui.util.dialog: fix package preview for filenames with accents
      gui.main: restore Insert global player shortcut
      gui.main: open the EditAccumulator in fareast zone by default, and
      gui.views.timeline: change the active zone fraction for Control-click
      scripts/update_doc: get AdveneShortcuts from the current wiki
      shortcuts.html: update from wiki
      share/exporters.xml: improve HTML+CSS export (use colors, representation)
      gui.plugins.exporter: use STOCK_INDEX icon
      gui.plugins.exporter: set the Convert button as sensitive only if a
      gui.plugins.exporter: generate appropriate default filenames/extensiosn
      share/exporters: add 'extension' metadata to exporter views
      gui.main: open Export dialog in a popup window
      gui.plugins.exporter: use STOCK_OPEN as icon
      gui.main: define gui.get_icon_list
      gui.views.AdhocView: use gui.get_icon_list
      gui.main, gui.edit.merge, gui.edit.imports: use get_icon_list
      gui.plugins.exporter: suppress XML declaration when generating export views
      share/exporters.xml: add a Types column to TSV export
      core.controller: prevent a double MediaChange notification when only a
      pixmaps/advene.ico: embed multiple resolution icons in advene.ico
      gui.main: when creating the ActiveBookmarks view, ensure that it is visible
      gui.views.activebookmarks: sometimes, scroll_to_bookmark can be called
      gui.views.finder:set use_underline=False
      gui.views.finder: use type color in column title
      core.controller: fix named parameter
      share/template.azp: fix namespaces issues in queries
      gui.views.finder: remove duplicate method
      core.controller: to define properties, new-style classes are
      gui.views.timeline: handle DurationUpdate signal and refresh display
      gui.main: fix Alt-Space bookmark creation
      gui.main: when display the EditAccumulator (Ctrl-a), resize the
      gui.views.finder: make FinderColumn a new-style class
      gui.plugins.exporter: suppressXMLdeclaration cannot be passed to any
      rules.elements: fix bug in Query.to_etree
      share/web/shortcuts.html: updated from wiki
      core.version: update date and svn rev.
      model._impl: in setDate, remove the attribute if None is passed (and
      gui.edit.timeadjustment: do not show the TimestampRepresentation
      core.controller: simplify log method
      share/exporters.xml: remove <pre> tags from the SRT export view
      gui.views.browser: handle TypeError when evaluating values
      gui.views.browser: set use_underline=False for column titles
      gui.main, gui.edit.merge: fix set_icon_list parameter
      Nosferatu_unstable: update version number, add colors and fix some views
      Copy Nosferatu_unstable to v7
      gui.main: it seems that view.popup can sometimes return a View instance
      po,locale: translation updates
      debian/changelog: finalize for 0.32 release
      scripts/update_version: run "svn up" before trying to get the
      debian/control-debian: update
      *.iss: udpate version number
      core.version: set version to 0.32
      advene_pad.xml: update for 0.32
      MANIFEST.in: include advene.desktop and locale/ dir
      po/es.po: fix translation issues
      gui.main: use a standard file selection dialog for the export feature
      gui.plugins.exporter: useless now that the functionality has been implemented as a file selector dialog in gui.main
      gui.main: whitespace fixes
      core.config: define register_player
      core.plugin: ignore plugin if it raises ImportError
      player.vlcorbit: remove obsolete CORBA-based player
      player/*: convert players to plugin architecture
      share/exporters.xml: support colors in SVG export
      gui.main: handle non-existing imagecache parent directory
      player/*: make register() return True/False depending on the plugin activation
      gui.views.timeline: when validating with Tab key in quick edit mode,
      gui.edit.htmleditor: pseudo-wysiwyg basic html editor
      gui.edit.htmleditor: modify sys.path when running standalone
      gui.edit.htmleditor: fix apply_html_tag
      gui.edit.contenthandlers: define HTMLContentHandler
      gui.evaluator:
      gui.main: evaluator.popup now adds itself the close button
      gui.edit.htmleditor: seems that "HTML 4.01 forbids end tags for the br
      gui.edit.contenthandlers: on annotation drop in HTMLEditor, insert the snapshot
      gui.edit.htmleditor: fix width/height img attribute handling
      gui.edit.htmleditor: use insertion point iter instead of end_iter for
      gui.edit.htmleditor: insert a invisible char \u2063 between contiguous
      gui.edit.htmleditor: properly generate <br> tags
      gui.plugins.contenthandlers: Handle DND into HTMLContentHandler,
      gui.edit.htmleditor: fix typo
      gui.plugins.contenthandlers: move the cursor when dragging in
      gui.plugins.contenthandler: HTMLContentHandler: add a Header button
      model.package: add missing getQueries in get_element_by_id
      rules.elements: add compatibility code for previous versions of XML
      gui.edit.htmleditor: add left-margin parameter for li/dt
      gui.main: remove obsolete comment (and incidentally test git-svn gateway)
      gui.evaluator: fix some pylint issues
      gui.evaluator: auto-fill function/method parameter names
      gui.evaluator: remove debug message
      gui.evaluator: fix help string
      gui.evaluator: handle some cases when getting source is not possible
      gui.evaluator: fix \n escape when saving/restoring history
      gui.evaluator: remove \n escaping.
      gui.views.viewbook: when DNDing an annotation over a viewbook, offer
      gui/*: allow multiple annotation uris in target_type['annotation']
      gui.plugins.contenthandlers: add ScrolledWindow in HTMLEditor
      gui.edit.htmleditor: remove superfluous \n before __block tags
      gui.widget: send the correct drag data if there is no selection
      gui.views.viewbook: fix view title generation
      gui.plugins.contenthandlers: do not put a trailing /> for img tag, it
      core.version: update version number to 0.33
      gui.player.gstreamer: some tweaks in start() and set_media_position()
      gui.player.vlcnative: implement compatibility methods for vlc >= 0.9.0
      core.controller: display which plugins could not be loaded + autoload player plugins
      Nosferatu_unstable: small fixes in adhoc_views static view
      doc/plugins.txt: document register_player
      doc/TODO: some more, some less
      core.controller, gui.views.viewbook: move create_static_view to core.controller
      gui.views.timeline: add "Create a static view" in the selection menu
      gui.edit.htmleditor: do not close standalone tags (img, br) with the
      gui.edit.htmleditor: fix _endmark generation for <br>
      gui.main: fix parameter naming
      gui.edit.element: when editing a static view or a dynamic view, add a
      core.controller: put number of elements in created view title
      gui.edit.htmleditor: put a closing tag for <img> when generating html
      util.helper: define common_fieldnames method
      core.controller, gui.main: maintain for each annotation-type a _fieldnames attribute which is a set of field names. It is initialized on package load, and updated on every AnnotationEnd.
      gui.edit.create, gui.views.timeline: use annotation.type._fieldnames to initialize new annotation's content.
      doc/TODO: one item done
      edit.elements: in EditViewPopup and EditQueryPopup, display the title
      gui.edit.htmleditor: do not try to handle_endtag is tag in self.__standalone
      model.content: use a StructuredContent dict-like object to
      plugins.undomanager: simple undo framework
      rules.ecaengine: handle immediate= named parameter in notify()
      Pass immediate= named parameter in notify() to ECAengine
      core.controller, gui.*: instrument code with ElementEditBegin/ElementEditEnd to get undo support for annotation modification and suppression
      gui.evaluator: in fill_method_parameters, if there are no parameters,
      share/advene.glade: add Undo menuitem
      core.controller, gui.views.AdhocView, gui.views.interactivequery: add support for undoing Query and View suppression and modification
      plugins.undomanager: handle batch actions
      core.controller, gui.*: path a session identifier to events in order to use the batch feature from the undomanager
      plugins.undomanager: handle tags
      gui.widgets: use controller.delete_element
      gui.widget:simplify code
      gui.widget: consider a possible selection when pressing Shift-Del or e
      doc/TODO: more done
      debian/changelog: document changes
      plugins.undomanager: automatically the existing close batch history if
      gui.widget: fix 'e' shortcut for AnnotationWidget
      doc/TODO: one thought
      po, locale: update translations
      core.webcherry: remove abusive test (some parameters of actions may
      gui.plugins.actions: in OpenView, fix handling of the id parameter (it
      share/template.azp, examples/Nosferatu_unstable.azp: display user-defined adhoc and dynamic views in stanard summary
      core.config: fix list manipulation confusion
      core.config: specify --snapshot-width/-height for VLC player args
      gui.widget: fix selection handling in AnnotationWidget
      gui.plugins.contenthandlers: fix spurious content insertion
      gui.views.timeline: a single click on an annotation widget clears the whole selection
      gui.plugins.contenthandlers: propose multiple choices when dropping annotation in in HTMLContentHandler
      gui.edit.htmleditor: define html_reset method
      gui.plugins.contenthandlers: always activate the HTML WYSIWYG editor by default.
      gui.plugins.contenthandlers: fix typo
      gui.views.timeline: revert 605f441ddb38f0b749e3263e3cfcbb55162d0e60
      gui.main: be more robust to unknown player status codes
      doc/TODO: updates
      scripts/update_version: Handle both git and svn
      core.version: update svn version and date
      gui.util.completer: fix get_completions when isinstance(context, gtk.TextBuffer)
      gui.util.completer: correctly split the contents of a gtk.TextBuffer for completions
      gui.edit.htmleditor: handle image loading errors
      gui.edit.htmleditor: use gtksourceview if available
      gui.plugins.contenthandlers: in HTMLContentHandler, display Undo icon if the feature is available
      core.controller: fix copy/paste artefact
      gui.edit.htmleditor: handle missing src attribute in img
      gui.edit.elements: do not hook the completer if there is no indexer
      gui.main: try to put the focus on the Play button.
      gui.views.activebookmarks: do not add incorrect behaviour on other platforms just for the sake of win32
      doc/TODO: some done
      po, locale: translation updates
      Nosferatu_v8: copy current unstable to v8
      debian/changelog: finalise 0.33 entry
      debian/changelog: add entry for 0.34
      core.version: update version number, date and svn rev.
      shortcuts.html: update from the wiki
      advene_pad.xml: update for .34
      advene.iss: update for .34
      adveneAllInOne.iss: update for 0.34
      TODO: one more item
      advene_pad.xml: correct win32 installer size
      gui.main: add missing parameter
      gui.views.activebookmarks: prevent double triggering of DND on the
      gui.views.activebookmarks: handle drag motion on comment textview
      gui.views.timeline: fix typo
      gui.main: handle an absent undomanager
      po/fr.po: fix translation
      TODO: update
      gui.edit.elements: fix apply_and_open feature
      core.controller: create_static_view simply returns the view
      gui.views.timeline: open the newly created static view
      gui.edit.elements: make EditElementPopup a AdhocView
      gui.views.viewbook: when creating a new static view, open it in the viewbook
      gui.views.editaccumulator: update property name change (window->_widget)
      doc/TODO: one item done
      gui.views.activebookmarks: fix module docstring
      core.controller: define select_player
      gui.main, advene.glade: allow to dynamically select the player
      TODO: one item done
      gui.main: update player status labels when selecting a new player
      core.controller: notify a PlayerChange when restarting the player
      gui.main: do not reset the drawable manually, it is done through PlayerChange handler
      gui.edit.montage: fix bug in annotation insertion
      doc/TODO: updates
      player.gstrecorder: if the specified filename already exists, generate a new one in order not to overwrite an existing file by mistake.
      player.gstrecorder: embed the video output
      gui.main: properly update the player control toolbar depending on the player capabilities
      doc/TODO: done items
      core.controller: store the selected player for future sessions, except if it is a recorder
      gui.main: allow to open more than 1 EditAccumulator
      gui.views.viewbook: when DNDing an annotation/selection over a viewbook, propose to edit it/them
      gui.views.viewbook: rename "package browser" to "TALES browser"
      gui.views.activebookmarks: allow to provide an initial list of timestamps
      gui.views.viewbook: when creating bookmarks, use the activebookmarks view
      core.controller: stop the player when selecting a new one
      core.controller: pass an argument to stop()
      core.config: use gstreamer instead of vlcnative as standard player on linux
      gui.evaluator: check for validity in scroll_output
      gui.edit.montage: fix trivial bug
      gui.views.timeline: use discrete autoscroll as default
      gui.widget: when DNDing in AnnotationWidget, display the number of annotations if there is a selection
      gui.views.timeline: set the selection toolbar button sensitivity depending on the selection
      core.controller: implement create_static_view for AnnotationType
      gui.views.viewbook: propose to create a static view from an annotationtype
      gui.popup: propose to create a static view from the AnnotationType popup menu
      gui.views.timeline: do not create the widget if the annotation is outside of the timeline bounds
      gui.views.timeline: remove debug message
      player.gstreamer: implement basic SVG support.
      doc/TODO: updates
      gui.edit.htmleditor: fix variable name bug
      gui.edit.htmleditor: implement get_current_context
      gui.edit.htmleditor: cosmetic, remove trailing spaces
      gui.edit.htmleditor: allow to specify the filename for testing + display the context label
      gui.edit.htmleditor: handle invalid html in get_current_context
      gui.edit.htmleditor: define a ContextDisplay widget to display tag/attributes
      gui.plugins.contenthandlers: use htmleditor.ContextDisplay
      gui.edit.htmleditor: do not hardcode the sample html file
      gui.edit.htmleditor: tweak sys.path fiddling
      gui.edit.htmleditor: fix img recognition in get_current_context
      gui.edit.htmleditor: allow to edit tag attributes through the ContextDisplay
      gui.views.timeline: remove obsolete method
      gui.views.timeline: correctly handle self.minimum/self.maximum properties
      gui.edit.htmleditor: remove obsolete comments
      gui.evaluator: closing the window in embedded case should not halt the gtk mainloop
      gui.evaluator: tweak assignment handling
      gui.views.timeline: forbid zoom levels that would imply a gtk.Layout larger than 65535 pixels
      gui.views.timeline: implement limit_display/unlimit_display
      gui.views.timeline: the selection toolbutton is insensitive at startup
      gui.widget: make it possible to handle a single annotation outside of the selection
      gui.views.timeline: save/restore minimum/maximum display values
      gui.widget: fix bug in annotation DND to text/plain target
      gui.popup: mark offset on AnnotationType or Schema  as a batch operation
      gui.main: catch exception when exporting a package
      gui.main: honour 'log-to-terminal' option in self.log
      core.controller: log-to-terminal option is handled in gui.main.log
      core.imagecache: make not_yet_available_image a class variable
      gui.views.timeline: do not update fraction_adj when the zoom is too large
      gui.widget: use the ImageCache.not_yet_available_image class variable
      share/exporters: somehow fix Advene2 export view
      simpletal.simpleTAL: augment the exception message to facilitate debugging
      TODO: one more
      core.controller: log the time used to load the package
      core.controller: use self.build_context
      share/exporters: improve metadata creation in Advene2 export view
      gui.edit.elements: simplify edit() method
      gui.main: alphabetically sort export filters
      share/exporters.xml: improve Advene2 package and media metadata export
      gui.views.browser: implement keyboard navigation
      gui.views.browser: do not unselect item on exception
      gui.views.timeline: fix structured annotation template creation
      gui.edit.rules: fix a type in predefined TALES expression
      gui.main: use size-request instead of size-allocate to memorize window size
      gui.main: memorize window position in addition to its size
      core.config: define config.data.preferences['windowposition']
      gui.evaluator: define true_cb and false_cb methods
      core.controller: comment fixes
      gui.evaluator: display execution time
      gui.edit.montage: remove a buggy superfluous line
      gui.evaluator: display default values when completing method args
      gui.evaluator: add safety check
      gui.evaluator: fill_method_parameters even when there is something (assignment, parenthesis...) before.
      gui.views.viewbook: add missing use_underline=False
      gui.evaluator: useless use of itertools, builtin zip does the job
      gui.main: update quicksearch_entry tooltip with the source
      core.controller: handle \n/\t escape sequences
      gui.views.timeline, gui.views.annotationdisplay: display annotation type information in the inspector window
      gui.views.interactivequery: handle \n/\t escape sequences
      share/exporters.xml: export title attributes
      gui.views.annotationdisplay: display the annotation type's schema in the inspector
      util.importer: fix namespace for description metadata
      gui.views.annotationdisplay: display decsription for annotation type
      core.controller: define register_event
      core.controller: define typed_active property
      rules.ecaengine: remove activeAnnotations as a context global.
      rules.elements: when parsing subviewlists, be lax about namespace issues
      rules.elements: make basic_events modifiable
      plugins.brltty: define a new BrailleInput event.
      rules.elements: make from_etree more robust wrt. namespace issues
      gui.edit.rules: add a "Add subview list" button
      TODO: more work
      core.controller: small optimisation
      rules.ecaengine: use sorted() on an iterator
      gui.evaluator: extract parameter completion for builtins from the docstring
      gui.views.browser: do not use sw.add_with_viewport
      TODO: export-related items
      exporters.xml: export Description metadata
      share/exporters.xml: generate :constraint: views to encode annotation-/relation-types mimetypes
      cherrypy/wsgiserver: ignore "Interrupted system call" exceptions
      model.tal.global_methods: implement transition_fix_ns and transition_fix_date
      share/exporters.xml: convert namespaces and dates
      core.controller: add annotation content below the snapshot in create_static_view
      core.controller: fix variable name
      core.controller: fix variable name
      core.controller, gui.main: move export filter functionality to controller
      core.config, bin/advene: implement command-line option to export files into another format
      doc/TODO: updates
      gui.views.annotationdisplay: fix variable name
      gui.main: remove dependency on Glade.
      bin/advene: remove dependency on glade
      bin/advene: remove requirement for DISPLAY variable on macos x
      gui.main: do not translate empty strings
      gui.widget, gui.views.activebookmark: gtk_drag_set_icon_widget is not supported on native Mac OS X Gtk+
      gui.main: remove useless imports
      gui.main: fix Package menu populating
      gui.main: fix variable name
      gui/*, rules/*: pyflakes-related fixes (unused imports...)
      gui.main: tweak initial window layout
      gui.evaluator: fix arg extraction from docstring
      gui.main: remove hardcoded ref. to tagbag, it is a plugin.
      gui.edit.schemaeditor: handle mouse scroll events in canvas.
      gui.edit.schemaeditor: allow to move in the canvas through mouse drag
      gui.edit.schemaeditor: prevent interference with item DND
      core.controller: implement website_export
      core.controller: implement progress_callback support in website_export
      gui.main: implement GUI for website_export
      core.controller: disable unconverted.html links
      core.controller: add link to default UTBV if present
      gui.main: gui tweaks
      gui.main: fix export dialog generatio
      core.controller: do not convert absolute URLs
      core.controller: factorize unconverted links handling
      core.controller: use a regexp to replace URLs
      core.controller, gui.main: allow quicksearch by id
      This directory will host the upstream sources
      Initial version (unfinished)
      Extended test1.py
      A few fixes
      coding style fix
      just before a big change in backends
      Applied changes to SqliteBackend, didn't test. Still to be applied to the model.core implementation.
      Created unittest for Sqlite backend
      sqlite_backend renamed, revised and tested
      just moved lines around
      started implementation of relation membership
      changed URI scheme for sqlite_backend, and major changes in the internal structure
      updated model.core to match sqlite_backend
      added a few tests
      added missing files - oops
      Comment typos
      applied (or added to TODO) changes suggested by Olivier
      enhanced sqlite_backend and tests (fixed a bug in insert_member)
      added todos
      implemented member list in relation, with unittest
      changed implementation of content (references)
      made Package dict-like
      typos
      fixed unittest of Relation
      added support for updating elements in backend and tests
      completed Annotation and tests
      implemented list in backend and API, with tests
      enhanced sqlite_backend
      made source quite comply with PEP8
      added a federated file for unittests
      renamed files in order to comply with PEP8
      made RAISE hidden from outside
      fixed a small bug in relation and list
      slightly changed backend and package creation API
      changed the backend/package API (now packages must be closed) and updated the policy on references
      added first support for dirty/clean elements
      it is now possible to override the url of a package in the backend
      added support for tagging (+ some bugfix)
      made backend API more consistent (get -> iter)
      changed architecture of WithContentMixin
      enhanced DirtyMixin and added it to PackageElement
      Big changes in sqlite backend implementation
      bug fixes; cyclic import now works (see test2)
      reorganized TODO list
      implemented renaming in backend + lots of enhancement
      implemented deletion + documentation in sqlite
      documentation
      added method in backend to find contents with a given schema
      implemented reference finding + bugfixes in sqlite backend
      added module-wise debug flag to sqlite backend
      changed content management in backend + implemented external contents
      solved the problem of content_as_file
      added info() to content.as_file for internal data
      added delete method to backend API
      made claims_for in backend more informative
      tidied tests in advene.model.core
      improved own-group and all-group - imports rock :)
      small control added to content
      added frame_of_reference in media
      added utest for frame_of_reference
      added support for id-ref in metadata
      enhanced implementation of Media
      enhanced implementation of Annotation
      changed autoproperty from metaclass to decorator, deemed more explicit
      factorized some code in meta
      enhanced metadata management
      added safe mode in get_meta
      fixed bug in iter_meta to take dirty keys into account
      added basic support for deleting elements
      fixed a bug when unreachable element
      fixed a bug in backend sqlite when unsetting inexistant metadata
      made sqlite: resolution cross-platform
      added support for element metadata in iter_references_with_import
      added method to retrieve bound_url in backend
      big patch, mainly aiming robustness w.r.t. unreachable elements
      enhanced tagging management
      added first serializer
      changed spelling convention for iter_*_idrefs
      fixed an import bug in meta.py
      fixed a bug in Package.set_uri
      factorized group implementation in group.py
      created comparison functions for packages and elements
      documentation and API change in content.py
      added support for empty content in relations
      improved comparison tool -- now called diff
      implemented parser
      added serializer/parser for zipped packages
      test_big now tests xml and zip packages
      fixed some doctrings in sqlite backend
      improved interface of own_group and all_group -- see test_big
      discarded dirty.py, deemed 'premature optimization'
      made the use of packaged contents more friendly
      improved own_group and all_group (see example in text_big.py)
      made parsers homogeneous with serializers
      made package loading and saving more friendly, see example1.py
      primary support for views, see advene.model.view and example_view.py
      Fix SQL generation in iter_imports
      Restart the transaction after executescript()
      added ref to PEP8 in CODING_STYLE.txt
      Fix typos
      made the executescript workaround version-dependent
      updated TODO
      removed all(?) list generation with a trailing comma in sqlite backend
      now all list generation with a trailing comma should be gone
      removed all dependencies on tmpnam
      removed strange bug (silent exceptions from pysqlite)
      TODO: check filename encodings in zip packages
      Comment+docstring fixes and FIXMEs
      Some remarks, to discuss
      fixed some docstrings
      after discussing with Olivier
      changed idref to id, to improve readability
      renamed schema to model, to conform with the wiki
      make iter_ methods simpler
      made iter_meta consistent with other iter_ methods
      make sqlite_init a python script
      initial support for TALES paths and TAL views
      Ensure that data saved in .zip files uses utf-8 encoding
      Use check_same_thread=False as connection parameter, to allow use with cherrypy
      First implementation of a webserver
      Remove unused links
      added X_count methods to group interfaces
      added get and __getitem__ to _GroupCollection
      fixed stupid bug in group.py
      Update unit and origin when setting a new frame of reference
      COmment fixes
      Handle TALES error in webserver
      Save the test package, for future tests or inspection
      Use duck typing for attributes of iter_XX and count_XX methods of backend (and correspondingly in the similar methods of core), it simplifies the API and feels more pythonic to me.
      Fix bug following the iter_XX and count_XX API change
      Implement size, first, rest method in GroupCollection
      fixed some bugs related to X_alt removal
      implemented support for notification, complete in package
      frame_of_reference now has a default value
      continued implementation of notification
      finished implementing notification
      improved size/first/rest and __getitem__ in _GroupCollection
      fixed some bugs in group.py
      implemented filter method in _GroupCollection
      fixed some minor bugs in webcherry.py
      Since the sequence is optional, items should not be required.
      preliminary implementation of url proxies
      first implementation of the CAM model
      renamed simple_tag to user_tag
      added schemas to CAM
      renaming to comply with coding styles
      small bugfix in count_schemas
      remove warning when iterating on a whole group
      made other tag-related methods aware of non-user-tags
      changed unittests of cam.package
      CAM serializer implemented
      added weight mechanism in elements
      made signal handlers robust to volatile elements
      I had forgot cinelab_zip.py
      some thoughts
      revamped xml parser
      improved serializer/parser and their utest
      improved parser design and added cinelab parsers
      better namespace URI (for both XML *and* metadata)
      added base64 support for serializers/parsers
      cleaning in the TODO list
      made httpd CAM compliant
      autoproperty docstring implemented
      implemented all CAM metadata
      Some REMARKS
      corrected all errors reported by pyflakes
      added package-level signals for element modifications
      inhibited spurious events during element creation
      bugfixes and enhancements suggested by Olivier
      API-user-friendly classes for schemas and types
      gave a default value to system_type in List and Tag
      fixed invalid attribute name
      fixed group shortcuts in Import
      documented the difference btw url, uri, uriref
      basic support for element constraint on cam.Tag
      implemented parsed attribute in contents (and utests)
      content handlers now added
      Add explanation strings to assertions
      fixed named clash related to iter_tags
      reflected name change on tales API for tagging
      Improve parsed() method for builtin tests
      Use 0 as default duration value
      Modify the AdveneContext constructor
      Define AdveneTalesException
      Rename advene.utils to advene.util
      added support for session variables
      reflected utils->util renaming in unittests
      tags are can now be groups -- use to your own risks
      new method in backend to search references in metadata
      deleted elements now mutate to dummy class
      fixed some typos
      implementer iter_references
      changed iter_references protocol and added unittest
      fixed comparison of annotations
      implemented renaming
      added tests of name clashes in renaming
      TALES related refactoring
      big refactoring to simplify code in element creation
      Change gobject signal name "changed" to "modified", in order not to conflict with gtk "changed" signal.
      Change "closed" signal name to "package-closed" to avoid conflict with pixbuf loader signals
      Fix string typo
      made transtyping of cam.Tag effective even when re-instantiated
      Cosmetics
      Add x-advene-structured for content_parsed
      Some remarks
      First semi-working GUI state
      Import contents of share directory
      Import files
      Display the time spent loading the package
      advene_zip: do not use a reserved word (dir)
      Implement temporary directory cleanup
      Cleanup temporary directories on exit
      Use controller.build_context
      gui.edit.elements: fix element edition
      gui.main: alphabetically sort export filters
      Check if the package already exists in save_as
      gui.util.dialog: use .czp extension
      core.config: use .czp extension
      Add gui.views.browser
      Updated Bataille.azp conversion
      content handler is now updated at instantiate time
      core.config: register config.data.transientns as a transient namespace
      core.plugin: distinguish ImportError from PluginException
      Store annotationtypes fieldnames as transient metadata
      gui.main: rename expr to representation + improve error message in get_title
      gui.widget: fix x-advene-values display
      Use registered_adhoc_view even for special view instanciation
      Rename evaluteValue to evaluate
      Remove occurrences of getMetaData
      added access to relations in core.annotation
      added tales support for Annotation.relations and the like
      Rename some annotationTypes to annotation_types
      Update examples
      Fix utbv_list property name
      Rename content.stream to content.get_as_file()
      Add all/ before annotation_types
      core.webcherry: replace relationTypes by relation_types
      Some remarks
      gui.main, core.config: memorize window position in addition to its size
      model.core.group: check that e is not None in __contains__
      core.element: implement default value for get() to be consistent
      Merge changes from advene1.core.controller
      util.helper: sync with Advene1
      gui.util: sync with Advene1
      core.controller: fix annotationTypes->all.annotation_types
      Backport changes from Advene1
      Fix current_media property
      Store fieldnames as a package attribute
      Fix current_media
      Element now have a .uriref attribute
      Use package._fieldnames
      gui.views.viewbook: use get_edit_popup
      Remove namespace,  it hinders compatibility
      Some TODO items
      gui.views.viewbook: use get() method to access attributes
      now cam.List mutate to cam.Schema even when re-instantiated
      updated unit tests after signal renaming
      made implementations of __contains__ more robus
      updated CODING_STYLE
      implemented == operator for ElementCollection
      added TALES shortcuts in Package classes
      renamed X_as_file to X_as_synced_file to make its semantics more explicit
      added as_file property to content (non-blocking read-only file-like)
      Define controller.register_player
      Changed controller API to set_mediafile/get_current_mediafile
      model.core.content: fix _get_as_file
      API change: get_as_file() becomes as_file
      Add origin parameter from_xml_string
      Properly close fds obtained through content.as_file
      Replace helper.get_id by package.get(...)
      Replace createView by create_view
      Replace createAnnotation by create_annotation
      Replace content.setData by content.data
      Remove reference to annotation.fragment
      Remove core.webcherry, it is server.webcherry
      Replace createSchema/createAnnotationType by create_schema/create_annotation_type
      Replace package.get_element_by_id by package.get
      Synchronise with Advene1
      can now add custom attributes to package elements
      model.core.element: add a precision to the "unique volatile" docstring
      added performance test for nosferatu.czp
      implemented count_relations_with_members in backend
      Re-enable Schema-specific popup menu
      core.controller: make get_title robust to None titles
      Default most DC metadata to "" instead of None
      model.core.annotation: implement related/typed_related_in/typed_related_out
      gui.popup: restore related annotations popup submenus
      model.core.annotation: typed_related_in/out returns lists instead of iterators
      Implement CreateElementPopup
      advene.gui.views.montage: import from Advene1
      gui.main: fix Package() invocation
      TODO update
      gui.evaluator: sync with Advene1
      gui.views.viewbook: add missing use_underline=False
      Restore LogWindow view
      Quick hack to make package.get accept URI-refs
      core.controller: import create_static_view from Advene1
      core.controller: remove ref. to fragment
      Display annotation type information in the timeline inspector
      gui.edit.elements: edit the title of elements
      More TODO tasks
      now caches are updated when an element is renamed
      improved rename + optimized events
      further event and parser optimizations
      gui.views.annotationdisplay: use a default width for snapshots
      core.controller: reimplement delete_element + comment out package modification flag update
      gui.views.annotationdisplay: handle the case if len(a.annotations) == 0
      core.controller: handle \n/\t escape sequences
      Import gui.views.interactivequery from Advene1
      Import components from Advene1
      Remove fragment references
      gui.views.viewbook: fix stbv_name
      added reference management and improved PackageElement.delete
      removed debugger breakpoint
      model.core.package: decorate get as @tales_path1_function
      model.core.package: do not forget to import decorator
      updated TODO
      preliminary support for type constraints
      fixed WithTypeConstraintMixin.set_meta
      Replace annotationTypes by annotation_types
      fixed bug in CamGroupMixin
      share/default_rules.xml: remove position parameter for Snapshot action
      core.controller: small optimisation
      TODO updates
      gui.views.transcription: fix annotation retrieval
      Use sorted iterator for rules
      rules.ecaengine: fix rule origin retrieval
      Add append= parameter to add_rule
      util.helper: remove _tales_ prefix in get_valid_members
      added full support for uri-ref in Package.get
      improved constraint management in annotation/relation types
      model.core.meta: fix typo in variable name
      model.core.meta: reimplement _tales_meta The new version is more introspection-friendly, at the cost of some
      model.cam.package: implement _tales_media for package
      Fix copy/paste typo
      Package saved after the type constraint implementation
      util.helper: return parameterless methods in get_valid_members
      util.helper: improve get_valid_members
      gui.views.browser: display element value in column title and tooltip
      gui.views.browser: propose to convert generators into lists
      fixed a bunch of parser related bugs
      model.cam.tag: make _get_mimetype more robust
      gui.views.browser: correctly pack the treeview inside the scrolled window
      gui.views.browser: fix generator->list conversion
      added framework for thread safety
      added key method in ElementCollection
      added the notion of no_event_section
      util.helper: improve get_valid_members
      bugfix and improving __repr__
      model.core.element: avoid the raise of StopIteration by _tales_first
      server.webcherry: enforce 'raw' mode if not mimetype.startswith('text')
      server.webcherry: use helper.get_valid_members
      model.core.annotation: implement _tales_snapshot_url and _tales_player_url
      util.helper: consider classes in get_valid_members
      core.controller: player_url/snapshot_url both return a full URL
      gui.plugins.contenthandlers: player_url/snapshot_url both return full URLs
      Import gui.views.relationdisplay from Advene1
      code cleaning
      made instantiate more "super-friendly"
      CAM Imports should inherit CamGroupMixin
      gui.views.finder: adapt Finder view from Advene1
      gui.views.annotationdisplay: display annotation type description
      core.controller, gui.main: correctly handle preferences['log-to-terminal']
      model.core.package: handle empty URL schemes in save
      model.core.package: handle URLs as parameters to save_as
      gui.edit.elements: make 'title' attribute editable
      core.controller: use erase=True when saving package
      TODO: questions and needed improvements
      gui.main: fix package saving
      model.cam.package: fix save_as method
      core.controller: fix search_string
      gui.edit.rules: add a "Add subview list" button
      rules.elements: make from_etree more robust wrt. namespace issues
      gui.evaluator: port changes from Advene1
      model.core.element: fix ElementCollection __eq__ comparison
      rules.elements: make basic_events modifiable
      rules.ecaengine: remove activeAnnotations as a context global. It is available through options/controller/typed_active
      core.controller: core.controller: define typed_active property
      core.controller: define register_event
      gui.main: update quicksearch_entry tooltip with the source
      bookkeeping information is automatically updated in CAM packages
      improved implementation of imports
      removed useless overriding
      made parameter name more consistent
      metadata values are unicode, not str
      gui.edit.elements: edit mimetype attribute for AnnotationType and RelationType
      gui.main: typo contributed -> modified
      gui.edit.create: correct createSchema into create_schema
      model.core.annotation: fix serverless case in player_url and snapshot_url
      fixed bug in package.py
      used threading.local to implement session variables
      core.controller, gui.main: move export filter functionality to controller
      core.controller: misc fixes
      core.config, bin/advene: implement command-line option to export files into another format
      core.config: change namespace.
      now parsers inhibit all events
      tidying, bugfixing, and new cam events
      added 'in' operator to annotations
      simplification of backend/sqlite.py + added my_schemas
      util.session: improved implementation
      model.cam.util.bookkeeping: no need to use getlogin anymore
      implemented content_is_textual property
      model.tales: added support for global methods
      model.serializers.advene_xml: removed unused import
      model.content.register: fix register_textual_mimetype
      Register image/svg+xml textual type
      core.config, core.controller: use register_textual_mimetypes
      gui.views.AdhocView: fix AdhocView parsing
      bin/advene, gui.main: remove dependency on Glade
      model.core.annotation: have __contains__ handle annotation as parameter
      gui.widget:  gtk_drag_set_icon_widget is not supported on native Mac OS X Gtk+
      renamed TALES conventional variable 'refpkg' to 'package'
      added absolurte_url
      gui.main: tweak initial GUI layout
      gui.main: fix TALES expression
      gui.views.finder: add views categorization
      gui.views.finder: fix TALES evaluation call
      gui.popup: remove matchFilter occurrence
      gui.views.finder: implement basic MediaColumn
      gui.main: do not use init_window_size for evaluator
      core.controller, gui.main: allow quicksearch by id
      gui.main: catch all exceptions when saving a package (since the "Cannot find a serialized" error raises a plain Exception)
      gui.main: fix package.all.schemas reference
      cleaned up TODO
      model.parsers.advene_xml: made robust to None text
      model.parsers.advene_xml: made *really* robust to None text
      Move advene2 tree to the SVN root
      po/Makefile: Glade is not used anymore
      gui.main: self.visual_id is initialized at startup
      core.controller: allow jokers when searching for ids
      TODO: one more item
      gui.main: reorder preferences tabs
      gui.main: add a "Record activity trace"  preference ("GUI" tab)
      gui.plugins.eventAccumulator, gui.plugins.tracebuilder: whitespace fixes
      tracebuilder: move from gui.plugins to plugins (it is not GUI-dependent)
      tracebuilder, eventAccumulator: remove unused imports
      plugins.tracebuilder: fix variable name
      eventAccumulator: define a proper icon and rename identifier to 'trace'
      Rename gui.plugins.eventAccumulator to gui.plugins.eventaccumulator
      doc/TODO: reference python-cssutils
      player.gstreamer: make more robust wrt. empty filenames
      gui.main, share/pixmaps: add a specific icon for "Select movie file" toolbutton
      share/pixmaps: remove unused icons
      gui.edit.schemaeditor: replace the drop-down schema selection widget by a TreeView
      gui.edit.schemaeditor: add popup menu to allow to delete schema
      gui.edit.schemaeditor: rewrite tooltip
      gui.edit.transcribe, gui.views.logwindow, gui.views.tagbag: fix view tooltip
      gui.edit.shapewidget: allow to pass the URI as Image parameter
      gui.edit.shapewidget: specify namespaces to ElementTree
      gui.edit.shapewidget: add a Save SVG button (for debug)
      gui.edit.shapewidget: when running from the command line, add a background object if specified
      gui.edit.shapewidget: fix comment
      gui.edit.shapewidget: default linewidth is 1 for text
      gui.edit.shapewidget: set filled as default for Text
      gui.edit.shapewidget: generate font-size and font-family for text shape
      gui.edit.shapewidget: reset position/size attributes when saving Image shape
      gui.edit.shapewidget: use a regexp to parse stroke-width style
      gui.edit.shapewidget: use OPERATOR_ADD as invert mask for Text shape
      gui.edit.shapewidget: resize the widget if a background is loaded
      plugins.tracebuilder: use appropriate method
      plugins.tracebuilder: use standard line endings
      gui.edit.shapewidget: implement arrow drawing for lines (single-ended only)
      gui.edit.shapewidget: implement arrow option for Lines
      gui.edit.shapewidget: add keyboard shortcuts to select shape type
      gui.edit.shapewidget: make key_mapping a instance attribute
      gui.edit.shapewidget: add comment
      gui.edit.shapewidget: reorder specialized properties widgets
      gui.edit.shapewidget: support line arrow marker in get_svg
      gui.edit.shapewidget: add line arrow support when parsing SVG
      gui.plugins.contenthandlers: if not in expert-mode, do not display contextual tag information in HTML editor
      core.controller: create_static_view always returns a static view (even empty)
      gui.main: add an icon for editing comments (pseudo adhoc-view)
      doc/TODO: more things
      gui.util: define get_pixmap_toolbutton
      gui.edit.elements, gui.plugins.contenthandlers: add XML/WYSIWYG button in the toolbar
      gui.edit.annotationdisplay: have the annotation inspector graphically display x-advene-zone data
      doc/TODO: some work done
      gui views: use get_pixmap_toolbutton helper method
      gui.main: add 'destroy' signal handler to main window
      gui.edit.montage, gui.edit.transcribe: fix call to ToggleToolButton
      player.gstreamer: fix undisplaying of svg contents
      player.gstreamer: properly open/close the temporary svg file
      player.gstreamer: add imageoverlay filter for ximagesink
      gui.main: do not try to translate stock items
      po, locale: translation updates
      player.gstreamer: make snapshot more robust
      core.imagecache: properly close opened filedescriptors
      plugins.tracebuilder: use direct mediafile metadata access instead of controller.get_default_media(), to avoid unnecessary file lookups
      gui.main: change video related labels
      gui.main: do not popup the edit window for annotation type after creation
      gui.edit.elements: for AnnotationTypes and RelationTypes, directly expose title and mimetype.
      core.controller: in create_static_view, do not use tal:define
      gui.plugins.contenthandlers: in HTML editor,  do not use tal:define
      gui.views.timeline: directly use gui.ask_for_annotation_type
      gui.edit.rules: display first ruleset tab on initial display
      gui.main: do not display the schema edit popup upon creation
      gui.main: change wording
      gui.main: simplify trace toggle code
      gui.plugins.eventaccumulator: use stock icon
      gui.main: remove trailing whitespaces
      plugins.tracebuilder: tweak trace filename generation
      plugins.tracebuilder: use enumerate() builtin
      gui.edit.elements: display item_color preference for types only in expert mode
      gui.evaluator: fix builtin parameter autocompletion
      gui.edit.elements: remove debug message
      gui.main: deactivate position/size memorization for edit popups
      gui.edit.schemaeditor: modify strings
      po, locale: translation updates
      gui.plugins.eventaccumulator: translate some strings
      gui.views.timeline: do no crash on missing annotation type _fieldnames
      gui.main: initialize _fieldnames on annotation type creation
      gui.edit.elements: add (name) information to Title label
      gui.main: make Return validate the annotation-type creation dialog
      gui.edit.elements: hide the textual value of color fields in non-expert mode
      gui.edit.elements: add Attributes label to expandable widget
      share/pixmaps: update traces_on/off pixmaps
      gui.plugins.contenthandlers: catch exception when parsin HTML in html content editor
      gui.edit.elements: update EditElement forms (use entries for title, homogeneize sizes...)
      gui.edit.elements: implement mimetype support (combobox) for edit popups
      gui.plugins.contenthandlers: add a title attribute to generated HTML image anchors
      doc/TODO: some more
      core.controller: fix transmute_annotation
      gui.edit.element: fix edit() method
      core.config: fix typo in comment
      gui.main: use temporary files for autosave
      gui.views.table: display snapshots in annotation table
      gui.views.table: enable DND from annotation table
      gui.plugins.contenthandlers: add basic support for contextual popup menu in HTML editor
      doc/TODO: updates
      gui.plugins.contenthandlers: add cut/copy/paste buttons to HTML editor toolbar
      all: rename ElementEditBegin/ElementEditCancel into EditSessionStart/EditSessionEnd
      doc/TODO: reformat
      gui.main: edit auto-save interval as seconds instead of ms
      gui.edit.elements: put AnnotationType representation/item_color in an Advanced widget, collapsed by default
      gui.edit.elements: hide Color text entry if the current color is statically defined or empty
      gui.views.viewbook: allow to edit an AnnotationType by DND on a viewbook
      gui.views.tagbags: properly initialise self.tags
      gui.plugins.contenthandlers: put focus on the HTML editor when DNDing an element
      doc/TODO: one more
      gui.edit.montage: fix variable name
      gui.views.timeline: force ACTION_ASK for layout DND action on win32
      doc/TODO: update
      gui.views.timeline: add Move selection option
      gui.plugins.contenthandlers: do not insert too many newlines in generated HTML in DND
      gui.plugins.contenthandlers: fix comments
      core.controller: notify SnapshotUpdate
      core.version: update release number/date
      player.gstreamer: use videoscale filter with ximagesink, it now works
      player.gstreamer: always display used videosink
      mac/create_app_bundle: conditionaly remove schemaeditor
      core.controller: remove joker id search
      debian/changelog: updates
      gui.main: fix record trace button behaviour
      TODO: new item
      debian/changelog: modify description
      gui.main: maintain last_edited/last_created lists
      core.config: define edition-history-size
      gui.edit.elements: if an edit popup is already opened, flash its window
      gui.views.editionhistory: EditionHistory view
      gui.main: remove  unused import
      core.config, gui.main: option to open views embedded by default
      gui.main, share/pixmaps: new pixmap for editionhistory view
      gui.views.editionhistory: display most recent at the top
      gui.main: do not duplicate elements in last_created/edited
      player.gstreamer: clean up pipeline building code
      gui.main: do not try to reopen an already opened edit popup
      gui.views.editionhistory: display column labels
      gui.main: fix encoding issues in view labels
      gui.main: fix view naming issue
      mac/patch-pango_utils.diff: diff for generating a relocatable pango on macosx
      bin/advene: pangohack is not used anymore on macosx, since we directly patch the libs
      gui.main: avoid invalid icons in set_icon_list
      util.helper: import md5 from hashlib module
      Advene.wrapper:
      Leopardish theme: change
      mac/create_app_bundle: updates
      setup.py: py2app updates
      util.helper: fix md5 invocation
      util.helper: fix md5 invocation
      gui.util: define overlay_svg function
      gui.main: define accessor for overlay_svg
      core.webcherry: define /media/overlay/package_alias/annotation_id path
      gui.plugins.contenthandlers: propose to insert annotation overlay in HTML editor
      gui.plugins.contenthandlers: add Refresh button for HTML editor
      TODO: archive items
      gui.views.editionhistory: display popup menu for elements
      gui.main: factorize edit popup refresh on element edition
      gui.main: close edit popup when deleting an element
      examples/Nosferatu_demo.azp: example package illustrating some new features. It is meant to be merged into the main "unstable" package
      gui.edit.merge: "show diff" shows what will happen if the merge action is validated
      examples/Nosferatu_unstable: merge Nightmarish triangles annotations + views
      gui.edit.merge: set window title
      gui.edit.merge: display id of merged elements
      gui.views.viewbook: add a Detach button to tab label
      share/pixmaps/small_detach: modify pixmap
      gui.views.viewbooks: add tooltips for tab label icons
      share/pixmaps: tweak small_detach
      gui.views: use an icon for reattach button
      gui.views: fix icon name
      gui.views.tagbag: put buttonbox at the top
      gui.views.viewbook: allow to DND the small detach button
      gui.views.html: prevent closing the HTML view
      gui.main, gui.views.viewbook: fix HTML view opening
      gui.views.viewbook: truncate view name after converting it to unicode
      rules.elements, rules.actions: add an "expert" category for actions
      gui.edit.rules: display expert actions only in expert mode
      gui.main: add 'comment' parameter to create_bookmark method
      gui.plugins.actions: define CreateBookmark action
      doc/TODO: updates
      gui.main: check that a movie is loaded before generating screenshots
      gui.main: implement GUI for shotdetect
      gui.main: fix shotdetect killing
      plugins.shotdetect: make shotdetect detect its own name
      core.config: add config.data.path['shotdetect'] setting
      gui.main: when detecting shots, import intermediary results in case of cancellation
      model.zippackage: fix old bug
      util.importer: have TextImporter define a self.annotationtype attribute
      gui.main: in shotdetect, fix annotationtype metadata in case of intermediary import
      gui.main: try to use 2.6 Popen.terminate method first
      gui.main: catch OSError when trying to run shotdetect
      gui.main: try to fix shotdetect process ending detection on os != linux
      gui.main: try another method to detect end of shotdetect
      gui.main: do not try to import shotdetect output if the file does not exist
      gui.main: rename generated annotation type when operation is cancelled
      gui.main: no need to pass fileno() to io_add_watch, the file object itself works
      gui.main: adapt io_add_watch parameters according to platform.
      gui.main: rewrite shotdetect pipe using threads
      gui.main: cosmetical changes (comments, method name)
      gui.main: display a running shotdtect indicator on win32
      mac/create_app_bundle: update for python2.5 + gstreamer
      bin/advene: set GST_PLUGIN_PATH when running from a Mac bundle
      gui.main: disconnect progressbar pulse in shotdetect_end
      core.mediacontrol: remove reference to obsolete vlcorbit
      gui.plugins.contenthandlers: rename "Overlay only" to "Overlayed snapshot only"
      po, locale: translation updates
      util.helper: compatibility fix for md5 import
      gui.main: do a continuous pulse progressbar when the movie length is unknown
      gui.plugins.contenthandlers: hide HTML context data by default
      gui.plugins.contenthandlers: do not display Edit WYSIWYG button, it is accessible as a toolbutton
      gui.plugins.contenthandlers: display refresh button in expert mode only
      gui.main: add timestamp to created view titles
      gui.util: have get_pixmap_toolbutton accept either pixmap name or stock-id
      gui.edit.elements: put OK/Apply buttons in a toolbar at the top
      gui.plugins.contenthandlers: put HTML context data viewer in a scrolledwindow
      gui.views.editionhistory: display element type in button
      gui.views.editionhistory: display element content in tooltip
      gui.edit.elements: display view mimetype/matchfilter only in expert mode
      gui.edit.elements: in EditElementPopup, give self.forms a chance to do cleanup in a close() method
      gui.edit.shapewidget: implement set_background
      gui.plugins.contenthandlers: update the SVG background image if the snapshot is updated or the annotation begin is modified (and validated)
      gui.edit.elements: update the SVG background image when the annotation bound is modified
      gui.plugins.contenthandlers: implement set_begin method
      mac/Advene.wrapper: set DISPLAY to :0.0
      gui.widget: make TimestampRepresentation react to SnapshotUpdate event
      gui.widget, gui.edit.timeadjustment: emit SnapshotUpdate signal when invalidating a snapshot
      gui.plugins.contenthandlers: fix snapshot url generation when DNDing annotation in HTML editor
      gui.edit.shapewidget: use a toolbar to select the shape
      gui.edit.shapewidget: put color selection in toolbar
      gui.edit.shapewidget: remove trailing whitespaces
      gui.views.viewbook: when DNDing a Comment view, propose to create a new one or open existing ones
      gui.plugins.actions: predefine "Next annotation of the same type" values for popup actions
      gui.edit.elements: fix EditQueryPopup
      gui.main: group adhoc view icons + remove bookmarks (superseded by activebookmarks)
      gui.plugins.eventaccumulator: small tweaks
      gui.views.viewbook: change "Open a new view" to "Create a new comment view" for comments
      gui.main: some more adhoc view toolbar reorganisation
      gui.edit.htmleditor: make TAL code uneditable
      gui.main: bookmark-related cleanup
      doc/TODO: some more, some less
      po, locale: translation updates
      core.config: define target type for query
      core.config: align data
      gui.views.tree: properly implement DND from treeview
      gui.views.viewbook: implement support from DND of query, view, schema
      gui.views.finder: implement DND from finder columns
      gui.util: implement get_target_types and drag_data_get_cb common methods
      gui.views.finder: define/use a generic label button (with DND support)
      gui.views.finder: use generic get_target_types and drag_data_get_cb methods
      gui.views.tree: use generic get_target_types and drag_data_get_cb methods
      gui.views.tree: fix context._element initialization
      gui.views.tree: fix context._element initialization
      gui.util: support for Relation in get_target_types
      gui.views.finder: enable DND from action buttons in finder final columns
      gui.util: implement enable_drag_source
      gui.views.editionhistory: enable DND from editionhistory widgets
      gui.views.editionhistory: add colors to editionhistory buttons
      doc/TODO: some things done
      model.zippackage: fix initialisation bug
      model.zippackage: really *compress* zip packages
      gui.main: enable trace button in non-expert mode
      gui.edit.elements: extend the toolbar with element-specific actions
      gui.main: add destination parameter to edit_element method
      gui.views.tree: remove debug print
      gui.main: set drag icon for adhoc views
      core.controller: support image overlays in website export
      gui.main: when saving the workspace, add a checkbox to specify if it should be opened when opening the package
      gui.util: enable timestamp target in DND code + define custom drag icon
      examples/Nosferatu_unstable: save now that .azp are compressed.
      doc/TODO: some more work to do
      gui.main: fix adhoc view icon tooltips
      gui.edit.htmleditor: remove "editable: False" property for TAL style
      core.webcherry: doc. updates
      player.gstreamer: try to fix starting at a given position
      gui.main: use_underline=False for quicksearch menuitems
      player.gstreamer: revert previous change
      core.webcherry: use "start" player action for /media/play
      gui.views.interactivequery: fix evaluator invocation
      gui.views.transcription: use \n as default separator for transcription
      doc/TODO: more ideas
      gui.main, player/*: remove ForwardStatus/BackwardStatus
      gui.views.timeline: scroll vertically when selecting annotation type via keyboard
      gui.edit.element: use a Notebook for displaying annotation contents
      gui.views.tagbag: select the color when creating a new tag
      gui.util, gui.main: rename overlay_svg to overlay_svg_as_png and define overlay_svg_as_pixbuf
      gui.views.annotationdisplay: use gui.util.overlay_svg_as_pixbuf
      gui.plugins.eventaccumulator: remove useless import
      player.gstrecorder: make gstrecorder hopefully more portable
      gui.main: make some buttons unsensitive when using a recorder
      core.controller: use the recorded file path when switching from a recorder
      core.webcherry: in /media/overlay, use the annotation representation to overlay if data is not SVG
      gui.util.overlay_svg_as_pixbuf: if data is not SVG, wrap it into a SVG template
      gui.main: in select player menu, signal current player with a mark
      player.gstrecorder: use xvimagesink on linux
      player.gstrecorder: properly initialize movie duration when stopping recording
      player.gstrecorder: use config.data.player['vout'] parameter
      gui.views.timeline: do not use try:except: since it can hide other issues
      gui.views.annotationdisplay: rescale imagecontents pixbuf so that it fits in the widget width
      gui.util: add width, height parameters in overlay_svg_as_pixbuf
      gui.plugins.htmlcontenthandler, gui.plugins.contenthandlers: split HTMLContentHandler in its own file.
      gui.edit.htmleditor: add support for child widgets and custom element parsers.
      doc/TODO: some work done
      gui.util: fix bug in overlay_svg_as_pixbuf
      gui.plugins.htmlcontenthandler: try to put the annotation data in a table
      all: remove trailing whitespace
      gui.edit.htmleditor: in insert_widget, make the anchor an attribute of the widget
      gui.edit.htmleditor: fix a warning
      gui.edit.elements: use small font for EditAnnotationPopup tab labels
      gui.views.viewbook: propose to display selection in a table when DNDing
      core.controller: add video_url parameter to website_export
      gui.main: add video URL option in website export dialog
      doc/TODO: noted youtube API url
      examples/Nosferatu_unstable.azp: fixed some references to internal views
      examples: copy Nosferatu_unstable to Nosferatu_v9
      gui.util: allow to pass a callable to enable_drag_source
      gui.views.finder: use generic enable_drag_source
      gui.views.tree: use contextual_drag_begin to define drag cursor
      gui.util: define drag icons for all elements
      gui.views.finder: fix enable_drag_source invocation
      gui.util: fix drag icon resizing
      gui.views.finder: use contextual_drag_begin to define custom drag icon
      gui.util: fix contextual_drag_begin
      bin/advene, mac/create_app_bundle: put writable config files in a Library/Preferences subdir
      gui.main: fix shotdetect variable initialization
      gui.views.transcription: empty popup menu before populating it
      gui.views.viewbooks: add a space offset to viewbook drop menus
      gui.plugins.htmlcontenthandler: use <span> instead of <table>
      gui.plugins.htmlcontenthandler: empty context popup before adding items
      doc/TODO: updates
      gui.views.editionhistory: set label alignment
      gui.edit.elements: set som e button alignments
      gui.edit.elements: pack differently the RelationsForm
      gui.edit.elements: rename "Attributes" to "Metadata"
      gui.util: fix value formatting for timestamp DND
      gui.widget: use generic DND code for Annotation-, Relation- and TimestampRepresentation
      gui.widget: use element color in RelationRepresentation
      gui.main: add a color parameter to get_illustrated_text
      gui.widget: specify color parameter for AnnotationRepresentation
      gui.util: support Relation in get_target_types
      gui.util: fix typo
      gui.edit.elements: do not expand member list in EditAnnotationPopup
      gui.views.viewbook: allow to drop relations on viewbook
      gui.util: use name2color convenience method
      gui.views.activebookmarks: transmit content in DND
      gui.util: define and use get_color_style
      gui: generalize use of gui.util.name2color
      gui.main: display adhoc view tip when DND
      gui.widget: fix uninitialized variable
      core.webcherry: extend /media/overlay syntax.
      gui.plugins.htmlcontenthandler: revert to old code (better working for the moment)
      gui.widget: macosx also has some issues with unicode characters
      gui.views.timeline: do not move adjustment when doing a partial update
      gui.edit.transcribe: fix missing import
      gui.main: restore Control-s as package save shortcut.
      import-related fixes
      gui.util.completer: fix positioning/resizing of the completion window
      po, locale: translation updates
      gui.views.finder: fix QueryColumn
      gui.util: safety test in contextual_drag_end
      gui.views.table: define custom drag cursor
      debian/changelog: updates
      gui.main, gui.edit.shapewidget: do not use gtk.image_new_from_file
      examples/Nosferatu_v9: fix nightmarish static view
      core.controller: try to fix depth-related issues in website_export
      po: translation updates
      Update version number to 0.36
      advene_pad.xml: update info
      gui.views.finder: modify type display
      gui.views.annotationdisplay: fix AnnotationDisplay initialization
      gui.edit.htmlcontenthandler: tweak double dnd handling
      player.gstreamer: web reference
      doc/TODO: more to do
      gui.views.interactivequery: propose to create a static view from the query results
      core.version: update version number
      gui.views.finder: remove column labels
      gui.views.finder: add a frame around the columns
      gui.views.table: add background color to Type column
      doc/TODO: some work done
      bin/sample_player: remove obsolete code
      examples/Nosferatu: use nosferatuVCD_512kb.mp4 instead of http://www.archive.org/download/nosferatu/nosferatuVCD_256kb.mp4, which is not available anymore from archive.org
      core.controller: use snapshot date as reference in imagecache.
      gui.views.timeline: when clicking on an annotation, go to its beginning even if the current position is already inside.
      Set ignore property
      gui.main: set icon for python evaluator window
      gui.main: (hopefully) handle Alt-Space shortcut on MacOS X
      gui.edit.shapewidget: fix popup positioning for shape/color submenus
      gui.*: properly escape set_markup content when necessary
      gui.views.annotationdisplay: resize pixbuf only if allocation.width - 6 > 0
      gui.edit.shapewidget: fix popup positioning for shape/color submenus for win32 also
      gui.edit.htmleditor: close socket
      gui.edit.htmleditor: fix comment
      gui.views.editionhistory: hack colored buttons for win32 in editionhistory
      doc/TODO: some more
      gui.plugins.tracetimeline: remove useless imports and convert line endings to linefeed
      gui.main: add other_thread parameter to overlay() method, to allow workaround on win32
      core.webcherry: pass other_thread=True to overlay method
      gui.edit.htmleditor: allow to specify a custom URL loader
      gui.plugins.htmlcontenthandler: define a custom URL loader, to workaround the win32 pixbuf loader thread bug.
      gui.plugins.tracetimeline: remove trailing whitespaces
      gui.plugins.htmlcontenthandler: remove trailing whitespace
      adveneAllInOne.iss: change HKCR to HKCU to allow non-administrator install
      gui.edit.shapewidget: remove unused import
      gui.main: try to fix overlay other_thread behaviour
      gui.main: fix module name
      TODO: one item less
      gui.plugins.htmlcontenthandler: fix snapshot retrieving
      gui.main: animate fareast panel opening
      core.imagecache: fix key approximation in imagecache
      gui.widget: use self.epsilon value in TimestampRepresentation SnapshotUpdate handling
      gui.views.bookmarks: pass epsilon value to TimestampRepresentation
      gui.views.activebookmarks: destroy() bookmarks so that SnapshotUpdate signals get correctly removed
      gui.edit.elements: forward close() call to contentforms
      gui.edit.elements: implement generic close() method for EditForm
      rules.ecaengine: implement ECAEngine.dump()
      core.config: define debug attribute
      core.controller,gui.main: if debug is defined, display the difference between the event handler state at application start and application end
      gui.edit.htmleditor: factorize insert_pixbuf
      gui.plugins.htmlcontenthandler: generate custom Pixbuf for annotation representations
      gui.plugins.htmlcontenthandler: fix generated html code wrt. timestamp presentation
      gui.edit.htmleditor: check for _endmark presence
      gui.plugins.htmlcontenthandler: fix presentation parsing
      gui.plugins.htmlcontenthandler: allow to choose between snapshot/overlay through popup menu
      gui.plugins.htmlcontenthandler: improve popup menu
      gui.plugins.contenthandler: implement link activation through double click
      gui.plugins.htmlcontenthandler: fix errors preventing to reload generated HTML
      gui.edit.htmleditor: fix custom class parser handling
      core.controller: fix generated HTML code
      gui.edit.htmleditor: correcly handle enclosed_processor
      gui.plugins.htmlcontenthandler: fix AnnotationPlaceholder html parsing
      gui.plugins.htmlcontenthandler: refresh annotation representation on modification
      gui.plugins.htmlcontenthandler: handle annotation==None case
      doc/TODO: one less
      gui.evaluator: implement bookmark feature
      gui.evaluator: add ctrl-b shortcut to add bookmark
      gui.evaluator: do not draw separator
      gui.evaluator: do not store empty bookmarks
      gui.evaluator: add ctrl-space shortcut to display bookmarks
      gui.evaluator: implement remove_bookmark
      gui.evaluator: document bookmark shortcuts
      TODO: more
      gui.evaluator: display messages in the status bar
      gui.evaluator: display bookmark info in statusbar
      gui.edit.htmleditor: fix comment
      gui.edit.htmleditor: insert a \n after <br> in html output
      gui.plugins.htmlcontenthandler: add missing quotes
      gui.plugins.htmlcontenthandler: display timestamp
      gui.plugins.htmlcontenthandler: fix html generation
      gui.edit.htmleditor: implement update_pixbuf method
      gui.util: escape label title
      gui.edit.htmleditor: define debug dump() method and fix HTML generation wrt. image positioning
      gui.edit.htmleditor: use iter.get_visible_text() method
      gui.plugins.htmlcontenthandler: allow to insert h1/h2/h3 heading levels
      gui.edit.schemaeditor: modify exchange/rotate button handling
      gui.edit.schemaeditor: remove useless variables
      doc/TODO: some more
      gui.edit.htmleditor: fix comment
      gui.plugins.htmlcontenthandler: fix cursor positioning on DND
      gui.plugins.htmlcontenthandler: improve popup menu behaviour
      doc/TODO: some done
      core.controller: extract player_url method in website_export
      gui.plugins.htmlcontenthandler: fix undefined ref.
      model.content: fix typo
      model.query: add missing import
      player.xinerc: fix shadowing variable name
      doc/TODO: some more
      core.controller, util.website_export: externalize website_export code and prepare youtube support
      pixmaps: update small_detach/attach icons
      rules.actions: fix variable name
      gui.views.annotationdisplay: fix label
      core.config: use ~/Documents for datadir and ~/Movies for moviepath on MacOS X
      gui.main: when clicking Play, if no movie is loaded, propose to open one
      doc/TODO: some references
      gui.edit.imports: rename soon-to-be-keyword as variable
      debian/changelog: document changes
      TODO: more links for gstreamer/win32
      gui.main, pixmaps/tracetimeline: add an icon for the tracetimeline view in the view toolbar
      core.version: update date/svn rev.
      gui.plugins.tracetimeline: cleanup global layout to ensure consistency with other advene views (toolbar at the top, etc)
      gui.plugins.tracetimeline: do not display labels in toolbar
      gui.edit.transcribe: allow to specify font size in preferences.
      debian/changelog: document changes
      gui.edit.timeadjustment: restore +/- 1s/0.1s buttons in compact view.
      gui.plugins.tracetimeline: remove trailing whitespace
      gui.edit.elements: fix "Edit next annotation same type" behaviour when using the edit accumulator
      debian/menu: update contents
      Rename menu to advene.menu (so that dh_installmenu should work)
      core.config: search for shotdetect in process_options
      setup.py: check for all linux variations
      debianc/changelog: put 0.38 release note
      core.version: update version number
      po, locale: translation update
      debian/advene.install: specify usr/share/applications
      core.config: fix locale directory on linux
      debian/rules: hack update-desktop-database call, pending investigation of dh_desktop misbehaviour
      Rename control-debian as control
      debian/control: extend description
      debian/control: add pygoocanvas and shotdetect as Recommends
      doc/TODO: add item
      advene_pad.xml: update information
      gui.main: use gtk.WRAP_CHAR for logmessages widget
      gui.main: guard against empty view parameter
      util.website_export: add support for non-embedded youtube player
      util.website_export: fix #fragment link handling
      util.website_export: check for YoutubeVideoPlayer
      gui.popup: add an "Insert soundclip" menu for root and soundclips resource folders
      gui.util.dialog: add 'audio' filter for filename dialog
      util.audio, core.controller, rules.actions: have the soundplayer handled by the controller
      gui.popup: propose to play sound
      gui.edit.rules: add annotation/content/data predefined TALES expression
      TODO: one note
      gui.main: store/restore website export directory and video_url from from package metadata
      gui.main: make the Convert button unsensitive once the conversion has begun
      gui.main: fix variable name
      gui.main: display autosave units in the label (in addition to the tooltip).
      gui.views.editaccumulator: make the OK button validate but not close the window.
      gui.edit.elements: for edit popups, discriminate against the element type to memorize the window size.
      gui.edit.transcribe: when importing existing annotations, memorize their type so that we can propose it by default when exporting again.
      gui.main: fix information string
      rules.actions: directly address controller.soundplayer, the indirection is useless here
      TODO: updates
      gui.views.html: add support for webkit component
      gui.views.viewbook: make the HTML view permanent only for mozembed widget
      gui.edit.rules: fix composition modification in EditRule widget
      util.website_export: implement breadth-first processing and restructure code
      util.website_export: handle images and overlays as other hrefs
      util.website_exporter: fix overlay link translation
      util.website_exporter: display debug messages in console
      gui.html: fix status bar update for webkit engine
      util.website_export: mark links as unconverted when max depth is exceeded
      util.website_export: pass url and reason as unconverted.html parameters
      util.website_exporter: fix variable name
      util.website_export: prefix HTML view filenames with .html
      util.website_export: restructure code
      util.website_export: write content and resources on the fly
      util.website_export: precompile all regexps
      util/website_export: delete trailing whitespace
      util.website_export: cache fragment-url form
      core.controller: add max_size parameter to get_title
      gui.views.viewbook: define max_size for get_title
      core.controller: use \u2026 for suspension marks
      gui.popup: use own get_title wrapper
      util.website_export: stbv activation links cannot be converted
      core.controller: fix method name
      model._impl: fix metadata cache sync issue
      plugins/tts: implement SAPITTSEngine (untested)
      Remove FCKEditor component.
      debian/copyright: remove fckeditor license
      doc/TODO: add a reference
      Nosferatu_unstable: add metadata for website export
      rules.elements: try to convert the values to numeric values for equal and different conditions
      util.website_export: prevent overwriting of view exports
      gui.edit.htmleditor: fix variable initialization
      util.website_export: generate frame.html
      TODO: kate ref.
      util.website_export: fix % escape
      util.website_export: use mimetypes.guess_extension to append extension suffixes
      gui.views.html: correctly update current URL display for webkit component
      util.website_export: workaround a mimetypes module bug/misbehaviour (guess_extension for text/plain)
      plugins.tts: try to use Festival before trying Espeak
      util.website_export: put the default view href in the frameset if defined.
      util.website_export: use a 2-column frameset instead of 2-row
      gui.views.annotationdisplay: use a gtk.TextView instead of a gtk.Label to display contents.
      plugins.tts: define CustomTTSEngine
      core.controller: in get_default_media, absolutize mediafile path if necessary
      util.website_export: handle about="" and resource="" as URL references in order to translate them.
      gui.views.timeline: implement optimal alignment of all annotations of a type according to another type.
      gui.views.timeline: factorize calls to get_title
      gui.views.timeline: cleanup popup menu building
      gui.views.timeline: notify element modifications in DTWalign_annotations so that Undo will work.
      model._impl, model.package, gui.edit.imports: rename '.as' property into .alias
      gui.views.timeline: remove useless assignment
      share/template.azp: remove index as default static view
      core.controller: fix cached_duration initialization
      rules.ecaengine: subclass the Thread class in order to get appropriate behaviour
      core.controller: remove deprecated reference to sets module. We depend on python >= 2.4 anyway.
      gui.views.html, gui.plugins.tracetimeline, plugins.tracebuilder, util.website_export: fix translated strings
      locale, po: translation updates
      gui.plugins.tracetimeline: fix syntax error
      gui.plugins.tracetimeline: fix syntax error
      plugins.tracebuilder: save trace on filesystem in on_exit
      plugins.tts: encode sentence into latin1, so that lliaphon correctly handles accents
      share/exporters.xml: define rdf export view, taken from TBL package by pa
      core.controller, gui.main: define gui.export_element method and allow to specify the exported element (Package or AnnotationType for now)
      gui.popup: allow to export an annotation-type through the export filters
      share/exporters.xml: properly set matchFilters for export views.
      gui.plugins.tracetimeline: add a "Open trace" button
      gui.plugins.tracetimeline: display opened trace
      gui.plugins.tracetimeline: properly update trace selector
      core.webcherry: typo in comment
      player.gstreamer: deactivate snapshot code for gstreamer >= 0.10.22 for the moment.
      plugins.brltty: enter specific keycodes for alva satellite 544
      player.gstreamer: start to workaround snapshot conversion issue in gst >= 0.10.22
      plugins.transcriber: implementation of a Transcriber importer
      gui.evaluator: use use_underline=False for bookmarks
      gui.evaluator: fix output scroll
      gui.evaluator: display bookmarks in reversed order, so that last defined comes first under the cursor
      gui.edit.transcribe: first pass at implementing undo in note taking view.
      gui.edit.htmleditor: fix can_undo test
      gui.views.AdhocView: fix set_label method
      gui.util: implement image_new_from_pixbuf if not available (gtk < 2.12)
      gui.edit.htmleditor: fix width/height img attribute handling.
      debian/changelog: document changes
      share/exporters: document matchFilter['class'] field in index view
      core.version: update version number/svn rev.
      player.gstreamer: remove capsfilter (apparently useless now) in ximagesink pipeline
      examples/Nosferatu_unstable: define a comment view (to demo the wysiwyg editor)
      doc/TODO: updates
      gui.evaluator: add tooltips to toolbar items
      gui.evaluator: do not require history files
      util.snapshotter: gstreamer-based snapshot module
      util.snapshotter: allow to specify snapshot width
      util.snapshotter: removed debug print
      util.snapshotter: put example comment for the two-pipeline issue
      util.snapshotter: fix pipeline incompatibility issue.
      util.snapshotter: add a thread_running attribute
      player.gstreamer: use util.snapshotter code, and provide async_snapshot method
      core.controller: use player.async_snapshot method if available
      player.gstreamer: advertise 'async-snapshot' capability
      doc/plugins.txt: document async-snapshot capability string
      core.imagecache: add timestamp attribute to TypedString and CachedString, and store all values as TypedString
      gui.views.timelien: update timeline snapshots if player supports async-snapshot
      core.imagecache: do not store not_yet_available_image in dict
      debian/changelog: document changes
      doc/TODO: some work done
      core.webcherry: automatically try to update accessed snapshots if player supports async-snapshot
      cleanup: remove obsolete 'import sets'
      player.xinerc: fix variable name
      gui.views.html: fix refresh implementation for webkit
      core.webcherry: ask if possible for snapshot update in the package/imagecache/NNNN codepath
      gui.edit.importer: allow to pass http: addresses to importer GUI
      util.importer: limit progress value
      plugins.ted: new TED data importer (cf www.ted.com)
      core.imagecache: specify read size
      util.helper: in snapshot2png, get invalid image from ImageCache.not_yet_available_image
      player.vlcctypes, core.config, core.mediacontrol: implement vlcctypes player plugin
      player.vlcctypes: since last changes, PositionKey and PositionOrigin enums are correct
      core.plugin: close opened files
      core.controller, util.importer: remove obsolete event history code.
      plugins.tracebuilder: use self.log method to display messages
      plugins.tracebuilder: cosmetics (fix pylint warnings)
      plugins.tracebuilder: do not export if tracing is off or if there are no events
      gui.main: do not refresh time_label if unnecessary
      gui.edit.tales: fix TALES regexp
      gui.edit.merge: fix merge GUI initialization for resources
      examples/Nosferatu_unstable: fix SVG content
      CREDITS.txt: remove obsolete info
      doc/TODO: more todo
      player/vlcctypes: bind fullscreen() method
      gui.*: update tooltip display to the new gtk.Tooltip API (requires gtk >= 2.12)
      core.imagecache: fix TypedString.__init__
      gui.evaluator: define helper launch() method
      advene: pep8-ify
      core.version: update
      plugin.tts: on win32, search for prononce.bat in the path instead of prononce for the CustomTTSEngine
      Update shortcuts.html
      Remove simple GUI.
      core.controller: do not pass an argument to stop
      Implement multiple sources for quicksearch
      Merge conflict on main.py
      gstrecorder: generate an timestamped filename, and use ogg as output format
      gui.main: correctly update PLAY/RECORD button based on player capabilities
      core.controller: update package title based on selected movie file
      gui.main: catch OSError exceptions from website_export
      gui.views.timeline: propose to split at current player position in annotation popup menu
      gui.views.annotationdisplay: use TimestampRepresentation widget
      core.controller: implement player_scrub method
      gui.popup: display basic statistics about annotation type
      importer GUI: always display all importers (best ones first)
      gui.popup: display duration sum in annotation statistics
      gui.views.html: workaround the buggy 204 return code handling from webkit
      gui.edit.transcribe: when using a 'recorder' capable player, propose a save filename based on the recorded video filename
      plugins.transcriber: port to ElementTree - courtesy of <mben at irisa.fr>
      gui.main: set ellipsize on dynamic view combobox
      gui.main: update stbv combobox tooltip
      Remove vlcnative player. It is obsoleted by vlcctypes.
      Update for latest macports package versions
      Information
      core.config: update shotdetect access path in fix_paths
      core.config: use gstreamer as default player on all platforms
      gui.main: rename quicksearch-source to quicksearch-sources
      gui.main: restore multiple quicksearch sources feature
      core.config: modify color palette
      tts: use espeak in preference to festival
      gui.main: hook completer into evaluator
      core.controller: implement player_delayed_scrub
      gui.views.timeline: scrub the video (if the player can) when adjusting the annotation bound through control+scroll
      share/template.azp: define soundclips resource folder
      model.advene.resources: check for existing resource folder
      gui.popup: notify soundclips folder creation
      rules.elements: fix typo
      gui.edit.rules: hack support for multiple search source in EditQuery
      core.config: add .ogv to the list of video extensions
      gui.main: use named parameters to ease translation
      po, locale: translation updates
      gui.main: make shotdetect error dialog non-modal
      plugins.brltty: modify registration code
      gui.edit.importer: use non-modal confirmation dialog
      util.importer: initialize _fieldnames field
      INSTALL.txt: update requirements
      mac/Advene.wrapper: check for X11 only for 10.4, and remove VLC plugin lines
      mac/create_app_bundle: fix shotdetect permissions
      player.gstreamer: implement reparent() method
      player.gstreamer: fix playlist_get_list return value
      core.config: use True as standard value for update-check
      gui.main: use a fixed-size font for time_label
      player.gstreamer: workaround for the broken fullscreen() method on MacOS
      update check is now weekly (instead of daily)
      advene.icns: macos-format icon
      DSStore file (for setting background of MacOSX dmg)
      Use pkg-dmg to create the DMG file
      core.config, bin/advene: remove remnants of simplified GUI
      debian/changelog: update
      Add vlc ctypes control module
      plugins.tracebuilder: create .advene/traces directory if it does not exist
      gui.main: fix standard ruleset edition menuitem
      gui.main: modify menu item labels
      po, locale: translation updates
      core.controller: when exporting through text/plain filters, decode entityrefs
      share/web/shortcuts.html: update shortcut list
      gui.main: set fixed size for time_label
      core.version: update version number
      debian/changelog: finalize changelog
      doc/TODO: some more, some less
      debian/control: update version numbers
      debian/rules: remove useless dh_desktop
      share/exporters: implement TimedText exporter
      doc/TODO: some more
      advene_pad: update info for 0.40 release
      gui.widget: move TimestampRepresentation method definitions as object methods
      TODO: DFXP export done
      rules.ecaengine: use str(rule)
      util.audio: preferably use gstreamer to play sounds
      gui.edit.shapewidget: fix toolbar positioning on linux
      gui.util: fix overlay_svg_as_pixbuf method
      gui.edit.timeadjustment: if in pause, do not resume, just go to the position
      gui.main: remove win32-specific embedding code
      TODO: montage cursor
      gui.main: handle scroll event in slider
      plugins.tracepreview: use time.strftime to format times
      TODO: one item more
      core.controller: implement slave player methods
      gui.plugins.videoplayer: additionnal (slave) video player
      gui.main: add icon for videoplayer adhoc view
      player.gstreamer: implement set_widget
      gui.videoplayer: add mute button
      gui.main: use hasattr rather than try/except
      core.controller: implement (extract) locate_mediafile
      gui.plugins.videoplayer: use controller.locate_mediafile
      gui.main: use drawable.get_id method
      gui.views.viewbook, gui.views.AdhocView: appropriately call reparent_prepare/reparent_done if implemented
      gui.plugins.videoplayer: implement reparent_prepare/ reparent_done
      gui.plugins.videoplayer: add synchronize button
      gui.plugins.videoplayer: pass position argument to start
      TODO: add items
      player.gstrecorder: do not hardcode audio recording device
      gui.plugins.videoplayer: display video filename
      gui.plugins.videoplayer: fix time reset issue in videoplayer
      gui.plugins.videoplayer: resync if drift > 80ms (~2frames)
      gui.main: synchronize slave players in slow_update_display
      gui.main: prevent excessive shrinking of logmessage pane
      util.snapshotter: reset the pipeline when changing file
      core.controller: define pending_duration_update to control duration update
      gui.views.timeline: correctly update screenshot display upon media file change
      gui.widget: add fraction_marker feature for AnnotationWidget
      gui.edit.montage: display current position marker when playing the montage
      trace builder/views: homogeneize color handling.
      gui.util: implement gdk2intrgb(a)
      Trace identifiers: rename 'trace2' to 'tracetimeline' and use the previous "trace" icon to activate the 'tracepreview'
      plugins/tracebuilder: make the colors less aggressive
      plugins/tracebuilder: add FIXME comment
      trace modules: remove superfluous .keys() calls
      Remove trailing whitespace
      gui.main: allow to move frame-by-frame with the mouse wheel in the video window
      gui.main: click on video window: play/pause
      gui.main: double click on video window -> fullscreen. Right-click on video window -> set bookmark
      gui.views.timeline: specify font for timestamp marks
      rules.elements: have EtreeMixin inherit from object
      gui.main, gui.plugins.videoplayer: fix continuous synchronization
      plugins.tracebuilder: fix trace loading.
      plugins.tracebuilder: fix packAction
      gui.plugins.videoplayer: implement offset feature
      gui.plugins.tracetimeline/tracepreview: use gdk2intrgba where appropriate
      gui.plugins.videoplayer: fix crash on closing issue
      debian/changelog: document new features
      po, locale: translation updates
      core.version: update version information
      gui.plugins.videoplayer: fix update_status wrapper
      gui.plugins.videoplayer: specify TOOLBAR_ICONS
      core.controller, gui.main: move slave player synchro in its own loop
      Remove unused advene.desktop
      debian/advene.desktop: add StartupNotify=true
      gui.plugins.videoplayer: fix typo
      gui.main: fix get_icon_list call
      core.plugin: catch OSError when trying to access plugins
      gui.views.table: fix opening with no elements
      gui.*: modify adhoc view tooltip
      gui.main: automatically generate View menu from the available adhoc views
      gui.views.annotationdisplay: allow to DND an annotation into the annotationdisplay widget
      gui.views.table: accept DND of annotation/annotation-types
      doc/TODO: merge
      Nosferatu_unstable: modify movie path
      debian/control: add python-webkit Recommends:
      gui.edit.elements: bind Escape to Close window in popup mode
      gui.main: add "Update annotation screenshots" menuitem (Player menu)
      gui.main: display info messages in update_annotation_screenshots
      core.controller: use a template to convert from text/* to svg
      gui.plugins.videoplayer: fix typo
      core.controller, gui.main: setting slave-player-sync-delay to 0 disables continuous slave videoplayer synchronisation
      gui.evaluator: use __doc__ to store help message.
      gui.evaluator: add display_info option.
      gui.main: allow to edit shotdetect path in Edit/Preferences
      doc/TODO: some more
      gui.main: do not try to parse update data if it could not be retrieved
      gui.main: simplify path preferences edition
      player.gstrecorder: fix optional parameters
      gui.views.viewbook: mozembed no longer crashes when closing the view
      gui.views.html: gtkmozembed no longer crashes on closing
      gui.edit.shapewidget: implement Ellipse
      gui.plugins.videoplayer: use movie dir in get_filename
      gui.main: in add movie file, use movie path as default directory
      gui.main: display only 1 line for status messages display
      player.gstrecorder: make the recorder more generic through autovideosrc/autoaudiosrc
      gui.main: remove Edit/Standard Ruleset menuitem
      gui.main: open the online version of shortcuts if the local version is not found
      gui.edit.shapewidget: handle non-realized case
      gui.edit.shapewidget: fix method name
      gui.plugins.contenthandlers: display an error dialog when SVG content is XML-invalid
      util.helper: define common XML namespaces
      util.snapshotter: ensure 1/1 aspect ratio when capturing thumbnails
      gui.views.timeline: when displaying the DND widget, adapt the imagecache fetching precision according to the zoom level
      gui.main: control-shift-up/down -> move by 1ms (configurable)
      core.config: set marker update delay to 10ms
      TODO: some more
      core/config: add application/javascript to text-based mimetypes
      gui/edit: port to gtksourceview2
      gui.evaluator: do not override display_info method
      gui.edit.merge: Merger is not an adhoc-view
      gui.widget, gui.views.activebookmarks: add precision parameter to set_cursor
      gui.views.editionhistory: refresh view on UpdateModel
      gui.main: reset last_created/last_edited lists upon PackageActivate
      player.gstreamer: add debug methods
      model.schema: sort annotations in begin timestamp order when accessing through the type
      gui.views.tree: on AnnotationEditEnd, update all annotations of the same type
      gui.main: add a "Help/Display logfile" menuitem
      share/exporters.xml: fix MPEG7 export filter view
      gui.views.tagbag: add a "Display all tags" method, available from the view context menu
      gui.util.completer: initialize list of completions from the annotation type "completions" metadata
      gui.edit.elements: allow to edit "completions" metadata for annotation types
      gui.main: properly update indexer data upon element modification
      debian/changelog: document changes
      gui.views.tagbag: add more action in toolbar
      core.version: update version/date
      plugins.actions: improve popup actions
      rules.actions: allow to store non-integer values in state variables.
      gui.views.accumulatorpopup: make the accumulatorpopup visible when displaying a new popup
      model._impl: implement listMetaData method
      debian/changelog: document changes
      doc/TODO: some more, some less
      player.gstreamer: (broken) implementatin of SVGOverlay plugin
      player.gstreamer: use elements to get sink ghotspad
      player.gstreamer: use video_sink first, then sink, to add GhostPad
      player.gstreamer: whiteline fix
      player.gstreamer: update SVGOverlay code
      player.gstreamer: fix condition
      player.gstreamer: remove useless lines
      player.gstreamer: add a ffmpegcolorspace conversion *after* svgoverlay
      player.gstreamer: remove debug messages
      player.gstreamer: make svg autodetect more lax
      player.gstreamer: put SVGOverlay definition in its own module + implement ctypes wrapper fallback
      core.config: force display-caption option disabling on MacOS X
      bin/advene: put date in initial log line
      player.svgoverlay: try to guess librsvg .dylib location
      player.svgoverlay: fix locating the dylib for ctypes loading
      svgoverlay: move from player/ to util/
      mac/Advene.wrapper: use theme if one is present
      mac: add and activate Cillop theme
      debian/changelog: document changes (SVG overlay)
      gui.main: remove logmessages TextView, replace by a standard StatusBar
      gui.edit.shapewidget: minor tweak
      gui.main: fix self.drawable realize call
      player.gstreamer: workaround a sometimes wrong time information when handling svg overlays
      gui.main: improve mediainformation display
      player.gstreamer: remove debug message
      player.gstreamer: handle global player shortcuts in fullscreen mode
      gui.views.viewbook: use a small font for tab labels
      player.gstreamer, gui.main: pass a "connect" parameter to fullscreen()
      gui.main, gui.plugins.logmessages: make the statusbar smaller
      core.config, player/*: remove obsolete player plugins
      doc/TODO: one more
      doc/TODO: more items
      gui.views.table: display duration as formatted string
      po, locale: translations update
      gui.widget: have x-annotation-values displayed as a bargraph
      gui.main: remove rectangular zones from predefined annotation types and add "List of numeric values" (application/x-advene-values)
      gui.main: move predefined_content_mimetypes definition to gui.util
      gui.views.timeline: add "New annotation at current player position" menuitem in the timeline popup menu
      gui.dialog: add element to model if not yet present in list_selector_widget.set_current_element
      gui.util: add text/html to predefined content mimetypes
      gui.edit.elements: display predefined mimetype labels when editing mimetypes
      gui.edit.elements: fix warnings
      gui.edit.elements: fix content save in GenericContentHandler
      gui.edit.elements: add the possibility to specify default values for EditGenericForm (thus for EditMetaForm and EditAttributeForm)
      gui.edit.elements: add default values for "representation" metadata for annotation types
      gui.edit.elements: fix EditContentForm
      gui.widget: render SVG content in the timeline if possible
      TODO: formatting
      core.config, gui.main: split config.data.player['snapshot-dimensions'] in snapshot-width and snapshot-height
      player.gstreamer: honour the config.data.player['svg'] option
      gui.main: move Player/Configure into Edit/Preferences/Video Player
      plugins.dcp: DCP importer
      po, locale: translation updates
      core.controller: fix text-to-SVG tranmutation template
      gui.edit.shapewidget: fix edit properties bug
      gui.main: improve Edit preferences layout
      gui.main, core.config: remove snapshot-height parameter.
      player.gstreamer: fix expose-related bug.
      core.controller: fix docstring
      gui.views.timeline: when selecting an empty zone, propose to zoom on region or limit display to region (in addition to creating an annotation)
      gui.views.timeline: display navigation tools (in upper left hand corner) when the display is limited
      gui.edit.shapewidget: handle mismatching dimensions between initial canvas size and loaded SVG size
      gui.widget: automatically update snapshot (if player supports async-snapshot) in TimestampRepresentation
      gui.main: handle scientific number notation for shotdetect temporary output
      gui.plugins.contenthandlers: do not specify size when getting ShapeEditor background image
      gui.edit.timeadjustment: have scroll on image go 1 frame (1/25s) forward/backward
      gui.util.dialog: fix list_selector_widget
      gui.util: make predefined_content_mimetypes a list, to allow its extension
      gui.views.activebookmarks: save type information when saving view
      doc/TODO: updates
      gui.popup: fix annotation renumbering
      gui.util.merger: fix conflicting ids issues
      gui.util.merger: fix conflicting ids issues
      gui.main: add a create_element_popup method
      gui.main: implement bound_validation
      gui.views.timeline: adjust annotation bound, through shortcut a (begin time) / A (end time)
      gui.main, gui.views.timeline: move adjust_annotation_bound to main so that it can be invoked from the popup menu
      gui.popup: remove debug message
      gui.main: in bound_validation, select the current time and handle page up/page down navigation
      gui.edit.timeadjustment: move gui.main.bound_validation code into a FrameSelector widget
      gui.edit.timeadjustment: move FrameSelector title parameter to get_value
      gui.edit.timeadjustment: fix initial display for FrameSelector when timestamp == 0
      gui.edit.timeadjustment: fix method name
      gui.main, gui.popup: implement shot validation interface, accessible through the annotation type popup menu
      gui.edit.timeadjustment: specify the epsilon value for imagecache access
      gui.main: make the annotation-type adjustment dialog non-modal
      gui.main:  in annotation-type frame selector, add a spinbutton to directly access specific annotations
      gui.edit.FrameSelector: have self.count represent the number of timestamps
      gui.main: add a merge button in update annotationtype bounds
      TODO: one more
      gui.main, gui.edit.timeadjustment: fix current timestamp display
      gui.plugins.tracetimeline: simplify type abbreviation
      gui.main: make the save toolbutton insensitive when the package is not modified
      doc/TODO: cleanup
      player.vlcctypes, core.config: move get_player_args to vlcctypes
      core.config: enable svg by default on linux/win32, disable it on MacOSX
      gui.widget: add Play + Refresh items to TimestampRepresentation popup menu
      gui.main: add # label
      gui.main: incomplete fix for mousewheel on SpinButton
      gui.main: "Current time" button in shot validation
      gui.plugins.shotvalidation: make ShotValidation interface an adhoc-view
      gui.widget: allow to specify TimestampRepresentation background color
      gui.edit.timeadjustment: display different background color for before/after reference timestamp
      gui.edit.timeadjustment: remove Current timestamp from FrameSelector
      gui.edit.timeadjustment: move FrameSelector refresh button above frames
      gui.plugins.shotvalidation: display index # instead of annotation content + use standard Back/Forward buttons
      gui.edit.timeadjustment: handle scroll right/left in FrameSelector
      gui.plugins.shotvalidation: display next annotation bound after a merge
      gui.edit.timeadjustment: correctly scroll on left/right keypress in FrameSelector
      gui.plugins.shotvalidation: have PageUp/PageDown display the previous/next annotation
      gui.edit.timeadjustment: fix focus_index handling in FrameSelector (corner case)
      gui.plugins.shotvalidation: handle AnnotationType/Annotation events
      gui.plugins.shotvalidation: fix mousewheel on spinbutton
      gui.edit.timeadjustment: fix scroll behaviour on FrameSelector
      gui.plugins.shotvalidation: explicit scroll event
      all: handle scroll left/right as appropriate
      player.vlc: use libvlc.so.2 i.o. libvlc.so
      gui.widget: allow to update TimestampRepresentation width
      gui.edit.frameselector: move FrameSelector widget into its own module
      gui.edit.frameselector: fix SCROLL_UP/DOWN behaviour
      gui.widget: implement TimestampRepresentation through bgcolor property
      po, locale: update translations
      debian/changelog: update changelog
      util.snapshotter: add a queue element
      model.content: parse application/json in content.parsed()
      gui.main: handle the inability to read version.txt
      gui.main: modify player control buttons handling
      plugins.tts: use e.message to get exception message
      plugins.tts: do not specify subprocess shell=False
      player.gstreamer: catch 'destroy' event  for fullscreen window
      player.gstreamer: improve fullscreen handling on MacOS X
      plugins.tts: create CustomArg TTS Engine
      plugins.tts: on win32, pass words to espeak on command line
      core.version: update version information for 0.42 release
      debian/changelog: finalize for 0.42 release
      doc/TODO: one note
      debian/changelog: add entry for 0.42
      gui.views.timeline: add SVG template when creating SVG annotation
      gui.edit.shapewidget: fix typo
      player.gstreamer: fix fullscreen
      share/web/shortcuts: update
      advene_pad:update
      gui.views.table: handle annotation modification/deletion
      gui.views.table: handle SnapshotUpdate in annotation table
      gui.views.table: click on the snapshot column plays the movie at the specified position
      gui.views.table: register SnapshotUpdate event in the constructor
      gui.plugins.shotvalidation: use Previous/Next annotation labels in buttons
      bin/advene: use config.data.advenefile method
      gui.plugins.shotvalidation: rename previous/next annotation into previous/next cut
      util.audio: convert line endings
      plugins.tts: encode parameters into utf8
      gui.main: implement volume slider
      gui.plugins.contenthandlers: use only the first url
      gui.plugins.shotvalidation: add status messages about actions
      gui.main: fix docstring
      gui.main: add Undo toolbar item
      Fix batch notification parameter
      plugins.shot.validation: implement Undo
      Revert "timeline.py: added a gtk_main_iteration in the populate function to avoid freezes during loading."
      gui.edit.frameselector: internal structure change
      gui.edit.frameselector: implement red cut marker
      gui.edit.frameselector: display left/right arrows
      gui.edit.frameselector: add tooltips
      gui.views.timeline: add 'a' shortcut on annotation type widget, for shot validation
      gui.edit.frameselector: add border_mode (left/right) parameter
      gui.main: pass border_mode parameter to FrameSelector
      gui.edit.frameselector: add instruction text
      gui.plugins.shotvalidation: notify Undo action
      gui.plugins.videoplayer: replace mute button by a volume slider
      gui.edit.frameselector: add label parameter
      gui.plugins.shotvalidation: modified feedback messages/labels
      util.website_export: quote links
      util.website_export: correctly handle links containing []()
      website_export: add HTML5 video support, based on work by Madjid Sadallah
      core.config: defaut option for "Save default workspace" is now "Always"
      plugins.transcriber: fix wrong catch clause
      plugins.transcriber: remove useless import
      gui.evaluator: fix save_history
      gui.widget: fix warnings
      We are now working on 0.43 development version
      gui.widget: TimestampRepresentation: add the ability to specify label
      frameselector: umove Refresh button + update labels
      gui.widget: modify bgcolor initialisation
      gui.edit.frameselector: display colored vertical line on mouse over
      gui.main: notify DurationUpdate when changing duration through package properties
      gui.edit.frameselector: tweak marker colors
      doc/TODO: one more
      gui.plugins.shotvalidation: add explicit Close button
      gui.views.table: highlight cursor position in the timeline on mouseover
      gui.views.table: use constants
      gui.popup: factorize code
      core.imagecache: fix TypedString initialization (python2.6 deprecation)
      gui.views.html: fix callback signature
      core.webcherry: fix webcherry deprecation warnings
      model.viewable, util.helper: fix unicode/str inheritance
      doc/TODO: update
      cherrypy: upgrade embedded cherrypy to 3.1.2
      gui.edit.frameselector: make arrows clickable
      gui.main: conditionnally import win32process
      player.gstrecorder: temporary fix for volume operations
      doc/TODO: many things
      util.helper, core.config, gui.main: allow to specify timestamps format
      gui.views.timeline: remove goto-on-click option + toolbutton
      gui.widget: have Del delete anntoations (do not require Shift-Del anymore)
      gui.main: add fullscreen specific shortcuts
      core.config, gui.main: add custom-updown-keys options
      gui.views.timeline: when creating an annotation from the annotation type widget (Return shortcut), display the edit box at the right position
      gui.views.timeline: update menu labels
      gui.views.timeline: control+click in the timeline background -> create an annotation at the current player position
      doc/TODO: reordering
      util.helper: rename convert_time into parse_time
      util.helper: improve parse_time
      gui.edit.timeadjustment: use util.helper.parse_time method
      gui.edit.properties: implement add_text
      gui.util.completer: implement support for abbreviations
      gui.main: implement abbreviation mode in textual components
      gui.main: implement unique play/pause button + remove Stop button
      gui.main: have timeadjustment entry generate a RESPONSE_OK
      gui.main: improve input time dialog + add to Player menu
      gui.edit.timeadjustment: add tooltip
      rules.ecaengine: modify debug message
      gui.main: add player-autostart option.
      gui.main: add player-autostart option.
      debian/changelog: document changes
      po, locale: translation updates
      gui.main: rename "Standard views" to "Workspace"
      util.website_export: fix VideoPlayer detection
      util.website_export: handle /media/play/begin/end internal URL
      core/webcherry: handle /media/play/begin/end internal URLs
      model.tal.global_methods: generate /media/play/begin/end internal URLs
      gui.edit.transcribe: use gui.input_time_dialog method
      gui.edit.transcribe: return False if the scroll event is not handled
      gui.main: do not autostart if the player is a recorder
      player.gstrecorder: fix behaviour
      player.gstrecorder: implement dummy fullscreen() method
      gui.main: better handle varying durations
      player.gstrecorder: ignore unhandled status messages
      gui.main: Send appropriate play/pause controls depending on player capabilities
      debian/changelog: improve wording
      player.gstrecorder: correct playlist_get_list return value
      gui.main: add top numeric row navigation in fullscreen mode
      gui.popup: use "comment view" instead of "static view"
      player.gstreamer: remove unused code
      gui.views.tree: do not truncate annotation content at 50 characters
      util.website_export: update HTML5 video support for website export
      core.version: update version info
      plugins.dcp: only create needed annotation types
      plugins.dcp: correctly display progress bar
      plugins.dcp: coalesce some DCP types into structured-types (Inquadratura, Sequenza, Raccordo, Grande unita)
      doc/TODO: more items
      share/exporters.xml: add xmlns:tal in SVG export filter
      gui.views.timeline: remove unused variables
      gui.views.timeline: with quick_edit, ensure that we do not create 0-sized annotations
      gui.plugins.shotvalidation: Control-click -> split the annotation (create a new cut)
      gui.popup: when offsetting a whole package, do not notify each annotation modification.
      core.controller, gui.main: generate an appropriate package title if none was set
      gui.views.interactivequery: make more robust
      gui.views.timeline: limit default display to 2 annotation types if there are too many annotations.
      core.controller: notify PackageEditEnd when updating package title
      gui.main: update window title on PackageEditEnd
      gui.views.timeline: display scale label only in expert-mode
      gui.edit.transcribe: do not apply reaction time delay when player is Paused
      core.controller: implement GlobalPackage proxy
      gui.views.timeline: add toggle to enable display of all relations
      gui.views.timeline: set the "maximum annotations" behaviour limit to 1500, and propose to display all types from the info dialog
      player.gstreamer, util.svgoverlay: first try native rsvgoverlay element, then fallback on python plugin
      player.gstreamer: fix restart_player
      gui.main, gui.views.interactivequery: implement gui.search_replace_dialog in main GUI
      gui.main, gui.popup: offer to search/replace content when right-clicking on annotation / annotation-type or package
      util.helper: implement format_time_reference
      All: use helper.format_time_reference when appropriate.
      gui.views.timeline: modify _single_click_guard check
      gui.main: display package filename (in addition to package title) in main window titlebar
      gui.main: add completion-mode option.
      gui.edit.transcribe: fix à at content ends corruption issue on win32.
      gui.views.interactivequery: update to handle multiple sources
      gui.edit.create: handle multiple sources
      all: convert .get_text() return values to unicode()
      gui.main: small optimisation in self.time_label update
      gui.views.timeline: fix structured data quick edit
      core.version: update version/date
      player.gstreamer: return True in callback
      player.gstreamer: implement get_/set_rate
      gui.main: add a rate control widget
      player.gstreamer: fix set_rate method
      player.gstreamer: use the scaletempo pitch adjuster if present
      debian/changelog: document latest changes
      core.config: set restore-default-workspace to always
      po, locale: translation updates
      gui.edit.transcribe: remove Control-S shortcut
      gui.views.interactivequery: modify label
      core.controller: implement register_generic_feature method
      player.gstreamer: modify initialization code
      player.dummy: fix pausetime dereferencing
      doc/TODO: updates
      util.montagerenderer: implement MontageRenderer + render_montage_dialog in main GUI
      gui.popup: propose to extract video fragment for an annotation
      gui.views.montage: ability to render the montage in its own file
      gui.views.timeline: when clicking twice (2 single clicks) on an annotation, resume playing if it was paused
      gui.views.timeline: disable scale layout handle
      gui.plugins.htmlcontenthandler: improve AnnotationPlaceholder and allow to insert annotation content
      gui.util.dialog: have center_on_mouse correctly handle multiple screens
      gui.views.AdhocView: explicitly use utf8 when saving/loading options and parameters
      gui.edit.transcribe: do not doubly urllib.quote arguments, it is done in the common code
      gui.views.bookmarks: do not urllib.quote argument value, it is done in the common code
      gui.util.dialog: really fix center_on_mouse in case of multiple monitors
      player.gstreamer: fix fullscreen behaviour on multiple monitors
      doc/TODO: updates
      player.gstreamer: remove debug leftover
      player.gstreamer: tweak fullscreen positioning on macos x
      doc/TODO: os x related item
      gui.main: add "Open logfile folder" menuitem in Help menu
      examples: make Nosferatu_unstable the new Nosferatu_v11 reference package
      util.helper: fix docstring
      util.helper: modify syntax
      util.helper: fix previous commit
      debian/changelog: finalize changelog
      gui.views.logwindow: fix URL
      plugins.tts: modify error handling in CustomArgTTSEngine
      player.gstreamer: remove videoscale element before ximagesink
      util.snapshotter: do not display missing-plugins messages
      gui.views.timeline: update timeline position in Pause status too.
      TODO: one more thing
      plugins.tts, core.config, gui.main: add tts-encoding parameter
      plugins.tts, core.config, gui.main: allow to specify the TTS engine in the preferences
      plugins.tts: specify encoding for SAPI engine
      gui.main: predefine some values for tts-encoding
      gui.main: inform when restart is needed to take into account preferences
      debian/changelog: update changelog
      debian/control: fix description + add Tag/Homepage
      po, locale: translation updates
      setup.py: improve description
      core.version, changelog: update version number + date for 0.44 release
      mac: use a selection of gstreamer plugins from gst-plugins.txt
      advene_pad.xml: update for 0.44
      model.tal.global_methods: use helper.format_time in formatted, so that time format preferences are respected
      core.controller: update relative positions in update_snapshot
      player.gstreamer: substract 40ms in async_snapshot, so that the actual snapshot is at the right time
      util.snapshotter: substract 40ms from timestamps, to improve the change to get a valid frame
      model.package: specify utf8 encoding when serializing package
      TODO: some mor
      HTML5/advene.js: add endFragmentBehaviour attribute + reformat code
      util.website_export: specify endFragmentBehaviour in HTML5 export
      HTML5/advene.js: fix syntax error
      HTML5/advene.js, util/website_export: implement AdvenePlayerInit function
      player.gstreamer: handle missing snapshotter
      core.controller: do not generate default package title if there is no video
      HTML5/advene.js: remove lock/unlock icon
      HTML5/advene.js: modify indentation
      HTML5/style.css: fix anim.gif path
      HTML5/advene.js: put defined functions into a unique advene() plugin
      HTML5/advene.js: implement transcriptHighlight feature
      HTML5/advene.js, util.website_export: handle ms in fragment definition
      HTML5/advene.js: do not remove href values, they cause no harm and can be handy as reference
      HTML5/advene.js: factorize _formatTime function
      gui.edit.transcribe: do not try to import annotations if there are none
      HTML5/styles.css: tweak control colors
      HTML5/advene.js: use position: relative for player_container
      HTML5/advene.js: improve sticky behaviour
      HTML5/advene.js: actually disabling href is necessary ATM
      HTML5/advene.js: use position: fixed  by default
      HTML5/advene.js: removed var self=this declarations
      gui.views.finder: fix autoscroll
      plugins.contenthandlers: use toolbar button to switch between source and graphical editor.
      core.config, gui.main, editors: implement prefer-wysiwyg option
      util.website_export: fix SVG transformation
      gui.main: truncate too long messages
      HTML5: improve HTML5 code
      core.config, gui.edit.element: add hidden option 'player-shortcuts-in-edit-windows'
      HTML5: fix advene logo reference
      HTML5: generate appropriate player title
      HTML5: fix typo
      HTML5: formatting
      HTML5: consistently use uiPlayer (and not self.uiDialog)
      HTML5: fix indentation
      HTML5: force "position: fixed" behaviour
      HTML5: modify timeupdate code
      HTML5: unhighlight all elements on player stop
      HTML5: remove Autofragmentid feature
      HTML5: fix advene_logo path
      HTML5: remove mutualExclusion code
      HTML5: small cleanups
      HTML5: use addClass/removeClass instead of switchClass
      HTML5: fix error handling
      HTML5: implement simple singletonPlayer behaviour
      HTML5: fix positioning error: screenshot overlay videos must be "absolute"
      HTML5: rename option-play / option-play-off to screenshot-overlay-menu / screenshot-overlay-player
      HTML5: rename options.vignet to options.overlay
      HTML5: fix initial display of thumbtack icons
      HTML5: improve and translate comments
      HTML5: workaround resizing bug ( http://dev.jqueryui.com/ticket/3628 )
      HTML5: remove useless code (which triggers an error anyway)
      HTML5: formatting fixes
      share/exporters.xml: improve SVG export filter
      gui.util.dialog: fix default filter value in get_filename
      gui.edit.element, gui.edit.htmleditor, gui.plugins.htmlcontenthandler: implement get_modified()/set_modified() to avoid losing modified content
      gui.main: add "Player control in edit popups" customization through Preferences dialog
      doc/TODO: moved URLs references into doc/references.txt
      gui.main: populate View menu with the same views as in the toolbar
      gui.views.timeline: better handle mimetype conversion when creating annotation with content
      core.config: remove unused parameter
      advene.util.ctypesrsvg: implement ctypesrsvg module and use it when necessary in gui.widget and util.svgoverlay
      gui.views.finder: improve autoscroll
      util.importer: make the srtimporter more robust
      share/exporters, util.website_export: improve SVG export filter
      TODO: add details
      core.controller, gui.views.timeline: move create_annotation function into controller
      gui.widget: do not try to render empty SVG content
      gui.main: add text and graphical annotation creation icons in the toolbar
      gui.util: add epsilon parameter to image_from_position
      gui.plugins.contenthandler: specify epsilon parameter when getting background image for SVG content
      player.gstreamer: enqueue rounded values of specified timestamp to improve fetching
      plugins.aeidon: implement aeidon subtitles importer
      gui.main: set show-arrow to False in fileop_toolbar
      gui.views.finder: use Shift-scroll for horizontal scroll
      gui.edit.shapewidget: update cursor to give feedback about control points/elements
      gui.edit.shapewidget: improve shape resize behaviour
      gui.plugins.htmlcontenthandler: fix variable name
      gui.edit.shapewidget: disable control point for Text shape
      gui.edit.shapewidget: fix Ellipse.__contains__ method
      HTML5: implement transcriptFollow option
      HTML5: fix error reporting
      HTML5: modify transcriptFollow consistency check
      gui.edit.shapewidget: fix Line.control_point
      gui.edit.shapewidget: handle keyboard shortcuts for shape selection
      TODO: done svg work
      rules.ecaengine: fix error reporting
      gui.edit.rules: add fieldnames access to predefined TALES expressions
      util.audio: add balance + volume parameters to SoundPlayer.play
      rules.actions: add balance + volume parameters to PlaySound / PlaySoundClip actions
      util.audio: remove debug messages
      core.controller: not not check for empty playlist for record-able players
      gui.main: do not ask for moviefile for record-able players
      gui.main: fix re-embedding when changing player
      rules.actions: rename some actions
      rules.elements: use OrderedDict to store categories
      all: modify action categories
      gui.edit.rules: display expert, gui, state categorized actions only in expert mode
      po, locale: update translations
      doc/TODO: one more
      HTML5: fix transcriptFollow behaviour
      HTML5: initialise volume level at 25% and update volume slider
      HTML5: handle keyboard shortcuts
      HTML5: fix player positioning
      HTML5: untabify
      util.helper, gui.main: add HH:MM:SS,ff (with a comma) SMPTE-style timestamp display format
      plugins.aiff: AIFF (FinalCut Pro) importer
      gui.views.timeline: fix bug in merge annotations feature
      util.helper: fix frame conversion
      gui.views.timeline: define generic relations when creating from the timeline
      doc/TODO: things to do (following enba workshop)
      gui.edit.timeadjustment, gui.widget: simply set position, do not start playing if paused
      Revert "gui.views.timeline: when clicking twice (2 single clicks) on an annotation, resume playing if it was paused"
      player.dummy: fix set_media_position behaviour
      gui.edit.montage: add tooltips
      gui.edit.montage: add "Save view" button
      util.snapshotter: do not substract 40ms
      gui.plugins.shotvalidation: limit title size
      player.gstreamer: sort async_snapshot values
      util.snapshotter: use a PriorityQueue to enqueue timestamps
      gui.main: in workspace_restore, do not create a main window larger than the screen.
      model.content: store binary data base64-encoded
      core.controller: fix get_title for binary data
      gui.views.annotationdisplay: fix image display
      gui.main: define a PackageWrapper (accessible with P in evaluator)
      gui.main: define generic make_pane_visible
      gui.views.editaccumulator: make sure that the view is visible
      gui.popup: popup menu on relation-type: propose "Create a montage from the relations"
      plugins.undomanager: implement Undo for annotation/query/view creation
      Nosferatu_unstable: define sound enveloppe as 1 big annotation
      gui.main, gui.edit.importer: rename ExternalImporter to FileImporter
      util.snapshotter: implement clear() method
      gui.main: add snapshotter activity monitor/control
      util.snapshotter: use a plain Queue is no PriorityQueue is available (python <= 2.5)
      util.importer: make progress_callback return a boolean to indicate wether the import should be cancelled
      gui.edit.importer: properly initialize/register view plugin
      gui.edit.importer: add the possibility to cancel import process
      util.importer: implement GenericImporter.set_options
      gui.edit.properties: implement basic OptionParserGUI
      gui.util.dialog: make get_current_element more robust
      gui.main: invoke FileImporter through open_adhoc_view
      core.config: extend video_extensions definition
      gui.edit.importer: display option form according to selected import filter
      gui.edit.importer: make the importer GUI operations thread-safe
      util.importer: set package._modified (done through AnnotationCreate notification, but it is optional)
      util.importer: document new async_process_file API
      gui.edit.importer: use async_process_file if present
      plugins.shotdetectapp: define shotdetect importer as a standard import filter
      util.importer: TextImporter cannot handle video files
      gui.edit.importer: allow to pass initial filename
      plugins.shotdetectapp: fix annotation type initialisation
      util.importer: allow to specify schema id in ensure_new_type
      gui.edit.importer: fix processing_ended call from another thread
      gui.main: add File/Process video menuitem
      gui.popup: add "Create dynamic view following relation" menuitem
      rules.actions: PlayerStart/PlayerGoto: do some duck-typing to allow Annotation or Fragment as position value
      util.importer: define ExternalAppImporter generic class
      plugins.shotdetectorapp: use ExternalAppImporter
      util.importer: fix ExternalAppImporter __init__
      gui.edit.importer: set_sensitive(False) for Cancel button once it has been pressed
      gui.edit.properties: hack support for float OptionParser type
      util.importer: fix bug in set_options
      gui.edit.properties: fix display in add_option
      plugins.visu: fix description namespace
      plugins.cutter: sound segmentation plugin
      plugins.goodshotdetector: importer for GoodShotDetector algorithm from pimpy
      gui.edit.properties: implement add_float_spin method
      gui.edit.importer: in case of Exception in process_file, display full traceback in console
      plugins.goodshotdetector: add cache-histogram option (default: False)
      gui.popup: propose annotation statistics for package too
      plugins.soundenvelopper: sound enveloppe generator
      plugins.soundenveloppe: guard against inf and NaN values
      plugins.soundenveloppe: initialize some values
      plugins.soundenveloppe: factorize finalize operations
      doc/TODO: some  updates
      plugins.soundenvelopper: python <= 2.5 compatibility fix
      gui.main: use ordered dicts for preferences display
      doc/references.txt: add FCP references
      plugins.soundenveloppe: allow to select right, left or both (average) channels
      TODO: update
      util.svgoverlay: use 'location' instead of 'filename' property, to match native rsvgoverlay API
      util.ctypesrsvg: ubuntu 10.10 does not provide unnumbered librsvg/libgobject
      share/pixmaps/notavailable.png: modify "Not available" image
      doc/TODO: updates
      po, locale: translation updates
      debian/changelog: document changes
      gui.plugins.htmlcontenthandler: implement AnnotationTypeContentHandler to propose various presentations of annotation types
      core.controller: make create_static_view consistent with previous htmlcontenthandler changes
      mac/hack_update: directly update site-packages.zip from an existing Advene.app
      gui.main, player.gstreamer: allow to specify GL video output from the preferences
      gui.popup: add missing variables
      gui.edit.importer: disable filename entry and combobox when import has been started
      plugins.featuredetect: implement opencv-based feature detection video import plugin
      plugins.featuredetect: add classifier choice
      gui.edit.shapewidget: get element color either from stroke attribute or from style attribute
      plugins.featuredetect: add scale parameter to speed up detection
      plugins.featuredetect: add support for multiple shapes + motion segmentation
      gui.widget: catch exception when trying to render SVG widgets
      plugins.shotdetectapp: generate last annotation
      plugins.goodshotdetector: generate first shot
      plugins.goodshotdetector: raise an exception if the videofile cannot be opened
      gui.edit.importer: BaseException.messages is deprecated (see pep352)
      TODO: update
      plugins.cutter, plugins.featuredetect, plugins.soundenveloppe: fix win32 filename encoding issues
      plugins.goodshotdetector: add missing import
      plugins: add missing imports
      gui.popup: format timestamps
      plugins.montagerenderer: preprend file:/// to filename
      plugins.goodshotdetector: allow to cancel histogram generation
      plugins.goodshotdetector: correctly generate first cut time
      plugins.cutter: properly exit on failure
      gui.views.html: make the component more robust
      plugins.dcp: fix message string
      po, locale: translation updates
      gui.edit.create: create generic relation type by default
      gui.views.timeline: hackedMemberTypes initialisation is done in gui.edit.create
      core.config, gui.main, player.gstrecorder: allow to specify audio record device
      player.gstreamer: fix player_add_item method to accept None input
      player.gstreamer, core.config, gui.main: implement "Fullscreen Timestamp" feature
      HTML5/advene.js: implement highlightRelated option
      gui.popup: display annotation duration in popup menu
      gui.views.annotationdisplay: display annotation duration
      model.package: explicitly import symbols from constants module
      model.package: fix getDOMImplementation invocation
      util.importer: allow type to be specified as type-id or type instance in yielded dictionaries
      util.importer: BaseException.message is deprecated
      util.importer: add safety check
      HTML5: tweak corner resizing
      HTML5: display "Loading..." indicator when movie is buffering
      HTML5: remove DOS-style EOL
      HTML5: strip trailing whitespace
      plugins.goodshotdetector: make ALPHA/BETA instance parameters
      plugins.goodshotdetector: fix filename encoding issue
      plugins.cutter: pass unicode version of filename
      HTML5: only keep SE resize handle on video player
      util.importer: accept multiple spaces as data separator in TextImporter
      debian/control: add ${misc:Depends} dependency
      debian/compat: use compatibility level 8
      core.version: update version/date
      share/haars: fix files mode
      debian/rules: add empty binary-arch target
      debian/control: fix Build-Depends: and Section:
      debian/changelog: document changes
      web/fckeditor: remove remaining empty directories
      util.helper: make parse_time more robust
      util.importer: make the TextImporter more flexible in the formats it accepts
      util.importer: display correct progress information based on file tell() information
      gui.edit.importer: display all Exception args in case of error
      util.helper: use hh:mm:ssfNN syntax for specifying/displaying frame number
      core.config, gui.main, util.helper: allow to specify default FPS value when displaying/converting timetsamps with frame numbers
      mac/Leopardish: remove unnused theme
      debian/advene.desktop: fix validation warnings
      debian/source/format: specify Debian format
      doc/advene.1: escape minus signs
      debian/control: fix dependency versioning
      debian/control: update Standards-Version (after checking compliance)
      MANIFEST.in: update filelist
      CHANGES.txt: rename old debian/changelog file
      debian/changelog: create  a new debian/changelog file
      debian/rules-dapper: remove obsolete file
      Remove tmp dir
      Move debian/ directory into its own module
      plugins.goodshotdetector: implement profile settings
      util.importer: fix encoding issue in SrtImporter
      util.importer: initialisation cleanups
      doc/TODO: more to do
      model.tal.context: modify TAL compiler determination to match behaviour of controller.apply_export_filter
      model.tal.context: always suppress XML declaration
      model.tal.global_methods: implement urlquote method
      doc/TODO: update
      share/exporters.xml: implement json / json_by_type export filters
      util.website_export: always copy needed resources, do not skip them if they already exist
      core.controller: do not generate a package title if there are no annotations
      gui.main, util.audio, util.importer, plugins.tts: handle SIGPIPE when using Popen
      setup.py: import pygst is required on win32 only
      gui.edit.shapewidget: remove Image from standard ShapeEditor available shapes
      gui.edit.shapewidget: remove Dump svg toolicon from ShapeEditor toolbar
      gui.edit.shapewidget: ask for a filename when saving SVG
      tal.global_methods: implement json global method
      share/exporters.xml: improve json export
      util.website_export, gui.main: make website export cancellable
      model.package: handle None parameter in get_element_by_id
      gui.views.viewbook: do not try to add_view if view is None
      gui.main: add default= parameter to ask_for_annotation_type
      gui.edit.transcribe: save imported/exported annotation type in view options
      util.importer: fix typo in type conversion
      gui.edit.elements: fix initial_focus behaviour
      model._impl: add null test
      util.importer: make ensure_new_type first try to create type with plain prefix as id
      gui.edit.importer: add initial focus on filename entry
      plugins.cinelab: implement Cinelab importer
      doc/TODO: updates
      share/pixmaps/trace.png: resize from 16x20 to 16x16
      TODO: one less
      CHANGES.txt: document changes
      CHANGES.txt: specify local emacs mode
      core.controller: fix notify comment
      CHANGES.txt: fix whitespace
      plugins.visu: make the type_re regexp more permissive
      plugins.visu: make the parsing more generic
      plugins.ttl: rename plugins.visu to plugins.ttl
      plugins.montagerenderer: define constants only if gst is available
      plugins.ttl: timestamps are stored in ms, do not convert
      gui.util: make contextual_drag_end more robust
      gui.widget: use defined gui.util.get_target_types
      gui.views.timeline: AnnotationWidget.drag_source_set is already called in the constructor
      doc/TODO: more ideas
      HTML5/advene.js: add autoplay=true property
      gui.util: use specialized _drag_begin method if present
      gui.util, gui.widget: move annotation DND code handling to gui.util
      gui.widget: do not set widget._icon, since it is a pixmap and not a widget
      gui.views.timeline: use enable_drag_source for AnnotationTypeWidget
      ctypesrsvg: try numbered versions of librsvg first
      gui.main: fix displayed message
      gui.util: fix bug in get_target_types
      gui.util: return True in drag-begin/drag-end handlers
      util.helper: make unaccent more robust
      gui.main: implement KeyboardInput event
      gui.main: implement fullscreen annotation mode
      gui.widget: add POINTER_MOTION_HINT_MASK event
      gui.util, gui.widget: disable set_icon_widget code on win32
      gui.main, plugins.tts, util.importer: fix subprocess invocation on win32
      bin/advene: remove UTF8 BOM from the main script
      plugins.cutter: factorize the finalize code
      core.webcherry: document ipv6 issues.
      plugins.cutter: add a audioconvert component just after uridecodebin
      gui.views.transcription: make update_modified more robust
      CHANGES.txt: typos
      plugins.montagerenderer: use a multiqueue element
      player.gstreamer, util.audio: handle accented elements in PATH
      plugins.cutter, plugins.soundenveloppe: homogeneize win32 path handling
      player.gstreamer, player.audio: specify default values for os.getenv
      player.gstreamer: fix import
      gui.main: add tooltip for logmessages button
      core.controller: load user plugins after app plugins
      plugins.tts: make SAPI TTS asynchronous
      util.merger: fix double detection of new views
      TODO: add 1 item
      share/exporters.xml: update Cinelab NS
      player.gstreamer, util.snapshotter: keep references on pipeline elements, so that they are not garbage-collected
      player.gstreamer: use self.log to display information
      core.imagecache, gui.main: allow to reset imagecache contents
      pixmaps: increase contrast for snapshotter-running.png
      TODO: updates
      gui.edit.importer: put filter options below filter selection
      gui.edit.importer: add message parameter
      gui.edit.importer: use Stop label instead of STOCK_CANCEL
      gui.edit.importer: do not use custom buttonbox
      TODO: mac issue
      gui.edit.importer: do not try to display options for dummy_advene_importer
      player.gstreamer: typo
      CHANGES.txt: update
      advene.util.slicebuffer: initial implementation
      core.config, gui.main, player.gstrecorder: add 'record-video' player option for gstrecorder
      doc/TODO: add ideas
      util.slicebuffer: allow to pass parameters on command line
      util.helper: fix typo
      util.slicebuffer: remove width property
      gui.edit.importer: rename "Import filter" to "Filter"
      util.plugin: display timestamp in import filter progress messages
      po, locale: translation updates
      core.controller: remove support for application/x-advene-sparql-query
      util.audio: add audioconvert element to gst_play pipeline
      rules.actions: specify width/height params in DisplayMarker generated SVG
      plugins.shotdetectapp: use sys.getfilesystemencoding() on win32 to encode filenames
      gui.main: add "View/Simplify Interface" menuitem
      CHANGES.txt: finalize file
      core.version: update version number/date
      CHANGES.txt: prepare for 0.46 release
      gui.main, gui.popup, gui.views.timeline: refactor display_statistics features.
      Makefile: exclude .git directory from archive target
      Makefile: exclude more files from the archive target
      plugins.brltty: implement scroll mode for long messages
      plugins.brltty: fix indentation
      core.version: update date/svn revision
      setup.py: expand include line
      scripts/update_version: use $HOME/bin/svn if available
      Update mac installer building scripts
      advene_pad.xml: update information
      player.gstreamer: set fit-to-frame property on svgoverlay element
      util.svgoverlay: fix example
      gui.edit.schemaeditor: add missing copyright line
      player.gstrecorder: lower audio quality
      HTML5/advene.js: use a strict comparison for relatedTranscript test
      adveneAllInOne: retitle application with "Digital Video" i.o. DVD
      util.website_export: remove dest dir when synchronizing resources needed by video player
      gui.main: click on the video slider jumps to the designated position
      core.version: update version number
      adveneAllInOne: update version number
      website_export: create imagecache dir only if necessary
      Remove obsolete .cvsignore files
      doc/copyright: update information
      gui.main: in website_export, set video filename as standard value for video url
      gui.main: win32process is already imported at the beginning of the file
      HTML5/advene.js: improve progress display
      gui.views.transcription: do not close on package load
      gui.views.transcription: add Control-C shortcut to convert text to annotations
      gui.main: fix display_statistics if there are no annotations
      doc/TODO: big cleanup
      gui.main: set modified state when updating state of website export dialog
      gui.main: fix website export dialog Close button
      gui.edit.rules: modify pre-set parameter value description
      gui.main: fix bug in workspace_serialize
      util.helper: allow 'identifier' root element
      gui.views.activebookmarks: fix encoding issue in bookmark (de)serialization
      core.controller: modify generate_sorted_lists logic
      plugins.fcp: rename AIFF plugin to FCP
      doc/advene.1: fix manpage
      core.version: update version information
      HTML5/advene.js: when a named anchor is specified in the URL, play the fragment following it
      CHANGES.txt: update
      gui.edit.imports: fix syntax bug
      gui.popup: modify labels
      gui.widget: fix bug for empty value lists
      util.svgoverlay, util.slicebuffer: change license from LGPL-3+ to LGPL-2.1+
      gui.main: display initial information popup longer
      gui.views.timeline: do not hide prev/next annotation buttons
      All: use standard xml.etree.ElementTree module
      HTML5/style.css: fix typo
      gui.plugins.shotvalidation: handle missing annotation type parameter
      gui.views.*: adapt to the new (not recent) AdhocView API
      setup.py: update linux platform test
      gui.main: moved view menu initialisation code
      gui.popup: remove debug message
      core.plugin: correctly report (via print) plugins with SyntaxError or AttributeError
      core.config: fix linux OS detection
      util.importer: use ensure_new_type in init_package
      gui.edit.importer: use FileChooserButton
      plugins.aeidon: make import cancellable
      util.importer: the SRTImporter can handle webvtt files too
      util.importer: implement progress report in SubtitleImporter
      core.controller: convert Annotation to position in update_status
      gui.plugins.videoplayer: allow to configure video offset through DND of annotation or timestamp
      gui.plugins.videoplayer: fix offset parameter restore from saved view
      gui.plugins.videoplayer: enable drag of the secondary player time
      gui.views.timeline: fix determination of destination annotation type in drap and drop operation
      gui.main: implement busy cursor on package loading
      gui.main: display shortcuts in menuitems where applicable
      gui.main: disable undo button if there is no action to undo
      gui.edit.elements: disable undo/redo buttons when appropriate in text editor
      gui.main: disable Edit dynamic view button when appropriate
      gui.main: disable create text/svg annotation buttons if no video is defined
      gui.main: remove debug message
      gui.main: disable player control buttons if no video is selected
      gui.main: if we try to open an already opened window, raise it.
      gui.main: use RecentManager to store recent packages list
      gui.views.timeline: display annotation in inspector when navigating with the type arrows
      gui.main: remove quit button from the toolbar
      gui.main: replace self.loop_toggle_button variable by a ref in player_toolbar.buttons
      share/exporters: use .cxp as extension for cinelab files
      gui.views.transcription: do not override standard close() method
      gui.views.transcription: do not close the view if there is an empty model
      gui.main: hide View/Media Information
      gui.views.table: ignore DND from a table view in itself
      gui.views.timeline: in quick_edit, handle empty fields filling
      gui.main: hide "Capture screenshots" menuitem
      gui.views.tree: implement basic drop behaviour
      core.controller: move webserver initialisation at the end of init()
      gui.main: implement adjust_timestamp method
      gui.widget: add callback parameter to TimestampRepresentation widget
      gui.edit.timeadjustment: refactor value setting method
      Remove embedded ElementTree lib
      core.controller: define get_urlbase() method
      gui.main: deactivate webbrowser toolbar button if no webserver is active
      gui.plugins.htmlcontenthandler, util.website_export: use the new get_urlbase() method
      gui.views.timeline: allow to lock the annotation inspector by clicking on an annotation
      gui.views.timeline: fix locked_inspector behaviour
      gui.views.timeline: adapt vertical/horizontal scrolling behaviour according to device capabilities
      util.snapshotter: use a UniquePriorityQueue to queue timestamps
      gui.widget: in TimestampRepresentation.set_value, ignore the set_value call for the already set value
      gui.views.timeline: update Inspector label to reflect its un/locked state
      gui.views.annotationdisplay: overview the fragment by moving the cursor over the screenshot
      INSTALL.txt: update dependency list
      po, mo: Translation updates
      core.config, gui.main: move gettext initialisation code to config.py
      plugins.aeidon: reset gettext textdomain after loading aeidon module
      gui.edit.importer: fix importer when specifying default filename
      gui.edit.importer: put options_frame in a ScrolledWindow
      gui.edit.importer: do no modify toplevel window title
      gui.edit.properties: if help for a string type option ends with a [F] or [D] marker, consider it as a File or a Directory
      plugins.pocketsphinx: new speech recognition plugin
      gui.main: add shortcut for Process video
      po, locale: translation updates
      core.version: update date/svn rev
      gui.views.timeline: create annotation widgets by sets of 100 in an idle loop
      gui.main: fix warning
      gui.views.timeline: display feedback about displayed annotations when initialisating timeline
      gui.views.timeline: remove MAX_ANNOTATIONS dialog hack
      gui.widget: fix width if <= 0 (instead of < 0)
      gui.views.timeline: display progress bar when displaying timeline
      gui.views.timeline: ensure that progress <= 1.0
      gui.views.annotationdisplay: make the Contents widget editable
      gui.views.annotationdisplay: Control-Return validates the content when modifying the content buffer
      gui.views.timeline: display a lock icon when the inspector is locked.
      gui.widget: use allocation information as parameters to invalidate_rect
      gui.views.timeline: whitespace fixes
      HTML5/advene.js: do not cancel keyboard event propagation if we do nothing with the event
      HTML5/advene.js: use autoplay=false by default
      HTML5/advene.js: fix fragment handling
      HTML5/advene.js: fix stop bug
      HTML5/advene.js: when handling hash fragments, look for data-begin elements in anchor children first, then in siblings children.
      HTML5/advene.js: fix variable name
      Do not block non-handled keyboard shortcuts.
      HTML5/advene.js: have the player follow hash links for internal links too
      HTML5/style.css: fix typos
      gui.views.timeline: fix timeline background popup
      gui.widget: allow to save individual screenshots (popup menu)
      util.importer: fix SRT importer
      plugins.tracebuilder: fix dict access
      gui.main: fix website exporter info about video file.
      gui.views.finder: fix horizontal scroll behaviour
      util.snapshotter: remove call to qiv
      Makefile: exclude locale/ from archive
      player.gstreamer: implement async_fullres_snapshot
      player.gstreamer: delete trailing whitespace
      gui.main: fix init_gettext definition
      gui.main: implement save_snapshot_as
      gui.widget: use the gui.main.save_snapshot_as method
      player.gstreamer: document method
      gui.popup: allow to save snapshot for an annotation (through popup menu)
      gui.main: workaround snapshotter initialisation issue
      CHANGES.txt: document changes
      gui.views.timeline: display limit_navtools widget at init time if needed
      gui.plugins.htmlcontenthandler: fix urlbase references
      advene.js: fix player autoplay
      gui.views.timeline: modify progressive loading count depending on the annotation count
      doc/TODO: cleanup
      Makefile: properly exclude locale dir
      util.handyxml: remove Advene boilerplate, it does not apply here
      share/pixmaps/*.svg: cleanup .svg files
      setup.py: do not raise an exception if locale/ dir does not exist
      core.version: update date/svn
      CHANGES.txt: finalize 0.47 notes
      gui.views.timeline: use named arguments for information string
      player.gstreamer: fix sentence
      po, locale: translation updates
      gui.edit.importer: add display_unlikely option to allow disabling the display of unlikely filters
      gui.main: do not display unlikely filters when processing video
      plugins.brltty: do not use brldisplay before calling init_brlapi
      gui.main: add underline shortcuts to "All available views" menu items
      core.webcherry, gui.main: define server.is_running and use it to set the state of the web browser view
      share/pixmaps/snapshotter-running.png: make the icon more visible
      gui.main: display an error dialog when the package to merge cannot be loaded
      core.controller: do not try to open a URL if the webserver is not active
      gui.views.table: allow to customize the data model
      gui.views.table: fix logic error in set_elements
      gui.views.timeline: refactor initialization code
      gui.views.timeline: prevent double initialization of the timeline.
      gui.main: use MRU sort for recent file menus
      core.controller: do not use potentially undefined/unconsistent variable self.package
      gui.views.checker: display the output of various consistency checks
      gui.views.timeline: always use 10 increment in populate
      all: delete trailing whitespaces
      gui.plugins.contenthandlers: fix warning
      examples/Nosferatu_unstable: fix overlapping annotations
      examples: version 12 of Nosferatu
      gui.widget: add Backspace key to delete annotation, in addition to Delete
      gui.views.timeline: optimize the timeline loading by resizing the layout widget.
      plugins.undomanager: do not record create and delete events in undone context
      po, locale: translation updates
      gui.main: use gobject.get_application_name() for RecentFilter initialisation
      gui.main: do not show icons in RecentChooser widgets
      gui.views.timeline: properly update the legend if there is no annotation
      util.helper: remove ununsed method
      util.helper: fix warnings
      util.helper, gui.views.transcription, gui.views.timeline: implement helper.title2content and use it in timeline and transcription
      gui.views.table: make AnnotationTable content editable
      gui.views.table: Control-Return in annotation table -> goto current annotation
      gui.views.transcription: wrap annotation content with ZERO_WIDTH_NOBREAK_SPACE
      gui.views.transcription:  make annotation separator non-editable
      gui.views.transcription: shortcut Control-Return -> play current annotation
      util.importer: handle HH:MM:SS:mmm timecode syntax in srt/webvtt importer
      CHANGES.txt: document new features
      plugins.pocketsphinx: display number of detected utterances in the progress bar
      gui.views.timeline: fix concurrency issues in update_model calls
      gui.views.timeline: factorize update_min_max functionality
      gui.edit.importer: fix return clause in do_gui_operation
      gui.edit.importer: avoid locking process if there are too many pending events
      plugins.pocketsphinx: do not call finalize from main thread
      gui.views.timeline: add missing lock release calls
      gui.views.timeline: call update_min_max in all cases, not only if partial_update
      gui.views.timeline: fix duration update event handling
      plugins.ted: fix TED plugin
      util.importer: create schema in init_package even if not annotationtypeid was specified
      gui.views.timeline: use update_lock to synchronise scale_event method
      gui.edit.importer: allow non-local filenames (URIs for instance)
      HTML5/advene.js: remove muted attrib
      Update version+date
      Translation updates
      adveneAllInOne: update version number + example ref
      CHANGES.txt: update for 0.48
      core.config: add .m4v to video file extensions
      gui.edit.importer: fix filename retrieval when importervier is called with a filename parameter
      gui.views.timeline: fix zoom behaviour
      Fix typo
      Documentation updates
      CHANGES.txt: update for 1.0
      .iss: bump version  number + remove ref to vlc
      core.version: update release number and date
      advene_pad.xml: update information (pending actual win32 installer size)
      advene_pad.xml: update file sizes
      setup.py: move status to "Production"
      gui.edit.importer: use get_filename() before trying get_uri() from FileChooserButton
      TODO: one more item
      core.config: add .mts extension for video files
      gui.evaluator: make the module python2/3 compatible
      Use config.data.preferences['default-fps'] where appropriate.
      Update version number/date
      Update pad info for 1.0.2 win32-specific release
      gui.main: Update about box
      Update copyright year
      gui.edit.properties: sys.maxint is not appropriate for min/max spin values
      gui.main: fix filename check
      share/exporters.xml: Implement .ttl export
      gui.views.interactivequery: fix initialisation
      gui.evaluator: use StringIO is available, fallback on io
      advene.js: fix js syntax warnings
      Remove refs to inexistent str() function
      advene.js: set preload to none instead of auto
      Correctly handle progress report.
      Load video upon plugin initialization
      advene.js: try to fallback on .ogv file if video is .mp4 and browser does not support it.
      advene.js: implement filterBox
      util.importer: allow to import compressed text files
      util.importer: add option to specify time unit (s or ms)
      util.importer: implement relative timestamps in text importer
      gui.edit.frameselector: Add missing import
      gui.edit.rules: gracefully handle missing _fieldnames
      gui.popup: remove unused code
      gui.popup: add NERD popup item if the plugin is available
      gui.plugins.contenthandlers: fix ShapeDrawer parameter passing
      util.importer: initialize stored_begin
      core.controller: define a controller.unknown_args parameters
      gui.main: propose to import unrecognized command line filenames
      gui.views.transcription: display active item in bold
      gui.views.interactivequery: specify mimetype before setting element data
      gui.main: enlarge range for video rate GUI
      gui.edit.importer: use proper API for setting filename
      util.importer: add option to specify timestamps (begin, both or auto) in TextImporter
      gui.edit.timeadjustment: fix missing \n
      plugins.shotvalidation: convert < to entities in plugin title
      gui.plugins.shotvalidation: escape <& chars
      gui.popup: fix interactivequery invocation
      gui.edit.elements: add a "Validate and run query" button in the Query edit form
      player.gstreamer: take an additional precautionary snapshot
      core.imagecache: tweak default espilon value
      gui.views.table: ask for snapshot updates if necessary
      New TODO items
      util.importer: make create_annotation return the created annotations so that it can be used as a coroutine
      util.importer: self.create_schema returns the possibly existing schema, no need to check.
      gui.popup: rename Shot validation view menuitem to match the actual view name
      gui.plugins.htmlcontenthandler: add a "grid" template for annotation types
      doc/TODO: add a ref to gstreamer1.0 porting guide
      gui.main: remove Control-a shortcut (for EditAccumulator).
      share/exporters.xml: add raw timecode columns in TSV export
      gui.views.annotationdisplay: enable completion in editor widget
      gui.evaluator: center window on mouse when running the module
      core.config: add application/json as textual mimetype
      core.config, gui.main: implement apply-edited-elements-on-save
      util.importer: Add 'send' parameter to send method
      gui.edit.elements: bind F5 to "Apply and open/activate"
      gui.views.timeline: fix timeline initialisation issue
      util.website_exporter: do not translate javascript: references
      share/exporters.xml: Fix JSON export view
      gui.edit.shapewidget: pass initial dimensions to Shape constructor
      gui.edit.shapewidget: store default_color in drawer
      gui.edit.shapewidget: change callback signature
      gui.edit.shapewidget: implement Path shape
      gui.plugins.contenthandler: update to match shapewidget API
      gui.edit.shapewidget: implement MULTIPOINT shape resize
      gui.edit.shapewidget: add a dump shortcut (Ctrl-d)
      gui.edit.shapewidget: Implement control point removal
      gui.edit.shapewidget: cleanup path before adding MULTIPOINT shape
      gui.edit.shapewidget: modify init code (no functional change)
      gui.edit.shapewidget: do not call set_bounds from Path.translate()
      gui.edit.shapewidget: use empty mode as default
      gui.edit.shapewidget: modify default cursors
      gui.edit.shapewidget: do not remove object on treeview double click
      gui.edit.shapewidget: ensure to display a shape name
      gui.edit.shapewidget: properly implement Path.closed property
      gui.edit.shapewidget: debug helper
      plugins.youtubeannotations: Implement Youtube annotations import
      core.controller: use plain urllib module
      core.controller, gui.edit.schemaeditor: remove the option to create x-advene-zone content
      gui.plugins.contenthandler: allow to visualize different background images using a slider
      Update INSTALL.txt instructions
      doc/TODO: update
      gui.edit.shapewidget: fix validate test
      gui.plugins.contenthandlers: display time in fraction selection slider for SVG editor
      Reorder win32 dependencies
      Add shape icon
      gui.util, gui.views.finder, gui.views.timeline: remove reference to cgi module

pachampin (24):
      Removed <?xml...> header in views called by other views.
      Fixed a bug with XML header suppression.
      Added alpha support for OWL/SPARQL support.
      Fixed a bug which caused drag'n'drop fail when there was uniary relation types.
      Added alpha-support for vanilla-pellet.
      Added missing file for Pellet support.
      Changed mime-type of SPARQL queries to text/* so that the standard editor works
      Updated mime type for SPARQL query.
      model.tal.global_methods: even more properly get the query absolute URL
      All: removed some debug traces
      util.pellet: added comment to PelletResult
      util.pellet: fixed a bug in the handling of empty result
      core.webserver: revert change 2001, threading is actually required by SPARQL queries
      improved advene2 export - required an extension of resources methods
      replaced expat dependency by standard minidom
      fixed bugs related to XML serialization
      namespace bug resolved for metadata
      Fixed a bug in view DetailShot, and added dynamic view "Actor_IMDb"
      added demo
      updated demo package
      moved and renamed demo, and remove deprecated version
      updated CSS
      improved some views
      improved "SRT subtitles" export

pchampin (7):
      Added a bugfix.
      Now factories set the docstring of _create() to the docstring of the
      Improved some docstrings.
      Added support for creation of schemas and types from scratch.
      New Relax NG schema, consistent with the implementation of the previous commit.
      Added attribute hackedMemberTypes to RelationType, to quickly answer to Olivier's needs.
      Fixed (?) the import bug with views.

yprie (12):
      Catch-all exception in update_display
      Ajouté plein de trucs suite aux tests de Yannick
      Bugfix
      More work
      Bugfix for first,last,rest so that they work on query results
      Take into account a reaction time when putting annotations
      lower and greater are now strict
      Fixed problem in _winreg module usage
      Do not use gtk.threads_init on Win32 : it freezes the GUI
      Accents fixes
      Accents
      advene, vlcnative: use config.data.path['advene'] as vlc plugin path

-----------------------------------------------------------------------

-- 
advene packaging



More information about the pkg-multimedia-commits mailing list