diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f44125e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,161 @@ +name: Release Builds +on: push +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + build-and-store-artifact: + name: Build + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-16.04, ubuntu-latest, macos-latest, windows-latest ] + + + steps: + # I DO NOT LIKE THIS, BUT WE CREATE THE RELEASE BEFORE BUILD IS SUCCESSFUL + # BECAUSE OF SERIOUS LIMITATIONS IN GITHUB ACTIONS + - name: Create Release + id: create_release + if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'ubuntu-latest' + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + + # SAVE RELEASE URL ARTIFACT SO OTHER PLATFORMS CAN FIND WHERE TO UPLOAD RELEASES + - name: Output Release URL File + if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'ubuntu-latest' + run: echo "${{ steps.create_release.outputs.upload_url }}" > release_url.txt + - name: Save release URL file for later + if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'ubuntu-latest' + uses: actions/upload-artifact@v1 + with: + name: release_url + path: release_url.txt + + + - uses: actions/checkout@v1 + - uses: ilammy/msvc-dev-cmd@v1 + - uses: jurplel/install-qt-action@v2 + + - name: Make GNU + if: matrix.os != 'windows-latest' + working-directory: ./buckshot + run: | + qmake + make + + # - name: Mac debug + # if: matrix.os == 'macos-latest' + # working-directory: ./buckshot + # run: | + # ls + # ls -al buckshot.app + # ls -al buckshot.app/Contents + # ls -al buckshot.app/Contents/MacOS + + - name: Prep Windows (Ico) + if: matrix.os == 'windows-latest' + shell: bash + run: | + cp assets/icon.ico buckshot + echo "RC_ICONS = icon.ico" >> buckshot.pro + + + - name: Make Windows + if: matrix.os == 'windows-latest' + working-directory: ./buckshot + run: | + qmake + nmake + + + # PACKAGING POST BUILD + - name: Package OSX + if: matrix.os == 'macos-latest' + run: | + ./package_mac.sh + pip3 install dmgbuild + dmgbuild -s dmg-settings.json "buckshot" buckshot.dmg + + - name: Package Linux + if: startsWith(matrix.os, 'ubuntu') + run: | + ./package_linux.sh + + - name: Package Windows + if: matrix.os == 'windows-latest' + working-directory: ./buckshot + run: | + mkdir buckshot + cp release\buckshot.exe buckshot + windeployqt buckshot + cp ../README.md buckshot + cp ../LICENSE.txt buckshot + cp ../assets/examples/* buckshot + $url = "https://github.com/digarok/b2d/releases/download/v1.4/b2d-windows-latest-v1.4.zip" + Invoke-WebRequest -Uri $url -OutFile b2d.zip + 7z.exe x b2d.zip + cp b2d.exe buckshot + $url = "https://github.com/digarok/cadius/releases/download/0.0.0/cadius-windows-latest-0.0.0.zip" + Invoke-WebRequest -Uri $url -OutFile cadius.zip + 7z.exe x cadius.zip + cp build/Src/Debug/Cadius.exe buckshot + 7z.exe a buckshot.zip buckshot\* + mv buckshot.zip .. + + + # EVERYTHING BELOW IS ONLY WHEN VERSION TAGS PUSHED (i.e. tag like "v0.1") + + + # LOAD THE RELEASE URL FOR ALL PLATFORMS + - name: Load Release URL from artifact + if: startsWith(github.ref, 'refs/tags/v') + uses: actions/download-artifact@v1 + with: + name: release_url + - name: Set upload_url + if: startsWith(github.ref, 'refs/tags/v') + shell: bash + id: release_info + run: | + value=`cat release_url/release_url.txt` + echo ::set-output name=upload_url::$value + + # UPLOAD RELEASES + - name: Upload Mac Release + if: startsWith(github.ref, 'refs/tags/v') && matrix.os == 'macos-latest' + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.release_info.outputs.upload_url }} + asset_path: ./buckshot.dmg + asset_name: buckshot.dmg + asset_content_type: application/octet-stream + + - name: Upload Ubuntu Latest Release + if: startsWith(github.ref, 'refs/tags/v') && startsWith(matrix.os, 'ubuntu') + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.release_info.outputs.upload_url }} + asset_path: ./buckshot-linux.zip + asset_name: buckshot-${{ matrix.os }}.zip + asset_content_type: application/octet-stream + + - name: Upload Windows Release + if: startsWith(github.ref, 'refs/tags/v') && startsWith(matrix.os, 'windows') + id: upload-release-asset + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.release_info.outputs.upload_url }} + asset_path: ./buckshot.zip + asset_name: buckshot-${{ matrix.os }}.zip + asset_content_type: application/zip diff --git a/.gitignore b/.gitignore index a9989fb..0157c5e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .DS_Store +Makefile build-buckshot-Desktop* +*.o diff --git a/README.md b/README.md index df96bf7..68cbb87 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,10 @@ This project is written in C++ using the Qt framework. It calls out to two exte You can build and run the project without it, but it won't be able to generate previews or save to ProDOS volumes without those 3rd-party binaries. The authors of those projects are not involved with this project, but have graciously encouraged my integration attempts with this software. +sudo apt-get update +sudo apt-get install build-essential +sudo apt-get install qt5 + You will need to copy the binaries of those two programs for your platform to the build directory you are running. Example for Mac OSX "Release" build: diff --git a/assets/buckshot.desktop b/assets/buckshot.desktop new file mode 100644 index 0000000..03fde29 --- /dev/null +++ b/assets/buckshot.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=buckshot +Comment=Convert modern image formats to Apple II formats +Terminal=false +Categories=Utility; +Exec=AppRun %F +Icon=buckshot.png diff --git a/assets/examples/example1.jpg b/assets/examples/example1.jpg new file mode 100644 index 0000000..e595fef Binary files /dev/null and b/assets/examples/example1.jpg differ diff --git a/assets/examples/example2.jpg b/assets/examples/example2.jpg new file mode 100644 index 0000000..ba1d724 Binary files /dev/null and b/assets/examples/example2.jpg differ diff --git a/assets/examples/example3.jpg b/assets/examples/example3.jpg new file mode 100644 index 0000000..8b92612 Binary files /dev/null and b/assets/examples/example3.jpg differ diff --git a/assets/icon.ico b/assets/icon.ico new file mode 100644 index 0000000..b743fef Binary files /dev/null and b/assets/icon.ico differ diff --git a/assets/make_ico.sh b/assets/make_ico.sh new file mode 100755 index 0000000..5d09f55 --- /dev/null +++ b/assets/make_ico.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +convert icon16.png icon32.png icon256.png icon.ico + diff --git a/buckshot/assets.qrc b/buckshot/assets.qrc new file mode 100644 index 0000000..6147c49 --- /dev/null +++ b/buckshot/assets.qrc @@ -0,0 +1,7 @@ + + + resources/binary.png + resources/disk.png + resources/image.png + + diff --git a/buckshot/buckshot.pro b/buckshot/buckshot.pro index f81f020..ac3eadb 100644 --- a/buckshot/buckshot.pro +++ b/buckshot/buckshot.pro @@ -26,5 +26,14 @@ HEADERS += mainwindow.h FORMS += mainwindow.ui -DISTFILES += \ - ../b2d +#@todo: integrate +#DISTFILES += \ +# ../b2d + +QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.8 + +RESOURCES += \ + assets.qrc + +# For issues of launching from Ubuntu desktops +QMAKE_LFLAGS += -no-pie diff --git a/buckshot/buckshot.pro.user b/buckshot/buckshot.pro.user index 1735e71..a3b4f64 100644 --- a/buckshot/buckshot.pro.user +++ b/buckshot/buckshot.pro.user @@ -1,10 +1,10 @@ - + EnvironmentId - {30a1729f-a912-4116-992a-f04331cbb1d0} + {23d26f48-d306-494e-9a6a-e70e7fc9f87a} ProjectExplorer.Project.ActiveTarget @@ -57,29 +57,22 @@ true - false - - - - true ProjectExplorer.Project.Target.0 - Desktop Qt 5.12.0 clang 64bit - Desktop Qt 5.12.0 clang 64bit - qt.qt5.5120.clang_64_kit + Desktop Qt 5.12.5 clang 64bit + Desktop Qt 5.12.5 clang 64bit + qt.qt5.5125.clang_64_kit 0 0 0 - /Users/dbrock/Google Drive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_0_clang_64bit-Debug + /Users/dbrock/GDrive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_5_clang_64bit-Debug true - qmake - QtProjectManager.QMakeBuildStep true @@ -89,8 +82,6 @@ true - Make - Qt4ProjectManager.MakeStep false @@ -100,14 +91,12 @@ 2 Build - + Build ProjectExplorer.BuildSteps.Build true - Make - Qt4ProjectManager.MakeStep true @@ -117,25 +106,21 @@ 1 Clean - + Clean ProjectExplorer.BuildSteps.Clean 2 false - Debug Debug Qt4ProjectManager.Qt4BuildConfiguration 2 - true - /Users/dbrock/Google Drive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_0_clang_64bit-Release + /Users/dbrock/Google Drive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_5_clang_64bit-Release true - qmake - QtProjectManager.QMakeBuildStep false @@ -145,8 +130,6 @@ true - Make - Qt4ProjectManager.MakeStep false @@ -156,14 +139,12 @@ 2 Build - + Build ProjectExplorer.BuildSteps.Build true - Make - Qt4ProjectManager.MakeStep true @@ -173,25 +154,21 @@ 1 Clean - + Clean ProjectExplorer.BuildSteps.Clean 2 false - Release Release Qt4ProjectManager.Qt4BuildConfiguration 0 - true - /Users/dbrock/Google Drive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_0_clang_64bit-Profile + /Users/dbrock/Google Drive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_5_clang_64bit-Profile true - qmake - QtProjectManager.QMakeBuildStep true @@ -201,8 +178,6 @@ true - Make - Qt4ProjectManager.MakeStep false @@ -212,14 +187,12 @@ 2 Build - + Build ProjectExplorer.BuildSteps.Build true - Make - Qt4ProjectManager.MakeStep true @@ -229,34 +202,47 @@ 1 Clean - + Clean ProjectExplorer.BuildSteps.Clean 2 false - Profile Profile Qt4ProjectManager.Qt4BuildConfiguration 0 - true 3 0 Deploy - + Deploy ProjectExplorer.BuildSteps.Deploy 1 - Deploy Configuration - ProjectExplorer.DefaultDeployConfiguration 1 + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 false false 1000 @@ -271,6 +257,7 @@ 0.01 10 true + kcachegrind 1 25 @@ -298,12 +285,12 @@ 2 - buckshot - - Qt4ProjectManager.Qt4RunConfiguration:/Users/dbrock/Google Drive/appleiigs/buckshot/buckshot/buckshot.pro - buckshot.pro + buckshot2 + Qt4ProjectManager.Qt4RunConfiguration:/Users/dbrock/GDrive/appleiigs/buckshot/buckshot/buckshot.pro + /Users/dbrock/GDrive/appleiigs/buckshot/buckshot/buckshot.pro - 3768 + false + false true false @@ -312,7 +299,7 @@ false true - /Users/dbrock/Google Drive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_0_clang_64bit-Debug/buckshot.app/Contents/MacOS + /Users/dbrock/GDrive/appleiigs/buckshot/build-buckshot-Desktop_Qt_5_12_5_clang_64bit-Debug/buckshot.app/Contents/MacOS 1 @@ -323,10 +310,10 @@ ProjectExplorer.Project.Updater.FileVersion - 20 + 22 Version - 20 + 22 diff --git a/buckshot/main.cpp b/buckshot/main.cpp index b48f94e..be841ca 100644 --- a/buckshot/main.cpp +++ b/buckshot/main.cpp @@ -3,6 +3,8 @@ int main(int argc, char *argv[]) { + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QApplication a(argc, argv); MainWindow w; w.show(); diff --git a/buckshot/mainwindow.cpp b/buckshot/mainwindow.cpp index 1b83bb3..2edee4f 100644 --- a/buckshot/mainwindow.cpp +++ b/buckshot/mainwindow.cpp @@ -9,7 +9,7 @@ #include "qformlayout.h" #include "qdialogbuttonbox.h" const QString MainWindow::programName = QString("buckshot"); -const QString MainWindow::version = QString("0.04"); +const QString MainWindow::version = QString("0.05"); const QString MainWindow::imageName = QString("saved"); MainWindow::MainWindow(QWidget *parent) : @@ -93,6 +93,8 @@ MainWindow::MainWindow(QWidget *parent) : updateNeeded = false; previewTimer = new QTimer(this); connect(previewTimer, SIGNAL(timeout()), this, SLOT(previewTimerTimeout())); + // decided to enable by checking in the form and calling this. + on_checkBox_livePreview_stateChanged(1); } @@ -292,9 +294,6 @@ void MainWindow::on_pushButton_preview_clicked() break; } - QString tempDir = "/tmp"; - - QString converterPath = "/Users/dbrock/appleiigs/grlib/b2d"; converterPath = QString("%1/b2d").arg(QCoreApplication::applicationDirPath()); @@ -302,6 +301,9 @@ void MainWindow::on_pushButton_preview_clicked() QStringList args; args << inputImgPath; // "/tmp/saved.bmp" args << outputFormat; + if (outputFormat == "DL" || outputFormat == "L") { + args << "N"; + } if (ui->horizontalSlider_crossHatch->value() > 0) { QString crossHatchArg = QString("Z%1").arg(ui->horizontalSlider_crossHatch->value()); @@ -330,7 +332,7 @@ void MainWindow::on_pushButton_preview_clicked() process.waitForFinished(); // BLOCKS!!! QString commandString = QString("%1 %2").arg(converterPath, args.join(" ")); - qDebug() << commandString; + //qDebug() << commandString; ui->plainTextEdit_lastCmd->document()->setPlainText(commandString); // ALL DONE SO TRY TO LOAD PREVIEW @@ -340,13 +342,13 @@ void MainWindow::on_pushButton_preview_clicked() int scale = 3; realScale = scale; previewPix = previewPix.scaled(80*scale, 48*scale); - qDebug() << "W80"; + //qDebug() << "W80"; } if (previewPix.width() == 560) { float scale = 0.5f; realScale = scale; previewPix = previewPix.scaled(qRound(560*scale),qRound(384*scale), Qt::KeepAspectRatio,Qt::SmoothTransformation); - qDebug() << "W560"; + //qDebug() << "W560"; } ui->label_preview->setPixmap(previewPix); ui->groupBox_preview->setTitle(QString("Preview - Scale %1").arg(qRound(realScale))); @@ -424,7 +426,7 @@ void MainWindow::on_actionWhat_is_this_triggered() "Once you are satisfied with your conversion settings, click \"Save Image File\" to save in one of the Apple ][ image formats based on the display mode. " "If you want to save that image file directly to a ProDOS volume, that is now supported via the \"Save To ProDOS\" function!\n\n" "Then you can load it up in your favorite emulator, or transfer it to real disks/flash storage to view on glorious vintage hardware.\n\n" - "(c)2016-2019 Dagen Brock *\n\n\n * bmp2dhr is by Bill Buckels and CADIUS is by Brutal Deluxe."); + "(c)2016-2020 Dagen Brock *\n\n\n * bmp2dhr is by Bill Buckels and CADIUS is by Brutal Deluxe."); msgBox.exec(); } @@ -479,11 +481,11 @@ void MainWindow::on_pushButton_saveToProdos_clicked() { if (!check_canSave()) return; - QString cadiusPath = "/Users/dbrock/appleiigs/tools/Cadius"; - cadiusPath = QString("%1/Cadius").arg(QCoreApplication::applicationDirPath()); + QString cadiusPath = "/Users/dbrock/appleiigs/cadius/cadius"; // Dev mode + cadiusPath = QString("%1/cadius").arg(QCoreApplication::applicationDirPath()); - // KSYNTHED=Type(06),AuxType(2000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000) + // MYPICBIN=Type(06),AuxType(2000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000) QString filetype = "06"; QString auxtype = "2000"; @@ -518,6 +520,7 @@ void MainWindow::on_pushButton_saveToProdos_clicked() msgBox.addButton(tr("Cancel"), QMessageBox::NoRole); QAbstractButton* pButton140 = msgBox.addButton(tr("140KB"), QMessageBox::ApplyRole); QAbstractButton* pButton800 = msgBox.addButton(tr("800KB"), QMessageBox::ApplyRole); + QAbstractButton* pButton32768 = msgBox.addButton(tr("32MB"), QMessageBox::ApplyRole); msgBox.setDefaultButton(QMessageBox::Yes); msgBox.exec(); @@ -526,6 +529,8 @@ void MainWindow::on_pushButton_saveToProdos_clicked() // set above, nothing to do } else if (msgBox.clickedButton()==pButton800) { imageSize = "800KB"; + } else if (msgBox.clickedButton()==pButton32768) { + imageSize = "32MB"; } else { return; // cancelled } diff --git a/buckshot/mainwindow.ui b/buckshot/mainwindow.ui index c4d4950..d0b681d 100644 --- a/buckshot/mainwindow.ui +++ b/buckshot/mainwindow.ui @@ -6,10 +6,28 @@ 0 0 - 671 - 576 + 682 + 612 + + + 0 + 0 + + + + + 682 + 612 + + + + + 682 + 612 + + MainWindow @@ -17,10 +35,10 @@ - 20 - 40 + 30 + 34 311 - 211 + 220 @@ -46,10 +64,10 @@ - 362 - 40 + 364 + 34 301 - 221 + 220 @@ -59,7 +77,7 @@ 11 - 24 + 20 280 192 @@ -98,223 +116,13 @@ - - - - 310 - 385 - 31 - 16 - - - - Off - - - - - - 310 - 415 - 31 - 16 - - - - Off - - - - - - 380 - 265 - 101 - 30 - - - - Live Preview - - - - - - 147 - 415 - 161 - 22 - - - - Qt::Horizontal - - - - - - 10 - 265 - 134 - 20 - - - - Apple ][ Display Mode - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 147 - 265 - 191 - 26 - - - - - - - 0 - 415 - 140 - 16 - - - - Color Bleed Reduction - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 101 - 355 - 37 - 16 - - - - Scale - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 0 - 385 - 140 - 16 - - - - Crosshatch Threshold - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 28 - 295 - 114 - 16 - - - - Source Resolution: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 147 - 325 - 191 - 26 - - - - - - - 147 - 385 - 161 - 22 - - - - 50 - - - Qt::Horizontal - - - - - - 155 - 295 - 161 - 16 - - - - 10x10 - - - - - - 21 - 325 - 121 - 20 - - - - Scale to Resolution - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 155 - 355 - 171 - 16 - - - - 1 - - - 360 - 370 - 291 - 71 + 10 + 540 + 661 + 41 @@ -326,161 +134,367 @@ This box shows the last conversion command run. - + - 370 - 480 - 141 - 32 + 10 + 260 + 341 + 271 - - Save Binary Image + + QFrame::StyledPanel + + QFrame::Raised + + + + + 10 + 10 + 321 + 231 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + -1 + + + -1 + + + + + Apple ][ Display Mode + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 1 + 0 + + + + + + + + Source Resolution + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 10x10 + + + + + + + Scale to Resolution + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Scale + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 1 + + + + + + + Crosshatch Threshold + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + 50 + + + Qt::Horizontal + + + + + + + Off + + + + + + + + + Color Bleed Reduction + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + Qt::Horizontal + + + + + + + Off + + + + + + + + + Dithering + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + - - - - 340 - 270 - 20 - 201 - - - - Qt::Vertical - - - - - - 510 - 480 - 141 - 32 - - - - Save to ProDOS - - - - - - 20 - 445 - 121 - 20 - - - - Dithering - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 147 - 445 - 191 - 26 - - - - + 360 - 340 - 131 - 21 + 260 + 311 + 271 + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 10 + 10 + 291 + 101 + + + + + + + + 0 + 0 + + + + Manual Preview + + + + + + + Preview Palette + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Additional arguments + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + + + + Live Preview + + + true + + + + + + + + + 10 + 120 + 291 + 148 + + + + + + + Qt::RightToLeft + + + text-align:left; + + + Save preview as PNG/BMP + + + + :/icons/resources/image.png:/icons/resources/image.png + + + + 36 + 32 + + + + + + + + Qt::RightToLeft + + + text-align:left; + + + Save output as local binary + + + + :/icons/resources/binary.png:/icons/resources/binary.png + + + + 36 + 32 + + + + + + + + Qt::RightToLeft + + + text-align:left; + + + Save output on ProDOS image + + + + :/icons/resources/disk.png:/icons/resources/disk.png + + + + 36 + 32 + + + + + + - - - - 390 - 295 - 101 - 20 - - - - Preview Palette: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 500 - 295 - 161 - 26 - - - - - - - 490 - 340 - 141 - 20 - - - - - 12 - - - - <- additional arguments - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - 500 - 265 - 161 - 32 - - - - Preview - - - - - - 370 - 450 - 281 - 32 - - - - Save preview as PNG/BMP - - + frame_2 + frame + groupBox_source + groupBox_preview + horizontalLayoutWidget + plainTextEdit_lastCmd 0 0 - 671 + 682 22 @@ -492,15 +506,6 @@ - - - TopToolBarArea - - - false - - - What is this? @@ -508,6 +513,8 @@ - + + + diff --git a/buckshot/resources/binary.png b/buckshot/resources/binary.png new file mode 100644 index 0000000..537c1ab Binary files /dev/null and b/buckshot/resources/binary.png differ diff --git a/buckshot/resources/disk.png b/buckshot/resources/disk.png new file mode 100644 index 0000000..a93f4f3 Binary files /dev/null and b/buckshot/resources/disk.png differ diff --git a/buckshot/resources/image.png b/buckshot/resources/image.png new file mode 100644 index 0000000..c68f50d Binary files /dev/null and b/buckshot/resources/image.png differ diff --git a/dmg-settings.json b/dmg-settings.json new file mode 100644 index 0000000..fd081c7 --- /dev/null +++ b/dmg-settings.json @@ -0,0 +1,15 @@ +{ + "title": "Buckshot", + "background": "assets/buckshot_dmg_bg_600x500.png", + "format": "UDZO", + "compression-level": 9, + "icon": "assets/icons.icns", + "window": { "position": { "x": 200, "y": 120 }, + "size": { "width": 600, "height": 500 } }, + "contents": [ + { "x": 410, "y": 130, "type": "link", "path": "/Applications" }, + { "x": 184, "y": 130, "type": "file", "path": "buckshot-package-osx/buckshot.app" }, + { "x": 184, "y": 330, "type": "file", "path": "buckshot-package-osx/README.txt" }, + { "x": 410, "y": 330, "type": "file", "path": "buckshot-package-osx/LICENSE.txt" } + ] +} diff --git a/make_dist_linux.sh b/make_dist_linux.sh old mode 100755 new mode 100644 diff --git a/make_dist_mac.sh b/make_dist_mac.sh index 42fe4b1..2ba28d8 100755 --- a/make_dist_mac.sh +++ b/make_dist_mac.sh @@ -29,7 +29,7 @@ cp README.md $DEXTRAS/README.txt cp LICENSE.txt $DEXTRAS # COPY BINARIES FROM EXTERNAL PROJECTS -cp ../b2d $DDIR/Contents/MacOS -cp ../tools/Cadius $DDIR/Contents/MacOS +cp ../buckshot-bins/mac/b2d $DDIR/Contents/MacOS +cp ../buckshot-bins/mac/cadius $DDIR/Contents/MacOS # packaging now in DMG script diff --git a/package_linux.sh b/package_linux.sh new file mode 100755 index 0000000..0f2e245 --- /dev/null +++ b/package_linux.sh @@ -0,0 +1,40 @@ +PACKAGEDIR=buckshot-package-ubuntu +APP=buckshot/buckshot +CONTENTDIR=${PACKAGEDIR}/buckshot.app/Contents +ASSETDIR=assets + +ID=${0##*/} + +echo "${ID}: MKDIR PACKAGEDIR" +mkdir -p $PACKAGEDIR + +echo "${ID}: COPY APP -> PACKAGEDIR" +cp -r $APP $PACKAGEDIR + +echo "${ID}: COPY EXTRA COMMON FILES" +cp README.md $PACKAGEDIR/README.txt +cp LICENSE.txt $PACKAGEDIR +cp assets/buckshot.desktop $PACKAGEDIR +cp assets/icon256.png $PACKAGEDIR/buckshot.png +cp assets/examples/* $PACKAGEDIR/ + + +echo "${ID}: DOWNLOAD UTILITY BINARIES" +curl -s -L -o cadius.zip https://github.com/digarok/cadius/releases/download/0.0.0/cadius-ubuntu-latest-0.0.0.zip +curl -s -L -o b2d.zip https://github.com/digarok/b2d/releases/download/v1.4/b2d-ubuntu-latest-v1.4.zip +unzip -o cadius.zip -d cadius +unzip -o b2d.zip -d b2d +echo "${ID}: COPY UTILITY BINARIES" +chmod +x b2d/b2d # @TODO: Fix me +cp b2d/b2d $PACKAGEDIR +cp cadius/cadius $PACKAGEDIR + +echo "${ID}: INSTALL EXTRA DEV PACKAGES" +sudo apt-get install -y libxkbcommon-x11-0 + +echo "${ID}: RUN DEPLOY BUILD" +wget -nv https://github.com/probonopd/linuxdeployqt/releases/download/5/linuxdeployqt-5-x86_64.AppImage +chmod +x linuxdeployqt-5-x86_64.AppImage +./linuxdeployqt-5-x86_64.AppImage $PACKAGEDIR/buckshot -appimage -bundle-non-qt-libs -verbose=2 + +zip -r buckshot-linux.zip $PACKAGEDIR diff --git a/package_mac.sh b/package_mac.sh new file mode 100755 index 0000000..dc453be --- /dev/null +++ b/package_mac.sh @@ -0,0 +1,40 @@ +PACKAGEDIR=buckshot-package-osx +APPBUILDDIR=buckshot/buckshot.app +CONTENTDIR=${PACKAGEDIR}/buckshot.app/Contents +ASSETDIR=assets + +ID=${0##*/} + +# SET PATH +#echo "${ID}: SET QT ENV" +#. qt-env.sh + +echo "${ID}: RUN macdeployqt" +macdeployqt $APPBUILDDIR + +echo "${ID}: MKDIR PACKAGEDIR" +mkdir -p $PACKAGEDIR + +echo "${ID}: COPY APPBUILDDIR -> PACKAGEDIR" +cp -r $APPBUILDDIR $PACKAGEDIR + +echo "${ID}: COPY EXTRA FILES" +mkdir -p $CONTENTDIR/MacOS +mkdir -p $CONTENTDIR/Resources +cp $ASSETDIR/Info.plist $CONTENTDIR +cp $ASSETDIR/icons.icns $CONTENTDIR/Resources +cp README.md $PACKAGEDIR/README.txt +cp LICENSE.txt $PACKAGEDIR +cp $ASSETDIR/examples/* $PACKAGEDIR + +echo "${ID}: DOWNLOAD UTILITY BINARIES" +curl -s -L -o cadius.zip https://github.com/digarok/cadius/releases/download/0.0.0/cadius-macos-latest-0.0.0.zip +curl -s -L -o b2d.zip https://github.com/digarok/b2d/releases/download/v1.4/b2d-macos-latest-v1.4.zip +unzip -o cadius.zip -d cadius +unzip -o b2d.zip -d b2d + + +chmod +x b2d/b2d # @TODO: Fix me +cp b2d/b2d $CONTENTDIR/MacOS +cp cadius/cadius $CONTENTDIR/MacOS + diff --git a/platform/linux/buckshot.sh b/platform/linux/buckshot.sh old mode 100755 new mode 100644