Introduction
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.
Background
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
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.
- Playlists:
You could have unlimited number of playlists where you could drag in the songs from all the other panels.
- Export to audioplayers that work as removable drives:
For exporting content to an audioplayer, drag in the songs from all the panels.
- 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.
You could rip your CDs (thanks Idael Cardoso)...
For ripping, select the tracks in the upper list and drag them into the lower list.
...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.
You could read out the content of a CS by a 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.
For system information, there several statistic dialogs are integrated.
Architecture
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.
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.
Example
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.
ToDos
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...
Thanks
- 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
Changes
- 04/24/2010 Now in German and English