UberWinampHID

v2.0

Control Winamp via Bluetooth using your mobile phone

(Developed for Sony Ericsson K750i/W800i)

by Colin Edwards, Aug. 2006



Download Media Library Export plug-in for Winamp
Download UberWinampHID (254K Zip File - includes the HID profile for your phone)


Introduction (Why?)

Using your mobile phone to control your PC is all well and good and has a certain gadget-factor that you can show off to your friends but just how useful is it really?

The whole point of using a remote control is that you are not near the device your are manipulating, right? The word 'remote' aint in there for nothing! But with how many PC applications can this actually work to any degree of satisfaction?

Sure, things can be achieved with apps like Media Player and even Winamp but these functions require to be pretty basic for one very simple reason: If you are beyond a certain distance from your PC's screen you can't frikkin' read it! When I'm listening to music in my armchair I want to do more than just turn the sound up and down and skip to a certain song!

This is where UberWinampHID comes in. Instead of controlling Winamp with your phone, you now control the UberWinampHID interface and that, in turn, will control Winamp. The benefit of all this? More control, more flexibility and greater ease of use.

How?

The interface was created using AutoHotkey which is a very powerful scripting tool that allows the user to assign functions to the keyboard or mouse and so control the behaviour of running programs. One of the major problems I encountered was that I couldn't directly access Winamps Media Library to get the data I needed to 'feed' the interface but then I stumbled across a plug-in for Winamp that allowed me to perform an export of the library into XML format.

This program processes that XML file and allows you to navigate through it using the UberWinampHID interface. The on-screen display that the user interacts with is actually an HTML file and, hence, is displayed in the default browser. UberWinampHID was designed with my browser-of-choice in mind and that browser is Firefox. The best viewing experience can be achieved using the Full-Screen extension which hides the title bar, status bar and all toolbars.

Installation

To use UberWinampHID you must do the following

[1] - Download UberWinampHID and unzip it to a folder of your choice.
[2] - Download and install the Media Library Export/Import plug-in for Winamp
[3] - Run an export of the Media Library (On the Media Library's 'File' menu, select 'Export Database'). Call it 'library.xml' and save it to the UberWinampHID folder you created in [1] above
[4] - Install the HID profile (contained in the zip file) to your phone

That's it! You're good to go!

User Operation

Double-click the UberWinampHID icon (i.e. run UberWinampHID.exe) to start the program. The following window appears:



Here's what it all means:

Process Winamp Export File
Check the 'Process Winamp Export File' checkbox in order to process the Library Extract you created earlier. You will not need to check this box again unless you have performed another Export from Winamp's Media Libray (for example when you have added new music files to it)

Organise tracks into these categories
The three checkboxes for 'Genres','Artists' and 'Albums' determine the way your music is organised by UberWinampHID and represent a top-down hierarchy. For example, if you checked just the box for 'Artists', all tracks would be organised into their respective Artists (rather than into their Albums and then into their Artists). The only screens you could navigate to would be 'Artists' and 'Tracks' - no Genre or Album information would be visible, searchable or browse-able. You might prefer this option if you are one of those people who doesn't have many entire albums but, rather, a few selected songs from many different albums. Likewise, you might want to exclude 'Genre', since many artists are classified differently by different people and your MP3 collection probably reflects this.

OSD Options
These govern the look of the UberWinampHID display. Here you can select a 'wallpaper' and an image with which to highlight selections. You can also determine the number of rows that are visible and text size and colour.

When you are done, press the 'Start UberWinampHID' button to start using UberWinampHID. You can return to the Pre-Processor Options window at any time by right-clicking the UberWinampHID icon in the System Tray and selecting 'Options'. You might want to do this to re-configure the display or re-organise the Media Libray.

Below is an example of the main UberWinampHID interface which should also serve to better illustrate the settings just discussed:



Now, having switched on the remote control from your phone hand-set, you are ready to sit down, relax and listen to your favourite tracks ;-)

The table below shows how the keys from the phone are mapped to those on the keyboard. Of course, these mappings are also present in the HID file located on the phone.

Function
Phone Key Keyboard Browser Mode Search Mode
(Where different from Browser Mode)
Left Soft-key < Plays previous track on playlist  
Right Soft-key > Plays next track on playlist  
Volume Up Numpad + Increase volume by 1%  
Volume Down Numpad - Decrease volume by 1%  
Joystick Left Left Arrow Navigate to Parent Screen (e.g. from Album to Artist) Note: When in Search Mode you may still navigate from (say) Album to Artist (or vice verse) and the Search Expression will not be lost. This allows you to search for (e.g) an Artist and then a Track using the same Expression.
Joystick Right Right Arrow Navigate to Child Screen (e.g. from Album to Tracks)
Joystick Up Up Arrow Move up an on-screen list Jump to previous match for Search Expression
Joystick Down Down Arrow Move down an on-screen list Jump to next match for Search Expression
Joystick 'Fire' Spacebar Add selected track to playlist (enqueue)  
Camera Button BREAK Suspend HID Interface
(Will no longer respond to the phone and the PC's keyboard resumes it's normal functionality)
 
1 1 Jump to first item starting with the numerics 0-10 (cycling) Each repeated pressing of a key within three-quarters of a second will increment to the next letter, in much the same way as basic texting works on your phone.

Example:
Pressing 'P' three times in quick succession equates to the letter 'R' (P=>Q=>R). Once the situation arises that no key has been pressed within a three-quarters of a second period, you are taken to the first item in a list that begins with that letter, in this case 'R'
In Search Mode, you can build up entire words by using the keys on your phone in the same manner as for Browser Mode. The three-quarters-of-a-second time-out period simply moves you to the next letter in the Search Expression as you build it up. Note, however, that you need only wait for the time-out to occur if you are about to enter a letter using the same key as for the previous one.

Example:
To enter the Search Expression 'ABOUT' do the following:
Press 'A' and wait for the time-out. The display shows 'A'
Press 'A' twice rapidly (A=>B). The display shows 'AB'
Press 'M' three times rapidly (M=>N=>O). The display shows 'ABO'
Press 'T' twice rapidly (T=>U) and wait for the time-out. The display shows 'ABOU'
Press 'T' once more to enter the final 'T'. The display shows 'ABOUT'
2 [ABC] A Jump to first item starting with 'A'/'B'/'C' (cycling)
3 [DEF] D Jump to first item starting with 'D'/'E'/'F' (cycling)
4 [GHI] G Jump to first item starting with 'G'/'H'/'I' (cycling)
5 [JKL] J Jump to first item starting with 'J'/'K'/'L' (cycling)
6 [MNO] M Jump to first item starting with 'M'/'N'/'O' (cycling)
7 [PQRS] P Jump to first item starting with 'P'/'Q'/'R'/'S' (cycling)
8 [TUV] T Jump to first item starting with 'T'/'U'/'V' (cycling)
9 [WXYZ] W Jump to first item starting with 'W'/'X'/'Y'/'Z' (cycling)
* Numpad * Perform a Global Search (e.g. for part of a song or artists name) Enter Search Mode [1] If you have finsihed entering a Search Expression (as described above), press * to perform the search.

[2] If you are currently browsing the results of a Search, press * to cancel Search Mode and return to browser mode.
0 Numpad 0 Add to Favourites (a Favourites.m3u playlist file is created in the Winamp folder)  
# # Toggle 'Shuffle' On and Off  


Other Things You Should Know (in no particular order)

[1] - I am keen to have feedback on this application - particularly if there are bugs or improvements that can be made. Just let me know about them!

[2] - I have Winamp v5.111 and it works fine on my Win 2000 PC! I haven't tested it on any other machine. Period.

[3] - I have a Sony Ericsson W800i. However, this application does not preclude the use of other makes and/or models. If you can create a HID file incorprating the required mappings, you can use UberWinampHID. If like me, you use a Sony Ericsson handset (and why wouldn't you!?) you can get the necessary PC software from their website to create the HID file. It is then just a matter of sending it to your phone via USB/Bluetooth/Infra-red.

[4] - If you want to re-map the keys for any reason, including for the purpose of creating your own HID file, do it yourself!

[5] - You don't necessarily have to use your phone with the interface. Just press the keys in the table above to test the functionality. Bear in mind, though that it is intended to be used with a remote control

[6] - My own Winamp Media Library contains only audio files. I haven't tested what happens when the export includes other types of media

[7] - If you have configured Winamp to run in your System Tray when minimised, UberWinampHID will not be able to control it!



Download Media Library Export plug-in for Winamp
Download UberWinampHID (254K Zip File - includes the HID profile for your phone)


Thanks To...
Anyobdy in the AutoHotkey forum whose code I have plagiarised, especially 'shimanov' who helped me with enqueue-ing the files in Winamp