Changelog05
(redirected from Changelog05.Changelog05)
In this document
0.5 in numbers
- 69 bugs resolved
- 546 commits (without merges)
- 764 files changed
- 49758 insertions(+)
- 97989 deletions(-)
Global
- Use weakref for every callback / storage (reclaim your memory !)
- Clock callbacks
- ID <-> Widgets dict
- Event callbacks
- Benchmark: Start bench suite
- C: write C for speedup low graphx functions, event dispatching, matrix transformation
- Documentation: automaticly include examples/framework/*.py in API
- Documentation: change nightly build to every 30 minutes
- Event: now, every new event must have a default handler
- OSC/oscAPI: use one callback manager per listen
- Tool: add dump tool for debugging pymt + paste to pocoo.org
- Tools: Add dejitter calibration tool (python -m pymt.tools.calibration.dejitter)
- Tools: Add doubletap calibration tool (python -m pymt.tools.calibration.doubletap)
- Unit: Run unit test every 30 minutes
- Unit: Start unittest suite
- Website: change from pymt.txzone.net to pymt.eu
Base
- Base: prevent double stop
- Base: remove event statistics
- BaseObject: add helper to get coordinate from top/left/bottom/right...
- Clock: schedule_once timeout is defaulted to 0
- Clock: simplify and speedup processing
- ExceptionManager: Restore exception manager for pygame windows
- Loader: add loaded property in ProxyImage
- Loader: fix when tempfile is created
- OBJ: fix material issue
- Resource: functions to search a resource from a list of path
- Safelist: Remove iterate() support, prefer duplicate list [:]
- Texture: rework how texture rectangle support is tested
- Utils: add interpolate function to interpolate from a value to another
- Utils: add support to serialize/unserialize numpy matrix
- Window: add on_key_down / on_key_up event
- Window: fix partialy display selection (using SDL_VIDEO_FULLSCREEN_HEAD)
- Window: fix window creation if multisampling=0 in configuration
- Window: remove gradient background
- Window: take less CPU if the display is not active
Core
- Add function hook to be called after pymt configuration
- Audio/Gstreamer: fix gstreamer volume property
- Audio: Sound now inherith from EventDispatcher, and add on_play/on_stop event
- Image: fix convertion 8 bits -> 32 bits
- Image: add texture_mipmap / texture_rectangle to control mipmapping / rectangle usage when texture is created
- SVG: New SVG core provider with squirtle as default
- Text Markup: first implementation of Markup text (not working in MTLabel)
- Text: add padding/padding_x/padding_y
- Text: use color directly as a text color, instead of a texture color
- Video/Gstreamer: correctly check caps before attaching video/audio
- Video/Gstreamer: disable audio if video don't have audio
- Video/Gstreamer: wait ASYNC_DONE before set to PLAYING
- Video: Video now inherith from EventDispatcher, and add on_eos event
- Spelling: introduce spelling abstraction, using enchant or osx backend
Input
- Dejitter: new dejitter module, to suppress unwanted touch_move events comming from inaccuracies of the input device
- Fixccv: module removed (ccv upstream is fixed)
- HIDInput: new input provider for linux, it read event from /dev/input/event* (working from 2.6.34 kernel with multitouch devices)
- Mouse: add left-click + alt to be able to put 2 touch, and release at the same time
- Touch: change dpos/opos to use screen coordinate instead of normalized 0-1 coordinate
- WM_Pen: improve pen reactivity
- WM_Touch/WM_Pen: fix crash on windows
- WM_Touch/WM_Pen: use deque to improve performance
UI
- Animation: can use user function / lambda for alpha_function/f
- Animation: fix if the animation contain a dict to animate
- CSS: Add css_add_file()
- CSS: Add css_reload()
- CSS: Polish CSS
- CSS: add state (<property>-<state>, eg: bg-color-down)
- CSS: new bg-image command (support image and svg)
- CSS: new slider-color-down
- CSS: write our own css parser and remove cssutils
Widgets
- MTAnchorLayout: center the widget on the screen
- MTButton: don't dispatch on_release event if the cursor is not on the button
- MTButton: rewrite button to use MTLabel and not MTWidget (share same attributes as MTLabel now.)
- MTCircularSlider: fix + clean code
- MTCoverflow: add possibilty to enable cover blending with background + transparent background
- MTFileBrowser: clear selection when path is updated
- MTFileBrowser: fix with unicode characters
- MTFileBrowserView: add on_selection_change event
- MTFileBrowserView: fix usage of path= at __init__
- MTFlippable: add flipangle to change when the flip will happen
- MTKinetic: enhance kinetic processing to use sum of movement instead of the last one
- MTKineticList: add align parameter for widget alignement inside the row/col
- MTLabel: rework entirely MTLabel to be able to change property at runtime
- MTLayout: completly rework layouts.
- MTList: new list widget, with kinetic movement. It will replace MTKineticList in the long term.
- MTPopup: fix styling and drawing
- MTScatter: add ability to save/restore state of the scatter widget
- MTScatter: introduce a new scatter widget, based on numpy + accelerated transformation
- MTScatter: support more than 2 touches
- MTScreenLayout: show only one widget in full screen at time
- MTSidePanel: fix positionning with right / top
- MTSlider: fix 0 division in some case
- MTSpellVKeyboard: new spelling keyboard widget using spelling abstraction
- MTTextArea: new multiline text input widget
- MTTextInput: add a group mode (focus only one in the group, and switch from one to another with TAB key)
- MTTextInput: add keyboard_to_root to add the keyboard to root window instead of the parent window
- MTTextInput: add password mode
- MTToggleButton: add group property (only one can be selected in the group)
- MTVKeyboard: add support for repeat keys
- MTVKeyboard: fix qwerty keyboard with numeric
- MTWidget: add __slots__
- MTWidget: add a possibility to get relative coordinate from to_local/to_parent
- MTWidget: always return False in collision if widget is not visible
- MTWidget: now widget draw his own background
- MTWidget: performance improvement by converting [] to set()
- MTWidget: warn user if the ID is already used
- XMLWidget: rework the behavior + root() + getById() + autoconnect()
Graphx
- C: Add C support to speed some methods (using cython)
- FBO: better handling of deletion (if you have pyopengl 3.0.0 or 3.0.1)
- Shader: fix for GMA and ATI card
- Statement: add a execute mode to display list
- draw: set_color() support hex notation (set_color('#FF0000'))
- draw: set_color() support one component (set_color(0) will do 0, 0, 0)
Graphics
Introduce our new graphics package, written in Cython.
Examples
- Fix setup
- Core: add core usage example (Audio, Video...)
- Desktop: fix if it's run from another directory
- Sinemixer: switch from ounk to pyo engine
- Widgets gallery
Modules
- Doubletap: don't use current down/move touch
- Keybinding: add F7 to reload CSS
- Keybinding: add F8 to show widget tree (experimental)
- Keybinding: draw FPS in help
- Keybinding: save screenshot to jpeg by default
Contributors
- Mathieu Virbel <mathieu __at__ pymt.eu>
- Gabriel Pettier / tshirtman <gabriel.pettier __at__ gmail.com>
- Ilya Cassina <ilya.cassina __at__ gmail.com>
- Jay Bradley <j.bradley __at__ napier.ac.uk>
- Nathanaël Lécaudé <lecaude __at__ gmail.com>
- Sharath Patali <sharath.patali __at__ gmail.com>
- Tommaso Piazza <tommaso.piazza __at__ gmail.com>
- Trevor Lockley <thatsyouremail __at__ gmail.com>
- Rich Eakin <rich.eakin __at__ gmail.com>
- Jeff Wilson <jjpwilso@connect.carleton.ca>
- bernt
For migration
(just a remember, must do a second pass accross commit to write it)
- XMLwidget: id is removed before adding to the tree
- XMLwidget: add root() + getById() + autoconnect()
- Texture: id/target/width/height are now read-only
Deprecated
(just a remember, must do a second pass accross commit to write it)
- MTKineticList -> use MTList
- MTForm* -> removed
- Matrix -> removed
