diff --git a/Docs/ContinousIntegration.md b/Docs/ContinousIntegration.md deleted file mode 100644 index 728151f8..00000000 --- a/Docs/ContinousIntegration.md +++ /dev/null @@ -1,7 +0,0 @@ -### Continous Inegration - -##### Code Checks - -##### Benchmarks - -##### Unit tests \ No newline at end of file diff --git a/Docs/DeveloperSetup.md b/Docs/DeveloperSetup.md deleted file mode 100644 index 7ad4b9ca..00000000 --- a/Docs/DeveloperSetup.md +++ /dev/null @@ -1,77 +0,0 @@ -# Setup -1. Download and install the tools for your platform __first__. - 1. [Windows](#windows) - 1. [Linux](#linux) - 1. [MacOS](#macos) -2. __Then__ see the instruction of [how to setup QtCreator and compile ScreenPlay](#setup-qtcreator-and-compile-screenplay) - -## Windows -1. Download and install: - 1. Microsoft Visual Studio Community 2022 [Download](https://visualstudio.microsoft.com/de/vs/community/) - 1. Make sure you have the exact Windows SDK and MSVC version installed we use in `CMakePresets.json` - 1. `"VCToolsVersion": "14.34.31933"` aka Visual Studio `17.4.3` - 2. `"WindowsSDKVersion" : "10.0.22621.0"` - 2. Python 3.11+ and select `Add to Path` during the installation. [Download](https://www.python.org/downloads/) - 3. Optional if you do not have tools like `git` or `cmake` installed, we recommend `Chocolatey`: - 1. Chocolatey via Powershell (Administrator) [Download](https://chocolatey.org/install) - 2. Run `choco.exe install git vscode cmake --installargs 'ADD_CMAKE_TO_PATH=System' -y` - -## Linux -1. Install dependencies for Debian/Ubuntu: -``` bash -sudo apt install build-essential git gpg ffmpeg mesa-common-dev libxkbcommon-* libfontconfig curl zip unzip tar cmake pkg-config apt-transport-https ca-certificates gnupg software-properties-common wget software-properties-common python3 python3-pip libgl1-mesa-dev lld ninja-build qml-module-qt-websockets qtwebengine5-* -y -# Only needed if we want x11 support -sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev -``` - -## MacOS -1. Install XCode 14+ , open and restart your device. -1. Install [brew](https://brew.sh) that is needed by some third party vcpkg packages. Do not forget to add brew to your path as outlined at the on of the installation! - - `brew install pkg-config git llvm cmake` - -# Download ScreenPlay and dependencies -``` bash -git clone --recursive https://gitlab.com/kelteseth/ScreenPlay.git ScreenPlay/ScreenPlay -cd ScreenPlay -``` -Downloading dependencies is 100% automated. Simply run the `setup.py` script -``` bash -cd Tools -# Windows defaults to python, linux and macOS uses python3 -python -m pip install -r requirements.txt -# This scrit will: -# 1. Downloads `Qt` and `QtCreator` -# 2. Create a `vcpkg` folder for dependencies -# 3. Compiles the dependencies -# 4. Downloads ffmpeg -python setup.py -``` -Now you can either use VSCode or QtCreator: -# Option 1 (Recommended): Setup VSCode and compile ScreenPlay -1. Open VSCode -1. Install these extentions: - 1. [C/C++ for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) - 1. [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) -2. Press: `CTRL` + `SHIFT` + `P` for every command: - 1. `CMake: Select Configure Preset`. Select one of the listed presets like `MSVC SP Qt 6.4.2 Debug` - 2. `CMake: Configure` -4. Press `F7` to Compile and `F5` to run! - -⚠️ Do not forget to switch you CMake build target when switching run targets! For example you need to select the `debug` run target when you compile in `debug` mode! -# Option 2: Setup QtCreator and compile ScreenPlay -1. Open QtCreator at: - 1. Windows: `..\aqt\Tools\QtCreator\bin\qtcreator.exe` - 2. Linux: `../aqt/Tools/QtCreator/bin/qtcreator` - 3. MacOS: `../aqt/Qt Creator` -2. Select the imported temporary kit like `MSVC SP Qt 6.4.2 Debug` -3. Press `CTRL` + `B` to Compile and `F5` to run! - -# Developer docs -We use qdoc to generate documentation. Qt6 is the minimum version qdoc, because of vastly improved c++ parsing support. -* qdoc.exe configWindows.qdocconf -If you have installed Qt in a different directory, change the path to your Qt location. - -Some useful links: -* [Introduction to QDoc](https://doc.qt.io/qt-5/01-qdoc-manual.html) -* [Writing qdoc comments](https://doc.qt.io/qt-5/qdoc-guide-writing.html) - diff --git a/Docs/ProjectOverview.md b/Docs/ProjectOverview.md deleted file mode 100644 index 59f80f35..00000000 --- a/Docs/ProjectOverview.md +++ /dev/null @@ -1,46 +0,0 @@ -# Overview -ScreenPlay consists of 7 projects: -1. **ScreenPlay executable** - * The main ScreenPlay App UI with Create, Installed, Community and Settings. -2. **ScreenPlayWallpaper executable** - * The Wallpaper executable that is used for displaying a single wallpaper. This uses ScreenPlaySDK to talk via QLocalsockets with the main ScreenPlayApp. -3. **ScreenPlayWidget executable** - * The Widget executable that is used for displaying a single widget. This uses ScreenPlaySDK to talk via QLocalsockets with the main ScreenPlayApp. -4. **ScreenPlayUtil lib** - * Util function, like project.json loading, that are needed in ScreenPlay and Workshop plugin. -5. **ScreenPlaySDK lLib** - * A SDK used internally in the ScreenPlayWallpaper and ScreenPlayWidget to talk to the main ScreenPlay app via QLocalsockets (Windows Pipes and Unix sockets). -6. **ScreenPlaySysInfo lib** - * A qml plugin to read CPU, GPU, Network and all sort of statisitcs. -7. **ScreenPlayWorkshop plugin** - * The Steam workshop plugin that is loaded at runtime. - -![ProjectOverview.png](ProjectOverview.png) - -### ScreenPlay App Class -ScreenPlay wrapps all classes into a App.h and App.cpp class. This is easier for unit test integration (not implemented yet!). The main app class is used for owning [all other classes via Q_PROPERTY](https://gitlab.com/kelteseth/ScreenPlay/-/blob/master/ScreenPlay/app.h#L39) to be easily accessible in the GUI/QML. We use the [constructor](https://gitlab.com/kelteseth/ScreenPlay/-/blob/master/ScreenPlay/app.cpp#L44) of the App class to initialize all Qt register types, fonts and to check if another ScreenPlay instance is running. The [init()](https://gitlab.com/kelteseth/ScreenPlay/-/blob/master/ScreenPlay/app.cpp#L103) method is used to initialize all other c++ classes in a certain order! It also sets up some events [signal/slots](https://doc.qt.io/qt-5/signalsandslots.html) like when the user changes the UI language. - -For all other class documentation please visit [ScreenPlayDeveloperDocs](https://kelteseth.gitlab.io/ScreenPlayDeveloperDocs/) - -``` mermaid - graph TD - - Main.cpp --> App - App --> QQmlApplicationEngine - App --> GlobalVariables - App --> ScreenPlayManager - ScreenPlayManager --> ScreenPlayWallpaper - ScreenPlayManager --> ScreenPlayWidget - App --> Create - Create--> CreateVideoImport - App --> Util - App --> Settings - App --> SDKConnector - App --> InstalledListModel - InstalledListModel --> ProjectFile - App --> InstalledListFilter - App --> MonitorListModel - MonitorListModel --> Monitor - App --> ProfileListModel - ProfileListModel --> Profile -``` diff --git a/Docs/ProjectOverview.png b/Docs/ProjectOverview.png deleted file mode 100644 index 65cdab12..00000000 Binary files a/Docs/ProjectOverview.png and /dev/null differ diff --git a/README.md b/README.md index 716d37a9..9a2c14fa 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,12 @@ ScreenPlay: [![pipeline status](https://gitlab.com/kelteseth/ScreenPlay/badges/m [中文总览](README_zh_CN.md) -ScreenPlay is an Open Source cross-platform app for displaying Video Wallpaper & Widgets. It is written in modern C++20/Qt5/QML.
Homepage - Forum- Discord +ScreenPlay is an Open Source cross-platform app for displaying Video Wallpaper & Widgets. It is written in modern C++20/Qt6/QML.
Homepage - Forums- Discord + +

Developer setup guide on how to download and compile ScreenPlay yourself.

-

🚀Support ScreenPlay On Patreon🚀

-# Important Issues -* [Implement KDE Support](https://gitlab.com/kelteseth/ScreenPlay/-/issues/111) - # Content Creation [Learn the basics of QML for Wallpapers and Widgets in 5 minutes](https://screen-play.app/blog/guide_learn_the_basics_of_qml/)
@@ -61,7 +59,7 @@ Here are some ways you can contribute: * by [verifying issues](https://gitlab.com/kelteseth/ScreenPlay/-/issues?label_name%5B%5D=Unverified) # Development -* [**Developer setup guide on how to download and compile ScreenPlay yourself.**](Docs/DeveloperSetup.md) +* [**Developer setup guide on how to download and compile ScreenPlay yourself.**](https://kelteseth.gitlab.io/ScreenPlayDocs/Building%20ScreenPlay/) * If you want to contribute but don't know how to start, take a look at our open issues and WIP merge request. * If you need help don't hesitate to ask me (Kelteseth) via: * [Create a forum topic with a detailed description](https://forum.screen-play.app/category/2/general-discussion)