Dear colleagues,
I am very proud to announce the completion of the real-MIDI output on BP3!
As usual, the updated console can be downloaded from
https://github.com/bolprocessor/bolprocessor/archive/graphics-for-BP3.zip
along with its HTML/PHP/Javascript interface from
https://github.com/bolprocessor/php-frontend/archive/master.zip
and its sample set:
https://github.com/bolprocessor/bp3-ctests/archive/main.zip
A (fresh new) history of "changes" is available here:
https://github.com/bolprocessor/bolprocessor/blob/graphics-for-BP3/BP3-changes.txt
and the installation tutorial (which I am currently updating) is on this
page:
https://bolprocessor.org/check-bp3/
Well, that was a lot of work! But, as I announced a year ago, I trained
myself to work with a very efficient and patient partner called
"ChatGPT". This partner wrote a minimal application called "MIDItest",
which sends a few notes to a MIDI device. To do this, at my request, he
created C code that could be compiled for implementation on the three
platforms: MacOS, Linux and Windows.
I only tried it on MacOS, but I ported all the code to BP3. The source
code "MIDItest.c" is included in the distribution, along with
compilation details, so that a Linux or Windows user can check its
operation, fix the code (possibly with the help of ChatGPT!) and send me
the updates which I will apply to BP3. By the way, "MIDItest.c" can be
of great help to programmers who want to implement MIDI output in their
own applications.
This makes me very optimistic because I know we can use the same method
to develop other important features such as real-time Csound, Open Sound
Control, etc.
Real-time MIDI output has a few limitations that I am working on:
1) It sends MIDI messages to the first available MIDI destination. It
will be easy to design a "MIDI setup" page and store its data in a
"MIDIsetup.txt" file that the console will read.
2) The STOP button used to interrupt improvisation does not always
immediately create the "_stop" file that tells the application to stop.
This is because the browser that handles the interface is almost dead
while the console is running... This means that an ongoing improvisation
is often never stopped unless the Apache server is restarted. I need to
implement another method to send instructions to the console in real time.
In fact, a "stop" command could also be sent as a MIDI message... This
is why I also plan to implement MIDI input, then restore scripting, etc.
The algorithmic structure for this is already there, since the BP3 code
contains remnants of the BP2 code, which was fully interactive with MIDI
input/output devices.
So, we have taken a significant step! For this reason, the current
distribution deserves to be named "Bol Processor 3.0" :-)
On Wednesday 15th May at 13:00 GMT (or 15:00 Paris time) I will have a
zoom meeting with Luciano, which you are welcome to join. It's an open
discussion, no agenda... Please contact me at be...@bo...
to get a link to the meeting.
With best regards
Bernard Bel
|