v0.3.4
This is the first master (stable) branch release since v0.3.1. Here is cumulative list of enhancements and bug fixes:
Enhancements
- External camera support (DSLR) - Trigger an external camera via a custom script. Here is a link to a setup example.
- Multi-camera support - Now you can use as many cameras as you wish and create multiple octolapses of a single print. You can also view the most recent snapshot taken on any of your configured cameras.
- Rendering overlay text and preview - Thank Shadowen for this enhancement! You can now add custom overlays to your timelapse with replacement tokens (more tokens coming soon): {snapshot_number} , {current_time} , {time_elapsed}. Requires fontconfig for linux installs at the moment (working on that).
- Slicer based settings - Octolapse now lets you choose your slicer when configuring your printer profile to make it easier to find and enter your settings. Currently Cura, Slic3r PE and Simplify 3D are supported. There is also generic slicer type available, so you'll be able to use Octolapse other slicer types too.
- Feature detection - This is my favorite enhancement, and is included in the new 'Layer Change - High Quality' snapshot profile! Prevent artifacts from forming on your print by restricting snapshots to certain print features, like infill or inner perimeters. It requires a bit of setup (see this video or this wiki article for more details). Note: Feature detection may prevent snapshots on some layers if your slicer enforces a 'minimum layer time'.
- More custom scripts - Run custom scripts before or after taking a snapshot, or before and after a video is rendered. So many possibilities.
- Use internal printer cameras - Does your printer have a built-in camera that can be triggered via gcode? Now you can trigger snapshots by sending custom gcode to your printer when it's time to capture a snapshot!
- Streaming Server Webcam Detection - Some web-camera features are only supported when running mjpegstreamer. Octolapse can now properly detect your streaming server and give you better error messages if custom camera preferences aren't working properly.
- Rendering text overlay controls enhanced - Pick a color, position, size, alignment, etc, for your rendering overlays. Also, now, if possible, Octolapse will capture a preview image for your text overlay. Note: fontconfig must be installed if running Linux.
- Preliminary Support for H.264 Codec - Another feature from Shadowen. This coded is now available as a rendering output format. You may experience some memory errors if your source images are too large.
- Improved Error State Detection - Better visual error reporting for both configuration and gcode problems. Configuration and position state errors now have their own status icons on the Octolapse tab. The position state info panel is now automatically opened while Octolapse is initializing, which should help fix any problems related to the start gcode.
- Better Confirmation Popups - Switched to pnotify for confirmation dialogs.
- Prevent Automatic Print Cancellation - Added an option in the main settings to prevent automatic cancellation of a print if Octolapse fails to initialize due to settings problems.
- *Software Update Supports maintenance/development channesl - Now you will receive update notification based on your software update plugin channels! Get early access to bug fixes and features.
- Enhanced Position State Info Panel - The icons have been cleaned up so that any states that could prevent your timelapse from working now show up in red. Additionally, the slider on the Octolapse tab under 'Current Settings' will now display in red if there are problems. Issue #190.
- Synchronize all media types with the built-in timelapse plugin - Thanks to Foosel for adding a new hook (octoprint.timelapse.extensions) to allow video synchronization to the default timelapse plugin with all supported file types. Note that this feature is currently available while running OctoPrint 1.3.10rc1 or higher. See this issue for details.
- Works with custom OctoPrint GCode scripts - Octolapse now supports custom gcode scripts within OctoPrint (Settings->Printer->GCODE scripts). Solves issue #144.
- Beta support for firmware retract/detract - Octolapse now supports firmware retract and detract (Issue #167). You can set firmware retraction values using M207/M208, or you can use the values for either retraction or zlift within your Octolapse printer profile. Caution: if you use firmware z-hop/z-lift make SURE you turn zlift off in your slicer, else you could crash your nozzle into your print or bed. Only advanced users to try this feature.
- G2/G3 Arc Move is now supported - Position intersection calculation is not supported for G2/G3 currently. It is very difficult for me to test this currently, because I don't have a slicer that can utilize G2/G3. If someone can supply a test gcode file for a Prusa Mk2S, I'd be very appreciative! Closes issue #194.
Bug Fixes
- Fix issues that broke Octolapse and Safari (#239, #236)
- Fix gcode parser issues with parenthetical comments (#250)
- Fix gcode parser issues when dealing with unicode characters(#252)
- Fix case sensitive snapshot gocde checks
- Reset printer position offset on an unhomed axis if g92 is used
- Fix for issue #235 - An invalid synchronization warning was shown for the H264 codec
- Fix for issue #237 - Leaving some speed settings blank (non-required) causes silent crash
- Fix for issue #238 - A ZHop of 0 (no zhop) was not being allowed within the 'Other Slicer' specific settings in the printer profile.
- Fix for issue #240 - Some values for 'Other Slicer' printer profile settings being rounded after save. Also applied the rounding fix (rounds after entry, not on save) to other slicer specific settings.
- Fix for issue #230 - timeout issue for custom camera acquisition script (DSLR) in Windows.
- Fix for issue #231 - settings blanked after upgrade.
- Fixed bug that could leave Octolapse in an unresponsive state until reboot.
- Fixed issues in extrusion state tracking that could, in some cases, cause some quality issues.
- The snapshot option to 'clean after render failure' was always using the 'clean after success' value. This has been corrected.
- Fixed a bug that could prevent the final snapshot from appearing in the timelapse rendering.
- Prevented more than one rendering from running at a time if a new print was completed before a previous rendering job was finished.
- Fixed a bug that could prevent priming detection from working properly.
- Snapshot are now stabilized properly when extruding in absolute mode if G92 commands are sent while a snapshot position request is active. This should solve Issue #149, and prevents 'jittery' timelapses in this case.
- Fix problems encountered with Octoprint 1.3.9rc1 and 1.3.9rc2 that caused a deadlock within the comm layer (issue #183).
- Fixed print start detection problem for Octoprint 1.3.9rc1+. Issue #192.
- Fix GIF rendering issue.
- Added new version requirements. Octolapse now only supports OctoPrint v1.3.9 and above.
- Fix some javascript errors (changed .size() to .length) that could cause problems in the position restriction settings.
Notes
- M114 response detection (position received) no longer involves OctoPrint's built in event handlers due to an odd response from some printers where extra spaces are included. OctoPrint 1.3.10 will include a fix for this, but in the meanwhile Octolapse will use its own position detection scheme. This will be removed in a future version after OctoPrint 1.3.10 is released.
Known Issues
- Custom camera scripts (Before Snapshot Script, Snapshot Acquire Script, After Snapshot Script) wait for all child processes to complete before continuing, even in situations where it probably shouldn't, like when the windows 'start' command is used.
- Some changes made to support Makerbot Replicator 2 (and other similar printers) were removed because I am having some serious trouble verifying the behavior of these printers. Specifically G161 and G162. I will revisit this after the verify the changes. It is still possible to use the replicator, but the start gcode must be modified and simplified in most cases.
More known issues may be posted here in the future.