dragonflylee / switchfin

Third-party native Jellyfin client for Nintendo Switch
Apache License 2.0
292 stars 6 forks source link
jellyfin jellyfin-client mpv nintendo-switch nintendo-switch-homebrew

Switchfin

icon

Switchfin is third-party PC player for Jellyfin that provides a native user interface to browse and play movies and series.

build download nightly

This project is in its early stages so expect bugs.

Screenshots

Home Library
Home Library
Search Episode
Search Episode
Music
Music

Features

Input mapping during playback

FAQ

  1. Q: Subtitles didn't display? A: Put any ttf file at /switch/Switchfin/subfont.ttf
  2. Q: How to play media files on webdav server? A: Edit config file config.json
{
  "remotes": [
    {
      "name": "local",
      "url": "file:///switch"
    },
    {
      "name": "xiaoya",
      "passwd": "guest_Api789",
      "url": "webdav://192.168.1.5:5678/dav",
      "user": "guest"
    },
    {
      "name": "rclone",
      "url": "http://192.168.1.5:8000"
    }
  ]
}
rclone serve http --addr :8000 --read-only /media/downloads

TODO list

Develop

git clone https://github.com/dragonflylee/switchfin.git --recurse-submodules --shallow-submodules

Building for Switch

To build for Switch, a standard development environment must first be set up. In order to do so, refer to the Getting Started guide.

sudo dkp-pacman -S switch-dev switch-glfw switch-libwebp switch-curl switch-libmpv
cmake -B build_switch -DPLATFORM_SWITCH=ON -DBUILTIN_NSP=ON
make -C build_switch Switchfin.nro -j$(nproc)
# for debug
nxlink -a <YOUR IP> -p Switchfin/Switchfin.nro -s Switchfin.nro --args -d -v

Building for MinGW64

pacman -S ${MINGW_PACKAGE_PREFIX}-cc ${MINGW_PACKAGE_PREFIX}-ninja ${MINGW_PACKAGE_PREFIX}-cmake
cmake -B build_mingw -G Ninja -DPLATFORM_DESKTOP=ON
cmake --build build_mingw

Thanks to