A Quick Look into Developing Software at KLIK

Personal Posts No Comments »

This little bit of code gets rid of songs that no longer exist in iTunes.

iTunesApp app = new iTunesApp();
 
IITTrackCollection tracks = app.LibraryPlaylist.Tracks;
foreach (IITTrack track in tracks)
{
	if (ITTrackKind.ITTrackKindFile == track.Kind)
	{
		IITFileOrCDTrack filetrack = (IITFileOrCDTrack)track;
		if (!File.Exists(filetrack.Location))
		{
			try
			{
				Console.WriteLine(track.Name + " - deleted");
				track.Delete();
			}
			catch
			{
				Console.WriteLine("Couldn't delete " + track.Name);
			}
		}
	}
}

While not a very robust solution, it gets the job done.

New Year, New Plan!

Personal Posts No Comments »

Happy 2011!  As crazy it seems, Fort Collins Youth Broadcasting will turn 4 years old in April.  And since we’re growing up, we’re making a few changes to our organization’s structure.

Usually, KLIK Radio volunteers elect their bold and fearless leaders to command them into the ultimate battle of survival: keeping KLIK on the air.  However, true leaders in high school are hard to come by, and sometimes it’s better to have those with experience in charge.  As such, we’re changing things up a bit.

Effective sometime in the near future, the board of directors is going to consist of partially high school students, and partially KLIK Radio alumni.  We are devoted to keeping KLIK a student-run organization, but sometimes younger people need to be taught by older people.  As such, we are going to swap out the board.  As of current standings, interested alumni include Jake Wood, Ilya Smirnov, and Victoria Wiederhold.  These three will be sitting on the board sometime in the very near future, and will either replace current board members, or will simply be added to the board as additional members.  The logistics are still being worked on, but that’s the gist of it.

One of the first things that will be discussed by the new board is continuing the current tradition of voting in directors.  Historically, people vote for their friends, and there just aren’t that many people on the ballots as it is.  Discontinuing voting will allow truly qualified people to serve on the board, and will take pressure off volunteers to hold “campaigns” and decide whether or not they want to serve on the board.

Overall, we believe alumni on the board of directors will be of incredible benefit to the organization as a whole, providing support and stability that FCYB has had troubles establishing over the course of its existence.

Happy new year, and hope we see YOU in 2011! 😀

How KLIK is Making (Internet) Radio More Interesting

Personal Posts No Comments »

Recently, KLIK has been making some huge improvements to our entire system.  It’s all a part of what we’ve called “KLIK Interactive” – trying to get more in touch with our listeners and what they want.  This has led us to…

  • Accept text requests!  Send a text to 970-458-5545 and try it out for yourself!  Powered by Twilio.
  • Create a “song kill switch.”  During the day, disturbingly awful songs get played.  Creating the song kill switch gives listeners the power to take those songs off the air.  We’ll notice trends in songs that are getting killed and take those songs out of regular rotation (often times leading to their entire banishment from the library).
  • We’re designing a brand new web site!  Think Twitter for music….specific to KLIK’s current listeners.  Ultra-local, ultra-social radio.  I could almost see this as a licensable concept (cha-ching!)
  • The development of an iPhone/iPod touch site.  (maybe we should write an iPod app while we’re at it :D)
  • Significant improvements to the KLIK Podcaster (a total re-design happened this semester)

We’re raising additional money to buy an awesome phone line management program — PhoneBox Solo — which is a major source of improvement for KLIK.  It’s mildly expensive, so help us out and donate.

More to come!

Open source development moved to CodePlex

Personal Posts No Comments »

Well, it’s happened. We’ve switched to the official Microsoft solution for open source development. Simply put, we find the CodePlex to be far more streamlined and more user-friendly than SourceForge’s. Plus, CodePlex natively supports the Team Foundation Server – a major benefit when using Visual Studio. As such, all development has moved to CodePlex.

You can find our page at http://klikradio.codeplex.com/. Enjoy!

KLIK is Going Open Source!

Personal Posts No Comments »

As a way to extend our “learning by doing” and “learning by real world experience” philosophy, we’ve decided to make some of our coding projects open source on SourceForge.

Some of you may be asking — what does this even mean?  Well, for those of you who don’t know, an “open source” application is one where you can download the source code to your computer, change the program, contribute to its development, or even create your own “fork” of it.  (The Mac OS X operating system is a fork of UNIX, an open source operating system).  Our goal is to make the code simple, readable to people of all skill levels (this means extensive commenting and explanations throughout the code itself), very modular (so beginners can start at the top and work their way down, while those who have prior experience can jump in wherever they feel comfortable), and most importantly — set an example for code that is well-documented and well-designed.

By making the project open source, we hope to give even those who have no interest in becoming members of KLIK the opportunity to explore computer programming at a more in-depth level.

The first victim of this is the KLIK Podcaster.  Recently, the Podcaster took a major nosedive – just in time for us to start playing show re-runs at 9:00 AM and 1:00 PM.  The original utility was envisioned as being just that — a small utility — which didn’t require any major framework.  As we started to add more and more features (like Twitter integration, etc.), the application became more and more unstable.  As such, we’ve scrapped all the old code and are starting from the ground up!  We’re using a multitiered architecture, and will hopefully have a working version out and about very soon.

The Podcaster may even be useful to broadcasters and Internet radio stations elsewhere.  There are thousands of installations of SAM Broadcaster out there, which is what the Podcaster was originally designed to work with.  We’re even considering making the Podcaster a standalone application which does all show recording and MP3 encoding internally, so there wouldn’t even be a need to have a specific broadcasting program.

We will be putting up a separate WordPress blog on the SourceForge project web site very soon.  In the meantime, you can browse the project page and find source code that’s already there.

KLIK Site Update and Future Podcaster Enhancements

Personal Posts No Comments »

The new KLIK site is coming along nicely!  A sneak peak for those of you who follow the blog can be seen at http://new.klikradio.org/ (discrete, isn’t it?)

Essentially, here’s what’s been accomplished so far:

  • The tabbed iFrame interface
  • Changed the Flash player to a “player” tab which will accommodate our song and show rating systems as well as maintain links to desktop-based music players (iTunes, Windows Media, etc.)  Thanks to the unique iFrame interface, the flash file will continue to play KLIK in the background, regardless of which tab the user is currently on.
  • The album art now updates (currently integrates with Amazon)
  • The current track now updates (based on Icecast meta data)

Our iPhone web app is also coming along nicely, and is being developed by Jordan.

The podcaster app, mostly maintained by Jake, is also going to see some additional improvements over the next several weeks.  These include:

  • Additional automation and better integration with our custom, built-in-house SQL-based schedule manager
  • Virtually 100% of the problems encountered with the podcaster are caused by human error, despite the fact the interface is so strikingly simple.  However, some of this simplicity has backfired.  For instance, while there is now an indicator light to see if you are currently recording or not, there is no way to determine if you are actually podcasting to your show.
  • As such, shows are going to automatically start and end recording, unless some level of human intervention prevents it.
  • This change will essentially update the entire interface, so we’ll have to see how that turns out.

Stay tuned!

Lots of Activities!

Personal Posts No Comments »

KLIK has a lot going on right now.  We could use any volunteers to help with it, too, so if anything below sparks your interest, please get in touch with us ASAP.

  • Our live programming has been rescheduled to meet the new schedule.  Show times are now standardized according to the schedule available at http://klikradio.org/newschedule.html.
  • We’re currently in the process of scheduling re-runs in our automation software.
  • We need to go through old shows and edit them to make them ready for re-broadcast.
  • We’re currently writing a PHP-based online SAM interface so volunteers can manage the music library from outside the studio and not interfere with live programming.
  • The latest enhancements to the KLIK Podcaster will be:
    • Indicator lights showing whether or not the podcast is currently being recorded.
    • Timer indicating talk and music time.  (Will hopefully be useful for keeping DJ’s from rambling too much 🙂 )
    • The ability to “knock out” the “0 viewers, peak of 0” message that is constantly showing up in SAM Broadcaster using Win32 API calls.
  • Our regular fundraising efforts are ongoing.
  • We’re in the process of integrating a new KLIK logo and web site.
  • The search for a new executive director is now commencing.

We especially need help with the podcasting and music library management.  If you’d be interested in helping categorize and rate music, please get in touch with us!  Thanks for reading, catch you again soon!

Podcaster v2.0 Released

Personal Posts 1 Comment »

Version 2.0 of our in-house-developed Podcaster application was released today!  This new release features a few major upgrades:

  • All configuration settings are XML-driven and are no longer hard coded
  • The ability to update the configuration without exiting the application
  • The ability to drag the button around the screen
  • The “Start” button starts flashing when the mouse starts moving after a user-defined period of computer inactivity (to remind users to actually start recording their show)
  • The iPod reminder and “recording” reminder screens now work correctly (reminders to turn off iPod-override and overall show recording)
  • The ability to update now playing information on multiple servers, supporting both Icecast and Shoutcast
  • Simplification of the podcast process so that the back-end upload process is only one step, not two
  • Better documented source code

A few other minor releases will be made over the next coming days, which will include a user guide for configuring the application, as well as a potential release of the source code (it is a very simple application, after all).

This is what goes on behind closed doors at KLIK!  Minor enhancements in the upcoming releases include:

  • Disabling buttons while their associated events are processing to avoid “clicked twice syndrome”
  • A user guide explaining how to write the XML configuration files
  • Released source code!

Since there’s very little chance for profit on this kind of application, we figure we’ll release the PAL script (for SAM Broadcaster) as well as the C# source code that’s used to the public.  The only thing that will not be released is our station’s configuration file since that would obviously jeopardize the security of our servers.

Programming Re-structuring

Personal Posts No Comments »

After speaking with the well-known Jordan Fisher, programming director here at KLIK, we’ve decided we’d like to make a few changes to the schedule here at KLIK.  We’re going to standardize blocks of times for volunteers to pick from, so shows aren’t too long, aren’t too short, and not at awkward times of the day.  Here’s the general run-down of it all.  All times are Mountain Time.

Update: for a graphical view of this new schedule, please visit http://klikradio.org/newschedule.html

  • Monday thru Thursday
    • Show re-runs at 9:00 AM and 1:00 PM
    • Original programming at 4:00 PM and 7:00 PM
    • Re-runs at 10:00 PM.
  • Friday
    • Show re-runs at 9:00 AM and 1:00 PM
    • Original programming at 4:00, 7:00, and 10:00 PM.
  • Saturday
    • Original programming at 7:00AM , 10:00 AM, 1:00 PM, 4:00 PM, 7:00 PM, and 10:00 PM.
  • Sunday
    • Original programming at 7:00 AM, 10:00 AM, 1:00 PM, 4:00 PM, and 7:00 PM.
    • Re-runs at 10:00 PM.

Our goal is to get as many people listening to KLIK at all times of day as possible.  By re-running shows during standard business hours, parents and other supporters in the community can listen to KLIK while at work or on-the-go special thanks to our new iPhone/Android/mobile web site.  We also hope that, by standardizing show hours, we can keep a consistent, professional schedule and attract more volunteers and listeners!  Overall, I say YAY for KLIK.

The new schedule won’t be fully implemented until we can get all of our current volunteers to pick their time slot.  Progress will be reported as we make headway with this grand idea.

Some Updates and Updating

Personal Posts 1 Comment »

It’s Nathan here, one of the directors on the BoD.

I’m going to be updating some of the pages around the blog, and to keep some things up to date.

As the update below says, we have postponed the Glow Golf Fundraiser due to lack of sponsors, and hopefully we will be having it in mid-August or so.

For an update on our summer pledge drive, it’s still going! We only have two pledges out of 60, so we definitely need more!

For more information on the pledge, please view https://fcyb.org/2010/07/02/summer-2010-pledge-drive/

That’s it for updates for now; and I’ll be updating some things around the site.

Nathan Bobb
nathan@fcyb.org

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in