XilinJia / Podcini

Open source podcast instrument for Android in Kotlin with media3, supporting channels, playlists, podcasts and single media from YouTube and YT Music as well as normal podcasts.
GNU General Public License v3.0
193 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

Podcini.R 6.10 allows creating synthetic podcast and shelving any episdes to any synthetic podcasts

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.

Since version 6.11.5, Podcini.R is back to be built to target SDK 35 (Android 15), but 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. Migrated all media routines to androidx.media3, with AudioOffloadMode enabled, nicer to device battery,
  2. Is purely Kotlin based and mono-modular, and multiple views are in Jetpack Compose,
  3. Modern object-base Realm DB replaced SQLite, Coil replaced Glide, coroutines replaced RxJava and threads, and SharedFlow replaced EventBus.
  4. Boasts new UI's including streamlined drawer, subscriptions view and player controller, and many more.
  5. Supports multiple, virtual and circular play queues associable with any podcast.
  6. Auto-download is governed by policy and limit settings of individual feed.
  7. Features synthetic podcasts and allows episodes to be shelved to any synthetic podcast.
  8. Supports channels, playlists, single media from YouTube and YT Music, as well as normal podcasts and plain RSS,
  9. Allows setting personal notes, 5-level rating, and 12-level play state on every episode.
  10. Supports sophisticated filtering and sorting on episodes and podcasts.
  11. Offers Readability and Text-to-Speech for RSS contents,
  12. Features instant sync across devices without a server.

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.

Notable new features & enhancements

Player and Queues

Podcast list and Episode list

Podcast/Episode

Online feed

Youtube & Youtube Music

Instant (or Wifi) sync

Automation

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