Getting Started


Q: How do I install FoxDot?

A: Check out the install guide on the FoxDot front page: http://foxdot.org/


Q. When trying to use pip install FoxDot, why do I get an error “pip is not a recognised command” or “no command ‘pip’ found”?

A. If you don’t have Python 2.7 installed, you need to make sure you do that first. Windows – If you have installed Python and still get this error, it means Python (and ‘pip’) are not on your system path; this  is usually done automatically at install but sometimes  requires it to be added manually. To add it to your path in Windows, first find where Python is installed (usually C:/Python27) and copy that location and the location of the folder named ‘Scripts’. Then go to Windows Explorer and right click on ‘My Computer’ / ‘This PC’ and go to ‘Properties’. From there go to ‘Advanced System Settings’ and press the button labelled ‘Environment Variables’. In the box marked ‘User Variables for…’ look for a variable called PATH in all capitals – if it does not exist then  create it and add the Python locations from before separated with a semi-colon so it looks something like this:


If it does exist, just edit it and add the locations to any other file location that’s there but make sure you separate them with a semi-colon.


Q. pip wasn’t installed when I installed Python – can I install FoxDot without it?

A. Sure! You can download the .zip from the GitHub page and use that to install it. Once download, extract the contents and use you command line interface to navigate to where it’s extracted (usually cd path/to/file). Once there type:

python setup.py install

This should install FoxDot in the same way pip install FoxDot would. You can run FoxDot going to your command line interface and running python -m FoxDot as you would normally.


Q. SuperCollider said the FoxDot Quark was installed correctly but running FoxDot.start raises an error: Class not defined. How do I fix this?

A. This sometimes happens when running a version of Mac OS and is currently being investigated. Check if the files are really installed by going to the Language drop-down menu in SuperCollider and clicking the  Quarks option. This will probably have a big green tick next to “FoxDotQuark” – click on this and have a look at the information below. If there is an error along the lines “file does not exist” then SuperCollider has issues installing Quarks. To get around this, create a new file in SuperCollider and copy  the  following text into it:

( var server = Server.default;

server.options.memSize = 8192 * 16; // increase this if you get "alloc failed" messages
server.options.maxNodes = 1024 * 32; // increase this if you are getting drop outs and the message "too many nodes"
server.options.numOutputBusChannels = 2; // set this to your hardware output channel size, if necessary
server.options.numInputBusChannels = 2; // set this to your hardware output channel size, if necessary

		arg msg, time, addr, port;
		var fn, load;
		// Get local filename
		fn = msg[1].asString;
		// Add SynthDef to file
		fn = File(fn, "r");

This is a skeleton version of the FoxDot quark that can be run instead of FoxDot.start if need be. Save this and name the file something useful such as FoxDotStartup.scd. Open this and evaluate its contents by pressing Ctrl+Return before running FoxDot.


Q: Where’s the documentation?

A: Documentation is generated from the docstrings in the FoxDot code itself and you can find it either on the GitHub for the project or by going to help -> Documentation from the FoxDot GUI. For a local copy on your machine you can find it in the install folder at path/to/Python27/lib/site-packages/FoxDot/docs/


Using FoxDot


Q: How do I add my own samples?

A: Go to the folder where FoxDot is installed at path/to/Python27/lib/site-packages/FoxDot/ and find the snd folder. In here you’ll find a series of folders with one-character names. Each of these characters refers to the character used to play the samples in FoxDot. Just add your audio file to the folder of your choice and restart FoxDot. For example you want to add a file called new.wav to be played using the upper case “N” character, add your file to the /snd/n/upper/ folder. If there is already a file in there, then you can play your audio file by specifying it with the sample keyword in FoxDot like so:

p1 >> play("N", sample=1)


Q: How do I use my own SynthDefs?

A: If you have a SynthDef in SuperCollider you want to use from FoxDot, you just need to give FoxDot a reference to it by initiating a FoxDot SynthDef object. If your SynthDef is called \mySynth, for example, you would create the reference like so:

mySynth = SynthDef("mySynth")

It’s good practice to use the same variable name as the string given. If your custom SynthDef has arguments, just specify them as you would with any other FoxDot SynthDef:

p1 >> mySynth(new_arg=[0,10,100])


Q: How do I change the colour scheme?

A: Currently, you can change the colour-scheme by editing the configuration file in FoxDot (changing this is on the to-do list) which can be found at path/to/Python27/lib/site-packages/FoxDot/FoxDot/lib/conf.py.


Bugs and Errors


ERROR: server failed to start in SuperCollider when starting the FoxDot quark

This is an issue with SuperCollider as opposed to FoxDot and could be happening for a number of reasons. One possible cause could be that there is another application on your machine running on ports 57110 or 57120 (those used by SuperCollider).


In SuperCollider FoxDot.start gives me ERROR: Message ‘activate’ not understood.

This is caused when you don’t have the BatLib quark installed in SuperCollider. Install this by running the command include("BatLib") in SuperCollider and try starting the FoxDot quark again. If you don’t have “git” installed (a useful program for managing installing open-source applications) then you can use the following code in SuperCollider instead:



ImportError: DLL load failed %1 is not a valid Win32 Application on Windows

This is caused when you are running a 32-bit version of Python on a 64-bit machine. Make sure you are running the correct version of Python for your system. Typing python into your terminal and pressing enter will enter the interpreter mode and will display the version info.


SuperCollider: Buffer UGen channel mismatch: expected 2, yet buffer has 1 channels

This is caused when SuperCollider reads an audio file and is expecting it to be stereo but it’s actually mono. It will treat it the same and it will play back fine but you’ll get this warning message frequently. It’s a known issue and is being investigated.


Other questions

If you have any other questions about the FoxDot project please don’t hesitate to get in touch. If there’s a bug or error that’s not addressed here please raise an issue on the GitHub.