Radio Rough - a simple desktop GUI for mopidy


#1

I just finished writing a new program for listening to internet based on Mopidy.

It’s lightweight and perfect for Raspberry Pi and runs happily even on Pi Zero :slight_smile: (tested extensively under Ubuntu too)

The look and feel are based on the principles of rough design. It serves its purpose without trying to sell anything, including itself.

Details on github: https://github.com/unusualcomputers/unusualcomputers/blob/master/code/mopidy/mopidyradiorough/README.rst

I would very much appreciate any comments you may have.


#2

I’ve installed using ‘sudo pip install Mopidy-Radio-Rough’ but it doesn’t show up in the list of Mopidy Webclients, how do I access it?


#3

Thanks for trying it out.
However, it is not a webclient, it is a desktop application. You need to be logged into a desktop (raspbian directly, vnc, some implpementation of x), then you can launch mopidy from command line (sudo mopidy) and rado rough will start.


#4

Clearly I have not supplied information about this, hopefully this will clarify a bit.

Radio rough is a desktop client for mopidy. I have written it because the ones I have found were either rather heavy applications doing a lot more which makes them difficult to run on lower spec machines, which is a shame since mopidy itself runs on those very efficiently, or somewhat difficult to use for a non-advanced user.

It was also a learning exercise in many ways. For example, it is not trivial getting a gui application to run within mopidy threading model. For example wx and Qt make assumptions about being launched on the main thread. TkInter needs events to originate on the same thread where the event loop is running. I made this work by spawning a separate thread for the gui and implementing a simple queue for messages sent to it from mopidy handling code.

This was made easier by the fact that I separated the behavior logic from the gui completely - it is a separate package. The intention is to be able to add other kinds of interfaces more easily (so I am planning a simple webinterface too as well as a touchscreen one, possibly a buttons driven one and so on).

There was a whole lot of decisions involved to make this as user friendly as possibly (e.g. favorites, handling podcast updates, tooltips and so on). One of the most interesting things was trying to provide a simple installation procedure, especially for raspberry pi users, meaning one that does not involve using a terminal and would install all dependencies in a single run. This involved quite a bit of trickery using a .desktop file, but in the end the installation is a matter of downloading a single file and running it. The effort is worth it I believe because at the end of the day cool as it is to be able to use linux like a pro, most people are put off by it and this adds to the mystification of technology, a rather costly state of affairs for most people.