AmaroK XUL Remote
Amarok 1.x Scripts
Score 50%
Description:

Control AmaroK from any Firefox browser on your network.

This AmaroK script embeds a Firefox extension and a HTTP server


FEATURES:
- player manipulation: play, pause, stop, next, previous, seek, volume
- auto refreshing playlist view, plays a given track on click, can delete tracks
- collection browser with filtering, ordered by artist/album
- drag and drop tracks, album and artists to the playlist
- cover view for current track
- access restricted by login/password/IP address

The project developpement is now hosted on: http://sourceforge.net/projects/xul-amarok/
please go there to report bugs or wishes.


REQUIREMENTS:
- python >= 2.3
- pyqt (python QT bindings)
- AmaroK >= 1.4.3
- Firefox >= 1.5

INSTALL:
- Download the archive, then install and run it with AmaroK script manager
- On the first launch, you will be prompted for some parameters:
- interface(optional): the IP adress of your network interface the server will listen on (empty means all)
- port (required): you can leave 8888 as a default
- login/passwd (optional): if you wish to restrict access
- on any host on your network, launch firefox, go to http://amarok_host:8888 , and install the extension
- restart firefox
- launch "AmaroK remote" in the firefox "Tools" menu.
- set the options of the extension to match those on the server

NOTES:
If you get troubles with the configuration interface, you can use this sample xulremote.ini file:

[debug]
debugajax = off
debugdcop = off

[httpauth]
passwd =
login =

[hosts]
allowed =

[listen]
interface = 127.0.0.1
port = 8888

of course replace 127.0.0.1 with the IP you want to listen on.
Last changelog:

12 years ago

1.0 - 2007-05-24
- new option to open the remote in a tab
- disable launch by KDE session manager (closes #1614228)

0.9b - 2007-04-30
minor fixes:
- Default server IP address to 127.0.0.1
- No more client hostname lookup
- new window for cover display

0.9a - 2006-11-03
- fix bug [ 1585368 ] Wrong file name transmitted

0.9 - 2006-10-21
- feature: context menus on collection and playlist
- feature: restrict connections from an IP addresses list
- works with firefox2, Amarok 1.4.3
- extension code rewrite

0.8 - 2006-04-30
- feature: delete tracks from playlist (press delete key)
- better playlist refreshing behaviour
- more playlist columns
- bugfix: collection browser now works fine with sqlite
- bugfix: more robust handling of unicode/non-unicode locales

0.7a - 2006-03-01
- bugfix: non resolved IPs could not connect
- no changes to extension

0.7 - 2006-02-25
- login/password authentication (HTTP Basic)
- big changes on the script side, now a pyqt application
- configuration interface
- always use dcop CLI, pydcop no longer required
- unicode bugfixes
- no more javascript warnings
- debugging possibilities, see xulremote.ini

0.6 - 2006-02-12
- unicode support
due to some issues with unicode and pydcop, the command line dcop is used for some actions

- reworked communication layer
uses AJAX instead of XML-RPC, which was designed for ascii

- sliders for seek and volume
adapted from foxytunes (thanks to Alex Sirota)

- amarok message on new connections
- cover view

0.5 - 2006-02-05
- support for firefox 1.5.0.1

0.4 - 2005-10-16
- drag and drop now works with albums and artists
- support for special characters

0.3 - 2005-09-10
- support for firefox 1.5 (won't work anymore with 1.0.x)
- use the new firefox preferences system
- works with amaroK 1.3
- better layout
- collection browser handles compilations
- dropped the Dynamic mode switch

0.2 - 2005-05-03
- Add a party mode enable/disable switch
- corrected bugs in the collection browser
- some cleanups

dar38

7 years ago

It is a great script, thanks ! Will there be a Firefox 3.6 - Amarok 1 compatible version ?

Report

mjehee

7 years ago

I like this script too. I managed to get this working with 3.6.3. I just installed the extention nightly tester and overrided the compatibility check

Success

Report

ActionParsnip

8 years ago

Hey man

Ii tried this script in Amarok 2 after updating to Jaunty and its a no go. I have installed 1.4 from a PPA and its great but is there a future for this script in the new amarok?

Cheers
-Andy

Report

mbedouet

8 years ago

Hi, I've just switched to Amarok2, so I may port this script someday.
I would have to learn QTScript and digg into the new amarok API, but I don't have much time these days.
It should be possible to do this without changing the firefox extension too much.

Report

ActionParsnip

8 years ago

If you do, let me know. I'm currently using 1.4 so I can specifically use your script. Its the BOM!!

Report

KOverdose

8 years ago

Absolutely great. Now all I want is the search to behave like the one in the "real" amarok. Somehow the search only works for artists names :(

Report

Contrast

8 years ago

Really awesome work. This eliminates the need for MPD in my setup. Thanks!

Report

ActionParsnip

9 years ago

Hey man this is awesome for my headless server, simply reenabled my sounceard and I can play all my track via web browser. spot on!

One question...

Is it possible to interface to this with a smartphone? I'm not very conversant with XUL / XML etc but if a mobile phone could web browse to manage playlists that would be sweet.

If you could recommend makes / models etc or a feature that must be included in the handset I'd e very gratful.

I noticed firefox coming out for mobile phones soon. Would that be what is necessary?

Keep up the good work bro

Peace
-Andy

Report

mbedouet

9 years ago

Hi,

glad you like it!
This is a firefox extension so yes it requires firefox.
I don't know about if the firefox version for mobiles (fennec I think) will feature extensions, but if it does it may be possible to make it run on a mobile device.
Some modifications to the UI may be required due to the size of these devices though.
bye,

Report

DenBittraMannen

9 years ago

Thank you for a nice plugin/script (:
A note, i run archlinux (dont panic) and i had pyqt installed and everything - but it complained that i had not qt module loaded. After lurking around a bit i found that i needed PyQT3 (not the first one).
so you might want to add PyQT3 for archlinux in install (dont know if its only my system though).
Also wanted to add css style ability if its possible (so its bit simpler to change the "UI") on the wish list if its not there ;)

Report

pepo

9 years ago

I must to say a GREAT THANK YOU for this perfect app. :)
Please don't stop developing of it!
Did you think about implement more amaroK functions? (Eg.: lyrics etc.)

Regards,

Pepo

Report

blkline

10 years ago

I was easily able to load this script into my Amarok instance (Fedora 7, Amarok 1.4.5) and load the Firefox client on two different machines (including the host of Amarok). While it will allow me to control the playlist, I do not get any collection information expect one album title: "Various Artists" with no track information.

I've double-checked all of my settings, to no avail. Is this a known problem? I have the client running in Firefox 1.5.0.12 on CentOS 4.5, and Fedora 7.

Thanks in advance for any suggestions on how to fix this problem.

Report

funkathustra

10 years ago

I can connect to AmaroK, view and control the playlist. The tree works fine for artist and album, but I can't view any tracks. I turned on debug mode. Here is an output:

[XUL remote HTTPD] <== POST REQUEST method=albums&artist=Paul%20McCartney
[XUL remote DCOP ] query: select distinct al.name from album al, artist ar, tags t
where t.artist = ar.id and t.album = al.id and ar.name = 'Paul McCartney'
order by al.name
[XUL remote DCOP ] query results: ['Driving Rain', 'Memory Almost Full', 'Paul Is Live', 'The Very Best of MTV Unplugged']
[XUL remote HTTPD] 192.168.0.104 - - [14/Jul/2007 03:00:28] "POST / HTTP/1.1" 200 -
[XUL remote HTTPD] ==> POST RESPONSE <?xml version="1.0" encoding="utf-8"?>
<response><method>albums</method><albums><album>Driving Rain</album><album>Memory Almost Full</album><album>Paul Is Live</album><album>The Very Best of MTV Unplugged</album></albums></response>
[XUL remote HTTPD] <== POST REQUEST method=tracks&artist=Paul%20McCartney&album=Memory%20Almost%20Full
[XUL remote DCOP ] query: select distinct t.title, t.deviceid, t.url from album al, artist ar, tags t
where t.artist = ar.id and t.album = al.id
and ar.name = 'Paul McCartney' and al.name = 'Memory Almost Full'
order by t.discnumber, t.track
[XUL remote DCOP ] query results: []
[XUL remote DCOP ] query: select id, lastmountpoint from devices
[XUL remote DCOP ] query results: ['1', '/', '2', '/music']
[XUL remote HTTPD] 192.168.0.104 - - [14/Jul/2007 03:00:30] "POST / HTTP/1.1" 200 -
[XUL remote HTTPD] ==> POST RESPONSE <?xml version="1.0" encoding="utf-8"?>
<response><method>tracks</method><tracks/></response>


It fetches the album names, but doesn't fetch the tracks. It looks like a DCOP/AmaroK problem, but I was wondering if anyone had a solution?

I'm still on version 1.3.8 on SuSE 10.1. I have the latest version of XUL Remote.

I've seen this problem raised in previous posts (it was suggested it may be a character encoding issue -- which I thought was resolved?).

Report

mbedouet

10 years ago

Hi,

the minimum amarok version required is 1.4.3.

I think the database structure changed during the 1.4 development, and it looks like there is nothing wrong in your log.

the problem is here:
[XUL remote DCOP ] query: select distinct t.title, t.deviceid, t.url
from album al, artist ar, tags t
where t.artist = ar.id and t.album = al.id and ar.name = 'Paul McCartney' and al.name = 'Memory Almost Full'
order by t.discnumber, t.track
[XUL remote DCOP ] query results: []

perhaps in 1.3.8 there were not some of the requested fields.

could you try this in a terminal:
dcop amarok collection query "select distinct t.title from album al, artist ar, tags t
where t.artist = ar.id and t.album = al.id and ar.name = 'Paul McCartney' and al.name = 'Memory Almost Full'"

anyways, you sould try a post 1.4.3 version to see if it works.
bye

Report

plafundum

10 years ago

Yep, version 1.0 does the trick.
Now it works great. Thanks, cool tool.
Will use it alot in my new home.

Report

plafundum

10 years ago

Hello All. I tried to install AmaroK XUL Remote. I will use it a lot b/c my music 'server' is on the 1st floor and I am mostly downstairs where I use an Apple MacBook to control the music. But I noticed that since installing Amarok XUL the CPU is at 100%.

Reproduction: Mandrake SPRING 2007 edition.
1) Did the manual install. Worked on localhost after installling python stuff but uses 100% CPU. And worked not on remote laptop. Apple OS X. Deleted all
2) Noticed that one can also user the Amarok-script installer. TRied this and worked PERFECT!! Also on laptop. No 100% CPU. I love it, what a great solution.
3)Rebooted system to check: Noting worked on Laptop and again 100% CPU.
Any ideas?

Report

mbedouet

10 years ago

Hi,

You may have two instances of the script running, the second one having problems, because the port is already used by the first instance.

could you check if you have 1 or 2 scripts running with:
ps -eaf|grep XulRemote

I think on startup the script may be restored by both Amarok and the KDE session manager.

If this is the problem you have, I will try to detect if another script instance is running on startup.

Report

plafundum

10 years ago

Ha! I head loads of troubles after installing AmarokXul. Thought it was a pythin-issue, loads of reinstall, f*cked my system totally, took met 10 !!!! hours to repair. But that was my fault.

Yes, you are right!!! I have TWO start scripts running after reboot. (Am I the first one experiencing this?)

output:
ps -aux | grep XulR
ad 6241 16.6 1.2 52696 12660 ? Sl 03:57 1:22 python /home/ad/.kde/share/apps/amarok/scripts/xulremote/XulRemote.py -session 10d8d4e36b000117988392800000071620017_1179885310_710099
ad 6317 0.0 1.2 36512 12748 ? S 03:58 0:00 python /home/ad/.kde/share/apps/amarok/scripts/xulremote/XulRemote.py

Report

mbedouet

10 years ago

Hi,
You are actually the second one who reports this.
there is an open bug:
https://sourceforge.net/tracker/index.php?func=detail&aid=1614228&group_id=180348&atid=892812

I will try to make the script quit if it's launched by kde session manager (ksmserver)

Report

mbedouet

10 years ago

Hi,

You should try the new 1.0 release that fixes this problem.

Report

plafundum

10 years ago

Yep, version 1.0 does the trick.
Now it works great. Thanks, cool tool.
Will use it alot in my new home.

(You can delete the other post, sorry)

Report

JoeBlack

10 years ago

Hi,
im having exactly the same Problems as theheretic on Page4. Could anyone please paste a XULremote.ini, so that i can get it running by configuring it by hand? Thx...

Report

mbedouet

10 years ago

Hi, I've posted a sample in the description on this page.
However the setup interface should work everywhere, I'd like to fix this bug.
do you see some errors when you launch the script by hand?

Report

JoeBlack

10 years ago

Hi,
the Sample does help - in some case... but there seems to be another problem.

Well, when i try to execute Xul by Handy -without!- your xulremote.ini, i get this:

markus@markus-desktop:~/.kde/share/apps/amarok/scripts/xulremote$ ./XulRemote.py
[XUL remote] error reading config: won't start HTTPD
[XUL remote] starting readStdin
[XUL remote] error reading config, using defaults
Exception in thread Thread-1:
Traceback (most recent call last):
File "threading.py", line 442, in __bootstrap
self.run()
File "./XulRemote.py", line 281, in run
self.app = XULRemote( sys.argv )
File "./XulRemote.py", line 224, in __init__
self.startHttpd()
File "./XulRemote.py", line 237, in startHttpd
self.configure()
File "./XulRemote.py", line 258, in configure
self.cnf = ConfigDialog()
File "./XulRemote.py", line 73, in __init__
ip=socket.getaddrinfo(socket.gethostname(), None)[0][4][0]
gaierror: (-2, 'Name or service not known')

Now, when i paste the .ini in the Directory, i get this:

[XUL remote] starting readStdin
[XUL remote] starting HTTPD

...and: It works!

BUT! when i start the Script from Amarok, i get no Response on http://127.0.0.1:8888/ and it does not work ...

My System:
Ubuntu 6.10 32 Bit on a 64Bit Machine
Python 2.4.4
Amarok 1.4.5
pyqt 4.0.1
Firefox 2.0.0.3

Whatever, thanks for your fast Response!

Report

JoeBlack

10 years ago

Hey,
just by the way, my Laptop (running Ubuntu 7.04) shows exactly(!) the same behaviour as my Home PC.

Report

12 years ago

1.0 - 2007-05-24
- new option to open the remote in a tab
- disable launch by KDE session manager (closes #1614228)

0.9b - 2007-04-30
minor fixes:
- Default server IP address to 127.0.0.1
- No more client hostname lookup
- new window for cover display

0.9a - 2006-11-03
- fix bug [ 1585368 ] Wrong file name transmitted

0.9 - 2006-10-21
- feature: context menus on collection and playlist
- feature: restrict connections from an IP addresses list
- works with firefox2, Amarok 1.4.3
- extension code rewrite

0.8 - 2006-04-30
- feature: delete tracks from playlist (press delete key)
- better playlist refreshing behaviour
- more playlist columns
- bugfix: collection browser now works fine with sqlite
- bugfix: more robust handling of unicode/non-unicode locales

0.7a - 2006-03-01
- bugfix: non resolved IPs could not connect
- no changes to extension

0.7 - 2006-02-25
- login/password authentication (HTTP Basic)
- big changes on the script side, now a pyqt application
- configuration interface
- always use dcop CLI, pydcop no longer required
- unicode bugfixes
- no more javascript warnings
- debugging possibilities, see xulremote.ini

0.6 - 2006-02-12
- unicode support
due to some issues with unicode and pydcop, the command line dcop is used for some actions

- reworked communication layer
uses AJAX instead of XML-RPC, which was designed for ascii

- sliders for seek and volume
adapted from foxytunes (thanks to Alex Sirota)

- amarok message on new connections
- cover view

0.5 - 2006-02-05
- support for firefox 1.5.0.1

0.4 - 2005-10-16
- drag and drop now works with albums and artists
- support for special characters

0.3 - 2005-09-10
- support for firefox 1.5 (won't work anymore with 1.0.x)
- use the new firefox preferences system
- works with amaroK 1.3
- better layout
- collection browser handles compilations
- dropped the Dynamic mode switch

0.2 - 2005-05-03
- Add a party mode enable/disable switch
- corrected bugs in the collection browser
- some cleanups

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.0
updated May 23 2007
added May 01 2005
downloads today
0
page views today 0