🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

lyrics.js

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lyrics.js - npm Package Compare versions

Comparing version
0.3.3
to
0.3.4
+118
test/qunit_test.js
sample = `[ti:僕たちはひどつの光]
[ar: μ's ]
[00:27.540]Ah! ほのかな予感から始まり
[00:32.970]Ah! 希望が星空駈けて
[00:38.450]花を咲かせるにっこり笑顔は
[00:43.920]ずっと同じさ 友情の笑顔
[00:49.160]
[00:49.510]忘れない いつまでも忘れない
[00:54.940]こんなにも心がひとつになる
[01:00.410]世界を見つけた喜び(ともに)歌おう
[01:09.940]最後まで(僕たちはひとつ)
[01:16.660]
[01:17.040]小鳥の翼がついに大きくなって
[01:25.010]旅立ちの日だよ
[01:28.130]遠くへと広がる海の色暖かく
[01:36.050]夢の中で描いた絵のようなんだ
[01:40.300]切なくて時をまきもどしてみるかい?
[01:52.490]No no no いまが最高!
[01:58.620]
[02:20.460]みんなと出会えたこと嬉しくて
[02:27.090]離れたくないよ本当だよ
[02:31.550]涙はいらない このまま踊ろう
[02:36.980]手を振ってもっと振って
[02:42.890]
[02:45.370]光を追いかけてきた僕たちだから
[02:53.190]さよならは言わない
[02:56.320]また会おう 呼んでくれるかい?
[03:00.300]僕たちのこと
[03:04.320]素敵だった未来に繋がった夢
[03:08.560]夢の未来 君と僕のLIVE&LIFE
[03:15.430]
[03:37.800]小鳥の翼がついに大きくなって
[03:45.640]旅立ちの日だよ
[03:48.760]遠くへと広がる海の色暖かく
[03:56.730]夢の中で描いた絵のようなんだ
[04:00.990]切なくて時をまきもどしてみるかい?
[04:13.240]No no no いまが最高!
[04:18.670]だってだって、いまが最高!
[04:30.500]
[04:31.520]Ah! ほのかな予感から始まり
[04:37.410]Ah! 光を追いかけてきたんだよ…
[04:48.410]
`
sample_complex = `[00:27.540][04:31.520]Ah! ほのかな予感から始まり
[00:32.970]Ah! 希望が星空駈けて
[00:38.450]花を咲かせるにっこり笑顔は
[00:43.920]ずっと同じさ 友情の笑顔
[00:49.160]
[00:49.510]忘れない いつまでも忘れない
[00:54.940]こんなにも心がひとつになる
[01:00.410]世界を見つけた喜び(ともに)歌おう
[01:09.940]最後まで(僕たちはひとつ)
[01:16.660]
[01:17.040][03:37.800]小鳥の翼がついに大きくなって
[01:25.010][03:45.640]旅立ちの日だよ
[01:28.130][03:48.760]遠くへと広がる海の色暖かく
[01:36.050][03:56.730]夢の中で描いた絵のようなんだ
[01:40.300][04:00.990]切なくて時をまきもどしてみるかい?
[01:52.490][04:13.240]No no no いまが最高!
[01:58.620][02:42.890]
[02:20.460]みんなと出会えたこと嬉しくて
[02:27.090]離れたくないよ本当だよ
[02:31.550]涙はいらない このまま踊ろう
[02:36.980]手を振ってもっと振って
[02:45.370]光を追いかけてきた僕たちだから
[02:53.190]さよならは言わない
[02:56.320]また会おう 呼んでくれるかい?
[03:00.300]僕たちのこと
[03:04.320]素敵だった未来に繋がった夢
[03:08.560]夢の未来 君と僕のLIVE&LIFE
[03:15.430][04:30.500][04:48.410]
[04:18.670]だってだって、いまが最高!
[04:37.410]Ah! 光を追いかけてきたんだよ…
`
abnormal = `[ar:Artist]
[ti:Title]
[00:j7.540]alskdfjlasdkjflsakdjf
[04:37:410]sadlkjfsadlkfj
[04]sadlkjfsadlkfj
[03:100:00]asdlfkjasdf
[03:10.00]Normal
asldkfjalskdfj
[sdl:lksajdf]asdlfkjasdf
`
id_tags_only = `[ar:Lyrics artist]
[al: Album where the song is from]
[ti:Lyrics (song) title ]
[au: Creator of the Songtext ]
[length:How long the song is]
[by:Creator of the [LRC] file]
[offset: 21 ]
[foo:bar]
[re:The player or editor that created the LRC file]
[ve:v0.3.0]
`
id_tags_lyrics = `[ar:Lyrics artist]
[al: Album where the song is from]
[ti:Lyrics (song) title ]
[au: Creator of the Songtext ]
[length:How long the song is]
[by:Creator of the [LRC] file]
[offset: 21 ]
[foo:bar]
[re:The player or editor that created the LRC file]
[ve:v0.3.0]
`
test_time_offset_down = `[offset:-101]
[00:00.050]One
[00:01.000]Two
[00:02.000]Three
`
test_time_offset_up = `[offset:1000]
[00:00.050]One
[00:01.000]Two
[00:02.000]Three
`
require('./test.js');
+7
-3
{
"name": "lyrics.js",
"version": "0.3.3",
"version": "0.3.4",
"description": "A JavaScript for parsing LRC file and synchronize lyrics.",

@@ -10,3 +10,5 @@ "main": "",

"scripts": {
"uglifyjs": "uglifyjs lyrics.js > lyrics.min.js"
"uglifyjs": "uglifyjs lyrics.js > lyrics.min.js",
"test-uncompressed": "qunit-cli -c lyrics.js ./test/qunit_test.js",
"test": "qunit-cli -c lyrics.min.js ./test/qunit_test.js"
},

@@ -26,6 +28,8 @@ "repository": {

},
"license": "MIT",
"homepage": "https://github.com/frank-deng/js-lyrics#readme",
"devDependencies": {
"qunitjs": "^1.23.1"
"qunit-cli": ""
}
}

@@ -10,3 +10,14 @@ <a name='english'></a>

Install
-------
You can install via **_npm_**:
$ npm install lyrics.js
Or via Git reporsitory:
$ git clone https://github.com/frank-deng/js-lyrics.git
Usage

@@ -25,3 +36,9 @@ -----

**PS**: To specify time offset for `.lrc` file, please add the following tag into your `.lrc` file:
[offset:t]
`t` is time offset in milliseconds, positive value to shift time up, negative value to shift time down.
### Select lyric to highlight

@@ -72,3 +89,14 @@

安装
----
使用**_npm_**安装:
$ npm install lyrics.js
从Git仓库安装:
$ git clone https://github.com/frank-deng/js-lyrics.git
用法

@@ -87,3 +115,9 @@ ----

**PS**:如果需要为`.lrc`指定时间偏移量,请在`.lrc`文件中加上如下标签:
[offset:t]
`t`为时间偏移量,单位为毫秒,正数为延后,负数为提前。
### 选择需要高亮的歌词

@@ -90,0 +124,0 @@

@@ -127,2 +127,11 @@ <!DOCTYPE html>

<div id='lyrics_container'></div>
<script>
sample = document.getElementById('sample').innerHTML;
sample_complex = document.getElementById('sample_complex').innerHTML;
abnormal = document.getElementById('abnormal').innerHTML;
id_tags_only = document.getElementById('id_tags_only').innerHTML;
id_tags_lyrics = document.getElementById('id_tags_lyrics').innerHTML;
test_time_offset_down = document.getElementById('test_time_offset_down').innerHTML;
test_time_offset_up = document.getElementById('test_time_offset_up').innerHTML;
</script>
<script src="qunit-2.0.1.js"></script>

@@ -129,0 +138,0 @@ <script src="test.js"></script>

@@ -9,3 +9,3 @@ function htmlspecialchars(s){

QUnit.test("Basic Test", function(assert) {
var lrcParser = new Lyrics(document.getElementById('sample').innerHTML);
var lrcParser = new Lyrics(sample);
assert.deepEqual(lrcParser.getLyric(0), {timestamp:27.540,text:'Ah! ほのかな予感から始まり'});

@@ -83,4 +83,4 @@ assert.deepEqual(lrcParser.getLyric(4), {timestamp:49.160,text:''});

QUnit.test("Complex LRC Test", function(assert) {
var lrc1 = new Lyrics(document.getElementById('sample').innerHTML);
var lrc2 = new Lyrics(document.getElementById('sample_complex').innerHTML);
var lrc1 = new Lyrics(sample);
var lrc2 = new Lyrics(sample_complex);
assert.deepEqual(

@@ -110,3 +110,3 @@ lrc1.getLyrics(),

assert.strictEqual(parser.load('[foo:bar]'), false, "Invalid ID Tag" );
assert.strictEqual(parser.load(document.getElementById('abnormal').innerHTML), true, 'LRC loaded via load()');
assert.strictEqual(parser.load(abnormal), true, 'LRC loaded via load()');
assert.deepEqual(parser.getLyrics(), [{timestamp:190,text:'Normal'}], "Abnormal data filtered." );

@@ -116,3 +116,3 @@ assert.deepEqual(parser.getIDTags(), {artist:'Artist',title:'Title'}, "Abnormal data filtered.");

QUnit.test("Select Lyric", function(assert) {
var lrc = new Lyrics(document.getElementById('sample').innerHTML);
var lrc = new Lyrics(sample);
assert.strictEqual(lrc.select(0), -1);

@@ -140,3 +140,3 @@ assert.strictEqual(lrc.select(0.1), -1);

QUnit.test("ID Tag parsing", function(assert) {
var lrc = new Lyrics(document.getElementById('id_tags_only').innerHTML);
var lrc = new Lyrics(id_tags_only);
assert.deepEqual(lrc.getIDTags(), {

@@ -157,8 +157,8 @@ artist:'Lyrics artist',

var lrc = new Lyrics();
lrc.load(document.getElementById('test_time_offset_down').innerHTML);
lrc.load(test_time_offset_down);
assert.deepEqual(lrc.getLyric(lrc.select(1)), {timestamp:0.05,text:'One'});
assert.deepEqual(lrc.getIDTags(), {offset:-101});
lrc.load(document.getElementById('test_time_offset_up').innerHTML);
lrc.load(test_time_offset_up);
assert.deepEqual(lrc.getLyric(lrc.select(1)), {timestamp:2,text:'Three'});
assert.deepEqual(lrc.getIDTags(), {offset:1000});
});

@@ -127,2 +127,11 @@ <!DOCTYPE html>

<div id='lyrics_container'></div>
<script>
sample = document.getElementById('sample').innerHTML;
sample_complex = document.getElementById('sample_complex').innerHTML;
abnormal = document.getElementById('abnormal').innerHTML;
id_tags_only = document.getElementById('id_tags_only').innerHTML;
id_tags_lyrics = document.getElementById('id_tags_lyrics').innerHTML;
test_time_offset_down = document.getElementById('test_time_offset_down').innerHTML;
test_time_offset_up = document.getElementById('test_time_offset_up').innerHTML;
</script>
<script src="qunit-2.0.1.js"></script>

@@ -129,0 +138,0 @@ <script src="test.js"></script>