Towards a standalone application

We are look­ing for a suit­able plat­form to com­pile stand­alone ver­sions of Bol Processor BP3.

The Bol Processor BP3 is cur­rent­ly com­prised of a con­sole (writ­ten in C lan­guage) and a set of PHP/HTML/CSS/Javascript files that act as its inter­face. A con­sole ver­sion of Csound can also be attached. For detailed instal­la­tion instruc­tions, please refer to the Bol Processor ‘BP3’ and its PHP inter­face page.

It all works beau­ti­ful­ly in a design that is com­pat­i­ble with mul­ti­ple 64-bit sys­tems: MacOS, Linux and Windows. However it does require the instal­la­tion of an Apache+PHP pack­age to run the inter­face. (We are cur­rent­ly using the free ver­sion of MAMP on Mac com­put­ers to devel­op the BP3 interface.)

The next phase of the project will involve the cre­ation of a stand­alone appli­ca­tion that will replace the web brows­er and its asso­ci­at­ed PHP/HTML/CSS files. The appli­ca­tion will be avail­able in three ver­sions, for Linux, MacOS and Windows.

Over the past two decades, a num­ber of plat­forms have been devel­oped for build­ing desk­top appli­ca­tions that emu­late the behav­iour of a web brows­er. While most of these seem to have been aban­doned, or at least not updat­ed for years, we are con­fi­dent that PHP Desktop will be eli­gi­ble for this process.

We require an urgent eval­u­a­tion of the abil­i­ty of PHP Desktop (in its cur­rent Linux imple­men­ta­tion) to com­pile a stand­alone ver­sion of the Bol Processor inter­face. We are seek­ing to engage a pro­gram­mer for this spe­cif­ic task. Please con­tact us to dis­cuss the terms of collaboration.

Please find below a list of require­ments for the PHP/HTML/CSS/JavaScript inter­face. Should you have alter­na­tive solu­tions, please pro­vide links in the com­ments at the bot­tom of this page or via the Contact page.

Requirements

  1. Display a HTML/PHP page using links to its CSS file(s)
  2. Support the “require_once()” pro­ce­dure to bind sev­er­al PHP pages together
  3. Support all types of HTML “<input>” instruc­tions: fields, but­tons, check­box­es etc.
  4. Support “$_GET” and “$_POST” to han­dle forms
  5. Support PHP “open()” instruc­tion to create/update text files
  6. Support PHP “exec()” instruc­tion to send com­mands to the console
  7. Support multi-tag or multi-window work space
  8. Support Javascript “window.open()” to cre­ate pop-up windows
  9. Support HTML CANVAS graph­ics and PHP GD graphics
  10. Support the HTML Audio tag to stream WAV sound files
  11. Preferably imbed­ding Chrome browser

Please be aware that no MySQL data­base or SESSION vari­ables are used in the inter­face. Any tem­po­rary data is stored in files that are auto­mat­i­cal­ly delet­ed when no longer required.

A glob­al vari­able “$which_system” can be set at the begin­ning of the PHP code to com­pile desk­top appli­ca­tions run­ning on dif­fer­ent sys­tems. The min­i­mum sys­tem ver­sions that should be sup­port­ed are MacOS 10.14 (Mojave), Windows 10, and Linux ≥ January 2019.

A multiplatform Bol Processor

Bol Processor 2.9.8 (Mac ver­sion) had been around for eight years and required very few bug fix­es. However, it had to be com­plete­ly rebuilt to work with MacOS 10.15 (Catalina) and future ver­sions: only 64-bit appli­ca­tions are allowed. The high­est sys­tem ver­sion sup­port­ing BP 2.9.8 was MacOS 10.14 (Mojave).

The graph­i­cal inter­face was com­plete­ly redesigned for this pur­pose. We decid­ed to devel­op a con­sole serv­er appli­ca­tion that receives instruc­tions via com­mand lines. At the time of writ­ing, the new appli­ca­tion is work­ing, although some fea­tures such as real-time MIDI have not yet been imple­ment­ed. We are pleased to report that it suc­cess­ful­ly com­piled on many sys­tems includ­ing MacOS, Linux and Windows with both 32-bit and 64-bit Intel proces­sors! This was a big step towards a multi-platform version.

This new appli­ca­tion (BP3) is being test­ed with a graph­ic user inter­face pro­grammed in PHP. This requires a web serv­er on which to run, but it allows any­one with a web brows­er to try out BP3 with­out installing any­thing (fol­low this link).

We are now plan­ning to cre­ate a stand­alone ver­sion of BP3 that will run in MacOS, Windows and Linux envi­ron­ments. This step is with­in our reach using the PHP Desktop plat­form. We need the help of programmer(s) who are famil­iar with this environment!

We invite soft­ware design­ers to join the team and con­tribute to the devel­op­ment of the core appli­ca­tion and its client appli­ca­tions. Please join the BP users help forum , BP open dis­cus­sion forum and/or the BP devel­op­ers list to stay in touch with the progress of the work and to dis­cuss relat­ed musi­cal or theoretical/technical issues.

Academic presentations

Bernard will soon be pre­sent­ing aspects of Bol Processor in sev­er­al aca­d­e­m­ic venues: