Home

Awesome

Switchfin

<img src="scripts/org.player.switchfin.svg" alt="icon" height="128" width="128" align="left">

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

build download nightly

This project is in its early stages so expect bugs.

Screenshots

HomeLibrary
HomeLibrary
SearchEpisode
SearchEpisode
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": "rpi",
      "url": "sftp//pi:raspberry@192.168.1.5/media"
    },
    {
      "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