Difference between revisions of "SpotCommander"

From ArchWiki
Jump to: navigation, search
m (fix blank lines, see Help:Style)
Line 1: Line 1:
 
[[Category:Audio/Video]]
 
[[Category:Audio/Video]]
[http://code.google.com/p/spotcommander/ SpotCommander] is an open source web-based remote control for the '''GNU/Linux version''' of [[Spotify]]. The application is written in [[PHP]] and HTML5, and thus optimized especially for mobile devices, like smartphones or tablets. It has a visual appealing, responsive and intuitive user interface.
+
[http://code.google.com/p/spotcommander/ SpotCommander] is a remote control for Spotify for Linux, optimized for mobile devices. It's based on HTML5 & PHP, works on any device with a modern browser, and it's free and open source.
 +
 
 +
SpotCommander is the most elegant, intuitive, feature-rich & universal remote control for Spotify, exclusive for Linux users!
  
 
{{Note|SpotCommander 8.6 does not work with Arch Linux. Please wait for SpotCommander 8.7.}}
 
{{Note|SpotCommander 8.6 does not work with Arch Linux. Please wait for SpotCommander 8.7.}}
  
 
== Features ==
 
== Features ==
The application offers amongst others the following features:
 
  
* Launch and quit Spotify
+
* Reponsive & intuitive user interface
 +
* Launch/quit Spotify
 
* Now playing
 
* Now playing
 
* Control playback
 
* Control playback
* Change Spotify's volume
+
* Adjust volume
* Toggle shuffle and repeat
+
* Toggle shuffle & repeat
* Browse playlists, albums and starred items
+
* Playlists
* Search for tracks
+
* Starred items
 +
* Search
 +
* Browse playlists
 +
* Browse albums
 
* Recently played
 
* Recently played
 
* Queue
 
* Queue
 +
* Lyrics
 +
* Start track radio
 +
* Play artists
 +
* Top lists
 +
* Popular playlists
 +
* New albums
 +
* Genres
 +
* Share to social networks
 
* Gestures
 
* Gestures
 
* Keyboard shortcuts
 
* Keyboard shortcuts
 +
* Android app
 +
* Fullscreen on iOS
 +
* Automatic update checking
  
 
== Installation ==
 
== Installation ==
Line 23: Line 39:
 
{{Note|This must be done as root.}}
 
{{Note|This must be done as root.}}
  
=== Preconditions ===
+
=== Install & configure required packages ===
==== Install Apache web server ====
+
* To be able to use SpotCommander, it is neccessary to have an Apache web server installed on the device, which should be controlled remotely later. Apache and PHP can be installed this way:
+
  
  $ pacman -S apache php php-apache
+
* Install required packages:
  
See the [[LAMP]] article for more detailed information about Apache.
+
  $ pacman -S apache php php-apache php-sqlite qt4 inotify-tools xautomation wmctrl wget
  
==== Configuration of Apache ====
+
* Enable PHP as described in [[LAMP]] article
* Configure Apache. In {{ic|/etc/httpd/conf/httpd.conf}} add:
+
  
AddType text/cache-manifest .appcache
+
* Enable required PHP modules. In {{ic|/etc/php/php.ini}}, comment out:
+
<Directory "/srv/http/spotcommander">
+
    AllowOverride All
+
    ExpiresActive On
+
    ExpiresByType text/cache-manifest "access plus 0 seconds"
+
</Directory>
+
 
+
* To be able to run the application, the sqlite extension of PHP is required. First, install the package:
+
 
+
  $ pacman -S php-sqlite
+
 
+
* Now edit the php configuration in {{ic|/etc/php/php.ini}}:
+
 
+
  $ nano /etc/php/php.ini
+
 
+
* Comment out the following lines, to enable the needed extensions:
+
  
 
   extension=curl.so
 
   extension=curl.so
  ...
 
  extension=openssl.so
 
 
   ...
 
   ...
 
   extension=pdo_sqlite.so
 
   extension=pdo_sqlite.so
Line 62: Line 57:
 
   extension=sqlite3.so
 
   extension=sqlite3.so
  
{{Note|Make sure you have the ''openssl'' package installed.}}
+
* As root, create the file {{ic|/etc/httpd/conf/httpd.conf}} and add:
  
* Restart Apache:
+
AddType text/cache-manifest .appcache
 +
 +
<Directory "/srv/http/spotcommander">
 +
AllowOverride All
 +
ExpiresActive On
 +
ExpiresByType text/cache-manifest "access plus 0 seconds"
 +
</Directory>
  
   $ systemctl restart httpd.service
+
{{Note|If you are going to install in another directory than /srv/http/spotcommander, make sure you use the correct directory above.}}
 +
 
 +
* Make Apache start when system boots:
 +
 
 +
   $ systemctl enable httpd.service
 +
 
 +
=== Give Apache access to /tmp ===
 +
 
 +
* As root, open {{ic|/usr/lib/systemd/system/httpd.service}}
 +
* Set:
  
* It is neccessary to give Apache access to /tmp. Search in {{ic|/usr/lib/systemd/system/httpd.service}} for the line ''PrivateTmp=true'' and change it as follows:
 
 
   PrivateTmp=false
 
   PrivateTmp=false
To make this change take effect, a '''reboot''' is needed.
 
  
==== Other required packages ====
+
=== Reboot ===
* In addition the following packages need to be installed:
+
 
  $ pacman -S qt4 inotify-tools xautomation wmctrl
+
* Some of the actions above requires a reboot to take effect, so you must reboot your system before continuing
  
 
=== Install SpotCommander ===
 
=== Install SpotCommander ===
Line 82: Line 90:
  
 
* Download the tar.bz2 file:
 
* Download the tar.bz2 file:
   $ wget -N http://www.olejon.net/code/spotcommander/files/spotcommander-8.6.tar.bz2
+
   $ wget -N http://www.olejon.net/code/spotcommander/files/spotcommander-8.7.tar.bz2
  
 
* Extract and remove it:
 
* Extract and remove it:
   $ tar -jxvf spotcommander-8.6.tar.bz2 && rm spotcommander-8.6.tar.bz2
+
   $ tar -jxvf spotcommander-8.7.tar.bz2 && rm spotcommander-8.7.tar.bz2
  
 
* Go into the spotcommander folder:
 
* Go into the spotcommander folder:

Revision as of 19:46, 27 May 2013

SpotCommander is a remote control for Spotify for Linux, optimized for mobile devices. It's based on HTML5 & PHP, works on any device with a modern browser, and it's free and open source.

SpotCommander is the most elegant, intuitive, feature-rich & universal remote control for Spotify, exclusive for Linux users!

Note: SpotCommander 8.6 does not work with Arch Linux. Please wait for SpotCommander 8.7.

Features

  • Reponsive & intuitive user interface
  • Launch/quit Spotify
  • Now playing
  • Control playback
  • Adjust volume
  • Toggle shuffle & repeat
  • Playlists
  • Starred items
  • Search
  • Browse playlists
  • Browse albums
  • Recently played
  • Queue
  • Lyrics
  • Start track radio
  • Play artists
  • Top lists
  • Popular playlists
  • New albums
  • Genres
  • Share to social networks
  • Gestures
  • Keyboard shortcuts
  • Android app
  • Fullscreen on iOS
  • Automatic update checking

Installation

Note: This must be done as root.

Install & configure required packages

  • Install required packages:
 $ pacman -S apache php php-apache php-sqlite qt4 inotify-tools xautomation wmctrl wget
  • Enable PHP as described in LAMP article
  • Enable required PHP modules. In /etc/php/php.ini, comment out:
 extension=curl.so
 ...
 extension=pdo_sqlite.so
 ...
 extension=posix.so
 ...
 extension=sqlite3.so
  • As root, create the file /etc/httpd/conf/httpd.conf and add:
AddType text/cache-manifest .appcache

<Directory "/srv/http/spotcommander">
AllowOverride All
ExpiresActive On
ExpiresByType text/cache-manifest "access plus 0 seconds"
</Directory>
Note: If you are going to install in another directory than /srv/http/spotcommander, make sure you use the correct directory above.
  • Make Apache start when system boots:
 $ systemctl enable httpd.service

Give Apache access to /tmp

  • As root, open /usr/lib/systemd/system/httpd.service
  • Set:
 PrivateTmp=false

Reboot

  • Some of the actions above requires a reboot to take effect, so you must reboot your system before continuing

Install SpotCommander

  • Go into the web server root directory:
 $ cd /srv/http/
  • Download the tar.bz2 file:
 $ wget -N http://www.olejon.net/code/spotcommander/files/spotcommander-8.7.tar.bz2
  • Extract and remove it:
 $ tar -jxvf spotcommander-8.7.tar.bz2 && rm spotcommander-8.7.tar.bz2
  • Go into the spotcommander folder:
 $ cd spotcommander
  • Set the correct file permissions:
 $ chmod 755 . && chmod 755 bin/* && chmod 777 cache/* && chmod -R 777 db/ && chmod 666 run/*
  • Create a symlink, to be able to execute the SpotCommander daemon easily:
 $ ln -fs /srv/http/spotcommander/bin/spotcommander /usr/local/bin/spotcommander
  • Start the daemon. Run this command in a desktop terminal as the desktop user running Spotify:
 $ spotcommander start

Add daemon to startup (optional)

Create the file /etc/xdg/autostart/spotcommander.desktop and add:

[Desktop Entry]
Type=Application
Name=SpotCommander
Exec=spotcommander start

Configuration (optional)

It is not necessary to configure anything, but in the config.php file there are some options you can change.

Usage

After you have set up the server successfully, every device in your local network should be able to access SpotCommander under the ip adress of the server. For example, if the server would have the ip 192.168.0.24:

 http://192.168.0.24/spotcommander/

To find out your current ip adress, execute the following:

 ip addr

If you cannot access the server, make sure, that apache is accessible by other hosts in the LAN. Check in /etc/httpd/conf/httpd.conf to what hosts it is listening to. The line should look like this:

 Listen 80

See also