JoKinoJo is a media player that synchronises media playback with your friends. Allows you and your friend to watch media together.
- To start the server, at first, cd into the python directory of this project.
- Compile the protobuf file.
protoc --python_out=. network.proto- Create and activate the python virtual environment.
- Install protobuf python library with pip.
- Start the server.
python3 -m venv venv
source venv/bin/activate
pip install protobuf
python server.pyTo build the desktop app, at first, cd into the desktop directory of this project.
- CMake version 3.27 or newer.
- C++ Compiler supporting C++20.
- Libraries:
- Protobuf
- wxWidgets
- MPV
- Asio
- abseil-cpp(protobuf requires this)
- pkg-config
- In windows, this project uses vcpkg, in linux, it doesn't.
- If you are already comfortable with cmake and vcpkg, you can use your own ways.
- If you already have vcpkg in your system, you can use that one if you want, you just need to change the cmake variables CMAKE_TOOLCHAIN_FILE, CMAKE_PREFIX_PATH and Protobuf_LIBRARIES according to your vcpkg paths.
- You can also use the prebuilt version I provided.(only for Windows, It is already easy to build for Linux)
- To the libraries folder of this project, clone the vcpkg.(I will add it as git submodule)
- Run the bootstrap-vcpkg.bat file in the vcpkg folder.
- Install these libraries with vcpkg( vcpkg.exe install library_name ):
vcpkg doesn't have libmpv so I included the binarires in the project. You don't need to install it.
- install these libraries using your package manager:
- Protobuf
- wxWidgets
- MPV
- abseil-cpp or abseil(protobuf requires this)
- pkg-config
Examples:
sudo pacman -S protobuf wxwidgets abseil-cpp pkg-config mpvbrew install protobuf wxwidgets abseil pkg-config mpv- Create a build directory and cd into it.
- Build the project with cmake:
cmake ..cmake --build . --config release- Copy the dll files to the build folder
- Execute the generated binary:
./JoKinoJoOr just double click it.