Remuco is a duplex remote control system for media players and mobile devices. With Remuco, you can remotely control your favorite media player. You can switch to the next, previous, or any other media within the current playlist, browse your media library and activate other playlists, rate your media, adjust volume, and more. On the mobile device (the remote control), it displays information about the current media, including cover art. Remuco has clients for MIDP (JavaME) and Android phones.
The most recent version of the following documentation can be found at the Remuco website - that's probably easier to read. Stick to this documentation file if you don't use the most recent Remuco version.
In case you can't wait, here's a quick start for using Remuco.
/path/to/extracted-remuco-package
.sudo make install-PLAYER
where PLAYER is the player you want to use
with Remuco. Inspect the output for possibly missing requirements.client/midp/app
onto your phone.Got it working? Great! Otherwise follow the more detailed documentation below.
The Remuco MIDP client requires a JavaME (J2ME) capable phone with MIDP ≥ 2.0 and CLDC ≥ 1.1. To connect via Bluetooth the phone must support JSR-82 (Java Bluetooth API). To check if your device matches the requirements take a look at the FPC database (add your phone if it's not listed yet).
Additionally check the list of phones successfully used with Remuco. Once Remuco is running on your system, please help to extend this list by running the tool remuco-report.
The Android client requires Android ≥ 2.1 (though older versions may work). Check the client device list, maybe your phone is already listed there.
To use Remuco you need to install one or more player adapters on your computer and a client for your mobile device.
You can either install packages for your distribution (may be a bit outdated) or you can download the latest Remuco release, extract it to a place of your choice and install one or more player adapters as follows:
$ cd path/to/extracted-remuco-package
$ make help
... wow, good to know ...
$ sudo make install-PLAYER
... check output for missing requirements ...
The last command installs the player adapter for PLAYER (replace this with a
real name). After installation there are some files called install-...log
.
They are needed if you want to uninstall Remuco later.
The MIDP client application consists of 2 files:
The files are located in client/midp/app/
(if you installed using
distribution packages they probably are at /usr/share/remuco/client/
).
The concrete steps to install the client depend on your phone. Usually the JAR file has to be sent or copied to the device. Some phones then already trigger the installation, others require to open the file with the device's file manager.
Next to the regular client you'll find special variants of the client in the above mentioned directory:
Remuco's Android client still is in it's beta phase, i.e. it generally works
but yet requires some tweaks, features and fixes. That's why you won't find it
in the Market. However, you'll find a test version in client/android/app
to
install manually (e.g. via USB) on your device.
Note: You have to tune your phone settings to allow the installation of applications from untrusted sources (i.e. not from the market).
Additionally you may want to check the Android page in the wiki for further information. There you'll also find some instructions how to build the client from source, in case you want to contribute or use the most recent version.
The player adapter can be started with the command remuco-PLAYER
(replace
PLAYER with a real player name).
A good choice is to set up remuco-PLAYER
as a startup application when you
log in to your desktop session. When the player is not running then the adapter
is in sleep mode and won't eat much resources.
Note: Remember to enable DBus control in VLC and to install the Songbird MPRIS Add-on (see above in section Requirements).
The player adapter actually is a plugin of the player. Thus it gets started automatically once you activate the Remuco plugin within the player.
The player adapter can be started with the command remuco-mpd
.
A good choice is to set up remuco-mpd
as a startup application when you log
in to your desktop session (in case MPD is already running at this time) or
when MPD itself get's started. It mainly depends on your MPD setup.
If the player adapter is not running on the same computer as MPD have a look into the Configuration section below.
The lazy way: Assuming both mplayer and remuco-mplayer are in your PATH variable, just run
$ remuco-mplayer myawesomefile1 myawesomefile2 ... myawesomefileN
and remuco-mplayer will call mplayer files it can find in that list. As of now, you cannot pass arguments to mplayer.
The kludgy but one-off way:
Add a line to your ~/.mplayer/config
file, telling mplayer to read from the
file .cache/remuco/mplayer.cmdfifo
folder:
echo "input=file=$HOME/.cache/remuco/mplayer/cmdfifo" >> ~/.mplayer/config
This will allow you to control mplayer from the client, and should be done only once. Next start the adapter (as of now, you need to run the adapter before you run mplayer):
$ remuco-mplayer
To be able to get information from mplayer to clients, you need to pipe its output to a location known to remuco.
$ mplayer mymovie.avi | tee $HOME/.cache/remuco/mplayer.statusfifo
This should be all, you can now start the client. But note that you'll need to type that last command every time you want to play something with mplayer.
To make your life easier, add this script to your ~/bin
directory:
[ -z $1 ] && echo "Usage: $0 file2 file2 ..." && exit 1
# if mplayer is installed elsewhere, change /usr/bin/mplayer to the correct location
/usr/bin/mplayer $@ | tee $HOME/.cache/remuco/mplayer.statusfifo
Name this script ~/bin/mplayer
and make sure ~/bin
precedes /usr/bin
in
your PATH environment variable.
The player adapter can be started with the command remuco-tvtime
.
For navigating in TVtime's menu with the Remuco client, the keys on the client have special functions when using the TVtime adapter:
Client Key | TVtime Key |
---|---|
Playback | MENU_ENTER |
Repeat | SHOW_MENU |
Shuffle | SHOW_MENU |
Previous | LEFT |
Next | RIGHT |
Vol. up | UP |
Vol. down | DOWN |
The player adapter can be started with the command remuco-xmms2
.
To let it start automatically when XMMS2 starts, create a symbolic link in the XMMS2 user startup script directory, for instance like this:
$ ln -s `which remuco-xmms2` ~/.config/xmms2/startup.d/remuco-xmms2
Using the client should be quite obvious -- just start and use it ;) .
Remuco comes with a tool called remuco-report. This tool submits information of seen Remuco client devices to the Remuco project. Help setting up a Remuco compatible device list, by using remuco-report! See the tool's man page for more information.
Each player adapter can be configured in Remuco's configuration file placed in
~/.config/remuco/remuco.cfg
. This file is created automatically when a player
adapter has been started the first time. The file contains a section DEFAULT
which defines options for all player adapters and additional sections for
each player used with Remuco. These sections overwrite global options in
DEFAULT
and are used to define options which only make sense for specific
players (look for options starting with x-
).
Global options in section DEFAULT
are documented within the configuration
file. The player specific options are described below.
x-playlist-jump-enabled
:
Toggle playlist jump action (default: 0
). If enabled, clients may jump
within the player's playlist. This is disabled by default because the player
interface does not support such an action. Remuco implements a dirty hack to
realize that anyway but this only works on non-dynamic playlists. If you
think that's okay, feel free to set a 1 here.x-mpd-host
:
Host running MPD (default: localhost
).x-mpd-port
:
Port used by MPD (default: 6600
).x-mpd-password
:
Password to use when connecting to MPD. Must be set if MPD is configured to
restrict certain actions with a password requirement.x-mpd-music
:
Root directory of MPD's music directory (default: /var/lib/mpd/music
).
Used for searching cover art files and only works if MPD is at localhost.The defaults should work for most MPD setups.
x-cmdfifo
:
FIFO file to use to send commands to MPlayer (default:
~/.cache/remuco/mplayer.cmdfifo
). For details see MPlayer usage in the
Usage section above.x-statusfifo
:
FIFO file to use to read output from MPlayer (default:
~/.cache/remuco/mplayer.statusfifo). For details see MPlayer usage in the
Usage section above.On some phones the Remuco client does not find the player adapter services running on a computer. See the [FAQ][faq] for instructions how to fix this.
BlackBerry devices: The default service search fails on BlackBerry devices. You have to manually set a service channel ≥ 7 in the client and in the player adapter configuration. For details see the FAQ.
On some BlackBerry devices (e.g. Bold 9000 or Pearl 8120) you need to set the
option interface=wifi
in a WiFi connection's configuration screen
(screenshot). Otherwise the phone tries to connect using BIS (BlackBerry
Internet Service) instead of the real WiFi interface.
Another user reported that the option deviceside=true
had to be set in
order to circumvent BES proxy connections. If it still fails, have a try with
some other options for WiFi connections on BlackBerry devices and drop a
note on the mailing list in case you found a useful option.
These operators have very restrictive access rights for third party JavaME applications. As a result it is likely that the Remuco client is not allowed to setup WiFi or Bluetooth connections. Read all the details.
The default client fails to start on Windows Mobile devices using JBed for
JavaME apps. Bluetooth is a problem here so you have to use the special client
in the no-bluetooth
sub-directory where the default client files are located.
Some Motorola devices (ROKR E2, ROKR E6, MOTOZINE ZN5 and A1200e) crash with
the default client when adding a new Bluetooth connection. This is a bug in the
devices' Java implementation. There's a special client version with a
work-around for this bug. It's located in the motorola-fix
sub-directory
where the default client files are located.
The default client fails on the K1 when using Bluetooth on the. A special
client version in the motorola-k1-fix
sub-directory fixes this problem.
~/.cache/remuco/PLAYER.log
- replace
PLAYER with a specific player name.~/.config/remuco/remuco.cfg
to
DEBUG. Restart the player adapter and inspect the log again.If you'd like to contribute to Remuco, read Contribute as a starting point. You may also be interested in the other wiki pages related to development. Feel free to say hello on the Remuco development mailing list.
Packagers should not use the top level make file -- this is a wrapper around 'setup.py'. Instead use setup.py directly, which installs all Remuco components (base, player adapters and MIDP client binaries) by default. To install only some components, the environment variable REMUCO_COMPONENTS may be set appropriately. Additionally some more environment variables may be used to adjust the installation process. Just search for 'os.getenv' within setup.py to get more detailed information.
If your distribution requires source only packages, use the package
remuco-source-x.x.x.tar.gz
. Building the MIDP client requires Ant (including
optional tasks), ProGuard and JavaME libraries. You can use JavaME libraries
from SUN's Wireless Toolkit, from the MicroEmu project or generate them from
scratch as described in client/midp/ligben/README
.
The Android client is still in development and should not yet get packaged.