# Install ## Installation Guide ### Donwloads Required - [Python 3.11 or higher](https://www.python.org/) - [SuperCollider 3.8 or higher](http://supercollider.github.io/download) - [Tkinter](https://tkdocs.com/tutorial/install.html) - [Git](https://git-scm.com/downloads) Optional - [SC3 plugins](http://sc3-plugins.sourceforge.net/) ### Installing FoxDot Follow the installation instructions for your downloads of Python and SuperCollider. When installing Python on Windows, click **yes** when asked if you want to add Python to your system path and **yes** if you want to install pip – this is used for automatically downloading/installing Python libraries such as FoxDot. Install the latest version of FoxDot from the Python Package Index using pip from your command line (command prompt in Windows, terminal in MacOS and Linux) by executing: ``` shell pip install --index-url https://codeberg.org/api/packages/taconi/pypi/simple/ FoxDot ``` Alternatively, you can build from the source on Codeberg and keep up to date with the development version: ``` shell pip install https://codeberg.org/taconi/FoxDot ``` ### Installing SC3 Plugins (optional) The SC3 Plugins are a collections of classes that extend the already massive SuperCollider library. Some of these are used for certain "effects" in FoxDot (such as bitcrush) and will give you an error in SuperCollider if you try to use them without installing the plugins. Once downloaded place the folder into your SuperCollider "Extensions" folder and then restart SuperCollider. To find the location of the "Extensions" folder, open SuperCollider and evaluate the following line of code: ``` supercollider Platform.userExtensionDir ``` This will display the location of the "Extensions" folder in the SuperCollider "post window", usually on the right hand side of the screen. If this directory doesn’t exist, just create it and put the SC3 plugins in there and restart SuperCollider. When you next open FoxDot, go to the "Language" drop-down menu and tick "Use SC3 Plugins". Restart FoxDot and you’re all set! ### Starting Up #### Boot server Run the FoxDot CLI with the `-b/--boot` flag. This will automatically boot the SuperCollider server os startup: ``` shell FoxDot --boot # or FoxDot -b ``` You can also use the `BOOT_ON_STARTUP=True` environment variable or configuration setting, which has the same effect as the `-b`/`--boot` flag. It is also possible to start the server after the IDE opens by using the `Ctrl-b` keybinding or by calling the `Server.boot()` function. #### Open FoxDot IDE SuperCollider is now listening for messages from FoxDot. To start FoxDot from the command line just type: ``` shell python -m FoxDot # or FoxDot ``` The FoxDot interface should open up and you’re ready to start jamming! Check out the [Getting Started](./docs/making-your-first-sounds.md) docs for some useful tips on getting to know the basics of FoxDot. Happy coding! ## Help with other installations ### Installing on Linux Depending on the distribution of Linux, SuperCollider can be a little tricky to install and may require being built from source. Luckily, much of the installation (including both Python and SuperCollider) has been automated through a simple shell script written by [Noisk8](https://github.com/Noisk8). You can download the script from their GitHub which contains some information on what the script is doing and how to run it. [View on GitHub](https://github.com/Noisk8/Instalando-Renardo-FoxDot-En-linux) > Please note, the page is in Spanish but modern web browsers will translate that for you. ### Installing on Raspberry Pi As is the case with most Linux distributions, installing SuperCollider can be tricky on a Raspberry Pi GitHub user [redFrik](https://github.com/redFrik/) has put together a simplified installation package with detailed instructions on running the software on a Raspberry Pi. Python and FoxDot can be installed through the normal processes. [View on GitHub](https://github.com/redFrik/supercolliderStandaloneRPI2/) ## Alternative Editors ### Using Atom 1. From Atom go to `Settings> -> Install` then search for "foxdot" and press install on the plugin 2. To start FoxDot press Ctrl+Alt+f or use the menu to go to Packages -> FoxDot -> Toggle [Install Atom](https://atom.io/) > Credit: [Koltes](https://github.com/KoltesDigital) ### Using Emacs 1. Start a python process/REPL with `C-c C-p` or `M-x run-python RET` 2. Write `from FoxDot import *`, place the cursor on this line and type `C-c C-e` or `M-x python-shell-send-statement RET` 3. Type `C-c C-e` or `M-x python-shell-send-statement RET` to evaluate a line or a block of code [Install Emacs](https://www.gnu.org/software/emacs/) ### Using [Flok](https://codeberg.org/munshkr/flok) 1. Install [nodejs](https://nodejs.org/en) 2. Install [npx](https://docs.npmjs.com/cli/v12/commands/npx) with the command `npm install -g npx` 3. Choose a [public server](https://codeberg.org/munshkr/flok/src/commit/b7fc3d17dfa3a1564a469a36dd2808fdefabc683#public-server) or set up a [local server](https://codeberg.org/munshkr/flok/src/commit/b7fc3d17dfa3a1564a469a36dd2808fdefabc683#local-server). 4. Start the connection to a flork server with: ``` shell npx flok-repl@latest \ -H wss://YOUR-SERVER \ -t foxdot \ -s YOUR-SESSION \ -T user:YOUR-USERNAME ``` replace `YOUR-*` with the correct values 5. Type `Ctrl+Return` to evaluate a block of code or `Alt+Return` to execute the entire buffer and `Ctrl+.` to stop. ## More Information Thanks for installing FoxDot! For more information on how to start making sounds, head on over to the [Getting Started](./docs/making-your-first-sounds.md) section of the documentation, which contains tips and tricks on all the basics to get up and running. Feel free to also check out the [TOPLAP forum](https://forum.toplap.org/c/communities/foxdot) where you can chat to with other FoxDot users and the rest of the live coding community. There's more than one live coding language out there and - if FoxDot isn't the one for you - you'll find the right one there. You can also keep track of what live coding events are taking place near you at algorave.com and find out about other live coding artists. If you run into any issues during the installation process, feel free to ask on the forum or raise a [Codeberg issue](https://codeberg.org/taconi/FoxDot/issues/new) to flag it up. Happy coding! ![Photo by Alvin Pastore](./static/alvin-pastore-foxdot.jpg "Photo by Alvin Pastore")