Hello everyone,
I've uploaded a new snapshot of my development folder to my website.
Just download and unzip the file "bpconsole-2020-08-17.zip" from
http://www.anthonykozar.net/files/BolProcessor/
Inside the "bolprocessor" folder you will find (amongst other things):
bp 64-bit console app built with the Makefile
bp32 32-bit console app built with Xcode (has debug info)
bp64 64-bit console app built with Xcode (has debug info)
BP2-ANSI.xc82.xcodeproj current Xcode project file
ctests/ folder full of test files and output files from tests
source/BP2/ the folder containing all of the source for this version
I haven't tested building this version yet under Linux or Windows. I
expect it to build fine with the Makefile. On any platform (including
MacOS), just try the command "make" from the "bolprocessor" folder to build.
Changes in this version
-----------------------
• now able to load -se settings files!
• command-line options interact with options in the settings file in
the following ways:
• The settings file will override any "default" settings of the
command-line program.
• If any of the score output or performance options are specified
(-D, -d, -o, --csoundout, --midiout, or --rtmidi), then all of
those options from the settings file are ignored.
• Other command-line options override the settings file and are
applied independently.
• cleaned up the console output more by
• replacing many "high-ASCII" characters in message strings with
their closest ASCII equivalents
• outputting system-native newline characters instead of carriage
returns
• MIDI file output now works via the --midiout option!
• changed default MIDI file format to type 1
• new option '--midiformat num' for specifying the Midi file format
• type 2 MIDI files now combine the tempo/time sign./key sign. info
with the note events into the same track. This was changed because
the intention of type 2 files is that each track is a separate item,
piece, song, etc. Type 1 files still write tempo & other meta data
to the first track and note/control events to the second track.
Other than the change to type 2 MIDI files, I expect the output of MIDI
files in this version to match that in BP2.9.8 when the options "Store
all items to same file" and "Write item immediately" are selected. My
initial tests have found identical binary output between the 32-bit and
64-bit versions of BP3 console.
Please report any bugs, especially in the MIDI file output!
Example command lines
--------------------
Here are some examples to try from the "ctests" folder (you can use
"bp32" or "bp" instead of "bp64"):
../bp64 --version
../bp64 --help
../bp64 produce -gr.NotReich
../bp64 produce -gr.NotReich -o NotReich.bpda
../bp64 produce -gr.NotReich -d --csoundout -
../bp64 produce -gr.NotReich -d --csoundout out.sco
../bp64 produce -gr.NotReich -d --midiout NotReich.mid
../bp64 templates -gr.checktemplates --traceout trace.txt
# the next two commands will generate some compilation errors
../bp64 compile symbols.bpgr
../bp64 compile symbols.bpgr --traceout trace.txt
# adding the alphabet file fixes them
../bp64 compile symbols.bpgr symbols.bpho --traceout trace.txt
../bp64 produce symbols.bpgr symbols.bpho
# type this all on one line
../bp64 produce symbols.bpgr symbols.bpho -o out.txt --traceout
trace.txt --show-production
# type this all on one line
../bp64 produce symbols.bpgr symbols.bpho -o out.txt --traceout
trace.txt --trace-production
../bp64 produce produce-all.bpgr
../bp64 produce-all produce-all.bpgr
../bp64 produce produce-all.bpgr -d --midiout out.mid
# type each of these commands all on one line
../bp64 produce produce-all.bpgr -d --midiout out-type-0.mid --seed 0
--midiformat 0
../bp64 produce produce-all.bpgr -d --midiout out-type-1.mid --seed 0
--midiformat 1
../bp64 produce produce-all.bpgr -d --midiout out-type-2.mid --seed 0
--midiformat 2
# this command will also generate some compilation errors
../bp64 compile -gr.Nadaka --traceout Nadaka-errors.txt
# adding the --indian option fixes them
../bp64 compile --indian -gr.Nadaka
../bp64 produce --indian -gr.Nadaka
../bp64 produce --indian -gr.Nadaka -d --rtmidi
# the --indian option is not needed if the correct -se file is used
../bp64 produce -gr.Nadaka -se.hamsad
../bp64 produce -gr.Nadaka -se.hamsad --midiout Nadaka.mid
Updating to the latest code
---------------------------
The "bolprocessor" folder contains a Git repository. Before you can
download changes from Sourceforge you will need to reconfigure the
remote settings because they are set up to use my username. You can do
so with these commands:
git remote remove origin
git remote add -f origin git://git.code.sf.net/p/bolprocessor/git
git branch --set-upstream-to=origin/ANSI-branch ANSI-branch
After that, you can update to the latest code on Sourceforge anytime
with just the command
git pull
If you have made changes to the source code, it is safer to do
git fetch
and examine any non-local changes first!
--------
I hope that this snapshot works for all of you. Inquire here on the
developer list if you have problems.
Anthony
|