I'm completely rewriting the entire radio interface and all the back end code. This is a ground zero rewrite.
It'll all be one common language instead of 3 fucking duct taped together.
Main Goals:
1. No more god damn count down timer. You click start show and it bam, it starts.
DONE.
2. It'll be a more seemless switch from Prerecorded to Live. If the Live connection is bad the prerecorded stuff never stops.
DONE.
3. Your over all Login page will be cleaned up and the preview of your mixes will be moved to a new page.
IN PROGRESS.
4. There will be a public facing page that the general public can view and stream the pre-recorded shows you from guys.
IN PROGRESS.
5. There will be a way to admin the stream if things go south, IE quick restart, change show title, and custom messages in the video feed.
Not Started.
6. You will see the same exact logs I see so you can see what went wrong.
IN PROGRESS.
7. Your login will handle multiple show times.
DONE.
8. EDJ Radio Admin Page will be completely rewritten with a real user management interface.
IN PROGRESS.
9. Adhoc Radio/1 off shows will be Auto approved if no other show is going on durning the time you are requesting, however.. You will be limited to 1 adhoc radio show a week. Dunno if this will be implemented.
10. You will be now beable to have a show that starts at 10pm and goes till 2am with out having unlimited air time.
DONE.
This is your time to ask for features or enhancements and I will add them as I rewrite this whole fucking thing.
You'll have access to the beta in a few days/weeks.
Requests:
Save or Convert to AVI instead from Flash. Not Started.
Nightly clean up process.
DONE.
Request to name the server side mp3 filename to the show title and/or update the id3 tag in the mp3 along with the date.
IN PROGRESS.
Voting system by listeners to skip songs (I'm going to work with Jon on this one I believe)
Better randomization engine.
DONE.
Get next song when current song starts and display to users.
DONE.
Assign content to play during specific times (pre-recorded show at a certain time)
IN PROGRESS.
**Change Log and Progress as to where I am at**
**UPDATE*** 3/2/2010
Code is NOT ready for public Beta Test. Continue to do things the way you are doing things.
Here is what I got done:
Your EDJ Login will now be the login you will use with the radio2.0.
Converted my bullshit cron job into a daemon that polls for "events" every 5 seconds.
Events can be: Making sure the radio is online and playing "something", Switching Between Live, Prerecorded Content and back again, new scheduler process is 40% done.
**UPDATE*** 3/3/2010
Code Not ready for Public Demo yet.. Long ways to go.
Worked on getting my development shoutcast systems up and running for testing with out messing with the live production feeds. you can hear and see progress on http://www.everydayjunglist.org:9000 most times this will be down.. nothing interesting here, just be starting and stopping stuff and getting timing down.
Now reliabily getting online/offline stats of audio input streamer.
Still debating about having all my functions/subroutines in one giant program, OR, have my subroutines call external programs. Might do a hybrid of it.
**Update 3/7/2010**
I did some of this the other night, but the bulk of this work from done from about 1am this morning till 5am while I was waiting for servers to patch and reboot at work.
Code still not ready for Public Beta.. But very soon!
Ironed out the flow of how Prerecorded to live, then back to prerecorded will work. Doesn't sound like much, but this was about 6 hours of hacking at code, process flow and testing.
When the DJ clicks the Start live show button, the show switch over process will start in about 5 Seconds now.
Rewrote parts of code for flow and quicker live show pickup times.
Live Show Title Updates done.
Added more debugging information for logs for myself and the live dj. will help both of us figure out what went wrong if the dj flubs the connection.
3/7/2010 afternoon programming session.
Not ready for Beta. Not sure what I was thinking this morning, but it must have been the 9 or so cups of coffee I drank to stay awake.
Worked on Logging and more process flow.
System works 100% audio only winamp streams.
Scheduler still needs a lot of work. =\
4/11/2010
Worked a lot on the Scheduler last night, think I got the bugs worked out.
Also worked on the Backend Daemon quite a bit to nail down timing, to minimize stream break as much as possible. Doesn't sound like but was about 6 hours of code and testing. Working the bugs out.
5/18/2010
Had an Ah-ha moment yesterday and developed a little bit of code that I tried to implement into the current version of EDJ Radio, but this bit of code will most likely go into version 2.0
If all works out well.. no more Jungle Stand up routine between switching between live and prerecorded content and then back again. I will be doing more work on this tonight.
5/24/2010
Not sure what happened, but what I was working on didn't work the next day. Not sure what the break down is.. but I'm not worried about it.
Last night I finalized switching between live and prerecorded content and back again.
Also worked on kicking users off that have gone long in thier radio show.
Added the code to enable manual live show kick and to restart the prerecorded streamer.
At its current level, I could beta test this code publicly for AUDIO only / Winamp Shout Cast connections, but I'm not ready to do that.
Tonight I will add VLC video services to the mix. Hope to have a public Beta in a few days.
5/26/2010
Got a lot done tonight. Its coming together very fast. At this speed I should have a fully working demo for the Beta in a few days.
I tweaked some of the settings from Prerecorded to Live and then Back to Prerecorded. The flow is much smoother. Mostly timing at this point.
Tonight I worked on getting video services intergrated with the new code.
The Public Facing video player, Now starts correctly and gets its audio from shoutcast.
Starting and Stopping the live DJ UDP listener has been completed.
VLC to Shoutcast Live Bridge Has been been completed.
Live DJ UDP video listener now pipes to the public feed. Video is not in sync w/ Audio but that will be fixed before we go live.
Doesn't sound like much but this was about 5 hours or programming time.
I still have a ways to go.. Still need to make it stop live video services when the dj drops offline. Need to add server recording functions, and then the requests at the start of this thread.
However main goals 1 and 2 are 100% done and full working.
5/30/2010
5/30/2010
Got a lot done tonight. Im getting a headache so I need to stop other wise this is not going to be fun for me.
There was a bug I fixed with connecting in w/ VLC. Lets say you fucked up your connection or dragged your feet in getting VLC setup AFTER you hit start show button, the server would think you connected in anyway giving you a false connect success message. This is resolved and works the way it should. You fuck up your connection, and it does not give you a false connect message anymore.
Server side recordings are enabled with this code. They start and stop correctly. The recording file names also make more sense. They now look like: kdh.video.Sun_May_23_20_31_04_2010.flv or kdh.audio.Sun_May_23_20_31_04_2010.mp3 -- if you dont understand the filename now, i will punch you in the neck. haha.
Starting/stopping the video slide show with no live audio input is working.
Starting/stopping the video slide show when no live video but a live audio input is working. You know, when they use winamp or vlc in audio only move. Slide show still gives people in the video feed something to watch.
Changed the font in the slide show. Its nicer on the eyes, might be hard to read tho.
Audio/Video is now pretty damn close to being insync in the video feed.
Have one function the does a "stopliveshow" now, which does what it says. It calls all the other little functions that go into stopping a live show and getting the prerecorded stuff restarted.
All in all I've written everything as a function.. So I dont have duplicate bits of code all over the place. I make one change and its a global change in the code.
I changed the polling time from 5 seconds to 3 seconds. This helps when detecting if a live feed is connecting or disconnecting. This also means that when the DJ clicks the start live show button.. it pretty much fucking starts. No more god damn count down timer.
In the coming days, I need to add what is currently playing in the video slide show, and enable custom messages in the slide show via the web interface. Also need to add a restart to the video slide show in prerecorded mode. If the side show drops offline, it'll auto restart w/ no live show is there. I will most likely have that finished tomorrow night.
The core of this is about 85% done. I might switch the main code over to this code this week for a public beta, but I need to work on the Web Interface Part, its still lacking a lot of bits and peices. However, working with JC, you will now use the same username and password to log into the radio that you use for the main EDJ site.
Beta code is roughly 755 lines of code, and that include comments in the code itself. I'll most likely break a 1000 lines of code when this is done.
Still a ways to go.. but happy with the progress.
05/31/2010
Didn't do a lot but got some done.
Added the function to update the main XML the EDJ side uses to update how many people are currently tuned in. You can see what I'm talking about if you look to the right of this page in the UserOnline Block. *points*. But it works now for 2.0.
Added the function to update what is currently playing in the Video Player. Converted the script from korn to 100% perl. It runs in about .01 milliseconds where the other script took about 1 minute to run. Big difference. This doesn't sound like much but this convert was ground zero rewrite and took me about 2 hours to get it the way I wanted. But its now intergrated with the 2.0 code.
Still got a lot to do.. The user interface for the DJ needs a lot of work, but will hack on that in the coming days.
06/01/2010
Started to work on the Randomizer Engine for the prerecorded content. Didn't get much into it, because of my ear infection. I hope to have this done tonight or tomorrow night. I'll most likely implement the random engine in before the full 2.0 code has been released.
6/5/2010
The main code is pretty much done and tested. Seems to work well. I either need to wait for JC to finish his front end, or mod the one you DJs are used to using.
I'd like to move this code to Public Beta this week.
However, Transcoder Randomizer Engine is not complete, but its not a show stopper either.
6/13/2010
JC and I got together earlier this week to hack out his interface and how it will interface with my code. Have a lot of notes, but have not started on it. Shouldnt take me long to get what he needs done.
Tonight I wrote part of the new prerecorded randomizer engine. It will now play everything in the playlist with out repeating stuff. Once the playlist is empty, it'll rebuild the playlist.
I need to incorporate custom playlists schedules into the engine. That should take me a day or so.
I forgot to add an ignore track from playlist but will add that in a day or so.
6/15/2010
The new MP3 randomizer engine is about 50% done. I moved it in its current state to the main site and will continue to work on user defined schedules. but that can wait for a bit. That means if you are listening to the prerecorded content it should be even more random then before and it will not regenerate itself until all the content has been played. Gotta keep my eye on it and make sure it works the way I want.
The neat thing about my engine vs letting the shoutcast transcoder to it, I can tell you all the upcoming tracks in the playlist. Might not seem like a big deal, but it will be nice thing to see in the future.
(post modified: 06/14/10 22:39:14)