Click here to Skip to main content
15,616,232 members
Articles / Desktop Programming / Windows Forms
Posted 16 Oct 2009


58 bookmarked


Rate me:
Please Sign up or sign in to vote.
4.67/5 (11 votes)
24 Apr 2010CPOL4 min read
BSEtunes is a MySQL based, full manageable, networkable single or multiuser jukebox application



BSEtunes is a MySQL based, full manageable, networkable single or multiuser jukebox application. With BSEtunes, the user could listen to single- or multi selected songs, random songs, complete albums, songs in playlists, etc. You could filter the random playback or create unlimited numbers of playlists. For selections, drag the content from one panel to another. BSEtunes also contains an integrated WPF coverflow clone.

What you see at the BSEtunes client will be managed by integrated tools in BSEtunes or BSEadmin, which is the integrated tool for data aquisition. Optically BSEtunes is a mixture between the Microsoft Media Player and iTunes, the controls are based on the BSE.Windows.Forms controls. The program uses the WMPlib but may work with the Winamp player (if installed) also. Until the launch of WPF, BSEtunes worked even on Windows 2000.

When you use this application, you would'nt need any other audio application. The included BSEadmin tool could rip CDs, write the ID3 tags and gets album information from freeDB database.


I started developing this application in the year 2002 for managing my LPs and CDs, for learning C# and for testing several .NET features and namespaces. Always when I saw a new .NET feature, I've considered how to do something with it in BSEtunes.

It was my intention only to use free- or open source components. For this reason, BSEtunes is based on MySQL.

The code in the application grew over the years. Some code parts are better and some code parts aren't so well implemented. Meanwhile, the application has a high complexity and works so stable that other users can participate in it. So take the code and do whatever you want with it.


Features of BSEtunes

  • Filtering the random output:

    You could play random songs over all the audio file content or you can filter it by genre or year.

    Filtering the output

  • Playlists:

    You could have unlimited number of playlists where you could drag in the songs from all the other panels.

    Managing playlists

  • Export to audioplayers that work as removable drives:

    For exporting content to an audioplayer, drag in the songs from all the panels.

    audioplayer export

  • Coverflow:

    You could browse through your albums by using the WPF coverflow window.


  • Fulltext search through the content.
  • and much more...

Features of BSEadmin

BSEadmin is the main window for managing all your content.


In BSEadmin, you could manage all your audio content. For this, BSEadmin contains several forms and dialogs.

forms in BSEadmin

You could rip your CDs (thanks Idael Cardoso)...

For ripping, select the tracks in the upper list and drag them into the lower list.

Ripper in BSEadmin

...or you could import your audio content from elsewhere.

For importing, select the tracks in the upper list and drag them into the lower list.

Import of audio content

You could read out the content of a CS by a freeDB request.

freeDB request

General Features

For changing the database host or the network share that contains the audio files, double click into the entry in the options form and change the value.

BSE options

For system information, there several statistic dialogs are integrated.

Statistics in BSE


BSEtunes could work as a single computer system and also has the opportunity to grow up to a multiuser client server system. The database and file server could be a Windows- or Linux computer respectively server.

BSEtunes in a lan environment

If you have a new disk for your audio content, copy the files to this new disk and change the path to it in the options dialog. The database references to the files are relative.


If there is a song located at "C:\songs\interpret\album\song1.mp3", only the path part "interpret\album\song1.mp3" is stored in the database. The value for "C:\songs" is stored in the options.

Needed Downloads

Using the Source

After installation of the MySQL Connector, you should be able to build the solution. The additional needed DLLs are located in subdirectories named DLL and lame. Perhaps you should adapt the bat files in the BSE.Platten.Tunes and BSE.Platten.Admin.WinApp projects.

The installation of the MySQL database server is described in the MySQL.chm file.


  • Globalization. Currently the application supports only the German language
  • A Wizard for the import of existing music libraries
  • Writing a user manual ;-)
  • A graphic equalizer
  • A user administration in a multiuser environment
  • An integrated CD player
  • And much more...


  • Idael Cardoso for the C# MP3 Compressor
  • mav.northwind for the In-place editing of ListView
  • Arik Poznanski for C# does Shell
  • Alvaro Mendez for Read/Write XML files, Config files, INI files, or the Registry
  • Alex Dobusch and Berhard Jenny for testing and so many ideas
  • and all the others whose names I've unfortunately forgotten


  • 04/24/2010 Now in German and English


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Written By
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

QuestionChm file can't open Pin
nrdsp13-Jul-11 0:11
nrdsp13-Jul-11 0:11 
GeneralI have error Pin
kishkumen4-Apr-11 12:53
kishkumen4-Apr-11 12:53 
GeneralRe: I have error Pin
emmawen17-May-11 23:24
emmawen17-May-11 23:24 
GeneralRe: I have error Pin
Uwe Eichkorn16-Jun-11 7:49
Uwe Eichkorn16-Jun-11 7:49 
GeneralProblems with BSE Admin Pin
Raffael Herrmann4-Jan-10 19:52
Raffael Herrmann4-Jan-10 19:52 
GeneralRe: Problems with BSE Admin Pin
Uwe Eichkorn10-Jan-10 21:39
Uwe Eichkorn10-Jan-10 21:39 
GeneralBSETunes suggestion. [modified] Pin
johnwrnd7-Nov-09 2:14
johnwrnd7-Nov-09 2:14 
GeneralRe: BSETunes suggestion. Pin
Uwe Eichkorn9-Nov-09 19:52
Uwe Eichkorn9-Nov-09 19:52 
GeneralRe: BSETunes suggestion. [modified] Pin
johnwrnd9-Nov-09 23:27
johnwrnd9-Nov-09 23:27 
GeneralBSEtunes Pin
JohnMcPherson116-Oct-09 5:51
JohnMcPherson116-Oct-09 5:51 
GeneralRe: BSEtunes Pin
Uwe Eichkorn5-Nov-09 8:04
Uwe Eichkorn5-Nov-09 8:04 
QuestionUse Client as remote control Pin
ToPr16-Oct-09 1:46
ToPr16-Oct-09 1:46 
GeneralImpressive Pin
CreF16-Oct-09 1:17
professionalCreF16-Oct-09 1:17 
GeneralCongrats Pin
AWdrius16-Oct-09 0:54
AWdrius16-Oct-09 0:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.