Prerequisites – Spy mode

Spy mode introduces its own set of prerequisites, and the prerequisites for Last.fm mode still apply. The LFM mode prerequisites should be attended to first:

  • Python is required, and must be installed before attending to any of the following extra Spy mode prerequisites. Read the link above to see which version of Python is required, and where it can be obtained from.
  • MediaMonkey is required unless you are only using a small subset of Spy mode. See the above link for instructions.

Extra prerequisites introduced by Spy mode

  • Brisa: an extension library for Python, which enables the SPY application to observe your Sonos equipment.
  • CherryPy: a web enabling framework extension to Python; used by internally Brisa, and, if you have installed SPY onto a Linux device, enables you to control the Spy application from within your web browser.
  • Python extensions for Windows: needed to allow the Spy application to trigger MediaMonkey to update your tracks; only required if you intend to use the Spy facility enabling you to accept and apply corrections made by Last.fm to your scrobble tags.

What runs where?

You have the option of installing Spy mode’s Observer & Detect module on some other computer.

What Where
Python On all computers running any AlbumPlays component; ie. including the computer running the Spy component.
MediaMonkey Just on your main computer
Brisa Just the computer running Spy Observe & Detect
CherryPy Just the computer running Spy Observe & Detect
Python extensions for Windows Just on your main computer
C++ compiler (optional) Just on your main computer

1. Brisa UPnP framework

The Brisa library was developed in Brazil in 2007, for a Linux environment. Development discontinued in 2010.

The version that I use with the Spy application has had some slight modifications to enable the library to be used within Windows, and also a couple of small bug patches, and some changes to make it a little less chatty when logging.

I could send you the list of modifications, but you will find it a lot easier if you just take and install my modified version.

You need the program named InstallBrisa.exe. Place the program in a temporary Windows directory, and run it.

  • If asked, agree to allow the setup program to make changes to your computer
  • Read and agree the displayed Licence Agreement
  • and then press the Install button

This will install the brisa framework. Here is an example of the expected output:

expected output from install

  • As instructed, press any key, and then press the Finish button

An install log will be stored into your temporary local directory for reference purposes. It lists all of the files that have loaded onto your computer, showing their locations. The log file is in the INNO directory, and is named:

install.log

As you don’t need to interact with the Brisa product there are no shortcuts installed on the desktop or under the Start button.

Alternative install option: install Brisa manually
  • download version 0.10.2 of brsia from here
  • unzip to a temporary directory
  • run the following command
    • python setup.py install
  • you can contact me for a list of the program modification required; 14 programs slightly modified
    • if install Brisa using my exe file option you will find the list of program modifications in the brisa\documentation directory within Python.

2. CherryPy

I use version 3.6.0 of CherryPy. It is available from here

The steps that I took to install it were:

  • downloaded the file with the name like CherryPy-3.6.0.zip
  • unzipped it into a temporary directory
  • open a Command Prompt window
  • cd to the download directory
  • and then run the following command

    python setup.py install

In my case this installed CherryPy into the following directory:

C:\Python27\Lib\site-packages\cherrypy

There is also a download available in MS Windows Installer format. I tried this but it doesn’t seem to install of of the adaptors which are required. You should do the install manually as described above.

3. Python extensions for Windows

These are only required if you intend to use the optional part of Spy mode where you accept tag corrections from Last.fm, and want Spy mode to trigger MediaMonkey into accepting these corrections into itself and to update your music tracks. This needs to be installed on your PC, ie. the computer running MediaMonkey and the main part of AlbumPlays.

The extensions are available from here

To quote the author of the extension:

The SourceForge file system is horrible, making it very painful to locate the latest build – please follow the instructions below.

  • click the Browse All Files link
  • follow the instructions in the Welcome message

In my case this lead me to:

  • open a Command Prompt window
  • type the word python
  • it responded with “Python 2.7.6 <today’s date> [MSC v.1500 64 bit (AMD64)]”
  • this shows that I am running the 64 bit version of Python version 2.7.6
  • showing me that I needed the 64 bit version of the library for Python version 2.7.x
  • I clicked on the blue link named pywin32
  • selected the last build number (top of the list)
  • then downloaded the relevant file for my version of Python
    • in my case it was: pywin32-218.win-amd64-py2.7

The run the downloaded program to install the Python extensions for Windows

*