npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@hypst/lrcedit

v0.1.0

Published

Lyric editor app

Downloads

2

Readme

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参数可以静默所以警告。