logo, release notes, readme update
25
.github/workflows/build_all.yml
vendored
@@ -4,8 +4,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- 2.2.0
|
||||
- release/*
|
||||
paths:
|
||||
- 'deps/**'
|
||||
- 'src/**'
|
||||
@@ -18,23 +16,6 @@ on:
|
||||
- ".github/workflows/build_*.yml"
|
||||
- 'scripts/flatpak/**'
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- 2.2.0
|
||||
- release/*
|
||||
paths:
|
||||
- 'deps/**'
|
||||
- 'src/**'
|
||||
- '**/CMakeLists.txt'
|
||||
- 'version.inc'
|
||||
- 'CHANGELOG*.md'
|
||||
- 'RELEASE_NOTES*.md'
|
||||
- ".github/workflows/build_*.yml"
|
||||
- 'build_linux.sh'
|
||||
- 'build_release_vs2022.bat'
|
||||
- 'build_release_macos.sh'
|
||||
- 'scripts/flatpak/**'
|
||||
workflow_dispatch: # allows for manual dispatch
|
||||
inputs:
|
||||
build-deps-only:
|
||||
@@ -65,13 +46,13 @@ jobs:
|
||||
os: ${{ matrix.os }}
|
||||
arch: ${{ matrix.arch }}
|
||||
build-deps-only: ${{ inputs.build-deps-only || false }}
|
||||
force-build: ${{ github.event_name == 'schedule' }}
|
||||
force-build: false
|
||||
secrets: inherit
|
||||
|
||||
publish_release:
|
||||
name: Publish Release
|
||||
needs: [build_all]
|
||||
if: ${{ !cancelled() && needs.build_all.result == 'success' && github.event_name != 'pull_request' && github.repository != 'Snapmaker/OrcaSlicer' && inputs.build-deps-only != true }}
|
||||
if: ${{ !cancelled() && needs.build_all.result == 'success' && github.repository != 'Snapmaker/OrcaSlicer' && inputs.build-deps-only != true }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
@@ -91,7 +72,7 @@ jobs:
|
||||
safe_ref=$(printf '%s' "$ref_name" | tr '/ ' '--' | tr -cd '[:alnum:]._-' )
|
||||
version=$(grep 'set(Snapmaker_VERSION' version.inc | cut -d '"' -f2)
|
||||
tag="v${version}"
|
||||
title="Snapmaker Orca Full Spectrum v${version}"
|
||||
title="SnapmakerOrca-FullSpectrum v${version}"
|
||||
|
||||
notes_content=""
|
||||
for notes_file in \
|
||||
|
||||
29
.github/workflows/build_orca.yml
vendored
@@ -257,12 +257,6 @@ jobs:
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Install nsis
|
||||
if: inputs.os == 'windows-latest'
|
||||
run: |
|
||||
dir "C:/Program Files (x86)/Windows Kits/10/Include"
|
||||
choco install nsis
|
||||
|
||||
- name: Build slicer Win
|
||||
if: inputs.os == 'windows-latest'
|
||||
working-directory: ${{ github.workspace }}
|
||||
@@ -271,12 +265,6 @@ jobs:
|
||||
WindowsSDKVersion: '10.0.26100.0\'
|
||||
run: .\build_release_vs2022.bat slicer
|
||||
|
||||
- name: Create installer Win
|
||||
if: inputs.os == 'windows-latest'
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
run: |
|
||||
cpack -G NSIS
|
||||
|
||||
- name: Pack app
|
||||
if: inputs.os == 'windows-latest'
|
||||
working-directory: ${{ github.workspace }}/build
|
||||
@@ -296,13 +284,6 @@ jobs:
|
||||
name: Snapmaker_Orca_Windows_${{ env.ver }}_portable
|
||||
path: ${{ github.workspace }}/build/Snapmaker_Orca_Windows_${{ env.ver }}_portable.zip
|
||||
|
||||
- name: Upload artifacts Win installer
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Snapmaker_Orca_Windows_${{ env.ver }}
|
||||
path: ${{ github.workspace }}/build/Snapmaker_Orca*.exe
|
||||
|
||||
- name: Upload artifacts Win PDB
|
||||
if: inputs.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v4
|
||||
@@ -328,16 +309,6 @@ jobs:
|
||||
asset_content_type: application/x-zip-compressed
|
||||
max_releases: 1
|
||||
|
||||
- name: Deploy Windows release installer
|
||||
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'windows-latest' }}
|
||||
uses: WebFreak001/deploy-nightly@v3.2.0
|
||||
with:
|
||||
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
|
||||
release_id: 169912305
|
||||
asset_path: ${{ github.workspace }}/build/Snapmaker_Orca_Windows_Installer_${{ env.ver }}.exe
|
||||
asset_name: Snapmaker_Orca_Windows_Installer_${{ env.ver }}.exe
|
||||
asset_content_type: application/x-msdownload
|
||||
max_releases: 1
|
||||
- name: Deploy Windows Snapmaker_Orca_profile_validator release
|
||||
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'windows-latest' }}
|
||||
uses: WebFreak001/deploy-nightly@v3.2.0
|
||||
|
||||
@@ -936,7 +936,7 @@ set (CPACK_PACKAGE_VERSION_MAJOR "${ORCA_VERSION_MAJOR}")
|
||||
set (CPACK_PACKAGE_VERSION_MINOR "${ORCA_VERSION_MINOR}")
|
||||
set (CPACK_PACKAGE_VERSION_PATCH "${ORCA_VERSION_PATCH}")
|
||||
set (CPACK_PACKAGE_FILE_NAME "Snapmaker_Orca_Windows_Installer_V${Snapmaker_VERSION}")
|
||||
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Snapmaker Orca is an open source slicer for FDM printers")
|
||||
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "SnapmakerOrca-FullSpectrum is an open source slicer for FDM printers")
|
||||
set (CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/Snapmaker/OrcaSlicer")
|
||||
set (CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
|
||||
set (CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/resources/images\\\\Snapmaker_Orca.ico")
|
||||
@@ -944,14 +944,14 @@ set (CPACK_NSIS_MUI_ICON "${CPACK_PACKAGE_ICON}")
|
||||
set (CPACK_NSIS_MUI_UNIICON "${CPACK_PACKAGE_ICON}")
|
||||
set (CPACK_NSIS_INSTALLED_ICON_NAME "$INSTDIR\\\\snapmaker orca.exe")
|
||||
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
|
||||
CreateShortCut \\\"$DESKTOP\\\\Snapmaker Orca.lnk\\\" \\\"$INSTDIR\\\\snapmaker-orca.exe\\\"
|
||||
CreateShortCut \\\"$DESKTOP\\\\SnapmakerOrca-FullSpectrum.lnk\\\" \\\"$INSTDIR\\\\snapmaker-orca.exe\\\"
|
||||
")
|
||||
set (CPACK_PACKAGE_CHECKSUM SHA256)
|
||||
set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Snapmaker_Orca")
|
||||
set (CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||
set (CPACK_NSIS_EXECUTABLES_DIRECTORY ".")
|
||||
# set (CPACK_NSIS_MODIFY_PATH "ON")
|
||||
set(CPACK_PACKAGE_EXECUTABLES "snapmaker-orca;Snapmaker Orca")
|
||||
set(CPACK_PACKAGE_EXECUTABLES "snapmaker-orca;SnapmakerOrca-FullSpectrum")
|
||||
set(CPACK_CREATE_DESKTOP_LINKS "snapmaker-orca")
|
||||
set (CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.txt) # must also include in install command
|
||||
|
||||
|
||||
BIN
FS_icon.png
Normal file
|
After Width: | Height: | Size: 206 KiB |
27
README.md
@@ -1,5 +1,5 @@
|
||||
|
||||
<h1> <p "font-size:200px;"> Full Spectrum</p> </h1>
|
||||
<h1> <p "font-size:200px;"> Snapmaker Orca FullSpectrum</p> </h1>
|
||||
|
||||
### A Snapmaker Orca Fork with Mixed-Color Filament Support
|
||||
|
||||
@@ -17,18 +17,13 @@ If you find this fun or interesting!
|
||||
|
||||
## ⚠️ **IMPORTANT DISCLAIMER** ⚠️
|
||||
|
||||
**This fork is currently in active development and has NOT been tested on actual hardware! **
|
||||
**This fork is currently in active development and has been tested on actual hardware.**
|
||||
|
||||
- **Not Production Ready**: The mixed-color filament feature is experimental and untested
|
||||
- **No U1 Access**: Development is being done without access to a Snapmaker U1 printer
|
||||
- **Help Needed**: If you have a U1 and are willing to test this fork, please reach out!
|
||||
- **Use at Your Own Risk**: This software may produce incorrect G-code or unexpected behavior
|
||||
|
||||
**I am actively seeking testers with Snapmaker U1 printers to help validate and improve this feature.**
|
||||
- **Use at Your Own Risk**: As with any slicer fork, please review critical prints and generated G-code before production use
|
||||
|
||||
---
|
||||
|
||||
**Full Spectrum** is an open source slicer for FDM printers based on Snapmaker Orca and OrcaSlicer, optimized for Snapmaker's U1 multi-color 3D printer with independent tool heads. This fork adds support for virtual mixed-color filaments, enabling you to create new colors by alternating layers between physical filaments.
|
||||
**Snapmaker Orca FullSpectrum** is an open source slicer for FDM printers based on Snapmaker Orca and OrcaSlicer, optimized for Snapmaker's U1 multi-color 3D printer with independent tool heads. This fork adds support for virtual mixed-color filaments, enabling you to create new colors by alternating layers between physical filaments.
|
||||
|
||||
|
||||
|
||||
@@ -36,12 +31,12 @@ If you find this fun or interesting!
|
||||
|
||||
### Stable Release
|
||||
📥 **[Download the Latest Stable Release](https://github.com/ratdoux/OrcaSlicer-FullSpectrum/releases)**
|
||||
Visit our GitHub Releases page for the latest stable version of Full Spectrum, recommended for most users.
|
||||
Visit our GitHub Releases page for the latest stable version of Snapmaker Orca FullSpectrum, recommended for most users.
|
||||
|
||||
# Features
|
||||
|
||||
## Mixed-Color Filaments
|
||||
Full Spectrum includes support for **virtual mixed-color filaments** designed for the Snapmaker U1 multi-color printer with independent print heads.
|
||||
Snapmaker Orca FullSpectrum includes support for **virtual mixed-color filaments** designed for the Snapmaker U1 multi-color printer with independent print heads.
|
||||
|
||||
### How It Works
|
||||
- **Create new colors by mixing**: Combine two physical filaments to create a new color appearance through layer alternation
|
||||
@@ -67,7 +62,7 @@ Full Spectrum includes support for **virtual mixed-color filaments** designed fo
|
||||
5. During slicing, the mixed filament resolves to alternating layers of its components
|
||||
|
||||
### Dithering Settings
|
||||
Full Spectrum includes advanced dithering controls to fine-tune the layer alternation behavior for mixed filaments. These settings are found in **Others → Dithering** in the print settings:
|
||||
Snapmaker Orca FullSpectrum includes advanced dithering controls to fine-tune the layer alternation behavior for mixed filaments. These settings are found in **Others → Dithering** in the print settings:
|
||||
|
||||
#### Dithering Cadence Height A & B
|
||||
- **What it does**: Controls the height (in mm) of each alternating segment for the two component filaments
|
||||
@@ -92,7 +87,7 @@ These settings give you precise control over how your mixed colors appear in the
|
||||
|
||||
# How to install
|
||||
**Windows**:
|
||||
1. Download the installer for your preferred version from the [releases page](https://github.com/Snapmaker/OrcaSlicer/releases).
|
||||
1. Download the installer for your preferred version from the [releases page](https://github.com/ratdoux/OrcaSlicer-FullSpectrum/releases).
|
||||
- *For convenience there is also a portable build available.*
|
||||
- *If you have troubles to run the build, you might need to install following runtimes:*
|
||||
- [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/OrcaSlicer/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
|
||||
@@ -167,7 +162,7 @@ resolution: 0.1
|
||||
|
||||
|
||||
## Some background
|
||||
**Full Spectrum** is forked from Snapmaker Orca, which is originally forked from Orca Slicer by SoftFever.
|
||||
**Snapmaker Orca FullSpectrum** is forked from Snapmaker Orca, which is originally forked from Orca Slicer by SoftFever.
|
||||
|
||||
Orca Slicer was originally forked from Bambu Studio, it was previously known as BambuStudio-SoftFever.
|
||||
Bambu Studio is forked from [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) by Prusa Research, which is from [Slic3r](https://github.com/Slic3r/Slic3r) by Alessandro Ranellucci and the RepRap community.
|
||||
@@ -179,7 +174,7 @@ Special thanks to [u/Aceman11100](https://www.reddit.com/user/Aceman11100/) for
|
||||
|
||||
|
||||
# License
|
||||
Full Spectrum is licensed under the GNU Affero General Public License, version 3. Full Spectrum is based on Snapmaker Orca.
|
||||
Snapmaker Orca FullSpectrum is licensed under the GNU Affero General Public License, version 3. Snapmaker Orca FullSpectrum is based on Snapmaker Orca.
|
||||
|
||||
Snapmaker Orca is licensed under the GNU Affero General Public License, version 3. Snapmaker Orca is based on Orca Slicer by SoftFever.
|
||||
|
||||
@@ -200,6 +195,6 @@ The Bambu networking plugin is based on non-free libraries from BambuLab. It is
|
||||
Filament color blending is powered by [FilamentMixer](https://github.com/justinh-rahb/filament-mixer), an openly licensed library.
|
||||
|
||||
# Feedback & Contribution
|
||||
We greatly value feedback and contributions from our users. Your feedback will help us to further develop Full Spectrum for our community.
|
||||
We greatly value feedback and contributions from our users. Your feedback will help us to further develop Snapmaker Orca FullSpectrum for our community.
|
||||
- To submit a bug or feature request, file an issue in GitHub Issues.
|
||||
- To contribute some code, make sure you have read and followed our guidelines for contributing.
|
||||
|
||||
46
RELEASE_NOTES_v0.9.5.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Snapmaker Orca FullSpectrum v0.95
|
||||
|
||||
Mixed-color workflow improvements, Snapmaker 2.3.1 sync, and release polish.
|
||||
Based on Snapmaker Orca v2.3.1.
|
||||
|
||||
## Quick Overview
|
||||
|
||||
- Rebased the fork onto the newer Snapmaker Orca 2.3.x line and updated the base to 2.3.1.
|
||||
- Improved mixed-color generation so it can find better color matches and manage gradients more cleanly.
|
||||
- Added more control over how infill uses filaments, including first-layer and last-layer behavior.
|
||||
- Reduced fragmentation in painted mixed-color areas by collapsing same-color regions where possible.
|
||||
- Refreshed release branding with the Snapmaker Orca FullSpectrum name, updated About dialog information, and the new FS app icon.
|
||||
|
||||
## More Detailed Overview
|
||||
|
||||
### Base Sync And Stability
|
||||
|
||||
- Synced FullSpectrum with the Snapmaker 2.3.0 update path and bumped the base version to Snapmaker Orca 2.3.1.
|
||||
- Pulled in a wide set of upstream Linux, macOS, packaging, Flutter-resource, and web/download-flow fixes from the Snapmaker 2.3.x branch.
|
||||
- Included the OpenVDB clang patch fix from PR #66.
|
||||
- Kept the fork release flow focused on the fork itself, including the fork release link in the README and Windows portable packaging for releases.
|
||||
|
||||
### Mixed-Color And Dithering Improvements
|
||||
|
||||
- Added a brute-force color mixer path that can search for closer 2-, 3-, or 4-filament combinations from the selected physical filaments.
|
||||
- Added `min_component_percent` validation so suggested mixes stay within more useful and realistic component ranges.
|
||||
- Added controls for auto-generated mixed filament gradients, including preference handling and guardrails for very large generated sets.
|
||||
- Added an explicit infill filament override setting so infill can use a different filament without relying on implicit behavior.
|
||||
- Added per-layer control to keep base filament on the first and last layers before switching infill to the override filament.
|
||||
- Added support for collapsing same-color mixed filament regions across painted areas so equivalent output colors can slice as larger continuous regions instead of separate islands.
|
||||
- Added additional Local-Z and mixed-filament slicing fixes plus broader regression coverage in tests.
|
||||
|
||||
### Workflow And Usability Improvements
|
||||
|
||||
- Fixed the `.gcode.3mf` filename issue.
|
||||
- Fixed wipe tower brim behavior inherited from the 2.2.3 line.
|
||||
- Added and expanded tests around mixed filament handling, slicing behavior, and output generation.
|
||||
- Updated visible app branding to Snapmaker Orca FullSpectrum.
|
||||
- Updated the About page to show both the Snapmaker Orca base version and the FullSpectrum fork version.
|
||||
- Replaced the app icon set with the new FS branding assets.
|
||||
|
||||
## Notes
|
||||
|
||||
- This release has been tested on actual hardware.
|
||||
- macOS builds from this fork remain unsigned and not notarized.
|
||||
- Release downloads for this fork are available here: https://github.com/ratdoux/OrcaSlicer-FullSpectrum/releases
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 264 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 410 B After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 857 B After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 18 KiB |
@@ -293,7 +293,7 @@ else ()
|
||||
set(MACOSX_BUNDLE_ICON_FILE Icon.icns)
|
||||
set_target_properties(Snapmaker_Orca PROPERTIES
|
||||
MACOSX_BUNDLE TRUE
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "Snapmaker Orca"
|
||||
MACOSX_BUNDLE_BUNDLE_NAME "SnapmakerOrca-FullSpectrum"
|
||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${Snapmaker_VERSION}
|
||||
MACOSX_BUNDLE_COPYRIGHT "Copyright © 2024-2026 Snapmaker. All rights reserved.")
|
||||
# Get the bundle directory by going up from the executable to the .app bundle
|
||||
|
||||
@@ -3,10 +3,11 @@
|
||||
#include <iostream>
|
||||
|
||||
|
||||
#define SLIC3R_APP_NAME "Snapmaker Orca"
|
||||
#define SLIC3R_APP_NAME "SnapmakerOrca-FullSpectrum"
|
||||
#define SLIC3R_APP_KEY "Snapmaker_Orca"
|
||||
#define SLIC3R_VERSION "01.10.01.50"
|
||||
#define Snapmaker_VERSION "2.3.1"
|
||||
#define FULLSPECTRUM_VERSION "0.9.5"
|
||||
#define MIN_FIRM_VER "1.0.0"
|
||||
#ifndef GIT_COMMIT_HASH
|
||||
#define GIT_COMMIT_HASH "0000000" // 0000000 means uninitialized
|
||||
@@ -33,4 +34,4 @@ namespace common
|
||||
|
||||
} // namespace common
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>images/Snapmaker_Orca.icns</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>@SLIC3R_APP_KEY@</string>
|
||||
<string>@SLIC3R_APP_NAME@</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@SLIC3R_APP_NAME@ @SLIC3R_BUILD_ID@</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@@ -131,7 +131,7 @@
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
<key>NSLocalNetworkUsageDescription</key>
|
||||
<string>Snapmaker Orca needs access to your local network to discover and connect to your 3D printer(s), and to serve the app's device interface on localhost.</string>
|
||||
<string>SnapmakerOrca-FullSpectrum needs access to your local network to discover and connect to your 3D printer(s), and to serve the app's device interface on localhost.</string>
|
||||
<key>NSBonjourServices</key>
|
||||
<array>
|
||||
<string>_http._tcp</string>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[Desktop Entry]
|
||||
Name=Snapmaker Orca
|
||||
Name=SnapmakerOrca-FullSpectrum
|
||||
GenericName=3D Printing Software
|
||||
Icon=Snapmaker_Orca
|
||||
Exec=snapmaker-orca %U
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define _libslic3r_h_
|
||||
|
||||
#include "common_func/common_func.hpp"
|
||||
#define SLIC3R_APP_FULL_NAME "Snapmaker Orca"
|
||||
#define SLIC3R_APP_FULL_NAME "SnapmakerOrca-FullSpectrum"
|
||||
#define GCODEVIEWER_APP_NAME "Snapmaker_Orca G-code Viewer"
|
||||
#define GCODEVIEWER_APP_KEY "Snapmaker_OrcaGcodeViewer"
|
||||
#define GCODEVIEWER_BUILD_ID std::string("Snapmaker_Orca G-code Viewer-") + std::string(SLIC3R_VERSION) + std::string("-RC")
|
||||
|
||||
@@ -149,9 +149,9 @@ wxString CopyrightsDialog::get_html_text()
|
||||
"<font size=\"3\">",
|
||||
bgr_clr_str, text_clr_str, text_clr_str,
|
||||
_L("License"),
|
||||
_L("Snapmaker Orca is licensed under "),
|
||||
_L("SnapmakerOrca-FullSpectrum is licensed under "),
|
||||
"https://www.gnu.org/licenses/agpl-3.0.html",_L("GNU Affero General Public License, version 3"),
|
||||
_L("Snapmaker Orca is Based on Orca Slicer"),
|
||||
_L("SnapmakerOrca-FullSpectrum is based on Orca Slicer"),
|
||||
_L("Libraries"),
|
||||
_L("This software uses open source components whose copyright and other proprietary rights belong to their respective owners"));
|
||||
|
||||
@@ -212,7 +212,7 @@ void CopyrightsDialog::onCloseDialog(wxEvent &)
|
||||
AboutDialog::AboutDialog()
|
||||
: DPIDialog(static_cast<wxWindow *>(wxGetApp().mainframe),
|
||||
wxID_ANY,
|
||||
wxString::Format(_L("About %s"), _L("Snapmaker Orca Full Spectrum")),
|
||||
wxString::Format(_L("About %s"), _L("Snapmaker Orca FullSpectrum")),
|
||||
wxDefaultPosition,
|
||||
wxDefaultSize,
|
||||
/*wxCAPTION*/wxDEFAULT_DIALOG_STYLE)
|
||||
@@ -245,26 +245,39 @@ AboutDialog::AboutDialog()
|
||||
|
||||
// version
|
||||
{
|
||||
const int title_wrap_width = FromDIP(520);
|
||||
const wxString sm_version_label = format_wxstr("Snapmaker Orca %1%", Snapmaker_VERSION);
|
||||
const wxString fs_version_label = format_wxstr("FullSpectrum %1%", FULLSPECTRUM_VERSION);
|
||||
vesizer->Add(0, FromDIP(165), 1, wxEXPAND, FromDIP(5));
|
||||
auto version_string = _L("Snapmaker Orca Full Spectrum") + " " + std::string(Snapmaker_VERSION);
|
||||
wxStaticText* version = new wxStaticText(this, wxID_ANY, version_string.c_str(), wxDefaultPosition, wxDefaultSize);
|
||||
wxStaticText* version = new wxStaticText(this, wxID_ANY, _L("Snapmaker Orca FullSpectrum"), wxDefaultPosition, wxSize(title_wrap_width, -1), wxALIGN_CENTER_HORIZONTAL);
|
||||
wxStaticText* sm_version = new wxStaticText(this, wxID_ANY, sm_version_label, wxDefaultPosition, wxSize(title_wrap_width, -1), wxALIGN_CENTER_HORIZONTAL);
|
||||
wxStaticText* fs_version = new wxStaticText(this, wxID_ANY, fs_version_label, wxDefaultPosition, wxSize(title_wrap_width, -1), wxALIGN_CENTER_HORIZONTAL);
|
||||
wxStaticText* bs_version = new wxStaticText(this, wxID_ANY, wxString::Format("Based on Orca Slicer"), wxDefaultPosition, wxDefaultSize);
|
||||
bs_version->SetFont(Label::Body_12);
|
||||
sm_version->SetFont(Label::Body_12);
|
||||
fs_version->SetFont(Label::Body_12);
|
||||
wxFont version_font = GetFont();
|
||||
#ifdef __WXMSW__
|
||||
version_font.SetPointSize(version_font.GetPointSize()-1);
|
||||
#else
|
||||
version_font.SetPointSize(11);
|
||||
#endif
|
||||
version_font.SetPointSize(FromDIP(16));
|
||||
version_font.SetPointSize(14);
|
||||
version->SetFont(version_font);
|
||||
version->Wrap(title_wrap_width);
|
||||
version->SetForegroundColour(wxColour("#FFFFFD"));
|
||||
sm_version->SetForegroundColour(wxColour("#FFFFFD"));
|
||||
fs_version->SetForegroundColour(wxColour("#FFFFFD"));
|
||||
bs_version->SetForegroundColour(wxColour("#FFFFFD"));
|
||||
version->SetBackgroundColour(wxColour("#4d4d4d"));
|
||||
sm_version->SetBackgroundColour(wxColour("#4d4d4d"));
|
||||
fs_version->SetBackgroundColour(wxColour("#4d4d4d"));
|
||||
bs_version->SetBackgroundColour(wxColour("#4d4d4d"));
|
||||
|
||||
|
||||
vesizer->Add(version, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, FromDIP(5));
|
||||
vesizer->Add(sm_version, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, FromDIP(2));
|
||||
vesizer->Add(fs_version, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, FromDIP(2));
|
||||
vesizer->Add(bs_version, 0, wxALL | wxALIGN_CENTER_HORIZONTAL, FromDIP(5));
|
||||
// #if BBL_INTERNAL_TESTING
|
||||
// wxString build_time = wxString::Format("Build Time: %s", std::string(SLIC3R_BUILD_TIME));
|
||||
@@ -290,12 +303,13 @@ AboutDialog::AboutDialog()
|
||||
|
||||
// SM Beta
|
||||
text_list.push_back(_L("Note: The firmware version of SnapmakerU1 should be no less than") + " " + std::string(MIN_FIRM_VER));
|
||||
text_list.push_back(_L("SnapmakerOrca-FullSpectrum is based on Snapmaker Orca."));
|
||||
text_list.push_back(_L("Snapmaker Orca is forked from Orca Slicer by SoftFever."));
|
||||
text_list.push_back(_L("OrcaSlicer is forked from Bambu Studio by Bambu Lab."));
|
||||
text_list.push_back(_L("Bambu Studio is forked from PrusaSlicer by Prusa Research, which is from Slic3r by Alessandro Ranellucci and the RepRap community. Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill."));
|
||||
text_list.push_back(_L("Snapmaker Orca integrates some features from the 3D printing open-source community, with specific attributions provided in the code comments."));
|
||||
text_list.push_back(_L("SnapmakerOrca-FullSpectrum integrates FullSpectrum-specific changes on top of the Snapmaker Orca codebase."));
|
||||
text_list.push_back(_L(""));
|
||||
text_list.push_back(_L("Snapmaker Orca is licensed under the GNU Affero Generall Public License, version 3."));
|
||||
text_list.push_back(_L("SnapmakerOrca-FullSpectrum is licensed under the GNU Affero Generall Public License, version 3."));
|
||||
|
||||
text_sizer->Add( 0, 0, 0, wxTOP, FromDIP(33));
|
||||
bool is_zh = wxGetApp().app_config->get("language") == "zh_CN";
|
||||
|
||||
@@ -834,7 +834,7 @@ static void generic_exception_handle()
|
||||
// and terminate the app so it is at least certain to happen now.
|
||||
BOOST_LOG_TRIVIAL(error) << boost::format("std::bad_alloc exception: %1%") % ex.what();
|
||||
flush_logs();
|
||||
wxString errmsg = wxString::Format(_L("Snapmaker Orca will terminate because of running out of memory."
|
||||
wxString errmsg = wxString::Format(_L("SnapmakerOrca-FullSpectrum will terminate because of running out of memory."
|
||||
"It may be a bug. It will be appreciated if you report the issue to our team."));
|
||||
wxMessageBox(errmsg + "\n\n" + wxString(ex.what()), _L("Fatal error"), wxOK | wxICON_ERROR);
|
||||
|
||||
@@ -843,13 +843,13 @@ static void generic_exception_handle()
|
||||
} catch (const boost::io::bad_format_string& ex) {
|
||||
BOOST_LOG_TRIVIAL(error) << boost::format("Uncaught exception: %1%") % ex.what();
|
||||
flush_logs();
|
||||
wxString errmsg = _L("Snapmaker Orca will terminate because of a localization error. "
|
||||
wxString errmsg = _L("SnapmakerOrca-FullSpectrum will terminate because of a localization error. "
|
||||
"It will be appreciated if you report the specific scenario this issue happened.");
|
||||
wxMessageBox(errmsg + "\n\n" + wxString(ex.what()), _L("Critical error"), wxOK | wxICON_ERROR);
|
||||
std::terminate();
|
||||
//throw;
|
||||
} catch (const std::exception& ex) {
|
||||
wxLogError(format_wxstr(_L("Snapmaker Orca got an unhandled exception: %1%"), ex.what()));
|
||||
wxLogError(format_wxstr(_L("SnapmakerOrca-FullSpectrum got an unhandled exception: %1%"), ex.what()));
|
||||
BOOST_LOG_TRIVIAL(error) << boost::format("Uncaught exception: %1%") % ex.what();
|
||||
flush_logs();
|
||||
throw;
|
||||
@@ -2023,7 +2023,7 @@ void GUI_App::init_webview_runtime()
|
||||
{
|
||||
// Check WebView Runtime
|
||||
if (!WebView::CheckWebViewRuntime()) {
|
||||
int nRet = wxMessageBox(_L("Snapmaker Orca requires the Microsoft WebView2 Runtime to operate certain features.\nClick Yes to install it now."),
|
||||
int nRet = wxMessageBox(_L("SnapmakerOrca-FullSpectrum requires the Microsoft WebView2 Runtime to operate certain features.\nClick Yes to install it now."),
|
||||
_L("WebView2 Runtime"), wxYES_NO);
|
||||
if (nRet == wxYES) {
|
||||
WebView::DownloadAndInstallWebViewRuntime();
|
||||
@@ -2466,7 +2466,7 @@ bool GUI_App::on_init_inner()
|
||||
RichMessageDialog
|
||||
dlg(nullptr,
|
||||
wxString::Format(_L("%s\nDo you want to continue?"), msg),
|
||||
"Snapmaker Orca", wxICON_QUESTION | wxYES_NO);
|
||||
"SnapmakerOrca-FullSpectrum", wxICON_QUESTION | wxYES_NO);
|
||||
dlg.ShowCheckBox(_L("Remember my choice"));
|
||||
if (dlg.ShowModal() != wxID_YES) return false;
|
||||
|
||||
@@ -2638,7 +2638,7 @@ bool GUI_App::on_init_inner()
|
||||
wxString tips = wxString::Format(_L("Click to download new version in default browser: %s"), version_str);
|
||||
DownloadDialog dialog(this->mainframe,
|
||||
tips,
|
||||
_L("The Snapmaker Orca needs an upgrade"),
|
||||
_L("SnapmakerOrca-FullSpectrum needs an upgrade"),
|
||||
false,
|
||||
wxCENTER | wxICON_INFORMATION);
|
||||
dialog.SetExtendedMessage(description_text);
|
||||
@@ -2887,7 +2887,7 @@ bool GUI_App::on_init_inner()
|
||||
m_config_corrupted = false;
|
||||
show_error(nullptr,
|
||||
_u8L(
|
||||
"The Snapmaker Orca configuration file may be corrupted and cannot be parsed.\nSnapmaker Orca has attempted to recreate the "
|
||||
"The SnapmakerOrca-FullSpectrum configuration file may be corrupted and cannot be parsed.\nSnapmakerOrca-FullSpectrum has attempted to recreate the "
|
||||
"configuration file.\nPlease note, application settings will be lost, but printer profiles will not be affected."));
|
||||
}
|
||||
|
||||
@@ -4528,7 +4528,7 @@ void GUI_App::on_http_error(wxCommandEvent &evt)
|
||||
|
||||
// Version limit
|
||||
if (code == HttpErrorVersionLimited) {
|
||||
MessageDialog msg_dlg(nullptr, _L("The version of Snapmaker Orca is too low and needs to be updated to the latest version before it can be used normally"), "", wxAPPLY | wxOK);
|
||||
MessageDialog msg_dlg(nullptr, _L("The version of SnapmakerOrca-FullSpectrum is too low and needs to be updated to the latest version before it can be used normally"), "", wxAPPLY | wxOK);
|
||||
if (msg_dlg.ShowModal() == wxOK) {
|
||||
}
|
||||
|
||||
@@ -5074,7 +5074,7 @@ std::string GUI_App::format_display_version()
|
||||
{
|
||||
if (!version_display.empty()) return version_display;
|
||||
|
||||
version_display = Snapmaker_VERSION;
|
||||
version_display = std::string("Snapmaker Orca ") + Snapmaker_VERSION + " / FullSpectrum " + FULLSPECTRUM_VERSION;
|
||||
return version_display;
|
||||
}
|
||||
|
||||
@@ -5786,14 +5786,14 @@ bool GUI_App::load_language(wxString language, bool initial)
|
||||
|
||||
if (! wxLocale::IsAvailable(language_info->Language)) {
|
||||
// Loading the language dictionary failed.
|
||||
wxString message = "Switching Snapmaker Orca to language " + language_info->CanonicalName + " failed.";
|
||||
wxString message = "Switching SnapmakerOrca-FullSpectrum to language " + language_info->CanonicalName + " failed.";
|
||||
#if !defined(_WIN32) && !defined(__APPLE__)
|
||||
// likely some linux system
|
||||
message += "\nYou may need to reconfigure the missing locales, likely by running the \"locale-gen\" and \"dpkg-reconfigure locales\" commands.\n";
|
||||
#endif
|
||||
if (initial)
|
||||
message + "\n\nApplication will close.";
|
||||
wxMessageBox(message, "Snapmaker Orca - Switching language failed", wxOK | wxICON_ERROR);
|
||||
wxMessageBox(message, "SnapmakerOrca-FullSpectrum - Switching language failed", wxOK | wxICON_ERROR);
|
||||
if (initial)
|
||||
std::exit(EXIT_FAILURE);
|
||||
else
|
||||
|
||||
@@ -65,10 +65,10 @@ int GUI_Run(GUI_InitParams ¶ms)
|
||||
}
|
||||
} catch (const Slic3r::Exception &ex) {
|
||||
BOOST_LOG_TRIVIAL(error) << ex.what() << std::endl;
|
||||
wxMessageBox(boost::nowide::widen(ex.what()), _L("Snapmaker Orca GUI initialization failed"), wxICON_STOP);
|
||||
wxMessageBox(boost::nowide::widen(ex.what()), _L("SnapmakerOrca-FullSpectrum GUI initialization failed"), wxICON_STOP);
|
||||
} catch (const std::exception &ex) {
|
||||
BOOST_LOG_TRIVIAL(error) << ex.what() << std::endl;
|
||||
wxMessageBox(format_wxstr(_L("Fatal error, exception caught: %1%"), ex.what()), _L("Snapmaker Orca GUI initialization failed"), wxICON_STOP);
|
||||
wxMessageBox(format_wxstr(_L("Fatal error, exception caught: %1%"), ex.what()), _L("SnapmakerOrca-FullSpectrum GUI initialization failed"), wxICON_STOP);
|
||||
}
|
||||
// error
|
||||
return 1;
|
||||
|
||||
@@ -260,7 +260,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_
|
||||
default:
|
||||
case GUI_App::EAppMode::Editor:
|
||||
m_taskbar_icon = std::make_unique<Snapmaker_OrcaTaskBarIcon>(wxTBI_DOCK);
|
||||
m_taskbar_icon->SetIcon(wxIcon(Slic3r::var("Snapmaker_Orca-mac_256px.ico"), wxBITMAP_TYPE_ICO), "Snapmaker Orca");
|
||||
m_taskbar_icon->SetIcon(wxIcon(Slic3r::var("Snapmaker_Orca-mac_256px.ico"), wxBITMAP_TYPE_ICO), "SnapmakerOrca-FullSpectrum");
|
||||
break;
|
||||
case GUI_App::EAppMode::GCodeViewer:
|
||||
break;
|
||||
|
||||
@@ -14346,7 +14346,7 @@ void Plater::priv::set_project_name(const wxString& project_name)
|
||||
m_project_name = project_name;
|
||||
//update topbar title
|
||||
#ifdef __WINDOWS__
|
||||
wxGetApp().mainframe->SetTitle(m_project_name + " - Snapmaker Orca");
|
||||
wxGetApp().mainframe->SetTitle(m_project_name + " - SnapmakerOrca-FullSpectrum");
|
||||
wxGetApp().mainframe->topbar()->SetTitle(m_project_name);
|
||||
#else
|
||||
wxGetApp().mainframe->SetTitle(m_project_name);
|
||||
|
||||
@@ -252,7 +252,7 @@ void UpdatePluginDialog::update_info(std::string json_path)
|
||||
}
|
||||
|
||||
UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent)
|
||||
: DPIDialog(parent, wxID_ANY, _L("New version of Snapmaker Orca"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX | wxRESIZE_BORDER)
|
||||
: DPIDialog(parent, wxID_ANY, _L("New version of SnapmakerOrca-FullSpectrum"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX | wxRESIZE_BORDER)
|
||||
{
|
||||
std::string icon_path = (boost::format("%1%/images/Snapmaker_OrcaTitle.ico") % resources_dir()).str();
|
||||
SetIcon(wxIcon(encode_path(icon_path.c_str()), wxBITMAP_TYPE_ICO));
|
||||
|
||||
@@ -31,7 +31,7 @@ using namespace nlohmann;
|
||||
|
||||
namespace Slic3r { namespace GUI {
|
||||
|
||||
DownPluginFrame::DownPluginFrame(GUI_App *pGUI) : wxDialog((wxWindow *) (pGUI->mainframe), wxID_ANY, "Snapmaker Orca"), m_appconfig_new()
|
||||
DownPluginFrame::DownPluginFrame(GUI_App *pGUI) : wxDialog((wxWindow *) (pGUI->mainframe), wxID_ANY, "SnapmakerOrca-FullSpectrum"), m_appconfig_new()
|
||||
{
|
||||
// INI
|
||||
m_MainPtr = pGUI;
|
||||
|
||||
@@ -109,7 +109,7 @@ static wxString update_custom_filaments()
|
||||
}
|
||||
|
||||
GuideFrame::GuideFrame(GUI_App *pGUI, long style)
|
||||
: DPIDialog((wxWindow *) (pGUI->mainframe), wxID_ANY, "Snapmaker Orca", wxDefaultPosition, wxDefaultSize, style),
|
||||
: DPIDialog((wxWindow *) (pGUI->mainframe), wxID_ANY, "SnapmakerOrca-FullSpectrum", wxDefaultPosition, wxDefaultSize, style),
|
||||
m_appconfig_new()
|
||||
{
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
|
||||
@@ -114,7 +114,7 @@ static wxString update_custom_filaments()
|
||||
}
|
||||
|
||||
WebPresetDialog::WebPresetDialog(GUI_App* pGUI, long style)
|
||||
: DPIDialog((wxWindow*) (nullptr), wxID_ANY, "Snapmaker Orca", wxDefaultPosition, wxDefaultSize, style), m_appconfig_new()
|
||||
: DPIDialog((wxWindow*) (nullptr), wxID_ANY, "SnapmakerOrca-FullSpectrum", wxDefaultPosition, wxDefaultSize, style), m_appconfig_new()
|
||||
{
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
// INI
|
||||
|
||||
@@ -40,7 +40,7 @@ END_EVENT_TABLE()
|
||||
|
||||
int SMUserLogin::web_sequence_id = 20000;
|
||||
|
||||
SMUserLogin::SMUserLogin(bool isLogout) : wxDialog((wxWindow *) (wxGetApp().mainframe), wxID_ANY, "Snapmaker Orca")
|
||||
SMUserLogin::SMUserLogin(bool isLogout) : wxDialog((wxWindow *) (wxGetApp().mainframe), wxID_ANY, "SnapmakerOrca-FullSpectrum")
|
||||
{
|
||||
// url
|
||||
auto region = wxGetApp().app_config->get_country_code();
|
||||
|
||||
@@ -39,7 +39,7 @@ END_EVENT_TABLE()
|
||||
|
||||
int ZUserLogin::web_sequence_id = 20000;
|
||||
|
||||
ZUserLogin::ZUserLogin() : wxDialog((wxWindow *) (wxGetApp().mainframe), wxID_ANY, "Snapmaker Orca")
|
||||
ZUserLogin::ZUserLogin() : wxDialog((wxWindow *) (wxGetApp().mainframe), wxID_ANY, "SnapmakerOrca-FullSpectrum")
|
||||
{
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
// Url
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Included by CMakeLists, edited by the build script
|
||||
# (the version numbers are generated by the build script from the git current label)
|
||||
|
||||
set(SLIC3R_APP_NAME "Snapmaker Orca")
|
||||
set(SLIC3R_APP_NAME "SnapmakerOrca-FullSpectrum")
|
||||
set(SLIC3R_APP_KEY "Snapmaker_Orca")
|
||||
|
||||
if(NOT DEFINED BBL_RELEASE_TO_PUBLIC)
|
||||
@@ -10,7 +10,8 @@ endif()
|
||||
if(NOT DEFINED BBL_INTERNAL_TESTING)
|
||||
set(BBL_INTERNAL_TESTING "0")
|
||||
endif()
|
||||
set(Snapmaker_VERSION "0.9.4")
|
||||
set(Snapmaker_VERSION "0.9.5")
|
||||
set(FULLSPECTRUM_VERSION "0.9.5")
|
||||
set(MIN_FIRM_VER "1.0.0")
|
||||
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)"
|
||||
Snapmaker_VERSION_MATCH ${Snapmaker_VERSION})
|
||||
|
||||