Home » Support » Help and tutorials » Tutorials, tips and tricks
This section contains useful resources that explain how to get the most out of Helium Music Manager. Click on a topic below to learn more about it.
[Please note that this documentation is currently incomplete]
The Helium Music Manager Web Service is available in Helium Music Manager 7.1 and forth. It enables an API for third party applications and services to get access to many of the features of Helium Music Manager. For example it lets you control the internal player as well as perform searches, looking up artist, album and track details and more.
We have built our own Helium Remote for iPhone using this API and have enabled the Web Service for all Helium Music Manager versions.
The Web Service communicates using a simple RESTful interface which is enabled from Options, under the Advanced section, on the Helium Web Service page. Specify the desired HTTP port to run the Web Service on and click the Start button to start the Web Service. A small icon illustrating a globe at the lower right corner of the Helium Music Manager window identified that the Web Service is running.
Sending commands and getting results is as easy as sending simple GET requests to the service at the following style:
http://<ip-address>:<port>/1.0/?method?<method-name>[&<other-params>=<other-values>]
An example to get information about the currently playing track would be this (given that the IP address and port that Helium Web Service is running at is 192.168.0.100 and 8080):
http://192.168.0.100:8080/1.0/?method=player.GetNowPlayingData
All results are returned in XML format wrapped in an hmm element with a status attribube, like this:
<hmm status="<status-code>"></hmm>
There are a couple of main elements within the <hmm> element that are returned on different API methods:
Below follows a list of the currently available API methods, together with the expected parameters and responses:
| Method | Parameters | Response | Description |
| player.play | None | Default | Starts playing the active track in the Play queue. This is the track with pink background color in Helium Music Manager. If there is no active track available in the Play queue the first track in the list will be played. |
| player.pause | None | Default | Pauses the playback if the player is currently playing a track. If the player is currently paused the track will start playing. |
| player.stop | None | Default | Stops the playback. |
| player.next | None | Default | Proceeds to the next track in the Play queue. |
| player.previous | None | Default | Skips to the previous track in the Play queue. |
| player.getVolume | None | Default, player-command | |
| player.setVolume | volume | Default | Volume is set with a value between 0 (silent) and 255 (max). |
| player.getPosition | None | Default, player-command | |
| player.setPosition | position | Default | Position is set with a value that represents the position in seconds for the current track. |
| player.getNowPlayingData | None | Default, track (1) | |
| player.getNowPlayingPicture | None | Binary | A binary stream of the album picture for the currently playing track. |
| player.getState | Default, player-state | player-state | Available player states are: 1 = Playing, 2 = Paused, 3 = Stopped, 4 = Loading |
| player.getPlayQueue | None | Default, track (0-N) | |
| player.getActiveIndex | None | Default, player-command (active-index) | Gets the index zero based index for the currently playing track (value) and the database id for the track (value2). |
| player.playFileAtIndex | index | Default | Plays a specific file (index) in the Play Queue |
| player.getArtistInformation | None | artists | Returns artist information for the artist of the current track. |
| player.getArtistPicture | None | Binary | A binary stream of the artist picture for the currently playing tracks artist. If this artist does not have an assigned artist picture the default image will be returned. The image format is 128x128 pixels. |
| player.getSuggestedTracks | None | Default, track (0-N) | Returns a list of suggested tracks based on the track currently loaded in the player (whether playing, paused or stopped). |
| player.playDatabaseItem | id | Default | Plays a specific track in the database |
| player.getFavouriteUserTracks | None | Default, track (0-N) | |
| player.enqueueNext | id | Default | Enqueues the specified track after the current track in the Play Queue |
| player.enqueueLast | id | Default | Enqueues the specified track to the end of the Play Queue |
| player.enqueueAlbum | id, isalbum | Default | Enqueues a specific album to the Play Queue. If isalbum is set to yes, id is assumed to be an album id otherwise it is assumed to be a file id (album will be looked-up) |
| player.playAlbum | id, isalbum | Default | Enqueues and plays a specific album to the Play Queue. If isalbum is set to yes, id is assumed to be an album id otherwise it is assumed to be a file id (album will be looked-up) |
| player.clearPlayQueue | None | Default | Clears Helium Music Manager's Play Queue |
| player.randomize | None | Default | Randomizes the contents in Helium Music Manager's Play Queue |
| playlists.getPlaylists | None | Default, playlist (0-N) | |
| playlists.playPlaylist | id | Default | |
| playlists.enqueuePlaylist | id | Default | Enqueues the contents from a specific Helium Music Manager playlist |
| playlists.getContents | id | Default, track (0-N) | Returns the tracks located in a specific Helium Music Manager playlist |
| database.search | searcharg, searchtype, exact | Default, track(0-N) |
Performs a search and returns the results.
exact should be set to "yes" if only exact matches should be returned, otherwise set it to "no" or exclude the argument.
|
| database.getStream | id | Binary | Returns the binary stream for a specific file |
| database.getInformationForItem | id | Default, track (1) | |
| database.getPictureForItem | id, isalbum | Binary | If isalbum is set to "yes", id is assumed to be an album id otherwise it is assumed to be a file id (album will be looked-up) |
| database.rateItem | id, rating | Default | Updates the rating for a specific database track. Rating is a value from 0-10 (0 = No rating, 1 = 0.5 star, 2 = 1 star, 3 = 1.5 stars and so on) |
| database.setFavourite | id, favourite | Default | Sets if a specific track is a favourite or not. Variable favourite should be set to "yes" to mark the track as a favourite. |
| database.transcodeFile | id, transcodeformat, transcodequality |
player-command |
Converts a file to a specific format, defined by transcodeformat.
Transcodeformat can be "mp3", "flac", "wav" and "ogg".
Transcodequality defines the quality of the resulting file, specific to each encoding format. The resulting player-command will contain the filename of the resulting file, in the attribute "Value3". (Use together with method "database.getStreamFromFile).
Converts a file to a specific format, defined by transcodeformat.
Transcodeformat can be "mp3", "flac", "wav" and "ogg". Transcodequality defines the quality of the resulting file, specific to each encoding format. The resulting player-command will contain the filename of the resulting file, in the attribute "Value3". (Use together with method "database.getStreamFromFile"). |
| database.getStreamFromFile | filename | Binary | Returns the binary stream for a specific file, specified by the filename parameter |
| database.getAlbum | id, isalbum | album-information, default | Returns the information for a specific album. If isalbum is set to yes, id is assumed to be an album id otherwise it is assumed to be a file id (album will be looked-up). |
| database.getPictureForAlbum | id, isalbum | Binary | If isalbum is set to "yes", id is assumed to be an album id otherwise it is assumed to be a file id (album will be looked-up) |
| database.getAlbumTracks | id, isalbum | Default, tracks (0-N) | If isalbum is set to "yes", id is assumed to be an album id otherwise it is assumed to be a file id (album will be looked-up) |
| database.trackExistsInCache | id | Player-command | Returns the full filename of a database track if it exits in Helium Music Managers internal cache. |
| database.getArtistPicture | id, isartist | Binary | If isartist is set to "yes", id is assumed to be an artist id otherwise it is assumed to be a file id (artist will be looked-up) |
| database.getArtistInformation | id, isartist | artist-information, default | If isartist is set to "yes", id is assumed to be an artist id otherwise it is assumed to be a file id (artist will be looked-up) |
| database.getLyrics | id | Player-command | If id is set to -1, lyrics will be returned for the file currently playing otherwise for the file with the specific id. Lyrics is returned in the value3 attribute. |
Helium Music Manager enables you to synchronize and manage your iPod/iPhone devices.
To be able to connect to to your iPod/iPhone device you must have Microsoft .NET Framework 3.5 installed.
To prepare your iPod device for Helium Music Manager, perform the following steps:





You can work with your iPod device in various ways within Helium Music Manager. A few examples are:
The first time you use your iPod/iPhone device on Windows Vista / Windows 7 with User Access Control (UAC) active, you must run Helium Music Manager as an administrator (right click the shortcut and select Run As Administrator).
As soon as Helium Music Manager has successfully connected to the device (i.e. it is shown under the iPod Devices entry in the Music Explorer) you can close Helium Music Manager and start it normally. This needs to be done once for each new iPod/iPhone device that you wish to use with Helium Music Manager.
There is currently no sync-back support to synchronize play counts and ratings back to Helium Music Manager from an iPod or iPhone.
This guide is aimed at those who want to install and use Microsoft SQL Server Express as database backend to Helium Music Manager.
Microsoft SQL Server Express generally gives much better performance when having large collections. This is also the way to go if you plan on using Helium Music Manager in a multi-user environment where two or more clients want to access the same music collection.
Please follow the instructions below to install Microsoft SQL Server 2008 Express. If you will use Helium Music Manager in a multi-user environment this only needs to be done on the server (the computer where the music and the database resides).
Congratulations! You are now ready to configure Helium Music Manager to use SQL Server Express.
This guide is aimed at those users who want to install and use MySQL as database backend to Helium Music Manager.
The MySQL database option should only be used if you have specific reasons for this. One reason could be that you already have a working Linux server set up and want to use an already existing MySQL server on that computer, or want to install one. Another would be if you want to connect to the Helium Music Manager database from your own PHP application. You may also consider this alternative if you plan on using Helium Music Manager in a multi-user environment where many clients want to access the same server.
If you are thinking about upgrading from the default Access database to MySQL purely for performance reasons you should consider the free Microsoft SQL Server Express database instead. Click here to read more about installing Microsoft SQL Server Express.
You can install a MySQL server either on the same computer as you are running Helium Music Manager, or you can install it on a different Windows computer.
On the computer where you want to install the MySQL Server, perform the steps below:
The MySQL Connector/ODBC 5.1 is needed on all computers running Helium Music Manager. It's not required on the server if you don't plan to run a Helium Music Manager client on that computer.
On all computers where you will use Helium Music Manager, perform the steps below:
Congratulations! You are now ready to configure Helium Music Manager to use MySQL.
Translating into a new language or completing an incomplete language is quick and simple using our own translation tool. Just follow the short guide below to get started.
And did we mention that we offer a fully working license of Helium Music Manager Network and the Helium Music Streamer for FREE for those to help us translate? Just let us know once you have finished a new translation or corrected an incorrect or incomplete language and we will send license details to these awesome products your way!
Creating a new language
Open a existing language project
You should now see a screen similar to the one below.

Continue reading to learn about the basics for translating.
The translation is divided into two separate tasks, form editing and string editing.
You switch between Form and String views with these buttons:

Please follow the instructions below to translate the forms.
Note that each unique text only needs to be translated once (even though it may occur several times throughout the translation file) as the Translation Manager uses a "smart mode" that replaces all identical occurances automatically. This saves a lot of time.
To translate the texts used in message boxes, lists etc. click the String View icon at the top menu.
A view similiar to the one below will now be shown.

To the left there is a list containing categories. Each category contains one or more strings that needs to be translated.
Translate strings/categories using the following procedure:
To the right of the Content column the native text will be shown. It can be good to check the native contents to see how the text should be translated, or to verify an already translated text.
Note:
This guide is aimed at those who want to use Helium Music Manager in a multi-user environment. We call it a multi-user environment when one or more computers (up to five allowed currently) connects to a central storage where the music and database is located. This gives many benefits over regular software setups, where each client has its own database. Some of the benefits of Helium Music Manager's approach are:
Throughout this guide (and other guides which involves a multi-user environment) we will use the terms Server and Client. When we refer to these terms we mean the following:
There are a couple of prerequisites needed to be handled before we can start setting things up. These include the following:
If all points above have been sorted out, you're good to go!
Setting up the Server software is as easy as installing the free Microsoft SQL Server 2008 R2 Express database. This software allows for multiple computers to share the same data store. SQL Server 2008 R2 Express contains lots of features and settings, but we will only concentrate on a few, making it pretty easy to set up.
Download the appropriate version of SQL Server 2008 R2 Express from one of the links below and then start the installation:
Follow the instructions below to go through the installation:
Once the installation is finished you can close the SQL Server Installation Center window.
That's everything that is needed for the Server. Now you are ready to move on to installing the Clients. Remember that you can have one Client installed on the same machine as the Server if you want.
These steps only need to be carried out once, on the first Client that connects to the Server.
You have now successfully created the database and connected your first client. Congratulations!
Now it's time to add your music to the database.
Once all your shares have been scanned and all music has been added to your database you are ready to connect the remaining clients - if any.
This sections describes how to connect Clients to your Helium Music Manager multi-user environment. Please note that you need to first complete the Setting up the Server and Setting up the first client sections.
That's it! You have now configured the Server and Client and should be good to go to set up additional Clients if needed.
Things to note:
This section will contain selected video tutorials for various features and tools within Helium Music Manager. The aim is to enlighten our users with the depths and qualities of the software, as well as show some hidden - and often unknown - tips and tricks.
This movie demonstrates the power of the Album Pictures Manager which will greatly speed up the process of downloading and attaching album pictures to your albums.