I am pleased to announce a new release 0.4.0 of Entangle is available for download from the usual location:
http://entangle-photo.org/download/
This release introduces a number of new features requested by users:
- Better use of GtkApplication class
- Add support for multiple windows & cameras
- Add ability to sync capture/preview across windows
- Add preference to control whether cameras autoconnect at startup
- Add ability to apply aspect ratio masks to images
- Add key bindings for common actions (see README)
- Rewrite session browser widget to not use GtkIconView
- Add popup menu with session browser to allow open and delete of captured images
- Fix memory leak during preview
- Fix memory leak in session browser widget
- Add ability to DPMS-blank screen during capture for consistent lighting environment
- Add ability to render a focus point during preview
- Add ability to render grid lines during preview
- Merge “New session” and “Open session” toolbar buttons into one “Select session” drop down / menu
- Add custom icons for toolbar capture/preview buttons
As before we still need help getting the UI translated into as many languages as possible, so if you are able to help out, please join the Fedora translation team:
https://fedora.transifex.net/projects/p/entangle/
Thanks to everyone who helped contribute to this release & troubleshooting of the previous releases.
I am pleased to announce a new release 0.3.2 of Entangle is available for download from the usual location:
This release has focused almost exclusively on i18n, integrating with the Fedora Transifex team for translations
- Major code style cleanup
- Mark all translatable strings in code & UI files
- Register with Transifex for translations via Fedora team
- Pull in translations (German, Polish, Ukrainian, Japanese: full, Spanish, Chinese: partial).
- Add m4 macros for compiler warnings, missing from previous release dist.
There are a great many languages with no coverage here, so if you are able to help out, please join the Fedora translation team:
I am pleased to announce a new release 0.3.1 of Entangle, a GTK3 desktop application for tethered camera control & capture, is available for download from the usual location. This release has focused exclusively on bug fixing following the major refactoring that went into the previous release. If you were having trouble with the previous release crashing, then I hope this new one should improve things significantly.
- Fix crash in handling camera control combo list
- Add notice about need to set XDG_DATA_DIRS when installing into unusual directories
- Add workaround to avoid immediate crash if schemas were not found in XDG_DATA_DIRS
- Compile schema files after installation
- Fix crash updating widget sensitivity
- Fix crashes & race conditions during capture of images
- Fix infinite preview error message popups which can hang the window manager
- Fix crash when retrying a failed connection attempt
- Fix thread locking when hiding status display
- Avoid running multiple threads for monitoring status
- Fix initial sensitivity of camera control panels
- Update README with new URLs for bugs/mailing lists
Since the latest release I have also registered Entangle with GNA!, to get support for mailing lists and bug tracking.
Over a year has gone by since I released Entangle 0.2.0, so I am very pleased to be able to announce that I have now just released Entangle 0.3.0, available from the usual download place which also contains the concise list of changes.
There have in fact been a great many changes in this release, but many of them will not be immediately obvious from looking at the updated screenshots.
First of all, has been a big effort to port to the latest best practice desktop application libraries
- Port Gtk2 to GTK3. To enable use of many of the new desktop features, in particular, libpeas, Entangle now targets Gtk3 instead of Gtk2
- Port LibGlade to GtkBuilder. With the use of Gtk3 there is no longer any point in using the external Glade library for UI building. Instead Entangle now uses the GtkBuilder infrastructure that is part of regular Gtk
- Port GConf to GSettings. With the use of Gtk3, a newer Glib2 is required, which in turn brings in the GSettings APis. With these present, there is no longer any point in using the external GConf library
- Port Unique/StartupNotifications to GApplication. Again, since a newer Glib2 is required, it is possible to take advantage of the GApplication APIs, to avoid using the external Unique/StartupNotifcation libraries.
Next up was a major internal rewrite of the way the UI handles camera operations. In previous releases, most operations were handed off to a camera scheduler thread. The design of this was overly complicated and not friendly to future extension. Having recently gained experience with the way asynchronous operations are done by the GIO library, I decided that this would be an effective approach for Entangle. So all the internal thread scheduling code was ripped out, and the GIO style asynchronous APIs were added in its place. Doing this work was a major blocking item in why it has taken so long to release 0.3.0. Now it is all complete, I am very pleased with the way it has turned out. The code for dealing with the camera is so much simpler & more flexible at the same time.
With that out of the way, there are the general user visible feature improvements
- Config refresh. For Nikon cameras, Entangle automatically updates the UI whenever any camera configuration setting changes
- Continuous monitoring. Instead of having to explicitly start/stop monitoring, Entangle now monitors the camera for new images at all times, and auto-downloads them as they are captured
- Continuous preview mode. Previously preview would be stopped after an image was captured. Now it is possible to capture many images in sequence, while remaining in preview mode
- Folder preserved. Previously when connecting to a camera, the session folder would be reset to a default location based on camera model name. Now Entangle simply always remembers the user’s last folder
- Avoid delete after download. The default behaviour is to delete files from the camera after downloading. This can now be disabled, to allow images to remain on the memory card.
- Config UI improvements. The UI for displaying camera settings has been improved & simplified. The “Other PTP properties” panel has been removed to improve UI performance. The ‘Camera Status’ panel now just uses labels, instead of readonly text fields for a more compact display.
- Image metadata summary. When moving the mouse over the Entangle window, a summary of the image metadata (extracted with GExiv2) will be displayed, showing the aperture, focal length, shutter speed, ISO and resolution.
With such large changes in the basic infrastructure, there are bound to be new wierd bugs introduced, but overall this release should be a good foundation for ongoing incremental development of Entangle.
A few months on from the first release, I’ve polished off the latest changes in Entangle and pushed out a new release version 0.2.0. This is primarily a bug fix and code maintenance release, with the following important changes
- Better compatibility with cameras which don’t support event notifications, allowing use of capture functionality
- Rewrote the preview mode to actually be useful, providing a continuously updating live view until ready to capture
- Directly offers to unmount the camera if it is locked by the GVFS gphoto2 plugin preventing its use for capture.
- Replaces custom plugin code with use of libpeas.
- Vastly improved the error reporting and logging to make diagnosis of camera problems easier
- Fixed a nasty infinite loop in the camera capture code where a camera event could keep resetting the event timeout
- Fixed a crash in accessing udev properties
It is already built for Fedora 14 and on its way into updates-testing, Fedora 15 will have to wait due to broken build roots caused by mutually conflicting upstart/systemd packages:-( Alternatively grab the source code from the download area. For the next release I’m aiming to improve the full screen mode to give access to some of the capture & config controls, and generally improve the UI for camera configuration controls.