查看“MuseLive Documents Alpha 2.5.3”的源代码
←
MuseLive Documents Alpha 2.5.3
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
[[MuseLive_Documents|返回 MuseLive 文档]] == MuseLive 文档 == === 基本信息 === 版本:Alpha 2.5.3 '''目前只支持加载固定文件:<code>project.mlp</code>(与主程序在同一目录)''' 示例工程的演奏方式记录在<code>sample.txt</code>里 === 软件基本操作 === 制作工程,打开程序,然后'''保证选中程序窗口''',按键即可触发音频。 ===工程文件格式 === ==== 概念解释 ==== ===== 工程 ===== 默认是指程序所在目录下的<code>project.mlp</code>文件,目前支持这一个指定名称。 这是一个包含了一堆存放描述和指令的文件。 ===== 路径 ===== 这里的路径可以是相对路径也可以是绝对路径。 相对路径目前是指依程序所在路径为参考的,而不是工程所在路径。 ===== 基本命令原理 ===== ====== 命令是如何在程序内部分割的 ====== 所有命令以'''行'''为基础,换行代表一个新的'''命令'''。 每一行中用空格或者水平制表符分隔开来形成许多'''部分''',但是等号会是一个'''例外''',无论它两边有多少空格(制表符)都会将两边的部分连成一个整体,仍为一个部分'''。 当然等号也有'''例外''',一个每一对双引号中的第二个会结束一个'''部分''',所以譬如<code>"a"=b</code>的语句中的等号不会连接左侧,此语法不对。(实则懒得合并左侧) '''注意:请不要使用<code>Annoy+数字</code>形式的键名,如<code>Annoy001</code>,这些都是保留键名!''' ====== 匿名值与键/值 ====== <code> value1 key1=value2 #comment </code> <code>value1</code>代表的是一个'''匿名值''',一般是有程序按照既定顺序判定它的意义。 <code>key1</code>代表一个'''键''',它位于等号左边,用于描述右边的值的意义。 <code>value2</code>代表一个'''值''',它位于等号右边,被左边的键名赋予意义。 <code>comment</code>是一个'''注释''',它不会被程序加载,不对程序运行产生影响。 我们称一个类似<code>value1</code>或者<code>key1=value2</code>的部分为'''记录'''或'''参数'''。 ====== 块 ====== <code> blockHeader { key1=value1 key2=value2 } </code> <code>blockHeader</code>代表'''块的头部''',它的作用是省略在大括号内的头部定义,所以它等效于: <code> blockHeader key1=value1 blockHeader key2=value2 </code> '''注意:因为一对双引号两端只能为空格或者等号,所以譬如<code>"a" {</code>的块头部的双引号与大括号之间不可缺少空格(实则懒得多检测一个字符)''' ==== 工程头部 ==== '''第一行必须是<code>Project.Version = "2.0"</code>这是工程版本声明。'''暂时不支持版本向下兼容,这个也许我会做的。(嗯,也许) ==== 基本格式 ==== <code>页码(可用值:1~32 或 "*"(代表所有页码) 或 "@"(代表初始化,之后不允许出现键<code>Key</code>)) + 按键(可以参考程序内左侧列表输出) + 一堆值...</code> ==== 命令/参数 ==== ===== 键名可选参数 ===== '''键名可选参数'''是指键名可以省略的参数,但是它们必须在一行代码中按照'''顺序'''书写。 目前支持的键名可选参数有:<code>Page</code>和<code>Key</code> 完整的一行记录应该是类似这样的代码:<code>Page="*" Key="A" ...</code> 因为<code>Page</code>和<code>Key</code>是键名可选参数,所以:上述代码可以等效于: <code>"*" Key="A" ...</code> 或 <code>Page="*" "A" ...</code> 或 <code>"*" "A" ...</code> 其中第三种的会按照默认顺序:<code>Page, Key</code>自动解析为<code>Page="*" Key="A" ...</code> 当然当<code>Page</code>或<code>Key</code>如果没有省略键名,它的位置是可以随意的: <code>"A" Page="*" ...</code> 它会先搜索到<code>Page</code>键然后搜索下一个键名可选参数<code>Key</code>,而<code>Key</code>的键名不存在,所以它会读取第一个匿名值作为<code>Key</code>的值。 ====== Page ====== 命令格式:Page=<page number> <code>page number</code>是指当这行命令需要记录到的页码。<br />其的值可以为<code>*</code>、<code>@</code>或者一个<code>1到32的数字</code>。<br /><code>@</code>是一个特殊的页码,它代表初始化页,所有加入到初始化页的命令将会在程序加载工程时被执行,执行完毕后就会被释放。<br /><code>*</code>代表全部页码即1到32,包含它在的命令将存到全部页面。未来可能会支持范围页面,敬请期待。 ==================================HERE============================================ ====== Key ====== 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.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。 如果有空格为了表示为一个部分要加双引号,没有空格也可以加双引号。 ==== 字符串 ==== 请注意双引号只允许两种使用形式:"Key=Value" 或 Key="Value"。 ==== 注释 ==== ===== 整行注释 ===== #comment 第一个字符为井号的行会被注释掉。 ===== 尾部注释 ===== abc #comment 以井号为开头的部分为注释,这种注释生效需要保证前面为空格。 所以上面的内容等效为abc。 以下内容不算尾部注释: abc#comment 因为井号前面缺少空格所以它会被完整识别为abc#comment。 === 提问与解答 === # 问答1 #* Q:如何在工程未打开的情况下打开程序? #* A:备份当前文件(修改文件名称,或移动到其他目录),然后写一个只有一行 ''Project.Version = "2.0"'' 的project.mlp。
返回至
MuseLive Documents Alpha 2.5.3
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
Help about MediaWiki
工具
链入页面
相关更改
特殊页面
页面信息