Skip to content

Latest commit

 

History

531 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

player

A media player for Ister, the self-hosted media server. Ships for Android (incl. Android TV and Android Auto), Linux (flatpak), Windows, macOS, iOS and web.

User guide: ister.app/player — architecture docs for contributors: ister.app/development.

Development

flutter pub get
dart run build_runner build   # GraphQL types + routing, after changing .graphql/@RoutePage
flutter test                  # unit/widget tests
flutter analyze

Integration tests

integration_test/ drives the real app against the Helm chart's kind deployment: adding a server, watching a movie over HLS, listening to an audiobook and a podcast, reading an epub (with progress sync) and read-aloud. Bring the environment up from a checkout of the chart repo and run everything with:

make -C ../chart player-e2e

or run it by hand: make -C ../chart up, start ../chart/ci/e2e/forward-for-player.sh, then

flutter test integration_test -d linux --dart-define=ISTER_TEST_MODE=true

ci/e2e-pins.env pins which chart release, testdata commit and server version CI tests against; releases require hard pins (see the comments in that file).

Iso 639-3 data

https://iso639-3.sil.org/code_tables/download_tables

Desktop builds

Windows and macOS need their own toolchain (MSVC resp. Xcode) and cannot be cross-built from Linux; CI builds them and attaches a zip to each release. For macOS each release additionally builds a signed .pkg and uploads it to TestFlight — the friction-free install route; the ad-hoc zip stays for direct download (with the one-time quarantine xattr, see the user docs).

flutter build windows --release
flutter build macos --release

iOS

Builds on macOS only. Each release builds a signed .ipa in CI, uploads it to TestFlight and attaches it to the release; testers install via the TestFlight app, no Mac needed. The pull-request gate still compiles unsigned as a regression check. Building and sideloading it yourself from a Mac remains possible — see doc/user/en/00-installation.md.

flutter build ios --release          # needs a signing team configured in Xcode

Linux flatpak version

flutter build linux
flatpak-builder --user --force-clean --install-deps-from=flathub builddir app.ister.Player.yaml
flatpak-builder --run builddir app.ister.Player.yaml ister

About

A media player for Ister

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages