Releases: FormerLurker/Octolapse
v0.4.0rc1.dev5
Summary
Some small issues have been fixed since the last version (v0.4.0rc1.dev4). No new features were added, though one setting was added to the camera profile to deal with one of the issues.
Please take a look at the release notes for previous pre-release versions, which include dev0, dev2, dev3, and dev4. Note that Dev1 was never released due to an oversight.
Please post any feedback regarding this release in this issue. I want to hear anything and everything you have to say regarding this version, even if it's just to say you installed it! Typically I only hear about problems, not successes, but it is absolutely critical for me to know how many successful installs there are vs failures, and I have no other way of knowing. I'm especially interested in some Python 3 testing if anyone is interested, since I've only tested this in a Windows environment. Thanks in advance, and I look forward to hearing from you!
Bug Fixes
- The pre-flight test that makes sure M114 is supported by the current printer was broken by a change to the Octoprint source. This was handled by running the test on a new thread. Fixes #459.
- A few absolute URLs were being used for some requests, which broke some configurations. These have been removed. Fixes #457.
- Disabled camera's custom image preferences weren't being applied on reboot. This alone wouldn't have been a bug, but it was making it appear as though the preferences weren't being saved. I added an option to apply the preferences for disabled cameras as a workaround.
- Some various UI formatting issues and typos were corrected.
- Rendering archive file cleanup was not working 100% when rendering is disabled.
- Cura settings migration from previous versions of Octolapse were leaving the vase_mode setting null, which caused an unnecessary error on print start unless the Cura profile was updated. Fixes #458.
- Some print start warning popups weren't displaying.
- Fixed incompatibility between Octolapse and the Fullscreen Webcam Plugin. Fixes #460.
- Added support for Zip64 in Python 2.7. Potential fix for #464.
- The default loopback address was incorrect for any empty relative camera stream urls.
- The current run configuration was not changing to the error color when configuration errors were detected.
- Timelapses were not showing up in the stock timelapse plugin if the Octolapse and Octoprint timelapse folders are the same. Fixes #468.
- On before print start scripts were not running for non-script cameras (gcode and webcam types). Fixes #469.
- Some camera and rendering settings were not getting reset after importing a new profile from the profile repository. Specifically, the camera scripts (now always cleared after import), rendering overlay, and watermark settings.
Known/Unsolved Issues
- Sometimes the Octolapse install appears to fail but works properly after a reboot. This has been reported a couple times, but I have not been able to replicate it.
- There are compatibility issues when trying to use the custom image preferences with some plugins, including OctoPrint Anywhere and The Spaghetti Detective*. It is still possible to use Octolapse while these plugins are enabled, but some configuration settings changes may be required.
- Octolapse is not fully compatible with plugins that modify the gcode stream. Specifically, there are issues with plugins like the Exclude Region and Cancel Object plugin. Octolapse may miss snapshots when using the Smart Triggers with these plugins, and retraction/deretraction may be off.
- The default Make/Model printer profiles are designed for Manufacture Issued Firmware and may not be configured correctly if you flashed your own firmware. This is especially true if you've flashed your own build of Marlin to your printer. Specifically, the G90/G91 Influences Extruder setting has been giving me lots of grief. When using the default Marlin configuration, this setting should be true, but for the majority of stock firmware installations it should be set to false. I am working on a feature to auto-detect this setting, but it's not ready yet.
- Snapshot archiving has failed for at least one user when a LOT of ultra high resolution DSLR images were archived (over 3K).
- H.264 will run out of memory quickly when trying to render very high resolution videos (4k, DSLR, etc). My Pi3B+ with 1GB ram cannot render videos with a reasonable amount of frames with the available memory. I have not yet had a 1080P video fail due to a lack of memory, though I have not recorded 1000s of frames, so I'm not sure.
- H.265 isn't working properly on OctoPi. Still diagnosing this, but it works fine on windows.
- Custom image preferences may appear to revert if settings aren't applied at reboot. The saved settings will still be correct, but might not be reflected in the popup.
- Can't import any files archives larger than 1GB.
- Some videos made with lossless JPG formats fail in some players.
- Some reports indicate that zip archives can't be opened in some instances. I've not been able to replicate this.
- Some reports indicate that very large files fail to download, but I can't replicate this. See issue #464 if you encounter this issue.
- If timelapse files are deleted from the stock timelapse tab or the Octolapse timelapse browser, they go out of sync. Not a huge deal (just refresh), but it will be difficult to fix 100%, at least for files deleted from the OctoPrint timelapse tab.
v0.4.0rc1.dev4
Summary
A few bugs were found and fixed from the previous release (v0.4.0rc1.dev3), as well as one minor enhancement. I want to thank everyone who helped test the previous release for helping me to find these issues! I'm getting fewer bug reports after every release, so I think v0.4.0rc1 will drop soon! We are so close to having a stable version I can taste it!
Please take a look at the release notes for previous pre-release versions, which include dev0, dev2 and dev3. Note that Dev1 was never released due to an oversight.
Please post any feedback regarding this release in this issue. I want to hear anything and everything you have to say regarding this version, even if it's just to say you installed it! Typically I only hear about problems, not successes, but it is absolutely critical for me to know how many successful installs there are vs failures, and I have no other way of knowing. Thanks in advance, and I look forward to hearing from you!
Enhancements
- Added PLUGIN_OCTOLAPSE_SNAPSHOT_ARCHIVE_DONE event so things can be done with snapshot archives once they are produced.
Bug Fixes
- The
flask_principal
package was missing for some people running OctoPrint versions below 1.4.0rc1. In some cases it works on earlier versions. I've adjusted the imports so they are conditional based on the installed version of OctoPrint. - There were some JavaScript bugs causing some browsers to not open custom image preferences from within the Octolapse tab (it worked when clicking on the button within the camera profile).
- The Octoalpse Loading spinner was hanging around after the tab loaded in some browsers. This was caused by JavaScript errors on the Octolapse tab.
- Automatic slicer settings detection failed with an exception when using Cura if a non-semantic version number was reported within the gcode. In this case, the version was listed as master, but this fix should take care of all instances of this.
- The wrong z-hop speed was being used if manual Cura slicer settings were entered for v4.2 and above. This did NOT affect people using automatic slicer settings detection, or people who had the same travel and z-lift speed.
Known/Unsolved Issues
- Sometimes the Octolapse install appears to fail but works properly after a reboot. This has been reported a couple times, but I have not been able to replicate it.
- There are compatibility issues when trying to use the custom image preferences with some plugins, including OctoPrint Anywhere and The Spaghetti Detective*. It is still possible to use Octolapse while these plugins are enabled, but some configuration settings changes may be required.
- Octolapse is not fully compatible with plugins that modify the gcode stream. Specifically, there are issues with plugins like the Exclude Region and Cancel Object plugin. Octolapse may miss snapshots when using the Smart Triggers with these plugins, and retraction/deretraction may be off.
- The default Make/Model printer profiles are designed for Manufacture Issued Firmware and may not be configured correctly if you flashed your own firmware. This is especially true if you've flashed your own build of Marlin to your printer. Specifically, the G90/G91 Influences Extruder setting has been giving me lots of grief. When using the default Marlin configuration, this setting should be true, but for the majority of stock firmware installations it should be set to false. I am working on a feature to auto-detect this setting, but it's not ready yet.
- Snapshot archiving has failed for at least one user when a LOT of ultra high resolution DSLR images were archived (over 3K).
- H.264 will run out of memory quickly when trying to render very high resolution videos (4k, DSLR, etc). My Pi3B+ with 1GB ram cannot render videos with a reasonable amount of frames with the available memory. I have not yet had a 1080P video fail due to a lack of memory, though I have not recorded 1000s of frames, so I'm not sure.
- H.265 isn't working properly on OctoPi. Still diagnosing this, but it works fine on windows.
- Custom image preferences sometimes revert on reboot. I've investigated this, but it's difficult to reproduce.
0.4.0rc1.dev3
Summary
At long last a new development release candidate is available. Of course, I didn't follow my feature freeze rule, but I received so many reports of issues involving the rendering engine, camera scripts (especially DSLR problems), C++ library compilation, multi-material/extruder problems, and other issues that I was forced to make some changes. Additionally I learned that Octolapse was not compatible with OctoPrint 1.4.0, so several additional major changes were required. However, I believe this has led to some huge increases in usability and stability, so the delay was well worth it in my opinion.
The UI has been redesigned so that anything that previously looked like a button but was not a button has been re-skinned. Several complicated UI animations have also been removed in addition to many other improvements and simplifications. I think this all leads to better UX. (Thank you, Derek73, for the UX advice!)
Please give me some feedback here! Tell me what you hate, what you like, if it installed correctly, if it fails, if it works, etc. All feedback is welcome and greatly appreciated!
Enhancements
- Added support for OctoPrint 1.4.0.
- Added beta support for Python 3.7.
- Improved Rendering Reliability and Usability:
- Added an Unfinished Rendering dialog that allows you to re-render, delete, or download any snapshot files that have failed or were not completed. This is similar to OctoPrint's timelapse recovery feature. Note that an attempt has been made in this release to add any unfinished renderings generated by previous versions of Octolapse.
- Added a Renderings - In Progress screen that shows all pending renderings, including a real-time progress bar. It's nice to know that something is happening!
- Added the ability to Archive (zip) Snapshot Images after rendering. An archive is created by default when rendering is disabled. You can also browse, download, delete, or render any saved archive.
- Import Zipped Snapshots into Octolapse via the Saved Snapshot Archive (.zip) import tool. Once imported, you can render the images into a timelapse. If your rendering settings are included, Octolapse will use those unless you override them in the unfinished rendering dialog.
- Made rendering more fault-tolerant and overlays more accurate in cases where snapshots are missed.
- Improved Octolapse UX:
- Removed or altered any icons that appeared to be buttons but were not.
- Improved the Timelapse Preview display, controls, and indicators.
- Added Shortcut Links to all Octolapse settings pages within the Octolapse tab.
- Includes Snapshot Error Count if any snapshots are missed.
- Added tooltips to profile drop down boxes on the Octolapse tab showing the description.
- Removed many error popups completely, including the dreaded position error popup.
- Separated Test Mode from the Logging Profile (formerly the debug profile) to reduce confusion.
- Added a Timelapse File Browser that allows you to download, delete, and sort all of your timelapse files. This browser can be configured to view any folder you want (defaults to the Octoprint timelapse folder) and includes paging and page size controls.
- Simplified all info panel displays.
- Added support for new @OCTOLAPSE gcode commands, including:
- @OCTOLAPSE STOP-SNAPSHOTS - used to prevent Octolapse from taking any snapshots. Very useful in the start/end gcode to prevent Octolapse from taking snapshots while priming/purging/homing.
- @OCTOLAPSE START-SNAPSHOTS - enable snapshots. Can be used to re-enable snapshots after the start gcode is finished.
- @OCTOLAPSE TAKE-SNAPSHOT - Used within the gcode and smart gcode triggers to initiate a snapshot. Note that the legacy snap command is also supported, and the common G1 P0 command has been added as the default custom snapshot command for better compatibility.
- Added a new Smart Gcode Trigger that includes a snapshot plan preview, making gcode triggers easier to debug.
- Added Support for Multi-Material/Multi-Extruder printers. This is an Alpha feature, as I've never actually tested multi-extruder prints with extruder offsets. I don't have access to a true multi-extruder machine, so I'd appreciate help testing the stabilization and extruder tracking. I have tested my shared extruder setup.
- More cameras now have a custom image preferences page, including the Logitech C250.
- Added a custom PLUGIN_OCTOLAPSE_MOVIE_DONE event that can be used to trigger interesting things, such as automatic YouTube upload (requires additional setup, which I do not support).
- Added Snapshot Plan Preview Autoclose to the snapshot preview popup. This is necessary if you attempt to start a print without access to the OctoPrint web page (for example, when using a custom touch screen or mobile app).
- Added Print Quality Issues Detection within the snapshot plan preview for all smart triggers.
- Add Missed Snapshot on Layer indicator to the snapshot plan preview.
- Add Custom Help Messages for common issues. The new error help popup supports multiple problems at the same time and offers help for each error.
- Many Logging Enhancements were added, especially related to camera scripts, snapshot plans, and snapshot gcode.
- Add Test Script Buttons for all scripts within the camera profile. They have been made as accurate and useful as possible but are not yet perfect. They are very useful for testing DSLR Scripts.
- Add On Print End script to the list of camera scripts.
- Add Before/After Snapshot Gcode Scripts to camera profile. This could be useful for turning on lighting.
- Added a Camera Name Tag to the rendering file template to make it easier to tell which camera generated your timelapse when using multiple cameras.
- Allow custom folder locations for the temporary, timelapse, and snapshot archive files, which can be changed without requiring a restart.
- Added H.265 (HEVC) Encoding to support resolutions above 4096x2048 (up to 8192x4320). This will only work if your installed version of ffmpeg or avconv supports the libx265 encoder. This encoder is definitely beta at the moment, but it uses far less memory than the H.264 codec, so if you're having malloc errors, you might want to give this codec a try.
- Added a Default Font that can be used with rendering text overlays on Linux installations (octopi) if fontconfig is not installed.
- Added new rendering overlay tokens: {layer}, {height}, {x}, {y}, {z}, {e}, {f}, {x_snapshot}, {y_snapshot}.
- Added text outlining to rendering overlays. (There is a bug when using this feature in Raspbian Stretch which has been fixed in a recent pull request. See this issue for details.)
- Added Wait for Moves To Finish option to stabilization profile. When disabled, the resulting timelapse will look like an OctoPrint timelapse. No retraction or lift is applied when this option is disabled. Additionally, before and after snapshot scripts will be executed asynchronously.
- Increase file/snapshot download speed by adding a custom tornado route that runs in a separate thread.
- Removed maximum value for camera timeout.
- Add Clear Log and Download Log buttons to the logging profile to make it easier for me to explain to people how to download logs and to create clean logs.
- Replace the Welcome to Octolapse image in the timelapse preview with a sensible message that explains what the timelapse preview is and when snapshots will start to appear.
- Autodetect whether or not M114 is supported before a print starts, since some printers do not support this required gcode.
- Added many improvements and updates to the built-in help files.
- All axis modes default to absolute for all printer profiles and other default settings. This should eliminate a pain point for many users.
- Lots of code cleanup and reorganization.
Bug Fixes
- Fixed a huge issue with the G90/G91 influences extruder setting that was creating incorrect snapshot gcode. This bug has existed in ALL versions of octolapse that I'm aware of up until this release and may be responsible for a lot of retraction (blobbing/stringing/corralling) issues.
- Rewrote the rendering process, which seems to have fixed most of the errors that were reported. Now, if rendering fails, you should be able to try again or download your snapshots through the GUI which allows you to render the timelapse manually.
- Fixed GUID mismatch issues within a few of the default Octolapse profiles. These were causing incorrect settings to be used and preventing updating/delete of the affected profiles.
- Fixed many settings migration issues for various slicer settings, especially Cura.
- Fixed C++ compilation issues by adding better compiler detection and parameters.
- Prevented M400+M114 from being sent within the snapshot gcode routing if no snapshot gcodes were sent.
- Fixed display problems when increasing browser zoom level.
- Fixed warning/danger text display when using themeify, which was muting the colors.
- Fixed a situation where the End Gcode command within the snapshot gcode was not suppressed if it was in the list of suppressed commands for test mode.
- Fixed various bugs for profile auto update.
- Fixed many client side validation issues.
- Fixed migration issues when expected settings keys may be missing.
- Fixed many issues with non-admin display (still could be some issues here).
- Fixed an issue with the timelapse preview that was preventing the preview animation from completing if a new...
v0.4.0rc1.dev2
Thanks to everyone who helped me test the first rc/devel release! You guys found a LOT of issues that may have otherwise been included in the master.
If you haven't looked at the release notes for v0.4.0rc1.dev0, you can find them here. I definitely recommend reading through the new feature list!
The trigger profiles have changed a bit due to user feedback and a few quality issues. Important - All of your trigger settings will be restored to the default settings. This couldn't be avoided without substantial headaches. However, the new profiles are better, and two new profiles have been added.
Includes the following fixes and enhancements from the previous release:
- Added slicer comment based feature detection to reduce quality issues that were found for some smart layer triggers
- Add 'Fastest Extrusion* point detection to reduce quality issues for all smart layer triggers
- Fixed extruder trigger requirements for classic triggers so that they do what they say they do
- Removed the 'snap-to-print' checkbox and add 'snap to print' smart trigger type to the drop-down for consistency and to reduce confusion.
- Added a 'High Quality' option for the snap-to-print trigger due to some quality issues that were reported
- Added a 'Smooth Mode' option to the snap-to-print trigger to reduce jerky timelapses somewhat while still allowing the first snapshot to be stabilized.
- Updated layer change detection to be a bit more eager, allowing layer change detection to occur during a de-retraction. This prevents a double retraction in some cases, which can cause quality issues, especially for bowden setups.
- Adjust classic triggers so they can operate without a home command
- Settings import from server bug fixed
- Fix issues with the default settings and setting migrations
- Fix C++ bug (rate limit call to clock()) increasing pre-processing performance by nearly 70%!
- Remove Fast, Normal, and Best Quality smart trigger types and associated settings since they weren't working correctly and weren't terribly useful
- Fix broken classic gcode trigger
- Fix Script and Gcode Camera types and the associated UI
- Adjust gcode parser to make it less error prone when dealing with non-standard commands
- Allow the default font to be used when running octoprint on a non-linux/non-windows machine (Mac Os presumably)
- Updated some help files that were missing or inaccurate
- Updated some profile screen verbiage
- Updated patron list (may you all live forever!)
Note: 0.4.0rc1.dev1 will not be released due to some settings migration issues that popped up while working on the next devel/rc release.
v0.4.0rc1.dev0
At long last, the dev version of the release candidate is ready for testing! See this beta guide for installation instructions. I will continue to improve that guide and all associated guides during testing.
Leave all feedback related to this pre-release here. Your feedback is crucial to the getting this release ready for production, and is greatly appreciated!
I have been focusing on 3 items:
- Print Quality - This is my #1 concern, and a ton of effort has gone into both reducing average impact and increasing the quality of the best case scenario.
- Print Time - Lots of folks have complained about the print time impact of Octolapse, and this is a totally legitimate concern. This has been handled, pretty definitively, by the Smart Layer Trigger.
- Simplify Setup - Octolapse prior to V0.4 was much more difficult to configure, especially for beginners. Incorrect setup leads to poor print quality as well as extreme frustration. This sad situation has been improved (but not solved) in several ways, including automatic slicer settings extraction and profile import/download/update functionality.
Enhancements
Automatic Slicer Settings Extraction
- It is no longer necessary to manually enter your slicer settings before using Octolapse! When using supported slicers, Octolapse will automatically extract all of the required settings directly from your gcode file.
This should improve quality by eliminating data entry errors! - Currently supported when using Slic3r, Slic3rPE, PrusaSlicer, Simplify3D and Cura. Note: Cura doesn't include the settings by default and therefore requires a minor amount of extra work to get this feature working (totally worth the minimal effort IMHO).
- If you are not using one of the supported slicers, this version still makes setup easier by reducing the number of slicer settings necessary to use Octolapse. This was accomplished by removing Feature Detection, which was causing a lot of problems for people anyway, and could never be made to work 100%.
Smart Layer Trigger
- A new type of trigger that examines your entire gcode file before any commands are sent to the printer, allowing Octolapse to more intelligently trigger snapshots.
- Preview your timelapse before your print starts. You can even animate the preview to get a good sense of what your timelapse will look like when it is completed! If you don't like what you see, you can cancel and change your settings without running to your printer.
- Reduce print time by choosing to trigger when the extruder is closer to the desired snapshot location.
- Increase quality both by reducing the travel distance and by picking better places to start any travel movements.
- Choose between several available smart layer trigger types, which allow you to control speed vs quality using several new Several options are available which involve speed vs quality trade-offs including: Fastest, Fast, Compatibility, Normal Quality, High Quality, Best Quality
- For even faster prints with even higher quality in most cases, use the Snap To Print option. This will prevent your extruder from leaving the print, which totally eliminates all travel distance added by Octolapse! It even works well with vase mode. Optionally you can disable stabilization entirely when using Snap To Print, for an interesting wandering extruder effect. Image capture must be fast (preferably under 100MS) for this mode to work properly, so it is not recommended for DSLR cameras or with long camera delays.
- See an estimate of how much travel distance saved by using the Smart Layer Trigger versus the Classic Layer Trigger.
- When using the Smart Layer Trigger you will be able to see, via the new Snapshot Plan Information info panel on the Octolapse tab, when, where, and, how your next snapshot will be taken.
- Because the gcode is pre-processed when using any of the 'Smart Layer Trigger' presets, significantly less CPU time will be used during the print, reducing stuttering to some degree in some cases.
Enhanced Custom Image Preferences
- The Raspberry Pi Camera (V2 tested) is now fully supported! Some configuration is required.
- The custom image preferences are now created dynamically, which will enable new controls that are available on some cameras but not others. It also will remove controls that are not supported by your camera.
- Some cameras have an optimized custom control page, which work with a specific set of camera or cameras. If you are using a supported camera (currently the Logitech C920 and the Raspberry Pi Camera V2, possibly others), the controls will be customized according to the specifics of the camera, making adjustments easier.
- See your changes happen almost instantly via an integrated camera stream preview.
- Restore the camera default settings if you get into trouble.
- Cancel your changes and revert to the previous settings.
- Stabilize your extruder right from the camera controls, which makes adjusting focus much easier.
- A camera image preferences shortcut has been added to the Octolapse Tab, which gives you a simplified screen dedicated to adjusting your camera settings.
Profile Import/Export/Download/Auto-Update
- Export all of your settings, or individual profiles for backup purposes, or to share settings with a friend.
- Import settings from a single profile or all of your settings all at once either from a file or by pasting settings text.
- Download settings from a new Octolapse-Profiles repository when creating or editing an existing profile and optionally customize these profiles. All profile types are supported.
- Configure your printer by choosing the Make and Model (available for some printers, but the list is growing!)
- Profiles imported from the Octolapse-Profiles repository can be automatically upgraded (with confirmation) when newer profiles are available.
Improved Tab Layout
- larger snapshot preview makes it easier to see.
- Enhanced timelapse preview rewinds time before running the animation, preventing jerky looking starts and stops.
- The Play button on the snapshot preview now works properly.
- An Edit button now exists on the snapshot preview, letting you adjust your camera image quickly and easily.
- Links to the profiles page now take you directly to the Octolapse profiles settings pages, letting you add/download/delete/edit profiles without going through the OctoPrint settings menu.
- Improved icons, tool-tips and cursors.
Ultra-fast c++ gcode parsing and position processing
- The gcode parsing and position processors are orders of magnitude faster than the previous version of Octolapse. This greatly speeds up gcode preprocessing when using the new Smart Layer Trigger, and lowers CPU utilization when running the Classic triggers.
- A reduced CPU load means Octolapse is less likely to impact print quality by causing stuttering. It will also run better on slower hardware (but maybe not perfectly).
Built-in Help System
- All help links within the Octolapse settings now open a popup box, and will display formatted help information written in markdown (rendered via the excellent showdown.js library). No more switching browser tabs to get help!
Printer Profile Enhancements
- The redesigned print and build volume settings now match OctoPrint's printer profile, giving you a familiar interface when configuring a new printer that does not exist in the new profile repository.
- Restrict snapshot positions to a smaller volume if you desire. This can be used to prevent snapshots while priming, or to prevent Octolapse from taking snapshots on the first or last few layers.
- Experimental - By disabling Snapshot Gcode Axis Compatibility Mode, you can greatly reduce the number of gcodes generated by Octolapse by preventing Octolapse from changing the axis modes via M82/M83 or G90/G91. This can also help some plugins (like current layer detection plugins) that don't completely support relative axis modes.
Rendering Profile Enhancements
- The output frame rate is now respected. Previously there was a bug that capped the output frame rate.
- A default font* is now included with the installation for text overlays, allowing you to use the text overlay even without fontconfig installed (which is not currently installed on any version of OctoPi that I'm aware of).
- Text overlays now supports (a rather primitive form of) text outlining, making it easier to see the overlay text when the background color changes. You can control the color of the outline and (to some extent) the thickness.
- Remove frames from the beginning or end of the timelapse. This can be really useful depending on your start/end gcode. For example, by default my printer lifts Z and extrudes a bit after the print completed, which created an odd jump at the end of the timelapse. This option can resolve this issue without changing the end gcode at all.
- The overlay preview has been improved, and works as expected in most cases.
Greatly reduced image capture time
- Individual snapshots are captured more quickly, reducing printing time and ...
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.
v0.3.4rc1
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
Misc Changes:
- Added new patrons to about page, THANK YOU VERY VERY MUCH!
Notes
- 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.
- 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.
v0.3.4rc1.dev3
Bug Fixes:
- 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.
Misc Changes:
- Performed cleanup for #241 - Moved the slicer specific settings helper javascript into separate files.
v0.3.4rc1.dev2
v0.3.4rc1.dev
Enhancements:
- Feature Detection - Prevent artifacts from forming on your print by restricting snapshots to certain print features, like infill or inner perimeters.
- 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.
- 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? Now you can trigger snapshots by sending gcode to your printer!
- 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.
Provide your feedback here please, even if it's just to say that it is working!