This document covers how to build this software from source.
NymphCast Player (NCP) is a GUI (Qt5-based) client application that can auto-detect NymphCast Server & MediaServer instances on the local network, as well as initiate and control playback of content.
NCP allows for the playback of local media files, files shared via an NC MediaServer, or via a URL.
A C++17-capable GCC, or MSVC toolchain is required in addition to the below dependencies:
- NymphRPC
- LibNymphCast
- Qt5
On Debian & derivatives:
sudo apt -y install qtbase5-dev
On Arch & derivatives:
sudo pacman -S qt5-base
The project can be built with QMake or with CMake. Either way, obtain and install the NymphRPC & LibNymphCast dependencies:
- Check-out NymphRPC elsewhere and build the library per the provided instructions.
- Check-out LibNymphCast elsewhere and build the library per the provided instructions.
When building on the command line, follow one of the following sections. Otherwise both options can be loaded into any IDE like the Qt Creator IDE and built from there.
- Download or clone the project repository
- Navigate to the
player
folder in the project files. - Trigger CMake
cmake -B build
- Build it:
cmake --build build
- The player binary is created as
build/NymphCastPlayer/nymphcast-player
- Download or clone the project repository
- Navigate to the
player/NymphCastPlayer
folder in the project files. - Create build folder:
mkdir build
and enter it:cd build
- Trigger QMake:
qmake ..
- Build with Make:
make
- The player binary is created either in the same build folder or in a
debug/
sub-folder.
With MSVC 2017, 2019 or 2022:
- Download or clone the project repository.
- Ensure vcpkg is installed with the VCPKG_ROOT environment variable defined.
- Compile from native x64 MSVC shell using
Setup-NMake-vcpkg.bat
. - Create InnoSetup-based installer using
Setup-NMake-vcpkg.bat package
with the IS root folder in the system path.
Note: Poco for Android must be built using the patches provided with the alternate Poco build system for certain network functionality to function.
- Download or clone the project repository.
- Compile the dependencies (LibNymphCast, NymphRPC & Poco) for the target Android platforms.
- Ensure dependency libraries along with their headers are installed in the Android NDK, under
<ANDROID_SDK>/ndk/<VERSION>/toolchains/llvm/prebuilt/<HOST_OS>/sysroot/usr/lib/<TARGET>
whereTARGET
is the target Android platform (ARMv7, AArch64, x86, x86_64). Header files are placed in the accompanyingusr/include
folder. - Open the Qt project in a Qt Creator instance which has been configured for building for Android targets, and build the project.
- An APK is produced, which can be loaded on any supported Android device.