Install the Bol Processor (BP3)

Installing the Bol Processor BP3 does not require any pro­gram­ming skills. Just down­load and run the installers for MacOS and Windows, or the instal­la­tion scripts for Linux.

Installing the Bol Processor BP3 on MacOS is very sim­ple: run the installer to cre­ate the stand­alone "BolProcessor.app" appli­ca­tion.

 On Windows and Linux, you still need to install a local Apache HTML/PHP serv­er on your desk­top com­put­er. This serv­er runs a ded­i­cat­ed "web ser­vice" that is restrict­ed to your com­put­er. Only PHP (with its GD Graphics option) needs to be run­ning, as no data­base is used by the Bol Processor interface.

👉  You can also run the Bol Processor BP3 on MacOS with a HTML/PHP serv­er. Features are iden­ti­cal for both options.

On MacOS and Windows we rec­om­mend MAMP or XAMPP, both of which are Apache servers with pre-installed fea­tures. On Linux, XAMPP is the only choice. This part of the imple­men­ta­tion is described on the pages that show the instal­la­tion of BP3 in the dif­fer­ent envi­ron­ments, see below.

Once you've installed MAMP or XAMPP, installing Bol Processor is almost a one-click process.

MacOS users can quick­ly do the instal­la­tion using a (nota­rized) installer called BolProcessorInstaller.pkg.
Follow instruc­tions on this page.

Windows users can quick­ly do the instal­la­tion using a (cer­ti­fied) installer called BolProcessorInstaller.exe.
Follow instruc­tions on this page.

Linux users can quick­ly do the instal­la­tion using ded­i­cat­ed scripts.
Follow instruc­tions on this page.

👉   Once you've installed the Bol Processor BP3, vis­it this page to famil­iarise your­self with how to use it.

The file structure of your installation

👉  Only for geeks!

The fol­low­ing is the file struc­ture when run­ning the Bol proces­sor with an Apache HTML/PHP serv­er. If you have installed the stand­alone "BolProcessor.app" appli­ca­tion, the struc­ture is made vis­i­ble by select­ing "Show Package Contents" and mov­ing down to "Contents/Resources/www", which is spe­cif­ic to PHP Desktop.

Let us assume that your instal­la­tion was suc­cess­ful. It cre­at­ed a "htdocs/bolprocessor" fold­er.

The file struc­ture inside this fold­er is shown on the left. There is noth­ing relat­ed to Bol Processor out­side of this folder.

This image includes "bp" which is the com­piled ver­sion of the BP3 con­sole for MacOS. The con­sole is called "bp.exe" in Windows and "bp3" in Linux. In Linux, "bp3" will not be vis­i­ble imme­di­ate­ly after the instal­la­tion because it needs to be cre­at­ed (in a sin­gle click) by the com­pil­er. In Windows, "bp.exe" is installed, so that no com­pi­la­tion is required. The same is true for "bp" in MacOS.

The "temp_bolprocessor" and "my_output" fold­ers are auto­mat­i­cal­ly cre­at­ed when the inter­face is run. The con­tents of the "temp_bolprocessor" fold­er is cleared of all files/folders old­er than 24 hours which were cre­at­ed in a dif­fer­ent session.

Another fold­er called "midi_resources" is also cre­at­ed to store the set­tings for your real-time MIDI input and out­put ports.

Two addi­tion­al fold­ers, "csound_resources" and "tonality_resources", are cre­at­ed by the instal­la­tion and filled with data shared by all projects.

Running the inter­face will also cre­ate "BP2_help.html" in the "php" fold­er using "BP2_help.txt" as its source.

The "ctests" fold­er — which we call a work­space — con­tains sam­ple mate­r­i­al used to check the oper­a­tion of Bol Processor and to illus­trate some musi­co­log­i­cal issues. It is updat­ed by the instal­la­tion scripts each time you upgrade to a new version.

If you cre­ate new mate­r­i­al in the "ctests" work­space it won't be delet­ed by upgrades. However, if you mod­i­fy files that come from the dis­tri­b­u­tion, they will revert to the cur­rent dis­tri­b­u­tion ver­sion on each upgrade. It is there­fore a good idea to keep a copy of the "ctests" fold­er, as you are like­ly to mod­i­fy some of its data files while using the pro­gram. You may want to restore the orig­i­nal ver­sions lat­er. You can also cre­ate your own work­spaces (in tree struc­tures) using your computer's file manager.

Quick install MacOS

   

This is a sup­ple­ment to the page Bol Processor ‘BP3’ and its PHP inter­face.

A one-click nota­rized installer of Bol Processor BP3 is avail­able. It is called "BolProcessorInstaller.pkg" and it can be down­loaded from here (unique location).

The Bol Processor on MacOS is now a stand­alone appli­ca­tion "BolProcessor.app" (based of PHP Desktop) that no longer requires an addi­tion­al instal­la­tion. The option to use this ver­sion is offered each time you run the installer. You will then be asked to select the Applications fold­er or any oth­er loca­tion on your computer.

The installer (or the script) is used for both ini­tial instal­la­tion and updates. Each time you run it, it will down­load the lat­est ver­sions of the BP3 con­sole source files, the pre­com­piled 'bp' con­sole, the inter­face PHP files and the sam­ple set con­tained in the 'ctests' fold­er. Data, gram­mars and scripts that you've cre­at­ed will not be delet­ed. However, if you have mod­i­fied files in the 'ctests' fold­er, they will be revert­ed to the cur­rent dis­tri­b­u­tion version.

Geeks may pre­fer an equiv­a­lent method using a script includ­ed in this pack­age, see below.

Install MAMP or XAMPP

👉  Using the stand­alone appli­ca­tion "BolProcessor.app" does not require MAMP or XAMPP. So you can jump direct­ly to the Csound instal­la­tion (in case you need it).

If you try to run the installer of Bol Processor, it will first check that a local Apache serv­er (either MAMP or XAMPP) has been installed. Both are suit­able since the Bol Processor inter­face con­tains exclu­sive­ly HTML, PHP and JavaScript code. No data­base is required.

As of January 2025, it appears that the free ver­sion of MAMP has a script exe­cu­tion time of 30 sec­onds that can­not be over­rid­den by the PHP scripts. If this lim­i­ta­tion is con­firmed, we will rec­om­mend 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 devel­op­er". You can over­ride this by allow­ing the appli­ca­tion in the Privacy & Security sec­tion of the Mac's System Settings. Unpacking the files takes sev­er­al min­utes, so be patient and wait for it to finish!

👉 Don't try the vir­tu­al machine ver­sion of XAMPP! It won't work on Macs with M1 chips (and above). Use the native installer.

Free MAMP on MacOS. Note that the top right icon indi­cates that the Apache serv­er is running.

if you choose the (free) MAMP ver­sion, both MAMP and (com­mer­cial) MAMP PRO will be installed. The inter­face will occa­sion­al­ly prompt you to "upgrade" to MAMP PRO (see pic­ture), although you don't need it for the Bol Processor!

Note that after down­load­ing MAMP, you will find MAMP PRO in the Applications fold­er, where­as MAMP (free) is locat­ed in Applications/MAMP. Also note that this ver­sion of MAMP runs on port "8888" by default, as we will see below.

For MAMP, the "htdocs" fold­er 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 auto­mat­i­cal­ly when you start your com­put­er, this process is easy with MAMP: check Login items in the sys­tem settings.

For XAMPP, things are a bit more complicated.

For geeks: You have the offer to cre­ate a start­up script but is not entire­ly sat­is­fac­to­ry with the cur­rent ver­sion (8.2.4). It allows XAMPP to restart Apache at boot time and PHP pages are dis­played cor­rect­ly. However, when real-time MIDI is used, MIDIClientCreate() returns an error.

Until this prob­lem is fixed, the eas­i­est way is to find the Application Manager manager-osx.app (in XAMPP/xamppfiles) and add it to the Login Items of the General set­tings of your MacOS system:

You can also place an alias of "manager-osx.app" on the desk­top and click on it at start­up if you intend to run the Bol Processor.

MAMP PRO

Below are instruc­tions for (rich) peo­ple run­ning MAMP PRO.

The MAMP PRO main page on MacOS (ver­sion 5.7)
  1. Launch MAMP PRO from the Applications folder.
  2. In the MAMP main win­dow, click the Apache Enable but­ton (see image). No need for MySQL.
  3. The image shows the default set­tings for PHP, which is start­ed with Apache.
  4. In case of trou­ble, check the set­tings for ports (see image) and of hosts (gen­er­al  and  Apache).

XAMPP

Open the XAMPP fold­er in the  Applications  fold­er 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 serv­er is run­ning on port "80". This can be changed (e.g. to "81") if it cre­ates a conflict.

Then click the Start but­ton. If there is no con­flict with the ports, Apache will show up as "run­ning":

This image has an empty alt attribute; its file name is XAMPP.jpg
The XAMPP fold­er (in the Applications fold­er on a Mac) and the XAMPP main page

Once Apache is run­ning, you can click on the  Welcome  tag and the  Go to Application  but­ton. This should dis­play a (local) page about XAMPP in the path  http://localhost/dashboard. Both the  dashboard  and (lat­er)  bolprocessor  fold­ers will be locat­ed 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 pro­gram, doc­u­men­ta­tion and data files will be cre­at­ed in a fold­er called "bolprocessor" and will be con­tained in the "htdocs" fold­er cre­at­ed by XAMPP or MAMP — in oth­er words, on your start­up disk. This is not a prob­lem as the whole set does not take up much space, typ­i­cal­ly less than 60 Mb when installed, and the Bol Processor data is basi­cal­ly pure text.

However, you may wish to install the "bolprocessor" fold­er to a dif­fer­ent loca­tion, includ­ing an exter­nal device. In this case, fol­low the instruc­tions for Relocating "bol­proces­sor" before run­ning the installer or the script.

Using the installer

Download "BolProcessorInstaller.pkg" from here and double-click it.

👉  If you have pre­vi­ous­ly down­loaded an old­er ver­sion of the installer, your brows­er may be deliv­er­ing the old ver­sion instead of the lat­est. The safest thing to do is to check the size of "BolProcessorInstaller.pkg" (reed below the Security sec­tion). If nec­es­sary, use a dif­fer­ent brows­er for the download.

This installer has been nota­rized, which means it con­tains infor­ma­tion that allows Apple to cer­ti­fy its valid­i­ty. The only changes you will have to con­firm are usu­al soft­ware instal­la­tion pro­ce­dures on your Mac.

If you have cho­sen the option of the stand­alone appli­ca­tion called "BolProcessor.app", the instal­la­tion is now com­plete. You can pro­ceed to install Csound if you need it. Otherwise, fol­low the guid­ed tour on page Bol Processor ‘BP3’ and its PHP inter­face.

For geeks using XAMPP or MAMP: The installer sets up user/group para­me­ters in the "bolprocessor" fold­er: "daemon:admin" if XAMPP is the Apache serv­er. If MAMP is used, the "<user_id>:admin" set­ting is retained.

Once that's done, go down to the sec­tion Compile the 'bp' con­sole.

Using the script (geeks only!)

An equiv­a­lent method is to run the "install_bolprocessor.sh" script found in the "macos-scripts" fold­er down­loaded here. This makes it pos­si­ble to under­stand each step of the instal­la­tion and pos­si­bly sug­gest improvements.

After down­load­ing "macos-scripts.zip", open the Terminal and type:

cd Downloads
unzip -qo macos-scripts.zip
cd macos-scripts
sudo ./install_bolprocessor.sh

Installation issues

There are cur­rent­ly no known instal­la­tion issues with the stand­alone "BolProcessor.app" appli­ca­tion. A minor prob­lem that we hope to resolve soon is that on rare occa­sions a page may need to be reloaded to display.

If the installer (or the script) does not find a "htdocs" fold­er cre­at­ed by XAMPP or MAMP, it will sug­gest using the stand­alone "BolProcessor.app" appli­ca­tion.

👉 The installer will cre­ate or feed a "bolprocessor" fold­er in the "htdocs" fold­er used by XAMPP (first choice) or MAMP (sec­ond choice). If you have used XAMPP in the past and want to switch to MAMP, you will need to rename the "XAMPP" or "xamppfiles" fold­er before run­ning the installer.

There is a Go to Application but­ton on XAMPP man­ag­er and a WebStart but­ton on MAMP (free) which will dis­play a page con­firm­ing that the Apache serv­er is running.

MAMP set­ting of the port

Now, assum­ing that the instal­la­tion was suc­cess­ful, and the Apache serv­er is run­ning, start XAMPP or MAMP and point your brows­er to  localhost/bolprocessor/php/ or (if it doesn't work) to localhost:8888/bolprocessor/php/.

One of these will dis­play 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 set­tings (see pic­ture), so that the ":8888" option is no longer required.

Compile the 'bp' console

👉 From 23 February 2025, the com­piled 'bp' con­sole will be installed (or updat­ed) by the install script. So nor­mal­ly this step is no longer need­ed, except for geeks who wish to mod­i­fy the source files in the "bolprocessor/source/BP3" folder.

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 com­pile the con­sole, which will take a minute or two.

👉  It is very unlike­ly that the com­pi­la­tion will fail. If it ever hap­pens, please con­tact us!

Installing Xcode via the Mac App store. No charge!

If you don't see the link to com­pile, and instead a men­tion that 'gcc' is not respond­ing, you may need to install the Xcode toolk­it on your machine (link to App Store).

Install and launch Xcode (free) to enable the com­pi­la­tion. Click "Cancel" when Xcode asks you to "cre­ate a project", go back to the Bol Processor page and reload it.

Now, you should see the com­pi­la­tion link.

👉  There are oth­er meth­ods of installing 'gcc'. Fans of Terminal com­mands can sim­ply 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, includ­ing micro­ton­al cor­rec­tions. However, it will give you access to a dif­fer­ent approach to sound synthesis.

Just down­load a pre-built instal­la­tion of Csound (MacOS 6.18) from its down­load page.

A frame ask­ing for a cor­rec­tion of the path to Csound

The BP3 inter­face should be able to fig­ure out the loca­tion of "csound" and fix its path accord­ing­ly. If it does not respond, you will be asked to change the path and per­haps the name of the Csound con­sole (see image).

😀  Now, the Bol Processor is ful­ly oper­a­tional! You can try exam­ples con­tained in the 'ctests' fold­er, or fol­low the guid­ed tour on page Bol Processor ‘BP3’ and its PHP inter­face.

Updating to new versions

To update the Bol Processor con­sole, its PHP inter­face and exam­ples (the con­tents of the "ctests" fold­er), sim­ply rerun "BolProcessorInstaller.pkg". Using the lat­est ver­sion is safe!

The installer will down­load and install cur­rent ver­sions of the soft­ware and data.

Updating will not mod­i­fy or delete any data you have cre­at­ed in the "ctests" fold­er or out­side it. However, if you have mod­i­fied a sam­ple file with­out chang­ing its name, it will be revert­ed to its dis­tri­b­u­tion version.

The installer will also pre­serve the "_settings.php" file (if it exists), which con­tains your project settings.

Security

You are right to be con­cerned about secu­ri­ty. Can you be sure that you have down­loaded the cor­rect (and lat­est) ver­sion of "BolProcessorInstaller.pkg"? Normally yes, this installer is safe because it has been nota­rized.

The size of the "BolProcessorInstaller.pkg" file is exact­ly 21651 bytes and its MD5 is
979d30940a7b11e46fa5be84e4745759. 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: 3 March 2025.

Please DO NOT SHARE THE INSTALLER, only its link: https://bolprocessor.org/misc/BolProcessorInstaller.pkg

Geeks may want to cus­tomise it for their own use. Just down­load this fold­er which con­tains the script files (install_bolprocessor.sh and postinstall) along with instruc­tions on how the installer has been built.

For read­ers not con­ver­sant with Unix shell scripts, the fol­low­ing is a descrip­tion of the process in human language:

Check that an Apache serv­er MAMP or XAMPP is installed by find­ing either MAMP/htdocs or xampp/htdocs on the com­put­er (not case-sensitive). If it is not found, exit with the warn­ing that either MAMP or XAMPP should be installed.

Download the lat­est dis­tri­b­u­tion 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 cre­ate fold­ers with names:
bolprocessor-graphics-for-BP3
php-frontend-master
bp3-ctests-main

Create a fold­er named "bol­proces­sor" (if it does not yet exist) inside the "htdocs" fold­er of the Apache server

Copy bolprocessor-graphics-for-BP3/source to bolprocessor/
If there is already a "source" fold­er, 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" fold­er, delete it

Copy bolprocessor/_settings.php to bolprocessor/php/ (if it exists)

Create a fold­er bolprocessor/csound_resources if it does not yet exist

Copy the con­tent of php-frontend-master/csound_resources to bolprocessor/csound_resources
Files that already exist should be replaced with their updat­ed versions

Create a fold­er htdocs/bolprocessor/ctests if it does not yet exist

Copy the con­tent of bp3-ctests-main to bolprocessor/ctests
Files that already exist should be replaced with their updat­ed versions

Delete the tem­po­rary down­load directory

Set per­mis­sions of the bol­proces­sor fold­er recur­sive­ly to "775", and owner/group to <your_id>:admin if MAMP is used, or daemon:admin if XAMPP is used.

➡ There is no secu­ri­ty risk in set­ting "775" per­mis­sions, as the MAMP or XAMPP Apache serv­er will be run­ning on your pri­vate com­put­er. The Bol Processor nev­er creates/modifies files out­side of its  "bolprocessor"  folder.

Delete bolprocessor/bp if it exists and replace it with the cur­rent 'bp' con­sole.

Relocating "bolprocessor"

👉  Apparently, relo­cat­ed instal­la­tions do not work with XAMPP after a reboot, unless the "BolProcessorInstaller.pkg" installer is run again. We're try­ing to fix this prob­lem. In the mean­time, you can at least relo­cate your data using sym­bol­ic links.

The Bol Processor can be installed out­side the "htdocs" fold­er cre­at­ed by MAMP or XAMPP (on your boot dri­ve). You might want it near relat­ed projects, or use extra space from an exter­nal hard dri­ve. There may also be sit­u­a­tions where cre­at­ing files on the boot dri­ve is restrict­ed to the super admin.

Fortunately, the process of relo­cat­ing is very simple.

If you have already cre­at­ed a "bolprocessor" fold­er by run­ning the installer, drag it to the desired loca­tion and delete it from the "htdocs" fold­er. If not, cre­ate an emp­ty "bolprocessor" fold­er in the desired location.

Then, open the Terminal (in the Applications fold­er) and point it to the "htdocs" direc­to­ry. For those unfa­mil­iar with Unix com­mands, you will need to type "cd " (fol­lowed by a space) and drag "htdocs" to the end of this com­mand, then press "return". You can type the instruc­tion "ls -al" to see the con­tents of "htdocs", which is nor­mal­ly empty.

Let's say you've cre­at­ed an emp­ty fold­er "bolprocessor" inside a fold­er called "MUSIC" on an exter­nal dri­ve called "EXT". The instruc­tion cre­at­ing the sym­bol­ic link is:

ln -s /Volumes/EXT/MUSIC/bolprocessor bolprocessor

Make sure that the sym­bol­ic link you cre­at­ed points to the cor­rect loca­tion: you will now see a "bolprocessor" icon with a small arrow in the bot­tom left cor­ner. Double-click it, it should open the des­ti­na­tion folder.

👉 You may won­der why sym­bol­ic links are used instead of MacOS alias­es, which do not require the use of the Terminal. The rea­son is that the Apache servers don't accept alias redirections.

You can now safe­ly run the installer (or install script) and pro­ceed to com­pile the 'bp' con­sole. Make sure you use the lat­est ver­sion of the installer (from 3 January 2025), as it is designed to work with sym­bol­ic links.

👉 Never change the names of the "bolprocessor" fold­er and sym­bol­ic link, oth­er­wise the instal­la­tion will fail.

The first time you run the Bol Processor, MAMP or XAMPP may ask your per­mis­sion to dis­play files out­side its "htdocs" fold­er. Please con­tact us if you're expe­ri­enc­ing issues with this relocation!

If you're not afraid of sym­bol­ic links, you can use the same tech­nique to relo­cate some data files out­side the "bolprocessor" fold­er, for exam­ple to a loca­tion in your Dropbox (includ­ing shared fold­ers), as explained here.

Uninstall the Bol Processor

Uninstalling the Bol Processor, and all the data down­loaded or cre­at­ed for its use, is very sim­ple: delete the "bolprocessor" fold­er, and the "bolprocessor" sym­bol­ic link if you have cre­at­ed it.

Bernard Bel
Creation: August 2024