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
Option 1: The project's .pro
file can be loaded in the Qt Creator IDE and the project built from there.
Option 2: Manual building using qmake
& make
commands.
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.
- Download or clone the project repository
- Navigate to
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.