LanP3 Technical Overview


According to the words used on the LanP3 website, LanP3 is a LAN based Democratic Jukebox, 
LanP3 is a LAN based Democratic Jukebox. It allows everyone in your home or for in the office, to choose songs from a collection of audio media to play through a central speaker system, just like a jukebox player.

LanP3 has been developed using C# and SQL Server Express for the .NET Platform. It is in constant development, an hour here, a half day there, perhaps an evening at home. The jukebox is used on our work lan everyday.

Under the Hood


Within LanP3, there are really 3 main areas, the HTTP Server, The Website itself, and the Indexing of Content.
The HTTP Server is based on Cassini, a sample web server. The Website is an ASP.NET Web Application, and the Indexing is a set of classes working on Threads, and listening to File System events.

Together these three functions make up most of what LanP3 is, but there are plenty of little things.

AutoPlay (The Jukebox DJ)
AutoPlay started out as 
  • "if no one selects a track to play, there will be silence." 
  • The answer, "quickly select a track and play it"
However, this was not the answer that lives in LanP3 today. 
Instead, LanP3 has been designed twice. Once for a slight general temporary improvement, and the next, in a way that makes it easier to change and work with.

The AutoPlay of today goes through your selection and selects tracks, carefully avoiding tracks it has played before. In version 2.05, Genres and other criteria will be allowed to alter the AutoPlay algorithm to suit ones listening needs.

Settings
This development requires some user settings, and as usual, we develop those into each app we do. Tired of this, we created a generic settings class. This class now persists the data for us, without us having to do too much. The Settings Class is now being merged into our code-base.

The LanP3 Jingle
We thought a music app, almost by law, requires an opening jingle. Everyone knows the "kicks the llamas ass" right?.
Well we went for something a little more subtle, but our own jungle nevertheless. Although one can say it cant possibly take long, coming up with one that a lot of different people like and accept is quite hard.

Media Indexing Speed
In LanP3, when your folders are being hassled to give up its audio gifts, your system can easily be too slow or too fast for our process. Of course hogging, owning, neglecting your rights, on your own computer is not an option, so we developed the speed slider. This is quite simple < less cpu or > more cpu, but is very effective. We accomplish the magic, by Threads, Sleeps, SpinWaits and lots of variables and decisions that use them.

So whats to come?


Help us decide, contact us.