diff --git a/Makefile b/Makefile index d9252d5..8be3d0d 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,9 @@ populatewinbin: release cp GPX/src/gpx/win32_obj/gpx.exe $(SQUIRRELWINBIN) cp build/mingw32/release/GpxUi.exe $(SQUIRRELWINBIN) cp README.md $(SQUIRRELWINBIN) + cp RELEASE.md $(SQUIRRELWINBIN) cp LICENSE $(SQUIRRELWINBIN) + cp Squirrel.COPYING $(SQUIRRELWINBIN) windeployqt: populatewinbin windeployqt --release-with-debug-info --no-plugins --no-translations $(SQUIRRELWINBIN)GpxUi.exe diff --git a/README.md b/README.md index e2b7769..9cc2067 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,83 @@ # GpxUi -A GUI wrapper around GPX and someday maybe even a setup program +GpxUi is a graphical user interface wrapped around GPX, a command line utility. + +It is Window only at the moment, but I made it with Qt with the intention of building +it for other platforms. I don't have a Mac, but I've got Linux, so if there is interest +I'll make a linux version. + +GPX is a post processing utility for converting gcode output from 3D slicing +software like Cura, KISSlicer, S3DCreator and Slic3r to x3g files for standalone +3D printing on Makerbot Cupcake, ThingOMatic, and Replicator 1/2/2x printers - with +support for both stock and SailFish firmwares. + +This GpxUi includes gpx.exe for use as a plugin to slicers, but also includes a +settings editor and setup program to make it easy to get GPX set up and running +with the right settings. Also includes a machine settings editor so you can mess +with arcane stuff like how many steps per mm. + +## Installing and running + + 1. Download and run setup.exe from the [releases](https://github.com/markwalGpxUi/releases/latest) page + 2. Choose your printer type + 3. Choose the gcode flavor of the slicer you want to use + 4. Click "Save" to save those two settings into gpx.ini + 5. Click the translate button, it'll ask for the name of the gcode file and + the name of the output x3g file + +## Notes + +The setup added gpx.exe to your path, so you can easily add it as a post +processor to Slic3r: + + 1. Put Slic3r into expert mode via File.Preferences from the menu bar and + restart Slic3r + 2. Choose "Print Settings" tab, "Output options" panel + 3. In "Post-processing scripts" type "gpx.exe" all by itself without quotes + or parameters + +It added to the end of your path, so if you have a gpx.exe somewhere else on +your machine and on your path, it won't read the settings you set in GpxUi because +the other one will win and it won't know where these settings are. + +You can switch the settings around and gpx.exe will just use whatever you saved +last. Settings are also saved when you use GpxUi to translate a file. + +Setup added an icon to your desktop and to your start menu. If you like a clean +desktop like me, drag the desktop one to the trash, you can still run it from +start. Seems like letting you drag it to the trash was easier than bothering +you with a question in setup. + +GpxUi includes an auto-updater courtesy of Squirrel for Windows. It checks for +updates when you start it. So if you leave it running or never run it, it +doesn't update. Plus it has a limiter on it so it doesn't check every time you +boot it up, just when it has been a while. You can turn this off on the +Help.Updates... menu. + +## Future features + + - As I mentioned, perhaps other platforms + - Have setup connect gpx.exe to the right-click on gcode files menu so you + can right-click on a gcode file and choose "Convert to x3g" + - A warning when it notices another gpx.exe earlier on the path + - Have an option to send a copy of the x3g to a flashair card + - Have setup or a configuration dialog automatically add plugins to various + slicers + - Drag and drop? ## Dependencies -[QT 5.4](https://www.qt.io/developers) -[Squirrel.Windows](https://github.com/Squirrel/Squirrel.Windows) +- [QT 5.4](https://www.qt.io/developers) +- [Squirrel.Windows](https://github.com/Squirrel/Squirrel.Windows) (only need + this if you are going to build setup) ## Build instructions 1. Clone the repository 2. Get the submodules `git submodule update --init` -3. Install the dependencies and make sure they're on your path +3. Install QT and make sure it and the mingw32 it includes is on your path, I + run gnu make under bash so I may have introduced a build-time dependency on + bash 4. `make` + +For Windows setup.exe: `make squirrel.windows` diff --git a/RELEASE.md b/RELEASE.md index f83a898..379eb4f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -2,11 +2,13 @@ ## Improvements - * Releases now include release notes built into the nupkg which is also a bug - fix because it prevents squirrel from barfing in the log * Tooltips * First autoupdate check waits until the day after a fresh install + * Adds gpx.exe and gpxui.exe to the path ## Bug fixes - * Endstop editing in the machine editor now work (rather than all changing the x endstop) + * Endstop editing in the machine editor now work (rather than all changing + the x endstop) + * Releases now include release notes built into the nupkg which prevents + squirrel from barfing in the log diff --git a/Squirrel.COPYING b/Squirrel.COPYING new file mode 100644 index 0000000..0b7a664 --- /dev/null +++ b/Squirrel.COPYING @@ -0,0 +1,22 @@ +Squirrel.Windows is included with this program and it has the following +copyright information which only pertains to the squirrel components: + +Copyright (c) 2012 Github, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/mainwindow.cpp b/mainwindow.cpp index 156a5aa..8cdd8ee 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -287,7 +287,8 @@ void MainWindow::on_about() "GpxUi (GUI) Copyright (c) 2015 Mark Walker, All rights reserved.\n" "GPX Copyright (c) 2013 WHPThomas, All rights reserved.\n" "Additional changes Copyright (c) 2014, 2015 DNewman, All rights reserved.\n" - "Portions copyright (c) 2009, Ben Hoyt, All rights reserved.\n\n" + "Portions copyright (c) 2009, Ben Hoyt, All rights reserved.\n" + "Squirrel.Windows (c) 2012 Github, Inc.\n\n" "This program is free software; you can redistribute it and/or modify " "it under the terms of the GNU General Public License as published by "