[plugin] HTTP server to control exaile

Reported by Mathieu Virbel on 2007-09-14
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Exaile
Wishlist
Mathieu Virbel

Bug Description

Hey !

I wrote a simple HTTP server to Exaile. You can view current playlist, change song, do some action on current track, and view track.
It's in xhtml/javascript, using XmlHTTPRequest.

They are few bugs :
- can't selected a track in playlist if some char are misunderdecoded
- can't stop webserver if it's launched

And some idea not yet implemented :
- detect if exaile is closed
- select another playlist
- detect if playlist have changed

I want some feedback before continue my work :)

Mathieu Virbel (tito-bankiz) wrote :

HttpServer.exz - the plugin

Mathieu Virbel (tito-bankiz) wrote :

And a screenshot

Mathieu Virbel (tito-bankiz) wrote :

I forgot : plugin don't appear has "started" after start.
And url to access : http://127.0.0.1:10000/

Mathias Brodala (mathbr) wrote :

The "Play" button doesn't reflect the current playback status. It should also be able to pause playback and resume instead of restarting it over and over again.

Mathias Brodala (mathbr) wrote :

Also changing document.title according to the current track info would be nice.

Adam Olsen (arolsen) wrote :

Wow, this is pretty awesome. Keep up the good work :)

Mathieu Virbel (tito-bankiz) wrote :

Include fix :
- work in Opera
- pause/play/resume button
- change document.title
and add :
- convert duration into 00:00
- add remaining duration in progress bar

Mathias Brodala (mathbr) wrote :

I recommend renaming the plugin to something like "Web frontend" since this is what it actually is and the user could be wanting. For him it’s not relevant that there’s a http server running in the background.

Mathieu Virbel (tito-bankiz) wrote :

New version include :
- a panel preference (to control which column to display, refresh time...)
- possibility to seek in current track
- rating and genre are available
- based on Prototype.js.

Enjoy.

Mathieu Virbel (tito-bankiz) wrote :

Screenshot with rating + panel preferences

Adam Olsen (arolsen) wrote :

I really like how you've implemented this. Would you like me to put in the preferences for things like port number and etc?

Changed in exaile:
assignee: nobody → tito-bankiz
importance: Undecided → Wishlist
status: New → Confirmed
Adam Olsen (arolsen) wrote :

Btw, I've added this to the main bzr repository. The latest version will be available in the plugins manager soon.

Mathieu Virbel (tito-bankiz) wrote :

For sure, you can add preferences for port !

Just one more thing : how can we do to terminate a Thread in Python ?

Betes (ben-t-scully) wrote :

Is there documentation for this plugin somewhere? I can't figure out how it works.

Mathias Brodala (mathbr) wrote :

> Is there documentation for this plugin somewhere? I can't figure out how it works.

Install the plugin, activate it and restart Exaile. Now you should be able to access the webinterface via http://localhost:10000.

Betes (ben-t-scully) wrote :

Thanks, got it!

vbman11 (vbman11) wrote :

Would it be faster/possible to run this in apache2?

vbman11 (vbman11) wrote :

Sorry for the double post, but you should also add audio/video streaming to this.

Btw I love this plugin, I have a jukebox like setup with this at my house.

Will you port this to the 0.3 branch?

Some suggestions:
- Make the port configurable
- Add a login with name and password

Aren Olson (reacocard) wrote :

> Will you port this to the 0.3 branch?

All current plugin functionality will eventually be ported to 0.3.

A2 (barnard-martin) wrote :

Nice start to a http frontend!! (new to exaile & just examining it atm).
Wishlist for your excellent plugin:
Bindings for full playlist control & creation, database searching (etc) would be very nice if you have the time (basically port the frontend to the httpserver, 'cause I'm fed up of having to open the vnc client to connect to my media server to select playlist, etc. :-)

jgz (jegazmail) wrote :

Hey guyz.

Nice job man.

I was wondering.. (and sorry for being such a noob).
Is there any way to log in in to a site (not localhost), to access this plugin?
Would be great to control exaile via web (with my cellphone).

Anyway.

Thanks! Keep up the good work.
--
jgz

Mathias Brodala (mathbr) wrote :

> Is there any way to log in in to a site (not localhost), to access this plugin?

This is nothing Exaile can do but you are free to use a DynDNS service to have your system accessible from the web through a persistent host name.

MetalMatze (metalmatze) wrote :

Hey, I want this plugin too. Controlling exaile with my Android Phone would be amazing. But if I try to install it. It says something like "Incorrect Plugin Format"...I have Exaile 0.3.1.1. Thanks

Magnes (magnesus2) wrote :

The plugin format changed in Exaile 0.3.x. I tried to correct the plugin (it's a zip file, so you can edit the source code) using this documentation: http://exaile.org/wiki/index.php?title=PluginDevelopment - but I failed. I don't know Python so I was just grasping at straws here. Maybe someone who know more about Python could fix it?

Jonathan Tsai (jontsai) wrote :

Well, I just spent about 20 or so hours over the last two days learning how to get this plugin to work =). The existing API that can be found out there completely changed from Exaile 0.2.x to Exaile 0.3.x and is now obsolete, and the documentation was completely off. I am working off of Ubuntu Lucid Lynx. First, to get on the same, page, I needed to get the latest stable Exaile.

From: https://launchpad.net/~exaile-devel/+archive/ppa
    sudo add-apt-repository ppa:exaile-devel/ppa
    sudo apt-get update
    sudo apt-get install exaile

On my system, I use found the code just by doing
    which exaile
    less /usr/bin/exaile
    cd /usr/lib/exaile
    ...

Then I went to town

I created a new GitHub repository for this project so that people can work together on it collaboratively!
https://github.com/jontsai/Exaile-HTTP-Server

The build that I made today that works can be found here: https://github.com/jontsai/Exaile-HTTP-Server/downloads

Also attached here for convenience.

Jonathan Tsai (jontsai) wrote :

I just made another few fixes and built another package.

Please just download it from https://github.com/jontsai/Exaile-HTTP-Server/downloads

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers