From d41ae399e1d5fe92cd6e7b0465ab2a53b73439ed Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Tue, 30 Apr 2024 21:28:58 +0200 Subject: [PATCH 01/13] Set version to 0.3.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 70dcac2..515ed40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -project(scratchcpp-player VERSION 0.2.0 LANGUAGES CXX) +project(scratchcpp-player VERSION 0.3.0 LANGUAGES CXX) set(CMAKE_AUTOMOC ON) set(CMAKE_CXX_STANDARD_REQUIRED ON) From be05d65e7e90a9098778556370fb1921e06a9489 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 21 Aug 2024 10:53:15 +0200 Subject: [PATCH 02/13] Update scratchcpp-render to v0.5.1 --- scratchcpp-render | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scratchcpp-render b/scratchcpp-render index b10c34a..ab664a3 160000 --- a/scratchcpp-render +++ b/scratchcpp-render @@ -1 +1 @@ -Subproject commit b10c34a7c38061088021aea69a643dd74e1f749b +Subproject commit ab664a36c0373f5a11e99dbb1ccf1dffedd38a4c From 628cdec56c868f4075d73228ab74240cacdf5713 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 21 Aug 2024 18:28:04 +0200 Subject: [PATCH 03/13] Update scratchcpp-render to latest master --- scratchcpp-render | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scratchcpp-render b/scratchcpp-render index ab664a3..aa73263 160000 --- a/scratchcpp-render +++ b/scratchcpp-render @@ -1 +1 @@ -Subproject commit ab664a36c0373f5a11e99dbb1ccf1dffedd38a4c +Subproject commit aa732634fe7a5ee4a5ca4cc318b825829bea8b13 From ecc7bc5249c8086bb407fc8ae960136350a54763 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Fri, 23 Aug 2024 20:17:51 +0200 Subject: [PATCH 04/13] Update scratchcpp-render to latest master --- scratchcpp-render | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scratchcpp-render b/scratchcpp-render index aa73263..c9d7d1c 160000 --- a/scratchcpp-render +++ b/scratchcpp-render @@ -1 +1 @@ -Subproject commit aa732634fe7a5ee4a5ca4cc318b825829bea8b13 +Subproject commit c9d7d1c8153956463340f298295d39d65e95294d From 1ac791d4a00d5853eac76a287befbf5ae208e054 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 25 Aug 2024 11:30:53 +0200 Subject: [PATCH 05/13] Update scratchcpp-render to latest master --- scratchcpp-render | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scratchcpp-render b/scratchcpp-render index c9d7d1c..25c2533 160000 --- a/scratchcpp-render +++ b/scratchcpp-render @@ -1 +1 @@ -Subproject commit c9d7d1c8153956463340f298295d39d65e95294d +Subproject commit 25c25331141e2147e496b218aff00ae4725a90c4 From 83c8f5814bf6b3ab41422069f7a4935ca8971cad Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 25 Aug 2024 11:32:02 +0200 Subject: [PATCH 06/13] Add mute option to menu bar --- src/app/appmenubar.cpp | 22 ++++++++++++++++++++++ src/app/appmenubar.h | 6 ++++++ src/app/qml/main.qml | 1 + 3 files changed, 29 insertions(+) diff --git a/src/app/appmenubar.cpp b/src/app/appmenubar.cpp index 783c7ea..24229c1 100644 --- a/src/app/appmenubar.cpp +++ b/src/app/appmenubar.cpp @@ -55,6 +55,14 @@ AppMenuBar::AppMenuBar(QObject *parent) : m_editMenu->addItem(m_fps60ModeItem); connect(m_fps60ModeItem, &MenuItemModel::checkedChanged, this, &AppMenuBar::fps60ModeChanged); + // Edit -> Mute + m_muteItem = new MenuItemModel(m_editMenu); + m_muteItem->setText(tr("Mute")); + m_muteItem->setCheckable(true); + m_muteItem->setChecked(false); + m_editMenu->addItem(m_muteItem); + connect(m_muteItem, &MenuItemModel::checkedChanged, this, &AppMenuBar::muteChanged); + // Edit -> Project settings m_projectSettingsItem = new MenuItemModel(m_editMenu); m_projectSettingsItem->setText(tr("Project settings...")); @@ -133,3 +141,17 @@ void AppMenuBar::setFps60Mode(bool newFps60Mode) m_fps60ModeItem->setChecked(newFps60Mode); emit fps60ModeChanged(); } + +bool AppMenuBar::mute() const +{ + return m_muteItem->checked(); +} + +void AppMenuBar::setMute(bool newMute) +{ + if (m_muteItem->checked() == newMute) + return; + + m_muteItem->setChecked(newMute); + emit muteChanged(); +} diff --git a/src/app/appmenubar.h b/src/app/appmenubar.h index 564ddc5..d957c84 100644 --- a/src/app/appmenubar.h +++ b/src/app/appmenubar.h @@ -29,6 +29,7 @@ class AppMenuBar : public QObject Q_PROPERTY(uicomponents::MenuBarModel *model READ model NOTIFY modelChanged) Q_PROPERTY(bool turboMode READ turboMode WRITE setTurboMode NOTIFY turboModeChanged) Q_PROPERTY(bool fps60Mode READ fps60Mode WRITE setFps60Mode NOTIFY fps60ModeChanged) + Q_PROPERTY(bool mute READ mute WRITE setMute NOTIFY muteChanged) public: explicit AppMenuBar(QObject *parent = nullptr); @@ -41,11 +42,15 @@ class AppMenuBar : public QObject bool fps60Mode() const; void setFps60Mode(bool newFps60Mode); + bool mute() const; + void setMute(bool newMute); + signals: void modelChanged(); void fileOpened(const QString &fileName); void turboModeChanged(); void fps60ModeChanged(); + void muteChanged(); void projectSettingsTriggered(); void aboutAppTriggered(); @@ -65,6 +70,7 @@ class AppMenuBar : public QObject uicomponents::MenuModel *m_editMenu = nullptr; uicomponents::MenuItemModel *m_turboModeItem = nullptr; uicomponents::MenuItemModel *m_fps60ModeItem = nullptr; + uicomponents::MenuItemModel *m_muteItem = nullptr; uicomponents::MenuItemModel *m_projectSettingsItem = nullptr; uicomponents::MenuModel *m_helpMenu = nullptr; diff --git a/src/app/qml/main.qml b/src/app/qml/main.qml index 4553e89..5965219 100644 --- a/src/app/qml/main.qml +++ b/src/app/qml/main.qml @@ -141,6 +141,7 @@ ApplicationWindow { activeFocusOnTab: true focus: true turboMode: AppMenuBar.turboMode + mute: AppMenuBar.mute } } } From 1bc8c0b4c772217552575eff8c4678f0453aaad3 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sun, 25 Aug 2024 11:32:17 +0200 Subject: [PATCH 07/13] Add mute keyboard shortcut --- res/icons/CMakeLists.txt | 1 + res/icons/mute.svg | 9 +++++++++ src/app/qml/main.qml | 11 +++++++++++ 3 files changed, 21 insertions(+) create mode 100644 res/icons/mute.svg diff --git a/res/icons/CMakeLists.txt b/res/icons/CMakeLists.txt index b9e1f5a..1c144bc 100644 --- a/res/icons/CMakeLists.txt +++ b/res/icons/CMakeLists.txt @@ -12,4 +12,5 @@ qt_add_resources( green_flag.svg stop.svg turbo.svg + mute.svg ) diff --git a/res/icons/mute.svg b/res/icons/mute.svg new file mode 100644 index 0000000..6cdd71d --- /dev/null +++ b/res/icons/mute.svg @@ -0,0 +1,9 @@ + + + + Sound/Effects/Mute + Created with Sketch. + + + + diff --git a/src/app/qml/main.qml b/src/app/qml/main.qml index 5965219..15e6c0a 100644 --- a/src/app/qml/main.qml +++ b/src/app/qml/main.qml @@ -79,6 +79,10 @@ ApplicationWindow { AppMenuBar.fps60Mode = !AppMenuBar.fps60Mode break; + case Qt.ControlModifier: + AppMenuBar.mute = !AppMenuBar.mute + break; + default: player.stop() player.start() @@ -96,6 +100,13 @@ ApplicationWindow { } } + IconLabel { + icon.name: "mute" + icon.color: "transparent" + text: "" + visible: AppMenuBar.mute + } + IconLabel { icon.name: "turbo" icon.color: "transparent" From 8539bcb56c9c9109c90e2f25f00ed7627593e822 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sat, 31 Aug 2024 14:17:57 +0200 Subject: [PATCH 08/13] Update scratchcpp-render to v0.6.0 --- scratchcpp-render | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scratchcpp-render b/scratchcpp-render index 25c2533..3b639b2 160000 --- a/scratchcpp-render +++ b/scratchcpp-render @@ -1 +1 @@ -Subproject commit 25c25331141e2147e496b218aff00ae4725a90c4 +Subproject commit 3b639b29f495132a7fed206c6de0c821091c64fc From 84bb8c38590d455665d4885377c781dc824a74e5 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sat, 31 Aug 2024 14:19:34 +0200 Subject: [PATCH 09/13] Add HQ pen option Resolves: #18 --- src/app/qml/dialogs/ProjectSettingsDialog.qml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/app/qml/dialogs/ProjectSettingsDialog.qml b/src/app/qml/dialogs/ProjectSettingsDialog.qml index 68757d4..53fd2cd 100644 --- a/src/app/qml/dialogs/ProjectSettingsDialog.qml +++ b/src/app/qml/dialogs/ProjectSettingsDialog.qml @@ -38,6 +38,12 @@ CustomDialog { } } + CheckBox { + text: qsTr("High Quality Pen") + checked: projectPlayer.hqPen + onCheckedChanged: projectPlayer.hqPen = checked + } + // Remove limits Label { text: qsTr("Remove limits") From d0c26a964f60bd6473c22fe208c1eab56d033f53 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sat, 6 Apr 2024 18:47:27 +0200 Subject: [PATCH 10/13] Update to Qt 6.7 --- .github/workflows/linux-build.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/utests.yml | 2 +- .github/workflows/windows-build.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index e9a9c50..a119463 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - qt-version: ['6.6'] + qt-version: ['6.7'] qt-target: ['desktop'] qt-modules: [''] arch: ['amd64'] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ffd700f..66d7fb2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - qt-version: ['6.6'] + qt-version: ['6.7'] qt-target: ['desktop'] qt-modules: [''] arch: ['amd64'] @@ -91,7 +91,7 @@ jobs: runs-on: windows-latest strategy: matrix: - qt-version: ['6.6'] + qt-version: ['6.7'] qt-target: ['desktop'] qt-modules: [''] mingw-version: ['11.2.0'] diff --git a/.github/workflows/utests.yml b/.github/workflows/utests.yml index 34cbebc..34b5bd3 100644 --- a/.github/workflows/utests.yml +++ b/.github/workflows/utests.yml @@ -26,7 +26,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v3 with: - version: '6.6.*' + version: '6.7.*' - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DSCRATCHCPP_PLAYER_BUILD_UNIT_TESTS=ON diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 1640596..563b0f5 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -12,7 +12,7 @@ jobs: runs-on: windows-latest strategy: matrix: - qt-version: ['6.6'] + qt-version: ['6.7'] qt-target: ['desktop'] qt-modules: [''] mingw-version: ['11.2.0'] From 716d8fa586f0414248111350576d546f7fb50c1f Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 21 Aug 2024 11:33:29 +0200 Subject: [PATCH 11/13] Use install-qt-action v4 --- .github/workflows/linux-build.yml | 2 +- .github/workflows/release.yml | 4 ++-- .github/workflows/utests.yml | 2 +- .github/workflows/windows-build.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index a119463..0ff894e 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -37,7 +37,7 @@ jobs: ## Install Qt - if: contains(matrix.arch, 'amd64') name: Install Qt (Ubuntu) - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: ${{ matrix.qt-version }} host: 'linux' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 66d7fb2..60aa4b2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,7 +48,7 @@ jobs: # Install Qt - if: contains(matrix.arch, 'amd64') name: Install Qt - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: ${{ matrix.qt-version }} host: 'linux' @@ -123,7 +123,7 @@ jobs: shell: bash # Install Qt - name: Install Qt - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: ${{ matrix.qt-version }} host: 'windows' diff --git a/.github/workflows/utests.yml b/.github/workflows/utests.yml index 34b5bd3..a669287 100644 --- a/.github/workflows/utests.yml +++ b/.github/workflows/utests.yml @@ -24,7 +24,7 @@ jobs: sudo apt-get install -y nlohmann-json3-dev libutfcpp-dev xvfb libxcb-cursor0 shell: bash - name: Install Qt - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: '6.7.*' - name: Configure CMake diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 563b0f5..774da99 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -35,7 +35,7 @@ jobs: shell: bash ## Install Qt - name: Install Qt - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: ${{ matrix.qt-version }} host: 'windows' From 0906b5a002d471e7cbd50b783b349b43da299e71 Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Wed, 21 Aug 2024 11:54:23 +0200 Subject: [PATCH 12/13] Use linux_gcc_64 arch when installing Qt --- .github/workflows/linux-build.yml | 1 + .github/workflows/release.yml | 1 + .github/workflows/utests.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index 0ff894e..06f8776 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -41,6 +41,7 @@ jobs: with: version: ${{ matrix.qt-version }} host: 'linux' + arch: 'linux_gcc_64' target: ${{ matrix.qt-target }} modules: ${{ matrix.qt-modules }} - if: "!contains(matrix.arch, 'amd64')" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 60aa4b2..d315d64 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,6 +52,7 @@ jobs: with: version: ${{ matrix.qt-version }} host: 'linux' + arch: 'linux_gcc_64' target: ${{ matrix.qt-target }} modules: ${{ matrix.qt-modules }} - if: "!contains(matrix.arch, 'amd64')" diff --git a/.github/workflows/utests.yml b/.github/workflows/utests.yml index a669287..c0ca8bc 100644 --- a/.github/workflows/utests.yml +++ b/.github/workflows/utests.yml @@ -27,6 +27,7 @@ jobs: uses: jurplel/install-qt-action@v4 with: version: '6.7.*' + arch: 'linux_gcc_64' - name: Configure CMake run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DSCRATCHCPP_PLAYER_BUILD_UNIT_TESTS=ON From e8c1538d54b2a9c4c41322f441b3a1310fa5faee Mon Sep 17 00:00:00 2001 From: adazem009 <68537469+adazem009@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:31:26 +0200 Subject: [PATCH 13/13] Copy missing libraries when deploying for Windows --- .github/workflows/release.yml | 6 ++++++ .github/workflows/windows-build.yml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d315d64..0d071b3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -156,6 +156,12 @@ jobs: cd win_release windeployqt ${{ env.executable_name }}.exe --qmldir ..\win_build\src || exit 5 shell: cmd + - name: Copy libraries + run: | + cp ${QT_ROOT_DIR}/bin/libgcc_s_seh-1.dll win_release/ + cp ${QT_ROOT_DIR}/bin/libstdc++-6.dll win_release/ + cp ${QT_ROOT_DIR}/bin/libwinpthread-1.dll win_release/ + shell: bash # Update Windows repository - if: env.create_windows_installer == 1 && env.is_prerelease == 1 name: Do not update Windows repo if this is a pre-release diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 774da99..f087c6a 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -67,6 +67,12 @@ jobs: cd win_release windeployqt ${{ env.executable_name }}.exe --qmldir ..\win_build\src || exit 5 shell: cmd + - name: Copy libraries + run: | + cp ${QT_ROOT_DIR}/bin/libgcc_s_seh-1.dll win_release/ + cp ${QT_ROOT_DIR}/bin/libstdc++-6.dll win_release/ + cp ${QT_ROOT_DIR}/bin/libwinpthread-1.dll win_release/ + shell: bash ## Upload - name: Upload artifacts uses: actions/upload-artifact@v3