Installing the Bol Processor BP3 does not require any programming skills. Just use the installers for MacOS and Windows, or the installation scripts for Linux.
To use the Bol Processor BP3, you first need to install a local Apache HTML/PHP server on your desktop computer. This server runs a dedicated "web service" that is restricted to your computer. Only PHP (with its GD Graphics option) needs to be running, as no database is used by the Bol Processor interface.
On MacOS and Windows we recommend MAMP or XAMPP, both of which are Apache servers with pre-installed features. On Linux, XAMPP is the only choice. The procedure is given on the pages that show the installation of BP3 in the different systems, see below.
Once you've installed MAMP or XAMPP, installing Bol Processor is almost a one-click process.
MacOS users can quickly do the installation using an installer called BolProcessorInstaller.pkg. Follow instructions on this page.
Windows users can quickly do the installation using an installer called BolProcessorInstaller.exe. Follow instructions on this page.
Linux users can quickly do the installation using dedicated scripts. Follow instructions on this page.
👉 Once you've installed the Bol Processor BP3, visit this page to familiarise yourself with how to use it.
The file structure of your installation
👉 Only for geeks!
Let us assume that your installation was successful. It created a "htdocs/bolprocessor" folder.
The file structure inside this folder is shown on the left. There is nothing related to Bol Processor outside of this folder.
This image includes "bp" which is the compiled version of the BP3 console for MacOS. The same is called "bp.exe" in Windows and "bp3" in Linux. Neither "bp" nor "bp3" will be visible after the installation because both will be created by the compiler. In Windows, "bp.exe" is installed so that no compilation is required.
The "temp_bolprocessor" and "my_output" folders are automatically created when the interface is run. The contents of the "temp_bolprocessor" folder is cleared of all files/folders older than 24 hours.
Another folder called "midi_resources" is also created to store the settings for the real-time MIDI input and output ports.
Two additional folders, "csound_resources" and "tonality_resources", are created by the installation and filled with data shared by all projects.
Running the interface will also create "BP2_help.html" in the "php" folder using "BP2_help.txt" as its source.
The "ctests" folder — which we call a workspace — contains sample material used to check the operation of Bol Processor and to illustrate some musicological issues. It is updated by the installation scripts each time you upgrade to a new version.
If you create new material in the "ctests" workspace it won't be deleted by upgrades. However, if you modify files that come from the distribution, they will revert to the current distribution version on each upgrade. It is therefore a good idea to keep a copy of the "ctests" folder, as you are likely to modify some of its data files while using the program. You may want to restore the original versions later. You can also create your own workspaces (in tree structures) using either the BP3 interface or your computer's file manager.
A one-click notarized installer of Bol Processor BP3 is available. It is called "BolProcessorInstaller.pkg" and it can be downloaded from here (unique location).
Geeks may prefer an equivalent method using a script included in this package, see below.
This installer (or the script) is used for both initial installation and updates. Each time you run it, it will download the latest versions of the BP3 console source files, the interface PHP files and the sample set contained in the 'ctests' folder. Data, grammars and scripts that you've created will not be deleted. However, if you have modified files in the 'ctests' folder, they will be reverted to the current distribution version.
Install MAMP or XAMPP
If you try to run the installer of Bol Processor, it will first check that a local Apache server (either MAMP or XAMPP) has been installed. Both are suitable since the Bol Processor interface contains exclusively HTML, PHP and JavaScript code. No database is required.
As of January 2025, it appears that the free version of MAMP has a script execution time of 30 seconds that cannot be overridden by the PHP scripts. If this limitation is confirmed, we will recommend the use of XAMPP (free) or MAMP PRO (for a charge).
Your Mac may refuse to run the XAMPP installer because it is from an "unknown developer". You can override this by allowing the application in the Privacy & Security section of the Mac's System Settings. Unpacking the files takes several minutes, so be patient and wait for it to finish!
👉Don't try the virtual machine version of XAMPP! It won't work on Macs with M1 chips (and above). Use the native installer.
if you choose the (free) MAMP version, both MAMP and (commercial) MAMP PRO will be installed. The interface will occasionally prompt you to "upgrade" to MAMP PRO (see picture), although you don't need it for the Bol Processor!
Note that after downloading MAMP, you will find MAMP PRO in the Applications folder, whereas MAMP (free) is located in Applications/MAMP. Also note that this version of MAMP runs on port "8888" by default, as we will see below.
For MAMP, the "htdocs" folder is in Applications/MAMP. For XAMPP, it is in Applications/XAMPP/xamppfiles. The installer will find it in both cases.
👉You will not be able to run both MAMP/MAMP PRO and XAMPP Apache servers at the same time if they use the same ports. This wouldn't be a good idea anyway…
Start Apache at boot time
If you want Apache to start automatically when you start your computer, this process is easy with MAMP: check Login items in the system settings.
For XAMPP, things are a bit more complicated.
For geeks:You have the offer to create a startup script but is not entirely satisfactory with the current version (8.2.4). It allows XAMPP to restart Apache at boot time and PHP pages are displayed correctly. However, when real-time MIDI is used, MIDIClientCreate() returns an error.
Until this problem is fixed, the easiest way is to find the Application Manager manager-osx.app (in XAMPP/xamppfiles) and add it to the Login Items of the General settings of your MacOS system:
You can also place an alias of "manager-osx.app" on the desktop and click on it at startup if you intend to run the Bol Processor.
MAMP PRO
Below are instructions for rich people running MAMP PRO.
Launch MAMP PRO from the Applications folder.
In the MAMP main window, click the Apache Enable button (see image). No need for MySQL.
The image shows the default settings for PHP, which is started with Apache.
In case of trouble, check the settings for ports (see image) and of hosts (general and Apache).
XAMPP
Open the XAMPP folder in the Applications folder and launch manager-osx.app as shown below.
The XAMPP main page will appear. If you click on the Manage Servers tab and select Apache Web Server, then Configure, you can make sure that the server is running on port "80". This can be changed (e.g. to "81") if it creates a conflict.
Then click the Start button. If there is no conflict with the ports, Apache will show up as "running":
Once Apache is running, you can click on the Welcome tag and the Go to Application button. This should display a (local) page about XAMPP in the path http://localhost/dashboard. Both the dashboard and (later) bolprocessor folders will be located in the Applications/XAMPP/xamppfiles/htdocs folder.
Install the Bol Processor
After installing XAMPP or MAMP, you can run the installer "BolProcessorInstaller.pkg" or the "install_bolprocessor.sh" script. Both are equivalent.
By default, all Bol Processor program, documentation and data files will be created in a folder called "bolprocessor" and will be contained in the "htdocs" folder created by XAMPP or MAMP — in other words, on your startup disk. This is not a problem as the whole set does not take up much space, typically less than 60 Mb when installed, and the Bol Processor data is basically pure text.
However, you may wish to install the "bolprocessor" folder to a different location, including an external device. In this case, follow the instructions for Relocating "bolprocessor" before running the installer or the script.
Using the installer
Download "BolProcessorInstaller.pkg" from here and double-click it.
👉 If you have previously downloaded an older version of the installer, your browser may be delivering the old version instead of the latest. The safest thing to do is to check the size of "BolProcessorInstaller.pkg" (reed below the Security section). If necessary, use a different browser for the download.
This installer has been notarized, which means it contains information that allows Apple to certify its validity. The only changes you will have to confirm are standard software installation changes on your Mac.
For geeks:The installer sets up user/group parameters in the "bolprocessor" folder: "daemon:admin" if XAMPP is the Apache server. If MAMP is used, the "<user_id>:admin" setting is retained.
An equivalent method is to run the "install_bolprocessor.sh" script found in the "macos-scripts" folder downloaded here. This makes it possible to understand each step of the installation and possibly suggest improvements.
After downloading "macos-scripts.zip", open the Terminal and type:
cd Downloads unzip -qo macos-scripts.zip cd macos-scripts sudo ./install_bolprocessor.sh
Installation issues
If the installer (or the script) does not find a "htdocs" folder created by XAMPP or MAMP, it will stop the installation, warning you that one of them should be installed.
👉 The installer will create a "bolprocessor" folder in the "htdocs" folder used by XAMPP (first choice) or MAMP (second choice). If you have used XAMPP in the past and want to switch to MAMP, you will need to rename the "XAMPP" or "xamppfiles" folder before running the installer.
Compile the 'bp' console
There is a Go to Application button on XAMPP manager and a WebStart button on MAMP (free) which will display a page confirming that the Apache server is running.
Now, assuming that the installation was successful, and the Apache server is running, start XAMPP or MAMP and point your browser to localhost/bolprocessor/php/ or (if it doesn't work) to localhost:8888/bolprocessor/php/.
One of these will display the home page of the Bol Processor. The default port used by the free MAMP is "8888", but you can change it to "80" in MAMP settings (see picture), so that the ":8888" option is no longer required.
If you see this frame in the image at the top right of the page, your life will be easy! All you have to do is click on the link to compile the console, which will take a minute or two.
👉 It is very unlikely that the compilation will fail. If it ever happens, please contact us!
If you don't see the link to compile, and instead a mention that 'gcc' is not responding, you may need to install the Xcode toolkit on your machine (link to App Store).
Install and launch Xcode (free) to enable the compilation. Click "Cancel" when Xcode asks you to "create a project", go back to the Bol Processor page and reload it.
Now, you will see the compilation link.
👉 There are other methods of installing 'gcc'. Fans of Terminal commands can simply try the command:
brew install gcc
Install Csound
Csound is not required to run the Bol Processor, as you can work with MIDI files and real-time MIDI. However, it will give you access to a different approach to sound synthesis.
The BP3 interface should be able to figure out the location of "csound" and fix its path accordingly. If it does not respond, you will be asked to change the path and perhaps the name of the Csound console (see image).
😀 Now, the Bol Processor is fully operational! You can try examples contained in the 'ctests' folder, or follow the guided tour on page Bol Processor ‘BP3’ and its PHP interface.
Updating to new versions
To update the Bol Processor console, its PHP interface and examples (the contents of the "ctests" folder), simplyrerun "BolProcessorInstaller.pkg". Using the latest version is safe!
The installer will download and install current versions of the software and data. It will delete the compiled "bp" console and prompt you to recompile it (with a single click).
Updating will not modify or delete any data you have created in the "ctests" folder or outside it. However, if you have modified a sample file without changing its name, it will be reverted to its distribution version.
The installer will also preserve the "_settings.php" file (if it exists), which contains your project settings.
Security
You are right to be concerned about security. Can you be sure that you have downloaded the correct (and latest) version of "BolProcessorInstaller.pkg"? Normally yes, this installer is safe because it has been notarized.
The size of the "BolProcessorInstaller.pkg" file is exactly 18987 bytes and its MD5 is 9be05c728209f3b49de9a15287351901. You can calculate the MD5 checksum on this page. These numbers will indeed be subject to change with the release of new versions of the installer. Current version: 6 January 2025.
Geeks may want to customise it for their own use. Just download this folder which contains the script files (install_bolprocessor.sh and postinstall) along with instructions on how the installer has been built.
For readers not conversant with Unix shell scripts, the following is a description of the process in human language:
Check that an Apache server MAMP or XAMPP is installed by finding either MAMP/htdocs or xampp/htdocs on the computer (not case-sensitive). If it is not found, exit with the warning that either MAMP or XAMPP should be installed.
Download the latest distribution files from GitHub: https://github.com/bolprocessor/bolprocessor/archive/graphics-for-BP3.zip https://github.com/bolprocessor/php-frontend/archive/master.zip https://github.com/bolprocessor/bp3-ctests/archive/main.zip
Unzip these three files. They create folders with names: bolprocessor-graphics-for-BP3 php-frontend-master bp3-ctests-main
Create a folder named "bolprocessor" (if it does not yet exist) inside the "htdocs" folder of the Apache server
Copy bolprocessor-graphics-for-BP3/source to bolprocessor/ If there is already a "source" folder, delete it
Copy bolprocessor-graphics-for-BP3/Makefile to bolprocessor/ Copy bolprocessor-graphics-for-BP3/BP3_help.txt to bolprocessor/ Copy bolprocessor-graphics-for-BP3/Credits.txt to bolprocessor/ Copy bolprocessor-graphics-for-BP3/BP3-To-Do.txt to bolprocessor/ Copy bolprocessor-graphics-for-BP3/License.txt to bolprocessor/ Copy bolprocessor-graphics-for-BP3/ReadMe.txt to bolprocessor/
Copy bolprocessor/php/_settings.php to bolprocessor/ (if it exists)
Copy php-frontend-master/php to bolprocessor/ If there is already a "php" folder, delete it
Copy bolprocessor/_settings.php to bolprocessor/php/ (if it exists)
Create a folder bolprocessor/csound_resources if it does not yet exist
Copy the content of php-frontend-master/csound_resources to bolprocessor/csound_resources Files that already exist should be replaced with their updated versions
Create a folder htdocs/bolprocessor/ctests if it does not yet exist
Copy the content of bp3-ctests-main to bolprocessor/ctests Files that already exist should be replaced with their updated versions
Delete the temporary download directory
Set permissions of the bolprocessor folder recursively to "775"
➡ There is no security risk in setting "775" permissions, as the MAMP or XAMPP Apache server will be running on your private computer. The Bol Processor never creates/modifies files outside of its "bolprocessor" folder.
Delete bolprocessor/bp if it exists. This ensures that the 'bp' console is recompiled after each update.
Relocating "bolprocessor"
The Bol Processor can be installed outside the "htdocs" folder created by MAMP or XAMPP (on your boot drive). You might want it near related projects, or use extra space from an external hard drive. There may also be situations where creating files on the boot drive is restricted to the super admin.
Fortunately, the process of relocating is very simple.
If you have already created a "bolprocessor" folder by running the installer, drag it to the desired location and delete it from the "htdocs" folder. If not, create an empty "bolprocessor" folder in the desired location.
Then, open the Terminal (in the Applications folder) and point it to the "htdocs" directory. For those unfamiliar with Unix commands, you will need to type "cd " (followed by a space) and drag "htdocs" to the end of this command, then press "return". You can type the instruction "ls -al" to see the contents of "htdocs", which is normally empty.
Let's say you've created an empty folder "bolprocessor" inside a folder called "MUSIC" on an external drive called "EXT". The instruction creating the symbolic link is:
Make sure that the symbolic link you created points to the correct location: you will now see a "bolprocessor" icon with a small arrow in the bottom left corner. Double-click it, it should open the destination folder.
👉 You may wonder why symbolic links are used instead of MacOS aliases, which do not require the use of the Terminal. The reason is that the Apache servers don't accept alias redirections.
👉 Never change the names of the "bolprocessor" folder and symbolic link, otherwise the installation will fail.
The first time you run the Bol Processor, MAMP or XAMPP may ask your permission to display files outside its "htdocs" folder. Please contact us if you're experiencing issues with this relocation!
If you're not afraid of symbolic links, you can use the same technique to relocate some data files outside the "bolprocessor" folder, for example to a location shared by Dropbox.
Uninstall the Bol Processor
Uninstalling the Bol Processor, and all the data downloaded or created for its use, is very simple: delete the "bolprocessor" folder, and the "bolprocessor" symbolic link if you have created it.