Skip to content

forScore

forScore 是一款适用于 iPad、iPhone 和 Mac 的乐谱阅读器。Protocol Launcher 允许你生成 forScore URL scheme 链接。

使用

这个库有两种使用方式:

  • 从子路径按需导入,支持 Tree Shaking 并保持较小的包体积。
  • 从根包完整导入更适合快速脚本或演示,但会包含所有应用模块。

生产构建建议选择按需导入;完整导入适合快速脚本或演示。

选择安装方式

按需加载
推荐使用。生产环境优化。
全量导入
使用便捷。适合快速脚本。

打开

forScore 官方文档列出了 forscore://open,并要求至少提供 pathscoresetlistpage 中的一个。bookmark 是可选值,并且只在引用了乐谱时适用。当同时提供 pathscore 时,forScore 会优先使用 path

On-Demand
ts
import { open } from 'protocol-launcher/forscore'

const scoreUrl = open({
  path: 'My Score.pdf',
})

const setlistUrl = open({
  setlist: 'My Setlist',
  score: 'My Score',
  bookmark: 'My Bookmark',
  page: 3,
})

服务

forScore 官方文档列出了 forscore://service,并要求提供 type。Dropbox 和 Box 可以带一个起始 path;内容提供商不支持 path。

On-Demand
ts
import { service } from 'protocol-launcher/forscore'

const dropboxUrl = service({
  type: 'dropbox',
})

const dropboxPathUrl = service({
  type: 'dropbox',
  path: 'Directory/Subdirectory',
})

const prestoUrl = service({
  type: 'presto',
})

操作

forScore 官方文档列出了 forscore://action,用于触发相对导航变化,例如上一页、下一页、上一项、下一项、返回或显示当前播放队列。

On-Demand
ts
import { action } from 'protocol-launcher/forscore'

const url = action({
  type: 'nextitem',
})

生成的 URL

ts
open({ path: 'My Score.pdf' })
// => 'forscore://open?path=My%20Score.pdf'

open({ setlist: 'My Setlist', score: 'My Score', bookmark: 'My Bookmark', page: 3 })
// => 'forscore://open?setlist=My%20Setlist&score=My%20Score&bookmark=My%20Bookmark&page=3'

service({ type: 'dropbox' })
// => 'forscore://service?type=dropbox'

service({ type: 'dropbox', path: 'Directory/Subdirectory' })
// => 'forscore://service?type=dropbox&path=Directory%2FSubdirectory'

service({ type: 'presto' })
// => 'forscore://service?type=presto'

action({ type: 'nextitem' })
// => 'forscore://action?type=nextitem'

官方文档