Dear Anthony,
I guess all these problems were related to file/folder permissions in
your local "bolprocessor" folder.
Each time you load a page, the help file is recompiled. This is taken
care of by compile_help($text_help_file,$html_help_file) on top of the"
_basic_tasks.php" file. The source is "BP2_help.txt" and the result is
"BP2_help.html" containing useful tags.
Once you have lodaded a grammar, clich "SHOW HELP ENTRIES" at the bottom
right which will hilite reserved tokens and link them to entries on the
Help window. Each entry opens its own small window, so you can put side
by side explanations on "_volumecont" and "_volume(x)" for instance. I
modify "BP2_help.txt" form time to time to adjust the order of entries
so that the longest prefix of a word appears at the bottom. So,
"_volumecont" appears after its prefix "_volume" and will be first
searched for on the grammar line. In BP2.9.8 you needed to type
command-question mrk and click on the reserved word… This looks better!
Problem with that "sortie" directory is also probably one of write
permissions. On top of grammar.php you can see that the output directory
is automatically created if it does not exist. Well, I use the "mkdir"
system command with no options, instead of PHP's own mkdir(). It might
make the difference. Long ago I stopped using PHP mkdir() for a reason I
have forgotten.
You might face a similar problem when editing a '-mi' file. If you edit
"-mi.abc1" it immediately creates a "-mi.abc1_temp" folder at the same
level as "-mi.abc1", then writes a text file in that folder containing
the code for each prototype, i.e. "a.txt", "a'.txt", "chik.txt" etc.
These are the files you will be modifying in separate tabaswhen editing
each sound-object prototype. After you finished editing, go back to the
tag created by opening "-mi.abc1" and click the "SAVE ‘-mi.abc1’"
button. This will take all text files and pack them together as an
updated "-mi.abc1".
I recommend working on a copy to try this! This makes it possible to
edit a large collection of sound-object prototypes, each in its own tag,
without rewriting the entire '-mi' file each time you changed a parameter.
I checked that saving a prototype after changing parameters maintains
its consistency. For instance, if you had a dilation range permitted
from 30% to 70% and you click the "Never rescale" option, then these
values of dilatio ranges should be erased. I am still working on it to
avoid accepting zero values in some places (e.g. Resolution).
I will add features clearing garbage each time the interface is used,
for instance deleting trace files and these temporary folders used to
store sound-object prototypes once they are more than 24 hour old. So,
make sure that your environment will authorize PHP to do "rm" commands!
I have already fixed a few minor problems while writing this message. ;-)
You may write installation instructions so that the interface runs
smoothly in a new environment. I have only experience with MAMP Pro. We
should also try it on Unix and Windows machines…
Bernard
Anthony Kozar wrote on 22/07/2020 04:40:
> Dear Bernard,
>
> The interface looks & works great! ^_^
>
> After I installed XAMPP for OS X, I followed your setup instructions.
> The first time I loaded the interface, I had a bunch of warnings
> because it could not open & write to the file php/BP2_help.html. The
> files are writable by their owner which was me because I dragged them
> into the "htdocs" folder. But the Apache server & PHP script run as
> user "daemon". This is probably just a naive mistake on my part. I
> was wondering why XAMPP includes an FTP server since it is running on
> the local machine. Perhaps I am supposed to use it to "upload" files
> so that they get the right owner/group/permissions?
>
> Well, I just changed the owner manually and then the warnings went
> away. Things were working after that except that the interface could
> not create the "sortie" directory. After I created it, everything
> works great!
>
> It's wonderful how one can browse the folders under /bolprocessor/ and
> select any BP file to open or create a new grammar. And I can have as
> many files open as I want since each one opens in a new tab.
>
> I'm going to bed early tonight, so I'll write more tomorrow.
>
> Anthony
|