Recent Releases of pyglet
pyglet - v2.1.8
Changes
docs: Improve camera example documentation. (#1326)
gl: Add type hints to GL functions. (#1237) (#1325)
font: Add font shaping support to MacOSX.
window: Add support for MacOSX to have transparent windows and overlays. (#1339)
window: Add new on_clipboard_copy & on_clipboard_paste events, and add support to the Caret class. (#1313)
examples: Add a get_mouse_scale helper method to the FixedResolution class.
math: Remove if checks from __matmul__ operations for small performance improvement.
Bugfixes
font: Fix gettextsize for DirectWrite to include trailing whitespaces. font: Cache glyphs based on unique ID and indices to reduce cache collions. (#1346) font: Fix issue with inline elements crashing in a non-multiline scenario. (#1346) media: Fix WMFDecoder delivering audio data as float. (#1315) (#1316) window: Fix bugs with transparent framebuffers for transparent windows. (#1333) window: Adjust software cursor scale factor for MacOS for HiDPI. (#1343)
- Python
Published by benmoran56 7 months ago
pyglet - v2.1.5
⚠️ This release is part of the new 2.1 series, and has BREAKING CHANGES from the 2.0 series. If updating from 2.X, please see the migration guide in the documentation for more details: https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html
Changes
- docs: Add shape guide crossrefs (#1291)
- Updated the opengl torus example to work with the material updates in 3.1 (#1281)
- Add homebrew lib search location for Apple Silicon.
- Bump Qt example to use PySide6 and PyQt6 (#1305)
Bugfixes
- shapes.earcut: Fix int casting bug for large polygons (#1282)
- Linux: Use dotclock instead of rate in xlib vidmoderestore (#1285)
- tests: Fix many interactive tests, and other test fixes
- app: Fix run(None) crashing on macOS
- docs: Correct the docstring for the start_angle of an arc to indicate it is in degrees and not radians (#1290)
- controller: Fix dpad bias for controller.min > 0 (#1296)
- controller: Only use 0x1 desktop page axis for controller indexing on macOS (#1297)
- gui: Fix the position range of the slider knob when repositioning the slider (#1299)
- Python
Published by benmoran56 10 months ago
pyglet - v2.1.3
⚠️ This release is part of the new 2.1 series, and has BREAKING CHANGES from the 2.0 series. Please see the migration guide in the documentation for more details: https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html
Changes
- window: Change the default znear/zfar to (-8192, 8192).
- docs: Fix top-left version display and copyright auto-generation (#1264).
- docs: fixes in the quickstart guide, and lots of other cleanups.
- clean up legacy super() call syntax around the codebase.
Bugfixes
- shapes: disable depth testing by default, due to usability issues.
- window.xlib: prevent crash if initial configuration notify event has invalid width/height.
- window.xlib: fix screen mode showing dotclock instead of Hz.
- model: fix the (undocumented) Sphere and Cube test shapes.
- examples.model.fpscamera: don't normalize the movement input.
- window: Fix ImageMouseCursor positioning not adapting to scaling (#1278).
- Python
Published by benmoran56 about 1 year ago
pyglet - v2.1.2
⚠️ This release is part of the new 2.1 series, and has BREAKING CHANGES from the 2.0 series. Please see the migration guide in the documentation for more details: https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html
Bugfixes
- shapes: disable depth testing by default, due to usability issues.
- Python
Published by benmoran56 about 1 year ago
pyglet - v2.1.1
:warning: This release is part of the new 2.1 series, and has BREAKING CHANGES from the 2.0 series. Please see the migration guide in the documentation for more details: https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html
Bugfixes
- input.Controller: Fix DirectInput dpad (hat control) regressions.
- input.Controller: Fix sign calculation bug for devices with analog axis as dpad.
- Python
Published by benmoran56 about 1 year ago
pyglet - v2.1.0
MAJOR RELEASE
This is the first release in the 2.1 series, and has BREAKING CHANGES from the 2.0 series. Please see the migration guide in the documentation for more details: https://pyglet.readthedocs.io/en/latest/programming_guide/migration.html
Changes
- Changed default argument order to bring consistency to text Labels and Layouts.
- For API consistency with other modules, Shapes now use degrees for all applicable objects.
- Controller events dispatch
Vec2s for analog sticks and directional-pad movement. - The
pyglet.canvasmodule has been renamed topyglet.display.
Features
- More control over DPI scaling for Hi-DPI displays (see pyglet.options.dpi_scaling).
- Objects in the math module (Vec2/3/4, Mat3/4, Quaternion) are now all immutable and hashable.
- Shapes now offer a Z property for basic depth sorting.
- Python
Published by benmoran56 about 1 year ago
pyglet - v2.0.19
Changes and Improvements
docs: update vertexbuffer.py module docstrings
Bugfixes
- macos: stop F5 from autocompleting (#1229)
- input.base: Don't skip Axis Controls without names
- window.xlib: don't send onmouserelease events for scrolling (#1235)
- Python
Published by benmoran56 about 1 year ago
pyglet - v2.0.18
Changes and Improvements
- shader: add support for OpenGL structures in UBO's (#1212)
- win32.com: get libs/win32/com.py ready for incoming 3.13 changes #1199
- docs: fix various typos, and example code to align with docs #1200, #1201
- text.document: add new AbstractDocument.append_text method for more efficient end-of-text additions #1182
- tests: fix issues with broken tests on macOS.
- input.macos: add missing axis alias for modern controllers (Stadia, newer XBOX One)
- gui.NinePatch: Add a new NinePatch.createaroundlayout class method
- typing: add py.typed file #1205
Bugfixes
- shader: fix matrix uniform assignment #1194
- text: fix missing caret top level import
- text.layout: fix updating anchor on the X axis #1213
- text.layout: move getlinecount function into the base TextLayout class
- window.macos: fix blinking cursor in bottom left of window #1204
- examples: fix rectangle not appearing in text_input example
- macos: fix missing dealloc for text view.
- macos: fix some deallocation issues when creating multiple windows.
- macos: fix event loop termination exiting the entire app.
- macos: fix focus being stolen by other apps during launch. (#1211)
- macos: fix error about pygletUpdate when closing a window. (#1219)
- macos: fix function keys not registering. (#1220)
- docs: move check for
sys.modules['sphinx']into doc/conf.py to prevent conflicts with jupyter #1215
- Python
Published by benmoran56 over 1 year ago
pyglet - v2.0.17
Changes and Improvements
- image: Use dedicated shader for blitting to fix blending issues. (#1170)
- shapes: Add a way to set blend mode on initialization and after.
- shapes: Add a getshapegroup function.
- shapes: Add a way to change shape shader program.
- pyglet.experimental: Add multi-texture sprite support. (#1166)
- graphics.vertexbuffer: (internal) Rename buffer object
sub_datatocommitto better reflect it's usage. (#1186) - gui: Add onmouseenter/leave event handler to WidgetBase and use it in Buttons (#1190)
- graphics.vertexdomain: Update program migration to its own function: update_shader.
- graphics.vertexdomain: Changing programs no longer requires batch, as that doesn't change with a program change.
- graphics.vertexdomain: Allow migration of shaders through deleting vertex lists.
- graphics.vertexdomain: Remove
isinstancecheck for VertexList and go off the class variable that is set.
Bugfixes
- image: Fix Texture3D.createforimages method.
- typing: Fix pyglet.options type checking.
- shader: Fix UBO arrays. (#1168)
- sprite: Fix paused animation frame index. (#1180)
- window: win32: Fix Window.seticon.besticon. (#1183)
- options: Fix audio and vsync env vars. (#1185)
- audio: Remove
PreciseStreamingSource; Move audio buffering back into Players. (#1175)
- Python
Published by benmoran56 over 1 year ago
pyglet - v2.0.16
Changes and Improvements
- library-wide overhaul of docstrings, and addition of type hints. (#1084)
- sprite: Add
blend_modeproperty to change BLEND_MODE without needing to re-create the Sprite. - sprite: Deprecate
AdvancedSprite, and merge functionality into defaultSpriteclass. - sprite: Add
get_sprite_groupmethod, allowing easy usage of custom SpriteGroups in subclasses. - image: Code for
Texture.blithas been inlined. (#1109) - shapes: Concave polygon can be drawn by earcutting a polygon. (#1121)
- shapes: Add Rounded Rectangle shape. (#1131)
- shapes: Add
thicknessproperty toBoxshapes. - libs: Add
pyglet.libs.ioctlmodule, to consolidate shared code on Linux. - gui: Add a pseudo "nine-path" Sprite-like class for variable sized windows.
- math: Add
matchstatement support to Vec classes. - graphics: Don't re-create a Shader each call to
drawordraw_indexed. - graphics: Greatly improve Uniform Buffer Objects and Buffer Object binding behavior.
- pyglet.options: Add
shader_bind_managementoption for users who want to have more control over UBO binding behavior. - pyglet.options: Add runtime typing enforcement to user-set options.
- pyglet.experimental: Add simple GPU-based particle system in
particlesmodule. - text.layout: Update
on_style_textto be more efficient.
Bugfixes
- window.macos: Fix constant appearance of blinking caret on M1 based Macs. (#1160)
- window.xlib: Avoid XSet/UnsetICFocus calls when haveutf8 is False. (#1049)
- window.win32: Fix application not updating timers and redrawing during moves. (#1125)
- shapes: Add missing
thicknessproperty to Box. - shapes: Add missing docstrings to
Arcthicknessproperty. - shapes: Fix ShapeBase.group setter to only migrate batch when batch is not None. (#1090)
- shapes: BezierCurve: fix miter artifacts from #1134. (#1155)
- examples: Fix "more" button outline in soundspace example. (#1085)
- tests: Fix a rarely-failing audio time test. (#1092)
- input.controller: Fix accidentially missed mappings.
- graphics.shader: Add missing parent program reference in Uniforms (#1103)
- graphics.domain: Fix VertexList.resize method.
- text.directwrite: Fix crash with dwlegacynaming. Check if a custom collection exists before find a font with it.
- Python
Published by benmoran56 over 1 year ago
pyglet - v2.0.15
Changes and Improvements
- font: Clean up win32 legacy font renderer to remove unused or outdated code.
- font: Boxes are now primary update method for TextLayout instead of relying on the vertex_list of the TextLayout.
- font: More typing additions.
- gui.widgets: Add setenabled hook (#1073)
- shapes: Add missing BezierCurve thickness property.
- graphics: Re-raise error for attributes during shader creation with better error descriptions. (#1076)
- docs: Start adding GUI section to the programming guide.
- typing: Add stub file for init package to workaround IDE inspection/completion issues with lazy loading modules. (#1077)
- examples: Add more visual feedback to the Controller example
Bugfixes
- Xaudio2: Fix missing
)to POINTER which causes XAudio2 to fail to be imported. (#1068) - font.caret: Fix caret positioning and moving the cursor during cursor selection. (#932)
- input.controller: User added mappings should take higher priority over default mappings.
- input.controller: Properly handle inverted axis as dpad (#1078)
- shapes: Added a None check to ShapeBase.delete (#1075)
- shapes: Fix Line being off-centered when setting thickness #1083
- image: Fix BufferManager.getdepthbuffer() for GL3+.
- Python
Published by benmoran56 almost 2 years ago
pyglet - v2.0.14b
Changes and Improvements
- shapes: Add new MultiLine shape. (#1057)
- font: Enhance UserDefinedFonts to allow using custom font mapping functions (#1067)
- typing: Improve Xaudio2 COM type hints (#1062)
- text: Raise Exception when attempting to change IncrementalTextLayout.rotation, as it's not supported.
- tests.integration: Add simple sanity tests for creation of all Label, Document, and Layout objects.
Bugfixes
- input.win32: Fix broken xinput getdevices and getcontrollers methods (#1060)
- shapes: Fix incorrect BezierCurve positioning, and Line rotation. (#1084)
- app: Fix CFSTR.release() bugs in macOS event loop. (#1059)
- font: Fix missing annotation import causing a crash for GDI.
- text.caret: Caret now properly works with other Layout content valigns other than top.
- text.layout: Ensure all TextLayouts have consistent argument ordering.
- text.layout: Fix left, right, bottom, top Layout parameters not being correct.
- text.layout: Fix changing anchor not updating the translation.
- text.layout: Fix for lines getting garbled in an IncrementalTextLayout when using a content-valign other than top.
- text.layout: Fix IncrementalTextLayout setting visible line count instead of total line count.
- text.layout: Fix translation sometimes not updating all of the GlyphBoxes.
- text.layout: Fix updateanchor not updating vertex lists of IncrementalTextLayout.
- text.layout: Fix updateflow_glyphs not updating line count when it breaks it's loop.
- text.layout: Fix deleting lines at the end of a multilined IncrementalTextLayout not reducing view size.
- text.layout: Fix shader to conform to new anchors.
- text.layout: Rotation no longer requires destroying the whole layout, it now just updates attributes.
- text.layout: Anchor bottom fix for Scrollable/Incremental.
- Python
Published by benmoran56 almost 2 years ago
pyglet - v2.0.12
Note: This version is a quick bugfix release that superceeds v2.0.11. The previous release contained a bug that broke Batch/Group migration, which has now been fixed (and a unit test added for).
Changes and Improvements
- media: major internal audio cleanup, bugfixes, and improvements on all platforms.
- various typing and documentation improvements.
- math: add Quaternion class with common methods.
- shader: add support for setting and getting arrays in a Uniform via wrapper. (#1005)
- shapes: add radius property get and set to Arc class. (#1013)
- sprite, shapes: Avoid extra step of updating vertex list after creation. (#1016)
- shapes: allow setting the line thickness of Arc and BezierCurve shapes. (#1028, #1030)
- text: add Caret.select_all method.
- text: performance improvements on instantiation, visibility, anchors, positions. (#1004)
- text: add left, right, bottom, top attributes. (#1004)
- text: add program argument for custom shaders. (#1037)
- text: add getastexture function to render text to a new texture. (#1037)
- font: skip pre-parsing all system fonts to improve speed. Check only when needed.
Bugfixes
- macOS: prevent crash when scanning for Controllers if device.transport is None. (#995)
- input: avoid crash when encountering controls with invalid min/max values. (#986)
- xlib: fix missed argument in window drag.
- media: fix bad behavior when clearing XAudio2AudioPlayer. (#1011)
- pyglet.init: don't install debug_trace until after module proxies #1046
- media: numerous fixes to race conditions and deadlocks across all backends.
- experimental: Fix incorrect texture UVs and final positioning for GeometryShader Sprite.
- image: add missing binding calls for blit_to/texture methods.
- Python
Published by benmoran56 almost 2 years ago
pyglet - v2.0.10
Changes and Improvements
- sprite: moving Sprites is now about 35% faster (as tested on R5 5600X)
- gui: Add TextEntry.focus property to allow programmatic focus control
- gui: Allow set TextEntry.width and TextEntry.height
- Window: Add experimental Window.getclipboardtext and Window.setclipboardtext methods
- experimental: Add new pyglet.experimental package for easier wider testing of new ideas
- experimental: Add
geoshader_sprite.pythat is more complex, but faster than the standard Sprite - experimental: Add
netmodule with Server/Client proof of concept - tests: Add new interactive spot test to visually confirm shapes are working as expected
- shapes: Move rotate functionality to ShapeBase class, and allow all shapes to rotate
- VertexDomain: bind all buffers to VAO in init, and avoid binding each draw
- gl.Context: Add a new cached
Context.create_programmethod to assist in shader reuse - examples.model.fpscamera: fix drifting input, and other improvements
- contrib.qtspritepreview.py: Modify to allow using either PySide2 or PyQt5 (#959)
- examples: Carry over the soundspace example (#972)
- media: The "Silent" audio driver now behaves more like a real driver
- text: Add RGB color setter fallback for HTML labels, assuming 255 alpha
- shapes: Add a new (unfilled) Box shape
- gl: Take threading into account when deleting OpenGL objects (#988)
Bugfixes
- gl: Stop storing doomed VAOs in object space (#918)
- xlib: Do a better job of detecting UTF8 capability (#520)
- media.Player: for Video playback, set context when updating Textures
- shapes: fix re-positioning of BezierCurve and Polygon shapes
- media.codecs: Fix use-after-frees and memory leaks in the wmf decoder #962
- text.Caret: Fix caret blinking (#971)
- text.layout: Fix incorrect background color vertex data
- Windows: Implement fix for ctypes.wintypes.BYTE in Python < 3.12 (#977)
- input.evdev: Fix for pypy3 by removing usage of os.readv
- Python
Published by benmoran56 over 2 years ago
pyglet - v1.5.28
Features
- Add support for FFmpeg 6.0
- Add support for mouse buttons 4 & 5 on Windows and Linux
- Windows: set higher timer precision when starting PlatformEventLoop.
- font.DirectWrite: improve font name parser (set 'dwlegacynaming' pyglet option for old behavior)
- Extend keyboard F-key support (F16-24 on Windows, F21-24 on Linux. Mac limited to F20. (#773)
- Avoid audio stutter by initializing the AudioDriver when the media module is first used.
- macOS: add support for "onfiledrop" Window events
- macOS: add CoreAudio decoder for supporting compressed audio formats out of the box (mp3, etc.)
- macOS: add filename support for QuartzFont
- macOS: New optional alternate event loop, to prevent M1 issues (set 'osxaltloop' pyglet option) (#794)
Bugfixes
- Backport of numerous media and font bugfixes from the master branch.
- Fix BYTE windows type for Python 3.12
- Skip calling CGDisplaySetDisplayMode if the current screen mode is the same (#891)
- font.DirectWrite: Enable color font only for supported OS's
- Fix getdefaultscreen() to get the primary monitor, not just the first in the list (#717)
- Fix debug_win32 - LoadLibrary implementation (#748)
- font.Directwrite: Fix 32 bit crashes (#771)
- macOS: Fix memory leak with NSDate object returns.
- Fix FFmpeg 4.0 not being found on MacOS
- Varios XAudio2 fixes and cleanups (#877)
- Python
Published by benmoran56 over 2 years ago
pyglet - v2.0.9
Changes and Improvements
- app: Passing
Noneto pyglet.app.run will disable automatic Window redraws. - window: Add a Window.draw method to help when manually scheduling Window redraws.
- shapes: Add a
borderthickness setter to BorderedRectangle. - docs: Various docstring improvements and cleanups.
- examples: Add minimal ComputeShader example.
Bugfixes
- media: Fix multiple on_eos events from OpenAL players, and major MediaThreads overhaul.
- macos: Fix on_key events (#898)
- macos: Workaround for CGDisplaySetDisplayMode bug
- Xaudio2: Fix packet refill crash when removing a player that was deleted mid callback.
- gui: Fix incorrectly named onmousescroll arguments (#904).
- Python
Published by benmoran56 over 2 years ago
pyglet - v2.0.8
Changes and Improvements
- Add missing OpenGL extensions
- Add support for FFmpeg 6.0
- Sprite width & height properties are now settable, allowing scaling by pixels
- documentation: updates to migration guide, media, and events
- shapes: Allow checking if a point is in a shape, using the
inoperator
Bugfixes
- clock: Fix clock swallowing ReferenceErrors
- documentation: fix some sphinx build issues on ReadTheDocs
- font: multiple macOS fixes, including issues with double-byte fonts
- input: ensure Xinput controllers dispatch events on the main thread
- Python
Published by benmoran56 over 2 years ago
pyglet - v2.0.7
Changes and Improvements
- gui: Add alpha value to the Caret's default color.
- docs: Some minor rewording of sections, and type fixes.
Bugfixes
- Fix broken struct format strings in png and ttf decoders.
- text: Clear Group cache when a Layout's Group is changed.
- Fix incorrect string formatting in the timer.py example.
- Python
Published by benmoran56 almost 3 years ago
pyglet - v2.0.6
Changes and Improvements
- Initialize AudioDriver when media module is imported, prevent pause on first sound playback.
- New TextureArrayBin class for managing TextureArray based atlases.
- macOS: implement "file_drop" support for Windows.
- macOS: add support for CoreAudio, allowing native mp3, aiff, etc. support without FFMpeg.
- macOS: alternative NSApplication based event loop, to avoid missing events on M1 Macs. #794
- text: Caret supports RGBA color, in line with other pyglet objects.
- Windows: New context manager for handling of safer handling of platform resources.
Bugfixes
- Fix numerous bugs remaining with IncrementalTextLayout, with translation, caret, etc. #786
- Windows: fix incorrect on_resize values.
- macOS: numerous memory leak fixes.
- shader: add missing sampler type definitions.
- Add missing docstrings, and various documentation fixes.
- Python
Published by benmoran56 almost 3 years ago
pyglet - v2.0.5
Changes and Improvements
- windows.key: add support for extended function keys
- Windows now uses "Apartment Threaded" mode for better compatibility with other libraries.
- image: allow blanking newly created Textures (skipped by default when creating from image).
Bugfixes
- input.macos: Fix ControllerManager hot-plugging on macOS.
- font.windows: Fix 32bit crashes with DirectWrite font backend.
- math: Fix incorrect calculation in Mat4.look_at method.
- image: Fix blitting from regions, caused by invalid unpacking settings.
- Python
Published by benmoran56 about 3 years ago
pyglet - v2.0.4
Changes and Improvements
- input.win32: ControlManager now supports both DirectInput and XInput devices.
- input: Many cleanups and reorganization.
- math: Add Vec2.reflect method.
- shapes: Add new BezierCurve shape.
- gl: Add support for GL sync functions.
Bugfixes
- gui: Prevent two TextEntry widgets from being active at the same time. #747
- win32: Fix broken lib debug, and multiple related bugs due to depreacted functions.
- input: Controller mappings now indexed correctly on macOS and Windows.
- Python
Published by benmoran56 about 3 years ago
pyglet - v2.0.3
Changes and Improvements
- shapes: Batch and Group can now be changed on shapes after instantiation, similar to Sprites.
- font: DirectWrite & Freetype fonts now expose a
filenameattribute. macOS not yet implemented. - Windows: DirectWrite fonts parse font names in a more correct manner. Setting
pyglet.options['dw_legacy_naming']to True will restore the old behavior, but this may be removed at a later date. - math: Vec types can now be updated with slices (
velocity[:] = 1, 2) - math: Matrix operations now behave more like GLSL.
Bugfixes
- macOS: fix crash when supplying OpenGL Config without explicit major/minor versions #739
- To prevent crashing on many OpenGL drivers, Textures are no longer initialized with empty data.
- fixed
font_comparison.pyexample.
- Python
Published by benmoran56 about 3 years ago
pyglet - v2.0.2
Bugfixes
- Fix Config.opengl_api being always set to None.
- Windows: fix Display.getdefaultscreen() always returning the first index.
Changes
- Remove legacy Xlib backend code.
- Add initial support for Compute Shaders.
- Windows: a high performance event timer is requested by the PlatformEventLoop.
- Python
Published by benmoran56 about 3 years ago
pyglet - v2.0.1
Bugfixes
- Windows: only enable DirectWrite color font for supported OSes.
- gui: don't unset TextEntry widget focus on mouse motion.
- image: Prevent BufferManager crash when stencil buffer query fails #703
- macOS input: fix broken get_guid link for Controllers.
- math: fix Mat4.look_at. #708
- shader: fix vertexlist passing id instead of self to Batch.getdomain
- shapes: fix crash when setting Arc.visible = False
Changes
- shapes: add Arc.start_angle setter
- graphics: Various default Group changes to help improve Group consolidation
- Python
Published by benmoran56 about 3 years ago
pyglet - v2.0.0
pyglet 2.0.0 Major Release
Changes
- pyglet has been upgraded to use use OpenGL 3.3+ core functionality.
- All high level modules have been internally updated to use modern OpenGL.
- A large number of cleanups and optimizations.
Features
- New
pyglet.mathmodule including common Matrix and Vector operations. - New
pyglet.graphics.shadermodule for easily managing Shader objects. - New OpenGL bindings, and binding tools.
- New Game Controller API for modern game controllers, including rumble and automapping.
- New Framebuffer classes.
- Python
Published by benmoran56 over 3 years ago
pyglet - v1.5.27
Bugfixes
- Windows - stop setting HWND_TOPMOST for fullscreen windows
- obj decoder - Fix GL_SHININESS (Ns) value parsing
- Fix broken property setter for shapes.Polygon (#676)
- Fix keys getting "stuck" in KeyStateHandler when Window loses focus (#682)
- Python
Published by benmoran56 over 3 years ago
pyglet - v1.5.24
Features
- Add initial support for FFmpeg 5.0
- Windows - The GDI font renderer now supports Unicode font names.
Bugfixes
- Windows - Fix
on_resizeevent not dispatched whenset_sizeis called. - Documentation updates, fixed links, and corrections.
- Windows - Fix crash when font characters are more than one codepoint in length.
- Python
Published by benmoran56 almost 4 years ago
pyglet - v1.5.23
Features
- Windows - Add
win32_disable_shapingoption. This can improve font performance when shaping isn't required. - Backport the latest pyglet.math module changes from the development branch.
Bugfixes
- Linux - Fix crash when Gstreamer Gst bindings are not installed.
- Fix math.Vec4.clamp method.
- Python
Published by benmoran56 almost 4 years ago
pyglet - v1.5.22
Features
- If the PyOgg module is installed, it can be used for loading various Vorbis audio formats.
- Add a new CameraGroup example, to show implementing a Camera with pyglet's Groups.
- Add
angleandstart_angleproperty/setter toshapes.Sector. - Windows - new WMF based encoder for faster saving of common image formats.
Bugfixes
- Fix indexing error when setting text.Label.opacity (#481)
- Windows - Fix shift modifier + exclusive mouse mode (#472)
- Linux - Prevent non-Tablet devices from being detected as Tablets (#491)
- Windows - Prevent distortion with multiple XAudio2 audio sources (#515)
- Fix frame dropping bug with FFMpeg decoder.
- Windows - Fix Video alpha channel for WMF decoder.
- Varios documentation and docstring fixes. Thanks everyone!
- Python
Published by benmoran56 almost 4 years ago
pyglet - v1.5.21
Features
- A new MovableFrame that allows repositioning Widgets when a specified key modifier is held.
- Text Layouts now have
opacityandvisibleattributes, similar to Sprites. - Add new shapes.Ellipse class.
Bugfixes
- Xlib - don't enable certain Window options if transparency is not enabled. (#454)
- Windows - Fix issue with some fonts where glyphs overhanging their advance would be cut off.
- Python
Published by benmoran56 over 4 years ago
pyglet - v1.5.20
Features
- Experimental support for transparent and overlay windows on Linux and Windows.
- Shapes - Allow rotation and changing of border color for the BorderedRectangle.
Bugfixes
- Xlib - Fix the mouse Y position being off by 1-pixel.
- Windows - Fix gapless audio playback on the XAudio2 backend.
- Python
Published by benmoran56 over 4 years ago
pyglet - v1.5.18
Bugfixes
- If XAudio2 device creation fails, catch exception so that the next driver can be tried.
- Fix dangling file pointers in GStreamer decoder.
- Expose font.name attribute to show the font family name.
- Un-associate queued Source from a deleted Player instance (#256)
- Fix circular import when trying to create a Windows in 'headless' mode.
- Un-associate StreamingSources from deleted Player instances (#256)
- Update pypng lib to avoid deprecated functions (#405)
- Python
Published by benmoran56 over 4 years ago
pyglet - v1.5.17
Bugfixes
- FFmpeg decoder add FFINPUTBUFFERPADDINGSIZE to buffers.
- Add missing DI8DEVTYPE_SUPPLEMENTAL joystick device type.
- Fix bool clamping causing crash with DirectWrite text decoder.
Maintenance
- Change IncrementalTextLayout to use glScissor instead of glClipPlane.
- Raise warning on Window creation if the GPU drivers do not support OpenGL 2.0
Features
- Add a new
shapes.Starshape.
- Python
Published by benmoran56 almost 5 years ago
pyglet - v1.5.16
Bugfixes
- 3d model obj decoder supports multiple material types
- Fix GStreamerSources not being garbage collected #283
- Fix ScrollableTextLayout not respecting anchors/alignment.
Features
- New DirectWrite based font loader. Enable with
pyglet.options["advanced_font_features"] = True - Add
positionproperty to Text Layouts, to mimic other classes.
- Python
Published by benmoran56 almost 5 years ago
pyglet - v1.5.15
Bugfix and maintenance release
Bugfixes
- shapes.Circle segment calculation will always use a minimum of 14 segments.
- shapes.Arc is now made from line segments, and by default has unconnected ends.
- Windows - Use the internal keystate to determine the mod shift rather than relying on GetKeyState which relies on another event that may be called after WM_INPUT.
Maintenance
- Various Headless backend and EGL work.
- Python
Published by benmoran56 about 5 years ago
pyglet - v1.5.13
Bugfixes
- Fix crash on looping video with no sound (#322)
- OSX: Replace remaining usage of
find_libraryto fix Big Sur issues (#332) - Windows: Fix default orientation for the XAudio2 listener.
Features
- Add new
shape.Triangleshape. - Windows:
on_key_pressnow dispatches unique events for left/right Shift keys.
- Python
Published by benmoran56 about 5 years ago
pyglet - v1.5.9
Bugfixes
- Explicitly cast media.synthesis data to bytes to prevent issues on some audio drivers.
- Refactor WIC module to work with new com module. (#298)
- Prevent crash when setting
shapes.Circle.visable. (#294) - Remove deprecated
tostringcalls in PIL/PNG decoders to prevent crash on Python 3.9. (#295, #302)
Improvements
- Add new Xaudio2 driver. (#288)
- Refactor pyglet's lazy module loading to better support code inspection.
- Added new
TextEntrywidget.
- Python
Published by benmoran56 over 5 years ago
pyglet - v1.5.8
Improvements
- Added new experimental
guimodule. Currently this only contains basic widgets. - Added new
Group.visibleproperty, to toggle rendering of entire Groups when used in a Batch. - Added
Sprite.pausedandSprite.frame_indexhelper properties for controlling Animations. - Reorganized the examples folder.
- Added new CenteredCamera example.
- Backport pyglet.math from 2.0, for more exposure and testing.
- Consolidate Codec logic into base class to reuse among various modules.
- Python
Published by benmoran56 over 5 years ago
pyglet - v1.5.6
Bugfixes
- Fix infinite recursion error on OSX. (#5)
- The onmousescroll event no longer clamps to int, preventing lost motion on trackpads.
- Prevent traceback when DirectSound buffers are garbage collected on exit.
- Fix StaticSource playback with WMF decoder (streaming=False).
- Fix colorspace for WMF video decoding.
- Prevent crash on garbage collection for FFmpeg decoder.
Improvements
- New image decoder leveraging Windows Imaging Component (WIC).
- TextureAtlas/Bins now have a
borderargument for leaving n-pixels of blank space around images when adding. By default theresourcemodule leaves a 1-pixel space around images. - Many small documentation fixes and corrections.
- Python
Published by benmoran56 over 5 years ago
pyglet - v1.5.5
Bugfixes
- GStreamer decoder clamped to 16bit sample width, since the default OpenAL backend on Linux does not support anything higher.
Improvements
- shapes module: added
Circle.rotationproperty and blending to standalone shapedrawmethods. - shapes module: added missing
deleteand__del__methods. - The ImageMouseCursor has a new
acceleratedparameter to allow custom mouse points to be drawn natively on Windows and Linux.
- Python
Published by benmoran56 almost 6 years ago
pyglet - v1.5.2
Bugfixes
- Fix WMF decoder for pre-Windows 8 systems.
- Fix WMF decoder loading from file-like objects for Windows Vista.
- Fix WMF decoder crashing when attempting to seek past file duration.
Changes
- Allow GStreamer and FFmpeg decoder to load from file-like objects.
- Python
Published by benmoran56 almost 6 years ago
pyglet - v1.5.1
Improvements
- New "filedrops" Window argument to allow drag and drop of files. This is complimented by a new `Window.onfile_drop` event, which returns the mouse position and file path.
Bugfixes
- Fix issue with changing Label positions by fractional values.
- Avoid performance issue due to unnecessary context switching with single Window programs.
- Fix crash on Player.next_source when playing a video with no audio track.
- Fix crash when disconnecting a Joystick on Windows.
- Prevent media Players from seeking to negative timestamps.
- Fix OpenAL audio driver not dispatching events.
Changes
- text.TextLayouts are no longer bound to int positioning.
- Raise exception if attempting to import from legacy Python.
- Add GStreamer decoder for compressed audio on Linux.
- Add Windows Media Foundation decoder for compressed audio on Windows.
- Python
Published by benmoran56 almost 6 years ago
pyglet - v1.5.0
Bugfix and Maintenance release
Bugfixes
- Removed global dubug function access in del methods to prevent smooth shutdown.
- Fix regression not allow SourceGroups to be queued on Player objects. (#140)
Changes
- Support for Python 2 has been dropped. Python 3.5 is now the minimum supported version.
- Python
Published by benmoran56 about 6 years ago
pyglet - v1.4.9
Bugfix and small improvement release
Bugfixes
- Fix TextLayoutGroup consolidation when using custom Groups for Labels.
- FFmpeg: Cast 'date' to string instead of int in file_info. (#109)
- Fix ctypes error causing by incorrectly specifying a Union as an argtype. (#112)
Improvements
- Added a simple 2D Camera example to examples/camera.py in the repository.
- OSX: OpenGL context creation is more lenient with requested versions.
- Python
Published by benmoran56 about 6 years ago
pyglet - v1.4.7
Bugfixes
- Allow creation of non-power-of-two compressed Textures. (#78)
- Fix EventDispatchers surpressing
AttributeErrors. (#87) - Fix external lib loading on Windows under Python 3.8. (#90)
Improvements
- Windows: Add support for
Desktop Window Managercomposition for smoother rendering. - TextureAtlases allow a single pixel border to avoid rendering artifacts.
- Add support for
conda-installed FFmpeg on macOS (#92)
- Python
Published by benmoran56 over 6 years ago
pyglet -
Improvements
- Documentation has been rebased on the standard RTD theme.
- Other documentation clarifications and improvements.
- New
MouseStateHandlerconvenience class.
Bugfixes
- Fix Allocator creating orphaned regions.
- Allow npot compressed texture loading.
- Fix MachOLibraryLoader failing on lib names containing extra "."s.
- Python
Published by benmoran56 over 6 years ago
pyglet -
Fix incorrect glXSwapIntervalEXT arguments for Xlib contexts.
- Python
Published by benmoran56 over 6 years ago
pyglet -
Improvements
- Removed broken projects from /contrib
- Update setup.py with projecturls and longdescription.
- Added Window.getpixelratio function for calculating scaling on HiDPI displays.
- Start some code quality improvements, such as whitespace removal, star imports, etc.
Bugfixes
- Fix invalid argtype in image GDIplus decoder.
- Change sys.isepydoc to sys.ispygletdocrun to prevent crashing with Anaconda, etc. (#9)
- Prevent glinfo.getversion from crashing with blank version string. (#36)
- Python
Published by benmoran56 over 6 years ago
pyglet -
Bugfixes
- Fix crash due to inconsistent API when changing Label or HTMLLabel color. (#45)
- Add support for GLXEXTswap_control on Linux platforms.
- Python
Published by benmoran56 over 6 years ago