sming-list-generator
v1.0.1
Published
1시간 분량에 가까운 스밍 리스트를 입력된 설정 파일에 기반하여 생성하는 라이브러리입니다.
Downloads
1
Readme
sming-list-generator
1시간 분량에 가까운 스밍 리스트를 입력된 설정 파일에 기반하여 생성하는 라이브러리입니다.
Install
yarn add sming-list-generator
Test
yarn test
Usage
const slg = require('sming-list-generator');
const options = {
// 스밍 목록이 입력되어 있는 json 파일 위치.
configFile: './sming-list.json',
// 또는 configData에 직접 값을 전달.
configData: { ... },
// 스밍 리스트에 삽입할 방법을 선택.
// true: 타이틀곡 1 + 수록곡 2 방식으로 삽입
// false: 타이틀곡 1 + 수록곡 1 방식으로 삽입
insertType: false,
};
slg()
.then(data => { ... })
.catch(e => { ... });
Config
아래 트랙 리스트는 아직 앨범 발매 전이기 때문에 공개된 트랙 리스트를 기준으로 임의로 길이값을 입력함.
{
"title": {
"name": "Roller Coaster",
"length": "3:24"
},
"tracks": [
{
"name": "Offset",
"length": "1:02"
},
{
"name": "Do It",
"length": "2m58s"
},
{
"name": "Bad Boy",
"length": "3:15"
},
{
"name": "너의 온도 (Remind of you)",
"length": "4:03"
}
]
}
title
과tracks
항목으로 구분하며 각각 타이틀곡 정보와 수록곡 정보를 담는 항목.tracks
는 여러 항목을 담는Array
타입으로 입력해야 함.title
및tracks
의 아이템은name
과length
항목를 가져야 함. 각각 곡명과 재생 시간을 받는 항목.length
항목에는number
또는string
타입으로 입력되어야 함.number
타입일 경우 시간을 초 단위로 환산하여 입력해야 하고string
타입인 경우2m09s
또는2:09
형식으로 입력하면 초 단위로 파싱함.
Result
{ totalLength: 3524,
playList:
[ { name: 'Roller Coaster', length: 204 },
{ name: 'Offset', length: 62 },
{ name: 'Do It', length: 178 },
{ name: 'Roller Coaster', length: 204 },
{ name: 'Bad Boy', length: 195 },
{ name: '너의 온도 (Remind of you)', length: 243 },
{ name: 'Roller Coaster', length: 204 },
{ name: 'Offset', length: 62 },
{ name: 'Do It', length: 178 },
{ name: 'Roller Coaster', length: 204 },
{ name: 'Bad Boy', length: 195 },
{ name: '너의 온도 (Remind of you)', length: 243 },
{ name: 'Roller Coaster', length: 204 },
{ name: 'Offset', length: 62 },
{ name: 'Do It', length: 178 },
{ name: 'Roller Coaster', length: 204 },
{ name: 'Bad Boy', length: 195 },
{ name: '너의 온도 (Remind of you)', length: 243 },
{ name: 'Roller Coaster', length: 204 },
{ name: 'Offset', length: 62 } ] }