@hypst/lrcedit

0.1.0 • Public • Published

LYRIC-EDITOR-APP

Lyric editing, using cli. 使用CLI进行lrc歌词文件的编辑

(Note: 🚧 Docs in English is under editing.)

开始

从npm安装:

npm install @hypst/lrcedit

或者从发布的版本中获取适用于Linux,MacOS和Windows的二进制可执行文件。

使用

(i)Info Lyric Editor - v0.0.1


(i)Info For more information, visit <https://github.com/HyperbolaStudio/lrc-editor-app#readme>.

> push [8] ''
*> push [4] '姜懿真你物理多少分'
*> push [4] '我的物理成绩八十六分'
*> list
index   duration        text
1       [00:08.000]
2       [00:04.000]     姜懿真你物理多少分
3       [00:04.000]     我的物理成绩八十六分
*> save '姜懿真你物理多少分.lrc'

(i)Info File path changed, open file 姜懿真你物理多少分.lrc.

> exit

命令

命令系统是LRCEDIT的核心,通过命令,用户可以让程序完成一项操作。

命令调用格式

命令名 参数1 参数2 参数3 ...

可以通过commands命令查看命令列表。

参数类型格式

  • 字符串:"string" 'string' `string` (注意:即使是在双引号中输入单引号,或者在反引号中输入双引号等,也应该使用转义字符。)

  • 数值:例如1 2 3 0x1b

  • HMS格式的时间:[hr:min:sec.ms],例如[04:12.5] [3:5.20]。如果省略某一项,则这一项默认为0

  • 小节节拍格式的时间:(1:3) (13:5.8)

  • 布尔型:true false

  • 调用变量:变量名,例如:x y。(使用set等命令可以设定变量的值。)

命令列表

alter

更改某一行的歌词。

alter <行号:数值> [时间:HMS时间|节拍时间] [歌词:字符串]
alter <行号:数值> [歌词:字符串] [时间:HMS时间|节拍时间]

例如:

alter 4 [4.8] "可否记得这夜色中"

beatOption

设定小节节拍时间的选项。

beatOption <设置项:"bpm"|"beat"|"subdiv"> <值:数值>

例如:

beatOption 'bpm' 120

clone

复制一段歌词。

clone <区间起点:数值> <区间终点:数值> <目的地行号:数值>

区间使用闭区间,将会复制到目的地所在行之后。如果目的地行号为0,则会复制到开头。

例如:

clone 3 5 12

close

关闭当前正在编辑的文件。

没有参数。

close!

强行关闭当前正在编辑的文件。

没有参数。

commands

显示命令列表。

没有参数。

delete

删除一个变量。

delete <变量名:字符串>

exit

退出程序。

没有参数。

exit!

强行退出程序。

没有参数。

getDurationOf

获取指定行的歌词时长,存入一个指定的变量。

getDurationOf <变量名:字符串> <行号:数值>

getTextOf

获取指定行的歌词,存入一个指定的变量。

getTextOf <变量名:字符串> <行号:数值>

help

显示帮助信息。

help
help <命令名:字符串>

insertAfter

在指定行之后插入歌词。

insertAfter <行号:字符串> <时间:HMS时间|节拍时间> <歌词:字符串>

list

列出歌词。

list <range_left:number> [options:string]
list <range_left:number> <range_right:number> [options:string]
list <options:string> <range_left:number> [range_right:number]

其中,选项包含:

Flag Description
t 使用absolute time。
b 使用节拍时间。

例如:

list 1 10 'tb'会用absolute节拍时间列出第一行到第十行的歌词,list 12 't'会用absolute HMS时间列出12行及其之后的全部歌词。

move

移动一段歌词到指定的行之后。

move <rangeLeft:number> <rangeRight:number> <destination:number>

open

打开文件。

open <文件名:字符串>

plugin

载入插件。

plugin <插件路径:字符串>

载入插件后,插件会作为lrcedit的一个子进程运行。

pluglist

列出当前正在运行的所有插件。

没有参数。

plugout

移除插件。

plugout <pid:数值>

pop

删除最后一句歌词。

没有参数。

print

向stdout打印一段内容。

print <参数:任何> ...

例如:

print 1 'abc' [4.8] true

push

向末尾添加一句歌词。

push <duration:HMSTime|BeatTime> <lyric:string>

redo

重做撤销的命令。

没有参数。

remove

删除一段歌词。

remove <区间起点:数值> [区间终点:数值]

save

保存或者另存为当前工作。

save [另存为目录:字符串]

set

声明一个变量或者设置变量的值

set <变量名:字符串> <值:任何>

steps

显示历史记录栈中的所有步骤。

没有参数

输出的项目前有-符号的步骤在可撤销栈中,有+符号的步骤在可重做栈中。

undo

撤销上一步操作。

没有参数。

variables

列出变量列表。

没有参数。

watcher

指定观察器模式的选项。

watcher <options:string>

其中,选项包含:

Flag Description
t 使用absolute time。
b 使用节拍时间。

观察器模式

如果您的终端程序支持拆分终端,多终端模式或者正在支持多窗口的桌面平台上使用终端,那么就可以在一个页面上运行主程序进行编译,另一个页面上运行观察器来实时显示歌词内容。

在启动程序时,添加--watcher参数即可进入观察器模式。

在您进行编辑时,观察器中的内容会自动更新。

注意:如果您的终端支持页面滚动,请确保在观察器中您将页面滚动到了最底端。

配置项

默认的配置项存储在用户目录下的.lrc_edit文件夹中的config.json文件里。在启动程序时可以通过--config-dir参数来override默认路径。

如果配置项存储的目录不存在,那么程序会自动创建目录和包含默认配置的配置文件。

在启动程序时添加--reset-config可以重置配置项。

numWidth

参见time-beat-formatnumberWidthOption的选项。

general

一些通用配置项。

项目 描述
endLine 行尾序列,默认为LF(\n),可以根据需要修改为CRLF(\r\n)。
enableTTYColor 在终端输出的文字是否显示颜色。
showWelcomeMessage 是否在程序启动时显示欢迎信息。
TTYPrompt 命令的提示符。默认为>

从文件/入参/stdin中读取命令

使用--exec <command>参数可以从入参中读取命令。

使用--exec-file <path>参数可以从文件中读取命令。(会在--exec的命令之后执行)

使用-l <path>或者--load-file <path>可以打开lrc文件。相当于使用open命令。

从stdin中读取命令,只需要将stdin流重定向即可。

注意:执行完这些命令后,如果没有遇到EOF,程序仍然会进入交互模式。如果想要执行完命令后退出程序,请在要执行的命令最后添加exit命令。

警告静默模式

在启动程序时使用--no-warning参数可以静默所以警告。

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.0
    1
    • latest

Version History

Package Sidebar

Install

npm i @hypst/lrcedit

Weekly Downloads

1

Version

0.1.0

License

MIT

Unpacked Size

143 kB

Total Files

51

Last publish

Collaborators

  • crindzebra