Releases: FormerLurker/Octolapse
V0.4.5
V0.4.4
v0.4.3
Summary
This release fixes installation issues, specifically Pillow not installing, or breaking after it is manually installed. I want to thank @SuperSandro2000, @r-stiller, and @jneilliii for submitting PRs to attempt to fix the issue with PRs. Ultimately, there were other changes that were required, but I was put on the right track and prodded appropriately to get this fix pushed out!
It also contains a new feature which allows @OCOTLAPSE commands while using all smart triggers, a bug fix for logging caused by removal of Python2 Six library, and some corrected text.
Enhancements
- @OCOTLAPSE TAKE-SNAPSHOT now supported in ALL smart triggers! This should allow you to get a picture of your empty build plate, and a snapshot when the print is 100% completed just by adding
@OCTOLAPSE TAKE-SNAPSHOT
to your start and end gcode! You can enable or disable this in the trigger settings (default = enabled).
Bug Fixes
- Change pillow version to "pillow>=9.3,<11", and handle all valid imports (from pil import Image and from PIL import Image).
- Fix logging issue caused by removal of Six
- Fix typo in the 'Videos and Images' close button (previously 'Cancel') thanks to a PR by @matt-lethargic!
Notes
I'm trying my hardest to keep this up-to-date and working for everyone, and will continue to do so to the best of my abilities. I've had some setbacks recently that really have eaten into my free time, but am working tirelessly to get back to a better place. Please be patient with me, thanks!
v0.4.2
Summary
This release fixes compatibility issues with python 3.10 and 3.11, some user interface issues (font-awesome udpate bugs, self closing span tag issues), adds support for feature detection from SuperSlicer, support for feature detection new PrusaSlicer comment blocks, adds new overlay tokens and time format options, re-minification issues, additional startup logging, wide char support (including the % sign) in file names. Also started removing support for python 2.x.
Enhancements
- Add Support for Python 3.10 and 3.11
- Add support for SuperSlicer comment blocks for feature detection.
- Add support for PrusaSlicer comment blocks for feature detection.
- Add new rendering text overlay tokens: {gcode_file}, {gcode_file_name}, {gcode_file_extension}, {print_end_state}, {current_time:"FORMAT_STRING"}, {elapsed_time:"FORMAT_STRING"}, where FORMAT_STRING is a strftime/strptime format code.
- Add additional startup logging to make debug a bit easier if the plugin does not load.
Bug Fixes
- Fix rendering issue when a % sign is included in the file name.
- Fix font-awesome issues related to a version bump.
- Fix re-minification issue where minified js was being re-minified, causing issues.
Notes
Many of you noticed that I have been out-of-commission for a long time, and for that I apologize. I've neglected the issues, pull requests, and discussions for far too long. I'm trying to get back into the swing of things, and plan to work on clearing out the backlog soon after this release.
v0.4.1
Summary
This release fixes two major issues with V0.4.0, including a compiler optimization issue and an incompatibility issue with OctoPrint 1.5.x. There are a few other minor bugfixes and an enhancement or two. It contains 20 commits.
Enhancements
- Added support for OctoPrint v1.5+ per-plugin release channel tracking. After upgrading to OctoPrint 1.5+ you will be able to choose between stable, rc/maintenance and rc/devel builds separate from the OctoPrint release channel settings (Thanks, @foosel!)
- Updated Patron and sponsor list and refreshed the About page.
- Added a link to the Octolapse Wiki on the Octolapse tab.
Bug Fixes
- This release is now fully compatible with OctoPrint v1.5.x. Resolves #643, #641, #640, #637, and #629.
- Fixes the dreaded G21 error caused by a faulty conversion from a bool to a long int in the c++ extension (thanks, @tech2077!) This issue will haunt my dreams for years. Resolves #624, #623, #622, #589, #581, #580, #579, #578, #577, #566, #560, and #545.
- Fixes issues with Linux font paths. Resolves #628 and #604.
- Correct faulty help files for sharpness and saturation. Resolves #632.
- Add exception handling for a read timeout accessing the profiles repository that could make offline instances fail to start Octolapse properly. Resolves #627.
v0.4.1rc1
Fixes compatibility issues with OctoPrint V1.5.0.
v0.4.0
At long last, V0.4.0 is ready for release! This is a major update, and a lot of things have changed, so be sure to read the Getting Started Guide before using this version.
Important Note for Users Upgrading from V0.3.4 or Before: Due to some major settings changes, your Stabilization, Trigger (formerly snapshot), Rendering, and Logging (formerly debug) profiles will be removed and replaced with the default settings. A copy of your previous settings will be saved into the plugin's data folder if you ever decide to downgrade.
Summary
This release covers 650 commits since V0.3.4 was released, so I will try to touch on all of the main enhancements and bug fixes applied since the last update. These are in no particular order. See the readme.md file for a list of highlights.
Enhancements Since V0.3.4
- Added support for OctoPrint 1.4.0.
- Added support for Python 3
- Added 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%..
- 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.
- Added new Smart Triggers
- 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! Octolapse will also warn you about possible missing frames or potential print quality issues, and it will give you information to help you solve common problems. If you don't like what you see, you can cancel and change your settings without running to your printer. There is even an Auto-Close setting that will automatically accept the snapshot preview in case you are printing remotely or using a third party application.
- 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. Since Octolapse now supports Automatic Comment Based Feature Detection, which allows Octolapse to choose better places to take snapshots with no configuration changes.
- 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 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 a degree in some cases.
- If you like triggering Octolapse with GCode, I've also added a Smart Gcode Trigger that gives you a full preview before starting your print.
- 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 and profile 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 display any folder you want (defaults to the Octoprint timelapse folder) and includes paging and page size controls.
- 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 Rendering 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.
- Octolapse now supports H.264 and H.256 rendering, though most Raspberry Pis don't have enough memory to actually use these features for high resolution images.
- Chose which folder your timelapses and snapshots will saved to.
- New Text Outlining and Rendering Overlay Tokens are available, including: {layer}, {height}, {x}, {y}, {z}, {e}, {f}, {x_snapshot}, and {y_snapshot}
- 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 camera models have an optimized custom control page, which is available for some Logitech and Raspberry Pi cameras. If you are using a supported camera , the controls will be customized, 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 the 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, and 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, and the list is growing)!
- Profiles imported from the Octolapse-Profiles repository can be automatically upgraded (with confirmation) when newer profiles are available.
- 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 G4 P1 command has been added as the default custom snapshot command for better compatibility.
- Added Beta Support for Multi-Material/Multi-Extruder printers. This is an Alpha feature, as I've never actually tested multi-extrude...
v0.4.0rc3
I'm hoping this release can be tested as quickly as possible, because there are only a few bug fixes. I thought I was ready for V0.4.0 stable, but some of the bugs could affect a large number of users, so I thought it would be a good idea to release one more candidate before dropping the stable version.
Please report all feedback here. All feedback (negative AND positive) is welcome!
Bug Fixes
- Rendering was not working if a print was cancelled or disconnected. Also, the Unfinished Rendering popup wasn't showing the failures until reboot.
- The delete button within the file browsers was not showing up in some cases if only one page of results was available.
- When using the Other slicer type, the speed units were not displaying, which could have caused a lot of confusion.
- The 'Alternative Snapshot Command' was NOT updating via the automatic profile update functionality.
- The automatic profile updates were selecting the wrong 'most recent' version in some cases.
- The Test buttons for some camera scripts were not working properly (server) due to folder case sensitivity in Linux.
- The timeouts used for the camera script test buttons were inadequate for the No Download and Deferred Download. These test buttons now use the Snapshot Timeout, but only when using the test button. I may add another setting for this in the future. Also, an informational toast was added showing and explaining the timeout.
- Rendering was broken for the Deferred Download DSLR script, and temporary folder cleanup was also broken for deferred downloads. Due to this, the execution order of rendering has been altered a bit. The Before Render Script now executes before the Preparing phase.
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.
- 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.
- The Size column isn't reported accurately for script cameras if the images aren't downloaded before rendering starts. This is not 100% solvable, but I plan to update the file size as soon as it is known in a future enhancement.
v0.4.0rc2
Summary
Several bugfixes were added to this release. Most notable the main settings refused to open due to an issue with the git version added from versioneer in rc1. Additionally a shutdown issue was fixed where the rendering thread was not exiting.
A few enhancements were added too. G2/G3 support was added in anticipation of the release of the ArcWelder plugin.
Please take a look at the release notes for previous pre-release versions, which include dev0, dev2, dev3, dev4, dev5. and rc1 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!
Enhancements
- Added G2/G3 support. Closes #489
- Added support for new custom camera control pages for many Logitech cameras and for the Raspberry Pi camera v2.1. Solves #482
Bug Fixes
- Set the rendering processor as a daemon thread so that shutdown works for all operating systems. Solves #477
- Fix issue for single profile imports.
- Fixed a bug that was preventing the main settings from opening or saving. Solves #503
- Fix issue preventing a warning toast from showing while Octolapse is enabled AND the user is printing from SD. Unfortunately these prints can no longer be cancelled. Solves #516.
- Disable the logger type drop downs in the logger profile for added loggers.
- Remove all desktop notifications (weren't working properly anyway). Solves #499
- Corrected vase mode detection for all Cura versions by removing the 'Surface Mode' setting. Vase mode is now detected only with the Spiralize Outer Contour setting. Solves #496
- Fix issues calculating the proper stabilization coordinates when using bed relative positioning for center origin printers. Also fixed the snapshot preview bed rendering for these printers. Solves #518
- Fix incorrect description for the Snap To Print - High Quality trigger. It is NOT suitable for vase mode prints.
- Custom image preferences no longer revert when editing from the camera profile screen. Unfortunately I had to remove the controls from the camera profile page (it was just too complex to deal with ATM). Now the camera image preferences can be edited only from the Octolapse tab by clicking the edit pen next to the camera selection drop down under the timelapse preview image.
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.
- 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
Summary
Some small issues have been fixed since the last version (v0.4.0rc1.dev5), and commit level version information has been added, mostly to make my life easier in-between releases.
Please take a look at the release notes for previous pre-release versions, which include dev0, dev2, dev3, dev4, and dev5. 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!
Enhancements
- Added versioneer to support better versioning within releases.
- Added links to the latest release notes, or to the latest commit if you have not installed from a release archive.
Bug Fixes
- The .loading class, applied to the camera stream, was conflicting with a few plugins. Changed CSS to fix.
- The camera image preferences weren't being saved properly when editing from within the camera profile. I just removed the edit button from the camera profile, and added some help links explaining where to edit the settings from the Octolapse tab. Fixes #471.
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.