Dear Bernard,
I'm very happy that you are pleased with the updates! :) There is still
lot to do, of course, but I feel like the console version is
significantly more usable now.
I started working on LoadSettings() yesterday and I'm hoping to finish
that today. I think all of the various Load[something]() functions will
go much easier than I thought since I can now just delete some of the
Carbon GUI code. All of the file input is nicely encapsulated in the
functions ReadInteger(), ReadLong(), etc. so that I don't have to modify
hundreds of FSRead() calls. :)
More below...
On 7/21/20, 9:22 AM, Bernard Bel wrote:
> Dear Anthony,
>
> I have tried all these commands. Everything works perfect, and I set up
> the interface to display output and/or trace files on separate windows.
>
> The interface reads the console output. If it finds an "Errors: 0" it
> offers displaying the output, otherwise it gives a warning and a link to
> the trace.
The screenshot looks great! It had not occurred to me that you could
display the various output stream in separate windows with the PHP
interface. You could almost recreate the Mac interface this way! ;)
> I have a suggestion regarding settings. In examples such as:
>
> ../bp64 compile --indian -gr.Nadaka
> ../bp64 produce --indian -gr.Nadaka
> ../bp64 produce-all produce-all.bpgr
> ../bp64 produce symbols.bpgr symbols.bpho -o out.txt --traceout
> trace.txt --trace-production
>
> I don't need to select the options in the interface because they are in
> the "-se" file. The interface reads the "-se" file and tells that the
> options are set.
>
> Yet this is not a straightforward practice. I understand the interest in
> putting these options in the command line, but I don't think you will
> design such options for the 127 parameters set by the '-se' file. It
> seems better to read the '-se' file and apply its options…
>
> In case the option in the command line contradicts an option in the
> '-se' file, the command line instruction should have a priority.
Sounds good. I was also thinking that some options could be specified
in either an -se file or on the command line with priority given to the
command line. I definitely will not create command-line options for
every parameter though! I am choosing the ones that (a) help me test
unique paths thru the code, and (b) that I think will be most useful to
front ends or users who actually want to work directly with the console
version.
Until you started creating editors for -se and -mi files in your
interface, I was really thinking that it could be years before BP3 users
on Catalina, Linux, or Windows would have good ways to edit all of the
parameters. But you are already solving those problems in only a few
weeks time! That is amazing. I think it would take me MUCH longer to
construct GUIs for editing those files in something like Java. It will
be wonderful for users to be able to use the PHP interface to create
these "non-text" files even if they are running their projects on their
local machines.
> The PHP interface will probably be shared tomorrow. I still need to
> complete a few details. I am enclosing the image of a production…
Great! I will install MAMP and try it out.
I see now too how much value the PHP interface will have for any future
front-end designers. I was slow to appreciate the fact that many
developers wanting to create a Bol Processor GUI will not be able to run
the Carbon GUI to see how it worked. Your PHP interface will definitely
help to bridge that gap!
On 7/21/20, 12:34 AM, Bernard Bel wrote:
> "Zero byte(s) leaked". My favourite message.
I'll have to make sure that the final release versions print that
message whenever they detect that you are the user ;)
> When time permits (no emergency) you might update BP2.9.8 to read at
> least ‘-se’ and ‘-mi’ files with the Unix line endings. This would make
> it possible to check changes via the sound output. Don’t bother about
> the saving format that can remain MacOS Roman, since it is automatically
> converted by the PHP interface.
That is a good idea. I have been thinking that we will need an official
2.9.9 release to include the changes that I made in 2013 plus anything
else important that comes up while working on BP3. Making sure that BP2
can read the files created with your PHP interface falls into that category.
> Probably my next work on the interface will be the edition of ‘-cs’
> Csound orchestra files.
That's a big job too. I've had some ideas for a while for a more
compact interface design for the Csound instruments. I would like to
eventually create a Java app for editing them. Maybe I can create a
mockup of the interface though to share my ideas.
Thanks, as always, for the feedback!
Anthony
|