BeMP - BeOS GUI for AMP
BeMP is a GUI based version of AMP.
It has all the standard play controls, playlist support with sorting and shuffle play,
accepts roColour color drops, libprefs support, and a lot more. For the lucky few with
a BeBox there is even support for InfraRed remotes!!
The latest releases of AMP and BeMP can be found on
http://www.cs.vu.nl/~arloafoe/Be.html
Installation
You have probably already unpacked the BeMP archive :). Place the BeMP executable anywhere
you like. BeMP uses the libprefs library from Jon Watte for storing its preferences.
Get the latest libprefs from BeWare
Quick Start
After starting BeMP the main window appears. Dropping an MPEG audio streams on this window
will start decoding it. The window also accepts Folders. These will be recursively traversed
and any valid MPEG audio files found will be appended to the playlist. The "playlist" and "tag editor" button
open the PlayList and TAG editor window respectively. The "close" button is only active when you
have more than one Slot open. Change volume of the stream by clicking and sliding the Volume button.
There's also a pitch control which allows for pitch control between 0 and 200%.
Slots
Yep, BeMP supports multi-file-play i.e. you can play multiple MPEG streams at the same time. While this
feature may not be very practicial it is good at demonstrating the power of the BeOS. To open a new slot
just press ALT-N (what's ALT called on Macs? ;-) or open the Main Menu by clicking in the main window and selecting
"New Slot". This will create a new Player View with all the controls. It's the same as starting a new
copy of BeMP. Experiment with it, and let me know how (if) it works.
Moving around in streams
You'll notice the movement of the blue time indicator triangle while a stream is playing.
You can click along the indicator's path to jump in a stream. There's also a green and a red
triangle indicating start and end position of the stream. Move these around to select the
looping interval of the stream. Looping is activated by clicking on the green arrow button.
Clicking the secondary mouse button anywhere on the Position Bar will give you a pop up menu.
You can select the display format of the bar, either select Frames or Time. You can also choose
the update frequency of the bar. Higher frequencies use a bit more CPU of course.
TAG Editor
BeMP has a built-in TAG editor. What is a TAG? The TAG standard allows you to save information
about your MPEG streams like Artist, Song Title, Year of released etc. The TAG structure is appended
to the end of the MPEG stream. Very nice if you are tired of inventing clever filenames for all your 2283 mp3 files :)
As soon as BeMP detects that a stream has TAG data it will use that information instead of the (boring) filename.
The TAG editor window is pretty straight forward. The window accepts drag & drops from the Tracker.
You'll also notice a Next and Prev button. Use these to load the Next/Prev song of the Playlist into the editor.
Preferences
The preference window lets you alter some things in BeMP:
- RingBuffer size
Here you can select how much sound data will be decoded ahead of time by BeMP. The default
value is 384KB which works pretty well on my BeBox 133. Why is this buffer needed? Well, sometimes
file I/O can be blocked by the OS, for example when syncing in PR. You don't want
your audio output to stop immediately when this happens (you don't want it to stop at all :).
In most cases BeMP will have enough data in its ringbuffer to play uninterrupted until
the I/O gets unblocked. Play around with this value and select the best settings for your
system. Note that BeenBoxen with IDE drives are not that good at playing audio without
interferance (IDE sucks, but you knew that already).
- Enable Pitch control
Selecting this option enables pitch control. Currently you can select a pitch from
from 0 to 200%. Useful? Who knows...
There is an undocumented (not anymore :) BMessage interface in BeMP to control
pitch externally. Mail me if you want to do this. I know of at least one application that
uses it.
- Modify MIME type of streams
Activating this option will change the MIME type of any MPEG audio stream you played with BeMP.
This is something you want to have on most of the time. The next time you double click on an MPEG file BeOS will know
which app to start up.
- Save Playlist at exit
No explanation needed here :)
- Shuffle Playlist at startup
The content of the Playlist will be shufled automatically for you at startup. This is handy if you
have one big playlist with all your MPEG files and like a different sequence each time you start BeMP.
- Always Analyze Playlist items
With this feature on each file you drop in the playlist will be examined (what kind of MPEG it is, TAG data). Loading
large playlist can take a while when this feature is selected. Analyzing each file takes some time, the file must be
opened, the first few frames must be analyzed etc. With this feature turned off entries will only be analyzed when
you click on them with the mouse. You'll also not get a "Total playing time" indication in the Playlist.
- Enable InfraRed control
THIS IS COOL!! I have an Infrared receiver hooked up on one of the BeBox IR ports. BeMP knows
how to read the port and lets you control the following actions:
- Play / Pause
- Stop
- Fast Forward / Reverse
- Next / Previous Song
- Volume Up / Down
- Quit
Currently BeMP knows about 2 remotes. The Kenwood RC-G6 and a Sanyo (comes with some Apple machines).
You can train your own remote by clicking the "Analyze Remote" button. This part is not finished though.
Mail me if you really need it right away :). Further explanation on this feature will follow once
I have finished it. Details on how to build your own IR receiver can be found here
Playlist
The playlist window is divided in an Info section and a playlist. The info section gives you
some information on the currently selected entry. Clicking on the "Name", "Time" or "Size"
button will sort the playlist on the respective fields. As with the main window you can drop
MPEG streams and/or Folders in the playlist. Clicking the secondary mouse button
in the playlist will pop up a menu with the following selections:
- Remove Selected Items - Remove all items that are selected (the Backspace key can be used for this too)
- Invert Selection - Reverses selection. Items selected get deselected and visa versa
- Clear list - Clears the entire playlist
- Analyze All - (re)Analyzes all items in the list. The mpeg files are examined and things playing time and encoding are available for display
- Randomize - Shuffles the playlist.
Keyboard nagivation in the playlist is also supported well. As of version 1.1.8 you can select multiple entries
in the PlayList. Use Shift or Control in combination with the mouse to do this.
The last line of the playlist window will tell you the number of items in the list and the total
amount of playing time. Note that total playing time is only displayed if you have the "Always Analyze" feature
selected in the Preference Window.
Future releases
These are some things I'd like to add to BeMP in the near future
- Well pretty much everything I want is already in so
- Send in your requests...
Greetz
Open the About Window of BeMP and look for the ...Greetz...
About the author
Name: Andy Lo A Foe
Occupation: Studying Computer Science at the VU
Email: arloafoe@cs.vu.nl
Web: http://www.cs.vu.nl/~arloafoe
IRC: Adnans on #BeOS and #Linux (IRCnet)
Favorite music groups: Orbital (rulez!), Prodigy, Pink Floyd ...and basically everything that sounds weird :)
Keywords: Linux, BeOS, OOP, 3Dfx, OpenGL, M.
That's all for now... feedback appreciated!