10 Commits

Author SHA1 Message Date
AresValley
d2e0ece9eb Linux and MacOS autopack actions 2022-10-01 19:40:06 +02:00
AresValley
d1716621b0 Auto packaging script for Linux OS 2022-10-01 12:30:32 +02:00
AresValley
cd5d31b404 Updated changelog 2022-09-30 22:37:22 +02:00
AresValley
5a1db2c0d4 Updated version info 2022-09-30 22:33:25 +02:00
AresValley
e4fdf1d564 Changed python version (3.10->3.9) for packaging 2022-09-30 22:10:12 +02:00
AresValley
3e02dd7bfa Updated changelog and version 2022-09-29 18:12:56 +02:00
AresValley
0e20fcbc71 Auto packaging for windows with GitHub actions 2022-09-29 18:02:38 +02:00
Marco Dalla Tiezza
91099940ff Merge pull request #34 from pinkavaj/pi-fix-play
Fix crash for playing audio
2022-09-29 17:58:29 +02:00
Jiří Pinkava
490d9cf3e6 Fix crash for playing audio
pygame 2.1.2 (SDL 2.24.0, Python 3.10.7
  File "audio_player.py", line 122, in _set_max_progress_bar
    self._audio_progress.setMaximum(
TypeError: setMaximum(self, int): argument 1 has unexpected type 'float'
2022-09-27 23:39:24 +02:00
Marco Dalla Tiezza
c84b0d2963 Update README.md 2022-07-29 22:15:57 +02:00
7 changed files with 193 additions and 5 deletions

64
.github/workflows/linux-packaging.yml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: Auto Packaging - Linux
on:
workflow_dispatch:
jobs:
linux-packaging:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Use Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: pip install -r ./requirements/requirements.txt
- name: Install PyInstaller
run: |
pip install pyinstaller
- name: Build Artemis main executable
run: |
cd ./spec_files/Linux
mkdir output
mkdir output/artemis
pyinstaller Artemis.spec
mv -v ./dist/Artemis ./output/Artemis
rm -rfv dist build
pyinstaller updater.spec
mv -v ./dist/_ArtemisUpdater ./output/_ArtemisUpdater
rm -rfv dist build
echo "Create single archives"
cd output
cp -r ../../../src/themes artemis/themes
rm -f artemis/themes/__current_theme
cp Artemis artemis/Artemis
cp _ArtemisUpdater artemis/_ArtemisUpdater
tar -czvf Artemis_linux.tar.gz Artemis -C artemis themes
tar -czvf _ArtemisUpdater_linux.tar.gz ./_ArtemisUpdater
echo "Create full archive for website"
cp ../artemis3.svg artemis
cp ../create_shortcut.sh artemis
tar -czvf ArtemisWebDownlaod_linux.tar.gz artemis
echo "Get size and sha256"
python ../../__get_hash_code.py Artemis_linux.tar.gz _ArtemisUpdater_linux.tar.gz ArtemisWebDownlaod_linux.tar.gz > checksum.txt
- uses: actions/upload-artifact@v3
with:
name: Artemis_Linux
path: |
./spec_files/Linux/output/Artemis_linux.tar.gz
./spec_files/Linux/output/_ArtemisUpdater_linux.tar.gz
./spec_files/Linux/output/ArtemisWebDownlaod_linux.tar.gz
./spec_files/Linux/output/checksum.txt

34
.github/workflows/macOS-packaging.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Auto Packaging - MacOS
on:
workflow_dispatch:
jobs:
macos-packaging:
runs-on: macos-11
steps:
- uses: actions/checkout@v3
- name: Use Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: pip install -r ./requirements/requirements.txt
- name: Install PyInstaller
run: |
pip install pyinstaller
- name: Build Artemis main executable
run: |
cd ./spec_files/macOS
pyinstaller Artemis.spec
ls -lart
- uses: actions/upload-artifact@v3
with:
name: Artemis_MacOS
path: |
./spec_files/macOS/dist

79
.github/workflows/windows-packaging.yml vendored Normal file
View File

@@ -0,0 +1,79 @@
name: Auto Packaging - Windows
on:
workflow_dispatch:
jobs:
windows-packaging:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
- name: Use Python 3.9
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: pip install -r ./requirements/requirements.txt
- name: Install PyInstaller
run: |
pip install pyinstaller
- name: Build Artemis main executables
run: |
CD spec_files\Windows
ECHO "Building Artemis executable..."
MKDIR output
pyinstaller artemis.spec
MOVE dist\Artemis.exe .\output\Artemis.exe
RMDIR -recurse -force dist
RMDIR -recurse -force build
ECHO "Building updater..."
pyinstaller updater.spec
MOVE dist\_ArtemisUpdater.exe .\output\_ArtemisUpdater.exe
RMDIR -recurse -force dist
RMDIR -recurse -force build
CD output
MKDIR Artemis
XCOPY /y Artemis.exe Artemis\
XCOPY /e /k /y ..\..\..\src\themes Artemis\themes\ /EXCLUDE:..\excluded_files.txt
XCOPY /y _ArtemisUpdater.exe Artemis\
ECHO "Compress files themes+Artemis.exe -> Artemis.zip"
$compress = @{
Path = ".\Artemis.exe", "..\..\..\src\themes"
CompressionLevel = "Optimal"
DestinationPath = ".\Artemis_win.zip"
}
Compress-Archive @compress
$compress = @{
Path = ".\_ArtemisUpdater.exe"
CompressionLevel = "Optimal"
DestinationPath = ".\_ArtemisUpdater_win.zip"
}
Compress-Archive @compress
ECHO "Compress all files for website download"
$compress = @{
Path = "Artemis"
CompressionLevel = "Optimal"
DestinationPath = ".\ArtemisWebsite_win.zip"
}
Compress-Archive @compress
python ..\..\__get_hash_code.py Artemis_win.zip _ArtemisUpdater_win.zip ArtemisWebsite_win.zip > checksum.txt
- uses: actions/upload-artifact@v3
with:
name: Artemis_Windows
path: |
.\spec_files\Windows\output\Artemis_win.zip
.\spec_files\Windows\output\_ArtemisUpdater_win.zip
.\spec_files\Windows\output\ArtemisWebsite_win.zip
.\spec_files\Windows\output\checksum.txt

View File

@@ -3,6 +3,16 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
The first release is [3.0.0] because this is actually the third major version (completely rewritten) of the software.
## [3.2.4] - 2022-09-30
### Fixed
- Fixed crash on opening the Rx/Tx Condition tab
## [3.2.3] - 2022-09-29
### Added
- Add auto-packaging feature using GitHub actions for Windows OS (experimental)
### Fixed
- Fix crash for playing audio ([#34](https://github.com/AresValley/Artemis/pull/34))
## [3.2.2] - 2022-07-29
### Fixed
- Fixed crash on startup or if checking for updates without an internet connection ([#23](https://github.com/AresValley/Artemis/pull/23))

View File

@@ -33,8 +33,8 @@ For more information, follow [the main page of Artemis 3](https://aresvalley.com
**Requirements:**
- Windows 7/8/8.1/10
- Linux: Ubuntu 18.04+, Mint 19+, Fedora 28+ and many other. **You need at least version 2.27 of the GLIBC system library** ([details](https://github.com/AresValley/Artemis/tree/master/spec_files))
- macOS
- Linux: Ubuntu 20.04+, Mint 20+, Fedora 32+ and many other. **You need at least version 2.31 of the GLIBC system library** ([details](https://github.com/AresValley/Artemis/tree/master/spec_files))
- macOS 11+ (Big Sur or later)
### Run from source code
Run the software from the source code with the Python interpreter is the simplest and natural way to run Artemis 3.
@@ -147,7 +147,7 @@ The only folder with the pre-built package is the `themes` one. In this way the
Some of the available themes were adapted from https://github.com/GTRONICK/QSS.
## License
This program (ARTEMIS 3, 2014-2020) is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program (ARTEMIS 3, 2014-2022) is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

View File

@@ -64,7 +64,7 @@ import loggingconf # noqa 401
# import default_imgs_rc
__LATEST_VERSION__ = "3.2.2"
__LATEST_VERSION__ = "3.2.4"
if IS_BINARY:
__VERSION__ = __LATEST_VERSION__

View File

@@ -1,3 +1,4 @@
import math
import os
from pygame import mixer
from PyQt5.QtCore import QTimer, pyqtSlot, QObject
@@ -120,7 +121,7 @@ class AudioPlayer(QObject):
def _set_max_progress_bar(self):
"""Set the maximum value of the progress bar."""
self._audio_progress.setMaximum(
mixer.Sound(self._audio_file).get_length() * 1000
math.ceil(mixer.Sound(self._audio_file).get_length() * 1000)
)
def set_audio_player(self, fname=""):