Posts: 16
Joined: Mon Aug 26, 2013 11:58 am

mopidy-touchscreen extension

Tue Jul 22, 2014 1:15 pm


I am developing an extension for mopidy.
The idea is to control the music from a touchscreen (In the future maybe also with buttons).
You can also see information and cover image of the song playing.


  • Seek Track
  • Play/Pause
  • Mute/Unmute
  • Change volume
  • Next/Previous track
  • See track info (track name, album, artist, cover image)
  • Shuffle on/off
  • Repeat one/on/off
  • Playback list and control
  • Playlists
  • Library
  • Menu (exit mopidy, restart...)
  • Use keyboard or GPIO buttons instead of touchscreen

Example video showing the extension working on Ubuntu



Extension running on Texy's display


Code on Github
Help will be appreciated :)

Posts: 16
Joined: Mon Aug 26, 2013 11:58 am

Re: mopidy-touchscreen extension

Sun Aug 03, 2014 1:06 pm

First working version released (0.2.1 version)


First install mopidy
Install extension:

Code: Select all

sudo pip install Mopidy-Touchscreen
It should work on Pi MusicBox but It has not been tested yet.

Posts: 47
Joined: Sun Sep 16, 2012 5:01 pm

Re: mopidy-touchscreen extension

Sun May 03, 2015 10:56 am

Hi, I tried your extension and i love it. But every time i start playing new song i get this error

Code: Select all

WARNING  Element doesn't implement handling of this stream. Please file a bug.
ERROR    Unhandled exception in TouchScreen (urn:uuid:50c87d53-1467-451b-8ee6-4d37c7d53379):
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 200, in _actor_loop
    response = self._handle_receive(message)
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 294, in _handle_receive
    return callee(*message['args'], **message['kwargs'])
  File "/usr/lib/python2.7/dist-packages/mopidy/core/listener.py", line 33, in on_event
    getattr(self, event)(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/Mopidy_Touchscreen-0.3.2-py2.7.egg/mopidy_touchscreen/touch_screen.py", line 107, in track_playback_ended
  File "/usr/local/lib/python2.7/dist-packages/Mopidy_Touchscreen-0.3.2-py2.7.egg/mopidy_touchscreen/screen_manager.py", line 130, in track_playback_ended
    self.screens[main_screen_index].track_playback_ended(tl_track, time_position)
  File "/usr/local/lib/python2.7/dist-packages/Mopidy_Touchscreen-0.3.2-py2.7.egg/mopidy_touchscreen/main_screen.py", line 249, in track_playback_ended
    self.dirty_area.append(pygame.Rect(self.base_size / 2,
AttributeError: MainScreen instance has no attribute 'dirty_area'

Should i care?

Posts: 16
Joined: Mon Aug 26, 2013 11:58 am

Re: mopidy-touchscreen extension

Mon May 04, 2015 10:53 pm

Glad you like the extension. This is a bug. It is already fixed on github. You can use the develop version of github or wait until I release a new version to pipy.

Posts: 1
Joined: Thu Aug 25, 2016 1:10 pm

Re: mopidy-touchscreen extension

Thu Aug 25, 2016 1:16 pm


I'm having problems installing this, I am running rasbpian on a pi 3.

I get the following:

Downloading/unpacking Mopidy-Touchscreen
Cleaning up...
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1178, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 194, in find_requirement
page = self._get_page(main_index_url, req)
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in _get_page
File "/usr/lib/python2.7/dist-packages/pip/index.py", line 694, in get_page
req, link, "connection error: %s" % exc, url,
TypeError: __str__ returned non-string (type Error)

Storing debug log for failure in /root/.pip/pip.log

am I doing something wrong?

Posts: 1
Joined: Tue Jun 06, 2017 8:54 am

Re: mopidy-touchscreen extension

Tue Jun 06, 2017 8:56 am

I tried to install this on Pi MusicBox 0.7RC4 and got this error message:

Code: Select all

 Downloading pygame-1.9.3.tar.gz (3.0MB)
    100% |################################| 3.0MB 9.4kB/s
    Complete output from command python setup.py egg_info:

    WARNING, No "Setup" File Exists, Running "config.py"
    Using UNIX configuration...

    sh: 1: sdl-config: not found
    sh: 1: sdl-config: not found
    sh: 1: sdl-config: not found
    sh: 1: freetype-config: not found
    sh: 1: freetype-config: not found
    sh: 1: freetype-config: not found

    Hunting dependencies...
    WARNING: "sdl-config" failed!
    WARNING: "freetype-config" failed!
    Unable to run "sdl-config". Please make sure a development version of SDL is                           installed.

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Gk                          Oxyn/pygame/
/usr/local/lib/python2.7/dist-packages/pip/_vendor/requests/packages/urllib3/uti                          l/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not availabl                          e. This prevents urllib3 from configuring SSL appropriately and may cause certai                          n SSL connections to fail. You can upgrade to a newer version of Python to solve                           this. For more information, see https://urllib3.readthedocs.io/en/latest/securi                          ty.html#insecureplatformwarning.
Could anybody tell me how to fix the installation?


Return to “Graphics, sound and multimedia”