“MuseLive Documents”的版本间的差异
(→MuseLive 文档) |
|||
第3行: | 第3行: | ||
== MuseLive 文档 == | == MuseLive 文档 == | ||
− | + | 版本:Alpha 2.5.3 | |
+ | |||
+ | '''目前只支持加载固定文件:project.mlp (与主程序在同一目录)''' | ||
+ | 示例工程的演奏方式记录在sample.txt里 | ||
+ | |||
+ | 工程文件格式: | ||
+ | # 概念解释: | ||
+ | ## 工程: | ||
+ | ### 默认是指程序所在目录下的project.mlp文件,目前支持这一个指定名称。<br>这是一个包含了一堆存放描述和指令的文件。 | ||
+ | #路径: | ||
+ | 这里的路径可以是相对路径也可以是绝对路径。 | ||
+ | 相对路径目前是指依程序所在路径为参考的,而不是工程所在路径。 | ||
+ | #基本命令原理: | ||
+ | 所有命令以行为基础,换行代表一个新的命令。 | ||
+ | 每一行中用空格或者水平制表符形成许多部分,但是等号会是一个例外,无论它两边有多少空格(制表符)都会将两边的部分连成一个整体。 | ||
+ | 当然等号也有例外,一个每一对双引号中的第二个会结束一个部分,所以譬如"a"=b的语句中的等号不会连接左侧,此语法不对。(实则懒得合并左侧) | ||
+ | 注意:请不要使用Annoy+数字形式的键名,如Annoy001,这些都是保留键名! | ||
+ | |||
+ | #举例1.3.1: | ||
+ | value1 key1=value2 #comment | ||
+ | |||
+ | value1代表的是一个匿名值,一般是有程序按照既定顺序判定它的意义。 | ||
+ | key1代表一个键,它位于等号左边,用于描述右边的值的意义。 | ||
+ | value2代表一个值,它位于等号右边,被左边的键名赋予意义。 | ||
+ | comment是一个注释,它不会被程序加载,不对程序运行产生影响。 | ||
+ | 我们称一个类似value1或者key1=value2的部分为参数。 | ||
+ | |||
+ | 1.3.3、举例1.3.2: | ||
+ | blockHeader { | ||
+ | key1=value1 | ||
+ | key2=value2 | ||
+ | } | ||
+ | |||
+ | blockHeader代表块的头部,它的作用是省略在大括号内的头部定义,所以它等效于: | ||
+ | |||
+ | blockHeader key1=value1 | ||
+ | blockHeader key2=value2 | ||
+ | |||
+ | 请注意因为一对双引号两端只能为空格或者等号,所以譬如“"a" {”的块头部的双引号与大括号之间不可缺少空格(实则懒得多检测一个字符) | ||
+ | |||
+ | 2、第一行必须是“Project.Version = "2.0"”这是工程版本声明。暂时不支持版本向下兼容,这个也许我会做的。(嗯,也许) | ||
+ | |||
+ | 3、基本格式:页码(可用值:1~32 或 "*"(代表所有页码) 或 "@"(代表初始化,之后的键值省略)) + 按键(可以参考程序内左侧列表输出) + 一堆值... | ||
+ | |||
+ | |||
+ | 4、命令/参数: | ||
+ | 4.1、Audio=<audio path> | ||
+ | audio path:音频文件路径。 | ||
+ | 举例:Audio="sample.wav" 绑定音频为sample.wav。 | ||
+ | |||
+ | 4.2、ChangePage=<page number> | ||
+ | page number:目标页码(只允许为1~32)。 | ||
+ | 举例:ChangePage=12 设置绑定的跳转页面为第12页。 | ||
+ | |||
+ | 4.3、StagePosition=<x>,<y> | ||
+ | 该参数仅对Video有效,如果不存在Video会报错。 | ||
+ | 请记得将该参数放在Video前,否侧会因为顺序性而实效。 | ||
+ | 舞台的坐标系是向右为x轴为正,向下为y轴正方向。 | ||
+ | x:舞台上的x坐标位置,这个值从0开始。 | ||
+ | y:舞台上的y坐标位置,这个值从0开始。 | ||
+ | 举例:StageSeat="0,1" 设置video的显示坐标为0,1。 | ||
+ | |||
+ | 4.4、Video=<video path> | ||
+ | 请跟上参数StagePosition,否则无效。 | ||
+ | video path:视频文件路径。 | ||
+ | 举例:Video="sample.mp4" 绑定视频为sample.mp4。 | ||
+ | |||
+ | 5、更多的完整例子 | ||
+ | 5.1、举例3.1: | ||
+ | "@" ChangePage=1 | ||
+ | |||
+ | 这个表示在初始化跳转到页面1。 | ||
+ | 注意:由于页码@和*是符号,且不应被识别为操作符,所以应该用双引号括起来 | ||
+ | |||
+ | 5.2、举例3.2: | ||
+ | "*" 56 Audio="./sample.wav" | ||
+ | |||
+ | 这个表示在所有页面记录:当按下A时播放当前目录下的sample.wav。 | ||
+ | 也就是说,当当前页码为1时,按下A就播放sample.wav。 | ||
+ | 注意:56并不是A的ASCII值,而是WinForms中Keys.A的枚举值。 | ||
+ | |||
+ | 5.3、举例3.3: | ||
+ | 3 "D1" Video="sample.mp4" Stage="2,1" | ||
+ | |||
+ | 这个表示在页面3记录:当按下数字键1时在第3列第2行播放当前目录下的sample.mp4。 | ||
+ | 如果有空格为了表示为一个部分要加双引号,没有空格也可以加双引号。 | ||
+ | |||
+ | 6、字符串 | ||
+ | 请注意双引号只允许两种使用形式:"Key=Value" 或 Key="Value"。 | ||
+ | |||
+ | 7、注释 | ||
+ | 7.1、整行注释: | ||
+ | #comment | ||
+ | |||
+ | 第一个字符为井号的行会被注释掉。 | ||
+ | |||
+ | 7.2、尾部注释: | ||
+ | abc #comment | ||
+ | |||
+ | 以井号为开头的部分为注释,这种注释生效需要保证前面为空格。 | ||
+ | 所以上面的内容等效为abc。 | ||
+ | 以下内容不算尾部注释: | ||
+ | |||
+ | abc#comment | ||
+ | |||
+ | 因为井号前面缺少空格所以它会被完整识别为abc#comment。 | ||
+ | |||
+ | Q&A: | ||
+ | 1、 | ||
+ | Q:如何在工程未打开的情况下打开程序? | ||
+ | A:备份当前文件(修改文件名称,或移动到其他目录),然后写一个只有一行“Project.Version = "2.0"”的project.mlp。 | ||
+ | |||
+ | Have fun! |
2020年8月16日 (日) 13:22的版本
MuseLive 文档
版本:Alpha 2.5.3
目前只支持加载固定文件:project.mlp (与主程序在同一目录) 示例工程的演奏方式记录在sample.txt里
工程文件格式:
- 概念解释:
- 工程:
- 默认是指程序所在目录下的project.mlp文件,目前支持这一个指定名称。
这是一个包含了一堆存放描述和指令的文件。
- 默认是指程序所在目录下的project.mlp文件,目前支持这一个指定名称。
- 工程:
#路径: 这里的路径可以是相对路径也可以是绝对路径。 相对路径目前是指依程序所在路径为参考的,而不是工程所在路径。 #基本命令原理: 所有命令以行为基础,换行代表一个新的命令。 每一行中用空格或者水平制表符形成许多部分,但是等号会是一个例外,无论它两边有多少空格(制表符)都会将两边的部分连成一个整体。 当然等号也有例外,一个每一对双引号中的第二个会结束一个部分,所以譬如"a"=b的语句中的等号不会连接左侧,此语法不对。(实则懒得合并左侧) 注意:请不要使用Annoy+数字形式的键名,如Annoy001,这些都是保留键名!
#举例1.3.1:
value1 key1=value2 #comment
value1代表的是一个匿名值,一般是有程序按照既定顺序判定它的意义。 key1代表一个键,它位于等号左边,用于描述右边的值的意义。 value2代表一个值,它位于等号右边,被左边的键名赋予意义。 comment是一个注释,它不会被程序加载,不对程序运行产生影响。 我们称一个类似value1或者key1=value2的部分为参数。
1.3.3、举例1.3.2: blockHeader { key1=value1 key2=value2 }
blockHeader代表块的头部,它的作用是省略在大括号内的头部定义,所以它等效于:
blockHeader key1=value1 blockHeader key2=value2
请注意因为一对双引号两端只能为空格或者等号,所以譬如“"a" {”的块头部的双引号与大括号之间不可缺少空格(实则懒得多检测一个字符)
2、第一行必须是“Project.Version = "2.0"”这是工程版本声明。暂时不支持版本向下兼容,这个也许我会做的。(嗯,也许)
3、基本格式:页码(可用值:1~32 或 "*"(代表所有页码) 或 "@"(代表初始化,之后的键值省略)) + 按键(可以参考程序内左侧列表输出) + 一堆值...
4、命令/参数:
4.1、Audio=<audio path>
audio path:音频文件路径。
举例:Audio="sample.wav" 绑定音频为sample.wav。
4.2、ChangePage=<page number> page number:目标页码(只允许为1~32)。 举例:ChangePage=12 设置绑定的跳转页面为第12页。
4.3、StagePosition=<x>,<y> 该参数仅对Video有效,如果不存在Video会报错。 请记得将该参数放在Video前,否侧会因为顺序性而实效。 舞台的坐标系是向右为x轴为正,向下为y轴正方向。 x:舞台上的x坐标位置,这个值从0开始。 y:舞台上的y坐标位置,这个值从0开始。 举例:StageSeat="0,1" 设置video的显示坐标为0,1。
4.4、Video=<video path> 请跟上参数StagePosition,否则无效。 video path:视频文件路径。 举例:Video="sample.mp4" 绑定视频为sample.mp4。
5、更多的完整例子 5.1、举例3.1: "@" ChangePage=1
这个表示在初始化跳转到页面1。 注意:由于页码@和*是符号,且不应被识别为操作符,所以应该用双引号括起来
5.2、举例3.2: "*" 56 Audio="./sample.wav"
这个表示在所有页面记录:当按下A时播放当前目录下的sample.wav。 也就是说,当当前页码为1时,按下A就播放sample.wav。 注意:56并不是A的ASCII值,而是WinForms中Keys.A的枚举值。
5.3、举例3.3: 3 "D1" Video="sample.mp4" Stage="2,1"
这个表示在页面3记录:当按下数字键1时在第3列第2行播放当前目录下的sample.mp4。 如果有空格为了表示为一个部分要加双引号,没有空格也可以加双引号。
6、字符串 请注意双引号只允许两种使用形式:"Key=Value" 或 Key="Value"。
7、注释 7.1、整行注释: #comment
第一个字符为井号的行会被注释掉。
7.2、尾部注释: abc #comment
以井号为开头的部分为注释,这种注释生效需要保证前面为空格。 所以上面的内容等效为abc。 以下内容不算尾部注释:
abc#comment
因为井号前面缺少空格所以它会被完整识别为abc#comment。
Q&A: 1、 Q:如何在工程未打开的情况下打开程序? A:备份当前文件(修改文件名称,或移动到其他目录),然后写一个只有一行“Project.Version = "2.0"”的project.mlp。
Have fun!