This is the system used at Voice of Vashon

It provides a DJ web interface for entering music spins from live shows. It also fields UDP update packets as sent by StationPlaylist

It can feed track changes to Icecast, Shoutcast, web sites, and RDS encoders. It also logs CSV's, and has scripts for the quarterly reports for BMI and SoundExchange.

For DJ input, it can talk to a MongoDB backend and provide input completion (with a DB populated from database dumps).

When you have one or more studios which can broadcast live, the web interface can let you switch from automation to live and back.