I'll start. Use my post as a general template. Provide as much or as little information as you like about your software. Only share your software if FreeBSD is among the supported platforms, otherwise this would be regarded as "too far off-topic". Cross-platform software is fine. But the focus of this forum is on FreeBSD, thus make sure anything you post here is only shared because FreeBSD is among the supported platforms, whether by the source code or in binary form if closed-source.
One software per post. No users should post twice in a row without letting others get a chance to share.
Name: panoview
Interface: GUI/CLI
Broad Category: Image Viewer
Original/Primary Author or Just a Contributor?: the former
Narrow Category: 360 Degree Cylindrical Panoramic Image Viewer
Supported Formats (where applicable, or N/A): *.PNG
Has Linking Exception In License: No
Permissive License: Yes
Commercial: No
If Commercial, Demo Available: N/A
Credit Author(s) Required: "Samuel Venable" copyright holder mention is optional in code comments, other authors required to stay in-tact.
Commercial Use Allowed: Allowed in all circumstances legal where you live
Redistribution Allowed: Yes
License: MIT, license changes permissible for derivative works, with the exception of "Unlicense"
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): FreeBSD 13.0-RELEASE-pX
Other Platforms Tested/Supported: Windows 10, macOS Big Sur, Ubuntu 20.04 LTS Focal Fossa, Raspberry Pi OS 10 Buster, DragonFly BSD 6.0.0-RELEASE-pX
CLI Usage (or N/A if not applicable): panoview [your-panorama.png-or-directory-containing-png's] [your-cursor.png]
Short description:
360 degree cylindrical panorama viewer - can be used graphically or from the command line
Long Description:
My panorama viewer has always supported viewing static panoramas in png format. I also used to support webm videos for animation and audio support. Writing the webm support though turned out a super problem when it came to attempting to loop the video, even super short two second loops took long enough to load into memory each time a loop starts there would be a noticeable pause that would almost every single time cause the window to turn black because pixels were still being loaded into memory.
The video was not being streamed and the API my code was based on had no obvious loop feature, so that effectively left me with the need to wait until the video reach its duration in code, stop it when that point in time is triggered, delete the video object, then reload the same video file originally loaded back into memory from scratch and play it again, and that's what happened under the hood every time the video looped, which is what caused the lag/black window.
As a workaround to these issues, i decided to drop audio support and replace the webm animation with playback of a sequence of png images. This can be done one of two ways; double click the app in your file manager app or from your desktop depending on where it is. Then simply select more than one PNG image from the open file dialog, as multi-select is now enabled unlike before this update. It will playback one image each frame per second, ordering them alphabetically, so for animation to display properly, make sure your frames are have filenames that match that order accordingly.
The other option is running the panorama viewer from the command line. In order to play animated png sequences by this means, you must pass a folder that contains multiple png files, instead of passing a single png. When passing a folder, it will auto-detect all of the png files contained in the folder you passed non-recursively, and like when done graphically, from the command line it will also order the playback one image each frame per second alphabetically. Make sure the folder only contains the desired files.
Available for Windows, macOS, Linux, FreeBSD, and DragonFly BSD. There are demo executables with install instructions and binary compatibility listed on the System Requirements from the Official GitHub Releases page. If there is a version of Operating System you would like to test on that doesn't meet the System Requirements listed for the demo executable downloads, be sure to try building from source code, and in most cases it should work "just work" provided you aren't using an OS that's too outdated.
Download Source Code / Binary Link (post malware and prepare to be reported/banned): https://github.com/time-killer-games/panoview
Screenshots:
One software per post. No users should post twice in a row without letting others get a chance to share.
Name: panoview
Interface: GUI/CLI
Broad Category: Image Viewer
Original/Primary Author or Just a Contributor?: the former
Narrow Category: 360 Degree Cylindrical Panoramic Image Viewer
Supported Formats (where applicable, or N/A): *.PNG
Has Linking Exception In License: No
Permissive License: Yes
Commercial: No
If Commercial, Demo Available: N/A
Credit Author(s) Required: "Samuel Venable" copyright holder mention is optional in code comments, other authors required to stay in-tact.
Commercial Use Allowed: Allowed in all circumstances legal where you live
Redistribution Allowed: Yes
License: MIT, license changes permissible for derivative works, with the exception of "Unlicense"
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): FreeBSD 13.0-RELEASE-pX
Other Platforms Tested/Supported: Windows 10, macOS Big Sur, Ubuntu 20.04 LTS Focal Fossa, Raspberry Pi OS 10 Buster, DragonFly BSD 6.0.0-RELEASE-pX
CLI Usage (or N/A if not applicable): panoview [your-panorama.png-or-directory-containing-png's] [your-cursor.png]
Short description:
360 degree cylindrical panorama viewer - can be used graphically or from the command line
Long Description:
My panorama viewer has always supported viewing static panoramas in png format. I also used to support webm videos for animation and audio support. Writing the webm support though turned out a super problem when it came to attempting to loop the video, even super short two second loops took long enough to load into memory each time a loop starts there would be a noticeable pause that would almost every single time cause the window to turn black because pixels were still being loaded into memory.
The video was not being streamed and the API my code was based on had no obvious loop feature, so that effectively left me with the need to wait until the video reach its duration in code, stop it when that point in time is triggered, delete the video object, then reload the same video file originally loaded back into memory from scratch and play it again, and that's what happened under the hood every time the video looped, which is what caused the lag/black window.
As a workaround to these issues, i decided to drop audio support and replace the webm animation with playback of a sequence of png images. This can be done one of two ways; double click the app in your file manager app or from your desktop depending on where it is. Then simply select more than one PNG image from the open file dialog, as multi-select is now enabled unlike before this update. It will playback one image each frame per second, ordering them alphabetically, so for animation to display properly, make sure your frames are have filenames that match that order accordingly.
The other option is running the panorama viewer from the command line. In order to play animated png sequences by this means, you must pass a folder that contains multiple png files, instead of passing a single png. When passing a folder, it will auto-detect all of the png files contained in the folder you passed non-recursively, and like when done graphically, from the command line it will also order the playback one image each frame per second alphabetically. Make sure the folder only contains the desired files.
Available for Windows, macOS, Linux, FreeBSD, and DragonFly BSD. There are demo executables with install instructions and binary compatibility listed on the System Requirements from the Official GitHub Releases page. If there is a version of Operating System you would like to test on that doesn't meet the System Requirements listed for the demo executable downloads, be sure to try building from source code, and in most cases it should work "just work" provided you aren't using an OS that's too outdated.
Download Source Code / Binary Link (post malware and prepare to be reported/banned): https://github.com/time-killer-games/panoview
Screenshots: