XilinJia / Podcini

Open source podcast instrument for Android supporting contents from YouTube and YT Music as well as normal podcasts.
GNU General Public License v3.0
207 stars 8 forks source link
android androidx antennapod audio jetpack-compose kotlin media3 playlists podcast readability rss tts video youtube ytmusic

Podcini

An open source podcast instrument, attuned to Puccini Puccini, adorned with pasticcini pasticcini and aromatized with porcini porcini, invites your harmonious heartbeats.

Rendezvous chez:

GitHub IzzyOnDroid F-Droid Amazon

Note:

Podcini.R 6.5 as a major step forward brings YouTube contents in the app. Channels can be searched, received from share, subscribed. Podcasts, playlists as well as single media from Youtube and YT Music can be shared to Podcini. For more see the Youtube section below or the changelogs

That means finally: Nessun dorma

For Podcini to show up on car's HUD with Android Auto, please read AnroidAuto.md for instructions.

If you need to cast to an external speaker, you should install the "play" apk, not the "free" apk, that's about the difference between the two.

Podcini.R requests for permission for unrestricted background activities for uninterrupted background play of a playlist. For more see this issue

If you intend to sync through a server, be cautious as it's not well tested with Podcini. Welcome any ideas and contribution on this.

If you are migrating from Podcini version 5, please read the migrationTo5.md file for migration instructions.

This project was developed from a fork of AntennaPod as of Feb 5 2024.

Compared to AntennaPod this project:

  1. Is mono-modular, purely in Kotlin, mostly in Jetpack Compose, based on media3 with AudioOffloadMode enabled (nicer to device battery).
  2. Handles contents from YouTube and YT Music, as well as normal podcasts and plain RSS.
  3. Features multiple, natural and circular play queues associable with any podcast.
  4. Presents synthetic podcasts and allows episodes to be shelved to any synthetic podcast.
  5. Allows setting personal notes, 5-level rating, and 12-level play state on every episode.
  6. Boasts sophisticated filtering and sorting on episodes and podcasts.
  7. Promotes auto-download governed by policy and limit settings of individual feed (podcast).
  8. Supports casting audio-only Youtube media to a Chromecast speaker (the play app)
  9. Spotlights instant sync across devices without a server.
  10. Offers Readability and Text-to-Speech for RSS contents,
  11. Replaced SQLite with modern object-base Realm DB, Glide with Coil, RxJava and threads with coroutines , and EventBus with SharedFlow,

The project aims to profit from modern frameworks, improve efficiency and provide more useful and user-friendly features.

While podcast subscriptions' OPML files (from AntennaPod or any other sources) can be easily imported, Podcini can not import DB from AntennaPod.

Usage and notable features description

Quick start

Podcast (Feed)

Episode

Podcast/Episode list

Queues

Player

Online feed

Youtube & YT Music

Instant (or Wifi) sync

Automation

Statistics

Security and reliability

For more details of the changes, see the Changelog

Screenshots

Settings

Import/Export

Subscriptions

Podcast

Podcast settings

Episode and player details

Youtube share, syndicates and media

Multiple Queues

Usage customization

Get feeds online

Android Auto

Links

License

Podcini, same as the project it was forked from, is licensed under the GNU General Public License (GPL-3.0). You can find the license text in the LICENSE file.

Copyright

New files and contents in the project are copyrighted in 2024 by Xilin Jia and related contributors.

Original contents from the forked project maintain copyrights of the AntennaPod team.

Licenses and permissions

Licenses and permissions