Skip to content
This repository has been archived by the owner on Aug 14, 2018. It is now read-only.

Latest commit

 

History

History
 
 

podstream

Read this (Below)

I'm moved to Google Chromecast Audio and Spotify Connect, and with the latest support for podcast-things and other stuff, i don't think that i'll come back to Volumio. You are very welcome to do whatever you want with the project. It's hardly inspired by a few persons (when it comes to codes-blocks), and stripped down to my wishes. The orignally target was a good and flexible way to add own Podcast-feeds to Volumio, and i for sure took the first steps to make it a succes - but i simply leagged focus after moving to a new apartmen, there i implemented Google Chromecast Audio and Home Assistant.

Happy coding, if you are going to use this. Please don't blame me for any errors :-) I did like to look into the Volumio Plugin-API and the way to communicate with regular Shell-things.

Thanks.

//exetico :-)


IMPORTANT This plugin isn't ready for regular use, if you expect it to auto-update the playlists.

But you are welcome to give it a try, if you're willing to trigger the job by you own. It's pretty easy. There is three possible ways:

  1. Press the save-button in options
  2. Disable and enable the plugin
  3. Restart Volumio

If you have any improvements to the project, please let me know.

Podcast icon provided by FontAwesome converted with http://fa2png.io/

Podstream - Stream Podcasts on Volumio

This is still in early state - but you are welcome to give it a try. Please take a look at the To-do/Known issues-section, before issue-submit. Thanks!

What is this?

It's basicly allows you to stream podcasts and other content stored in rss-format.

How to start using it?

Grap the latest release - or grap the zip-file (nightly version) in above file-tree if you're into this kind of things.

Why can't i find it in the main Volumio-plugins tread, or in the market itself?

This plugin isn't ready for the market. But you are welcome to give it a try.

Features

Own section in "Browse"

Podstream has it's own tile in the "Browse"-overview, allowing you to easily access all generated playlists.

Playlists

The plugin generates playlists based on the rss-feeds. The lists will be visible in "Browse" > "Podstream".

The data is stored in the `/data/podstream/' folder in Volumios preffered format (JSON).

Albumart

Images is provided for each episode, if i can find it in the source. Currenlty i'm looking at:

  • itunes:image in each item (Can be unique image)
  • image/url in channel (Global image for whole list)

Albumart for each episode is not stored at the device. This means that the images is loaded every time the playlist being opened. But albumart for each podcast-playlist is downloaded to the device and stored in $PLUGINDIR > albumart. Here i'm looking at:

  • First <url> in the XML. It's very basic, but works as it should. The full command is: grep -o '<url>[^<]*' "$filename".rss | grep -o '[^>]*$' | xargs wget -O "$PLUGINDIR/albumart/$albumartname" -c

RSS-list by URL or inline

Podstream allowing you to point to an URL, if you like to add multiple RSS-feeds.

Just put a text-file somewhere, and put in the URL like https://pastebin.com/raw/hHkqwTSF. I'm using pastebin.com at the momenet, cause they support raw-output, but a lot of other options is possible too, including Github itself (I actually thinking about including an local-store option too, but i'm not sure? - Create an Issue, if you would like to see it)

Example of the formatting - Basicly is formatted like: Podcast Title;http://podcasturl.com/rss

StartUp;http://feeds.hearstartup.com/hearstartup?format=xml
Mads og Monopolet;https://www.dr.dk/mu/Feed/mads-monopolet-podcast?format=podcast&limit=10
Morten Resen - Startup;http://mortenresen.libsyn.com/rss
Anders & Anders Podcast;http://www.spreaker.com/show/1929925/episodes/feed

Note that the input-field only support ONE SINGLE RSS-FEED like Podcast Title Goes Here;http://podcasthere.com/rss at the moment.

To-do/Known issues

  • Allow the user to edit the frequency of the update-interval (on hour-basis) in the Volumio-configs
  • Fixing the loading bar somethings ending at 70%, but with the "Plugin Successfully Installed" message is showing up. I'm not sure whether it's a problem in the install.sh-file, or the Volumio Plugin-handling. 07. dec 2017 Works OK with the Raspberry Pi 2 B (Just tested with clean-install)
  • Search is not working... but should it in the future?:-) (the searchFor is added)
  • Currenlty the playlists isn't removed if you change the source to something else. Clean up dat..... dust.
  • Create .timer for the .service, so it's triggered every 2. hours fx - or see maybe-tag where playlist-parser is mentioned.
  • Add an "FAQ/Quick start guide" to the plugin
  • Publich the plugin and tell the world about the plugin in the Volumio 2 Plugins Collection-thread.
  • Check if the rssfeed-file is present before trying to execute the bash-tasks. Cause it's generating errors like /data/plugins/music_service/podstream/rss2playlist_service.sh: line 15: rssfeeds: No such file or directory.

Maybe

  • Add the option to combine both URL-feed and local input - and allow users to add more than one feed with a seperator like "||" or something else.
  • Add support for a local-storage file in /mnt/INTERNAL (cause that folder is easy to access on the local network)
  • Add force-update to the Option-page.
  • Look at https://www.npmjs.com/package/playlist-parser, and consider remake of the playlist generation-solution.
  • Improve the streame-filename title in "Playing now" if possible?

Latest improvements

  • Look into a easy way to handle the rssfeed-stuff. Should i go with an table-kinda thing? (I can't find anything like this, in the Volumio GUI at the moment), or should i go with an simple solution like allowing to referate to an pastebin-file or something like that?
    30. nov 2017 Now supporting download from web-source. I will recommend to use Pastebin.com and choose the "raw"-button. Paste in the URL like https://pastebin.com/raw/HCVV55US
  • Store playlists in own folder, so it's possibe to remove the playlists when removing the plugin, or do something else? Also think about making a clean-function, if a foldes will be created.
    05. dec 2017 Moving to /data/podstream - but the code isn't yet changed!
    06. dec 2017 All changes is made. But install.sh and uninstall.sh needs to be updated. This is added to the to-do.
  • As part of the move, consider to move the things to a "Podstream" section in "Browse" for easy access.
    05. dec 2017 Ongoing - The basic-feature is now done (Need more changed + fixed SVG-file size!). ++ Styling in top of the uri isn't good when looking into the playlists.
    06. dec 2017 The Browse-feature is now workking, but needs more love. A new "To-do" point is added.
  • Thumbsnails is only visible, if it's stored in itunes:image-tag.
    06. dec 2017 Thumbnails is now taken from itunes:image in each item (Can be unique image) OR image/url in channel (Global image for whole list)
  • Improving the "browsePlaylist" view, and consider if the top-bar should be removed with "image" and huge "Play playlist"-button.
    07. dec 2017 Added grid-option and corrected the UI-things, so it looks more clean.
  • Secure correct install.sh and uninstall.sh with the /data/podstream/-location (Add & Remove folder in the process)
    07. dec 2017 Now added to install.sh and uninstall.sh
  • Save the global image for each podcast so it can be listed within listPlaylists - and consider to allow users to use the "Big tile"-view, if the task is easy to do. If the images will be saved globally, use the cover-art for the podcast to display in listPlaylists
    07. dec 2017 Albumart on playlist-level is now stored in $PLUGINDIR > albumart. Albumart on episode-level is still loaded by the URL's found in the XML.

Screenshots

Latest screenshots is from v. 0.0.5. Note that changes could have been made.

Option-page
Option-page

Icon in Browse
Icon in Browse

Playlist (Podcast) overview
Playlist (Podcast) overview

Overview of all podcasts in Grid-mode
Browse single playlist - Grid view)

Viewing playlist - Grid view
Browse single playlist - Grid view)

Credits

  • Thanks to the Volumio-tema. Multiple lines is used with just a few changes, cause the playlistManager > listPlaylist can't handle custom folder locations.
  • Thanks to buzink for the original podcast-playlist structure, idea and solution (It's now hardly changed, cleaned up, and multiple options is removed)
  • Thanks to volspotconnect for the first code-structure. I couldnt' find out how is was working back then.