diff --git a/doc/cli-design.txt b/doc/cli-design.txt index 119b5b9..24bbece 100644 --- a/doc/cli-design.txt +++ b/doc/cli-design.txt @@ -2,13 +2,13 @@ A flexible music programming language powered by math. usage: -cmd [FILENAME | -c SHEET_MUSIC | --syntax | --examples | --example ] [-e EXPR] [-l EXPR] -n NOTE[,...] [-E [-f {"stdout" | FORMAT}]] [-v CHAR=VALUE] +blip [play [FILENAME | -c SHEET_MUSIC] [-e EXPR] [-l EXPR] -n NOTE[,...] [-v CHAR=VALUE] | export [FILENAME | -c SHEET_MUSIC] [-e EXPR] [-l EXPR] -n NOTE[,...] [-v CHAR=VALUE] [-f FORMAT] [-o FILENAME] | help [syntax | examples | example | formats]] -arguments: - FILENAME file path to your .blp sheet music [default: read from stdin] -options: - playing music: +modes: + play - play a song + FILENAME + name of the file to use as the sheet music [default: standard in] -c SHEET_MUSIC sheet music to read instead of reading a file -n NOTE[,...], --notes NOTE[,...] @@ -17,14 +17,6 @@ options: signal expression (instrument) to generate music samples (you can use the floating-point number t for the current time in seconds, n for the indice of the currently playing note in the list of available notes starting with 0 and N for the number of available notes) [default: "sin(2*PI*(442+442*((n+1)/N))*t)"] -l EXPR, --length EXPR expression to generate note length in seconds [default: "2^(2-log_2(l))*(60/T)"] - - exporting music: - -E, --export - export audio instead of playing it - -f, --format - audio format to use for exporting with -E - - advanced sheet music tweaking: -v VARIABLE=VALUE, --variable VARIABLE=VALUE add a variable named VARIABLE (an single letter) for the sheet music and all expressions and set its initial value to VALUE (you can override n, t, l and T which is the only way to set the initial tempo) -m NAME:EXPANSION, --macro MACRO:EXPANSION @@ -32,10 +24,35 @@ options: -s NAME:VARIABLE=EXPR, --slope VARIABLE=EXPR add a slope expression named NAME which replaces the value of VARIABLE with the result of EXPR each frame (EXPR can use all available variables and instrument variables plus the variables α for the initial value of VARIABLE, β for the final value and Δ for the total duration of the specific slope) - help: - --syntax + export - export a song to an audio file or stdout + FILENAME + name of the file to use as the sheet music [default: standard in] + -c SHEET_MUSIC + sheet music to read instead of reading a file + -n NOTE[,...], --notes NOTE[,...] + available notes: a list of comma-separated alphabetical note names + -e EXPR, --expression EXPR + signal expression (instrument) to generate music samples (you can use the floating-point number t for the current time in seconds, n for the indice of the currently playing note in the list of available notes starting with 0 and N for the number of available notes) [default: "sin(2*PI*(442+442*((n+1)/N))*t)"] + -l EXPR, --length EXPR + expression to generate note length in seconds [default: "2^(2-log_2(l))*(60/T)"] + -v VARIABLE=VALUE, --variable VARIABLE=VALUE + add a variable named VARIABLE (an single letter) for the sheet music and all expressions and set its initial value to VALUE (you can override n, t, l and T which is the only way to set the initial tempo) + -m NAME:EXPANSION, --macro MACRO:EXPANSION + add a macro named NAME (single character, must not be alphanumeric) which expands to EXPANSION when called in the sheet music + -s NAME:VARIABLE=EXPR, --slope VARIABLE=EXPR + add a slope expression named NAME which replaces the value of VARIABLE with the result of EXPR each frame (EXPR can use all available variables and instrument variables plus the variables α for the initial value of VARIABLE, β for the final value and Δ for the total duration of the specific slope) + -f, --format FORMAT + audio format to use [default: mp3 or raw if the codec is unavailable] + see "help formats" + -o, --output FILENAME + output file [default: standard out] + + help - help menu + syntax show a help message about expression and sheet music syntax - --examples + examples show a list of expression and sheet music examples - --example + example show the nth example from the list provided by --examples + formats + show a list of available formats for audio export