Git Product home page Git Product logo

node-radio-automation's Introduction

node-radio-automation Build Status

This app is a multichannel playlist audio streaming automation.

At the moment you can use the api to control the app behavior.
The Stream controls are full working.
The Frontend App (Web Interface) is in progress.

Features

  • manage Icecast2 as Streaming Server
  • manage MPD (Music Player Daemon), use it as playlist player and stream encoder
  • using MPC (Music Player Client)
  • manage Channels with Shows and their Playlists
  • generate Playlists with:
    • Intro
    • Spots
    • Postcast
    • Hot Rotation
  • serving an API to control the app with a Web-Interface or API-Client
  • no Database needed
  • runs on a Raspberry Pi (but only with one Channel)

What is this NOT?

  • a Music Player Remote Controller or a MPD Client.
  • a System to manage your files and play them like Foobar2000, iTunes or others.
  • a Spotify player or youtube or, or, or.
  • a System to manage dozens of files

Whom helps this?

  • who wants to run a automated, multi channel internet radio. locally, in an intranet or public.
  • who is crying for a "Auto DJ" for his / her web radio.
  • who wants to sound an event or a location (like a night bar) with different schemes
  • while doing this, who wants to have so less as possible personnel expense
  • who wants more then a shuffled playlist, who wants a hot rotation with more newest track as older ones
  • who wants to use intros and spots for an audio identity
  • who wants to spread podcast files between the tracks, automatically downloaded from podcast feeds
  • who want to use his own bought music files, captured from the disc or from vinyl
  • who wants, that his / her music files exists forever. that they do not disappear suddenly.
  • who wants to play handpicked tracks

At the moment this works well:

  • complete channel creation works well via api
  • scheduling for channels works: you can start, stop, pause a show from a channel with cron scheme and multiple jobs
  • scheduling for podcasts works well: with cron scheme and one job. looks for new episodes and download these
  • API-Authentication with JWT (json web token)

Channel

  • get all
  • create one
  • get by id
  • delete by id
  • update by id
  • update database (MPD cache)
  • load playlist
  • update playlist
  • play
  • pause
  • stop
  • skip track
  • set crossfade
  • spawn
  • respawn
  • shutdown

Shows of a Channel

  • get all
  • create one
  • get one
  • get playing show
  • delete
  • update
  • duplicate
  • set playing show
  • copy from global show
  • get show folder
  • set show folder
  • get music folder
  • get intro folder
  • get spot folder
  • get podcast folder

Global Shows

  • get all
  • create one
  • duplicate
  • get one
  • delete
  • update

Podcasts

  • get all
  • create one
  • duplicate
  • get one
  • delete
  • update

Future Things

  • Frontend App with Vue (in progress)
  • Podcast Downloader Sheduler invoke a queue
  • Backup mechanism for the complete storage folder
  • Docker (Compose) Setup
  • Some downloadable example assets
  • Ideas?

node-radio-automation's People

Contributors

seekwhencer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.