1.0.1 • Published 6 years ago

sming-list-generator v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

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"
    }
  ]
}
  1. titletracks항목으로 구분하며 각각 타이틀곡 정보와 수록곡 정보를 담는 항목. tracks는 여러 항목을 담는 Array 타입으로 입력해야 함.
  2. titletracks의 아이템은 namelength 항목를 가져야 함. 각각 곡명과 재생 시간을 받는 항목.
  3. 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 } ] }
1.0.1

6 years ago

1.0.0

6 years ago