yomguy / DeeFuzzer

Light and instant media streaming client for web radios and TVs written in Python
https://github.com/yomguy/DeeFuzzer
GNU General Public License v3.0
143 stars 30 forks source link

Dev jsonfeed #27

Closed achbed closed 9 years ago

achbed commented 9 years ago

Reworked the RSS feed handling to allow JSON output as well, and added a lot of configuration options within the feed section. Also renamed the rss tag to feeds to better represent current reality (the rss tag is still used if the feeds tag is not present for backwards compatibility).

achbed commented 9 years ago

Cancelling this pull request to solve merge conflict issues.

yomguy commented 9 years ago

Excellent idea to split feed type parameters and add a json output!

yomguy commented 9 years ago

Can you fix the conflict yourself?

achbed commented 9 years ago

See new pull request #28 :)

achbed commented 9 years ago

Just to warn you, I've got a bunch of other pull requests that I'm packaging up. My big-idea goal is to support auto-creation of stations at launch time based on a folder structure (point to a folder, scan immediate subfolders for audio MP3/OGG files, and auto-generate unique stations for each subfolder that has files). It's working on my machine. There's a bunch of additions and changes required but they're all backwards compatible.

I'd like to get to the point where the core is scanning the base folder for new/removed subfolders and spinning up/down stations as the folder structure changes. That way I can add/remove channels without restarting deefuzzer, and use it as an always-on service attached to the OS.

yomguy commented 9 years ago

You're welcome, this is also a great feature :) Be carefull that each station has to run in its own thread which then has to be stopped from the core - and inside a q step - if you want this to be safely dynamic. For the detection part, I've already used watchdog with good results, but maybe an os.path.exists test on each get_next_media() call is sufficient in your case. In the meantime, I think we should put the playlist update code out of the get_next_media() method...

achbed commented 9 years ago

I've not tackled the auto add/remove part yet - that's going to be a difficult nut to crack in a reliable way. As the site I'm working on is not yet live, I'm ok with doing a service restart and trashing all the existing connections for now, as long as I don't have to maintain a long list of config files :)