1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
|
Remuco
===============================================================================
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.
- Project Website: <http://remuco.googlecode.com>
- Issues and support: <http://code.google.com/p/remuco/wiki/Issues?tm=3>
- Developer mailing list: <http://groups.google.com/group/remuco>
- License: GPL3
The most recent version of the following documentation can be found at [the
Remuco website][wgs] - that's probably easier to read. Stick to this
documentation file if you don't use the most recent Remuco version.
[wgs]: http://code.google.com/p/remuco/wiki/GettingStarted
Outline
-------------------------------------------------------------------------------
1. [Quick Start][]
2. [Requirements][]
3. [Installation][]
4. [Usage][]
5. [Configuration][]
6. [Known Issues][]
7. [Troubleshooting][]
8. [Development][]
9. [Packager Information][]
<!-- WIKI -->
Quick Start
===============================================================================
In case you can't wait, here's a quick start for using Remuco.
1. [Download][dlo] the latest Remuco package and extract it to a place of your
choice.
2. In a terminal switch into `/path/to/extracted-remuco-package`.
3. Run `sudo make install-PLAYER` where *PLAYER* is the player you want to use
with Remuco. Inspect the output for possibly missing requirements.
4. See section [Usage][] for how to enable the just installed player adapter.
5. Install the client, located in `client/midp/app` onto your phone.
6. Start the client and have fun.
Got it working? Great! Otherwise follow the more detailed documentation below.
[dlo]: http://code.google.com/p/remuco/downloads/list
Requirements
===============================================================================
General
-------------------------------------------------------------------------------
- Python ≥ 2.6 and < 3.0
- Python modules *Image* (a.k.a. PIL), *logging*, *bluetooth*, *dbus*,
*gobject* and *xdg*
Player specific
-------------------------------------------------------------------------------
- __Amarok:__ Amarok ≥ 2.0
- __Amarok14:__ Amarok ≥ 1.4 and < 2.0, Python module *eyeD3*
- __Audacious:__ Audacious ≥ 1.5.1 (2.1 has issues, 2.2 works again)
- __Banshee:__ Banshee ≥ 1.6.0
- __Clementine:__ Clementine ≥ 0.7.1 (older versions not tested)
- __Exaile:__ Exaile ≥ 0.3.1
- __gmusicbrowser:__ gmusicbrowser ≥ 1.0.2
- __MPD:__ MPD ≥ 0.13.2, Python module [*mpd*][pym] (≥ 0.2)
- __Quod Libet:__ Quod Libet ≥ 2.2
- __Rhythmbox:__ Rhythmbox ≥ 0.11.5, Python module *gconf*
- __Songbird:__ Songbird ≥ 1.2 with the [MPRIS Add-on][sbm] installed
- __Totem:__ Totem ≥ 2.22
- __TVtime:__ TVtime ≥ 0.9.11
- __VLC:__ VLC ≥ 0.9 with DBus control enabled (see [screenshot][vls])
- __XMMS2:__ XMMS2 ≥ 0.5, Python module *xmmsclient* (≥ 0.5)
[pym]: http://mpd.wikia.com/wiki/ClientLib:python-mpd
[sbm]: http://addons.songbirdnest.com/addon/1626
[vls]: http://wiki.remuco.googlecode.com/hg/images/exos/vlc-preferences.png
MIDP Client
-------------------------------------------------------------------------------
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][fpc] (add your phone if it's not listed yet).
[fpc]: http://www.dpsoftware.org/filter.php
Additionally check [the list of phones successfully used with Remuco][wcd].
Once Remuco is running on your system, please help to extend this list by
running the tool _remuco-report_.
[wcd]: http://code.google.com/p/remuco/wiki/ClientDevices
Android Client
-------------------------------------------------------------------------------
The Android client requires Android ≥ 2.1 (though older versions may work).
Check the [client device list][wcd], maybe your phone is already listed there.
Installation
===============================================================================
To use Remuco you need to install one or more player adapters on your computer
and a client for your mobile device.
Player Adapters
-------------------------------------------------------------------------------
You can either install [packages for your distribution][wdp] (may be a bit
outdated) or you can [download][dlo] 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.
[wdp]: http://code.google.com/p/remuco/wiki/DistributionPackages
[dlo]: http://code.google.com/p/remuco/downloads/list
MIDP Client
-------------------------------------------------------------------------------
The MIDP client application consists of 2 files:
- *remuco.jar*: The client application to install on your mobile phone.
- *remuco.jad*: A descriptor file which is needed additionally by some phones
for installation.
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:
- *motorola-fix*: Use this for older Motorola phones like ROKR E2, ROKR E6,
MOTOZINE ZN5 and A1200e.
- *no-bluetooth*: A client without Bluetooth functionality. Some Windows based
phones (using JBed) are known to require this client version.
Android Client
-------------------------------------------------------------------------------
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][wan] 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.
[wan]: http://code.google.com/p/remuco/wiki/Android
Usage
===============================================================================
Amarok, Amarok14, Audacious, Clementine, Banshee, gmusicbrowser, Quod Libet, Songbird, VLC
------------------------------------------------------------------------------------------
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][]).
Exaile, Rhythmbox, Totem
-------------------------------------------------------------------------------
The player adapter actually is a plugin of the player. Thus it gets started
automatically once you activate the Remuco plugin within the player.
MPD
-------------------------------------------------------------------------------
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.
MPlayer
-------------------------------------------------------------------------------
**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.
TVtime
-------------------------------------------------------------------------------
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*
XMMS2
-------------------------------------------------------------------------------
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
Client (MIDP and Android)
-------------------------------------------------------------------------------
Using the client should be quite obvious -- just start and use it ;) .
Report Tool
-------------------------------------------------------------------------------
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.
Configuration
===============================================================================
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.
Amarok, Audacious, Songbird, VLC (MPRIS based adapters)
-------------------------------------------------------------------------------
- `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.
MPD
-------------------------------------------------------------------------------
- `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.
MPlayer
-------------------------------------------------------------------------------
- `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.
Known Issues
===============================================================================
Bluetooth service search
-------------------------------------------------------------------------------
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][wfq].
[wfq]: http://code.google.com/p/remuco/wiki/FAQ
WiFi connections on BlackBerry devices
-------------------------------------------------------------------------------
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][ccs]). Otherwise the phone tries to connect using BIS (BlackBerry
Internet Service) instead of the real WiFi interface.
Another user [reported][i67] 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][owb] and drop a
note on the [mailing list][rml] in case you found a useful option.
[ccs]: http://wiki.remuco.googlecode.com/hg/images/exos/emulator-ifacewifi.png
[i67]: http://code.google.com/p/remuco/issues/detail?id=67
[owb]: http://www.blackberry.com/developers/docs/5.0.0api/javax/microedition/io/Connector.html#socket
[rml]: http://groups.google.com/group/remuco
Phones operated by AT&T Wireless or T-Mobile U.S.
-------------------------------------------------------------------------------
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][wjp].
[wjp]: http://code.google.com/p/remuco/wiki/JavaMeApiPermissions
Windows Mobile devices
-------------------------------------------------------------------------------
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.
Motorola devices
-------------------------------------------------------------------------------
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.
### Motorola K1 ###
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.
Troubleshooting
===============================================================================
General
-------------------------------------------------------------------------------
- If you experience any problems first have have a look into the log file of
the player adapter your are using (`~/.cache/remuco/PLAYER.log` - replace
*PLAYER* with a specific player name.
- In case this does not help to find and solve the problem, enable debug log
by setting the option *log-level* in `~/.config/remuco/remuco.cfg` to
*DEBUG*. Restart the player adapter and inspect the log again.
- If you are still lost, then it's time to [ask for help][hlp].
[hlp]: http://code.google.com/p/remuco/wiki/Issues?tm=3
MIDP Client
-------------------------------------------------------------------------------
- The client has a menu option called *Log* - check it.
- If the client fails to start on your device, although it meets all
requirements, have a look at [MIDP][wmp] for possible reasons and solutions.
[wmp]: http://code.google.com/p/remuco/wiki/MIDP
Android
-------------------------------------------------------------------------------
- Go and fix it :-P (client is still in development).
<!-- WIKI -->
Development
===============================================================================
If you'd like to contribute to Remuco, read [Contribute][wco] as a starting
point. You may also be interested in the other [wiki pages related to
development][wdv]. Feel free to say hello on the [Remuco development mailing
list][rml].
[wco]: http://code.google.com/p/remuco/wiki/Contribute
[wdv]: http://code.google.com/p/remuco/w/list?q=label:Development
[rml]: http://groups.google.com/group/remuco
Packager Information
===============================================================================
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.
<!-- ---------------------------------------------------------------------- -->
<!-- in-document section links -->
<!-- ---------------------------------------------------------------------- -->
[Quick Start]: #Quick_Start
[Requirements]: #Requirements
[Installation]: #Installation
[Usage]: #Usage
[Configuration]: #Configuration
[Known Issues]: #Known_Issues
[Troubleshooting]: #Troubleshooting
[Development]: #Development
[Packager Information]: #Packager_Information
|