{"id":18278007,"url":"https://github.com/tanem/mtt","last_synced_at":"2025-04-05T04:30:54.361Z","repository":{"id":48023572,"uuid":"516485325","full_name":"tanem/mtt","owner":"tanem","description":"🎵 .(m)3u8 (t)o (t)racklist","archived":false,"fork":false,"pushed_at":"2024-04-13T17:39:47.000Z","size":923,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-14T14:59:29.459Z","etag":null,"topics":["cli","dj","export","m3u8","playlist","rekordbox","tracklist","tracks","usb"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tanem.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2022-07-21T18:42:29.000Z","updated_at":"2024-04-16T13:48:59.087Z","dependencies_parsed_at":"2024-01-14T10:26:49.908Z","dependency_job_id":"f1ce6c4c-2abd-483c-9dbb-09f6205adf22","html_url":"https://github.com/tanem/mtt","commit_stats":{"total_commits":177,"total_committers":2,"mean_commits":88.5,"dds":"0.18644067796610164","last_synced_commit":"10458e3e301fffc54d0201c7f388c6ecd31adcae"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanem%2Fmtt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanem%2Fmtt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanem%2Fmtt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanem%2Fmtt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tanem","download_url":"https://codeload.github.com/tanem/mtt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289382,"owners_count":20914463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","dj","export","m3u8","playlist","rekordbox","tracklist","tracks","usb"],"created_at":"2024-11-05T12:22:37.291Z","updated_at":"2025-04-05T04:30:51.974Z","avatar_url":"https://github.com/tanem.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mtt\n\n[![npm version](https://img.shields.io/npm/v/@tanem/mtt.svg?style=flat-square)](https://www.npmjs.com/package/@tanem/mtt)\n[![build status](https://img.shields.io/github/workflow/status/tanem/mtt/CI?style=flat-square)](https://github.com/tanem/mtt/actions?query=workflow%3ACI)\n[![coverage status](https://img.shields.io/codecov/c/github/tanem/mtt.svg?style=flat-square)](https://codecov.io/gh/tanem/mtt)\n[![npm downloads](https://img.shields.io/npm/dm/@tanem/mtt.svg?style=flat-square)](https://www.npmjs.com/package/@tanem/mtt)\n[![minzipped size](https://img.shields.io/bundlephobia/minzip/@tanem/mtt?style=flat-square)](https://bundlephobia.com/result?p=@tanem/mtt)\n\n\u003e .(m)3u8 (t)o (t)racklist.\n\n## Background\n\nAs a [rekordbox](https://rekordbox.com) user that DJs with USBs, I often want to upload tracklists to sites such as [Mixcloud](https://mixcloud.com) or [Soundcloud](https://soundcloud.com). One way to do this is to export a USB playlist from rekordbox as a \\*.m3u8 file, then use this library to generate a tracklist.\n\n## Usage\n\n### CLI\n\n```\nUsage: mtt [options] \u003cfile\u003e\n\n.(m)3u8 (t)o (t)racklist\n\nArguments:\n  file           .m3u8 file to convert to tracklist\n\nOptions:\n  -V, --version  output the version number\n  -h, --help     display help for command\n```\n\n### API\n\n```js\nconst fs = require('fs/promises');\nconst path = require('path');\nconst { mtt } = require('@tanem/mtt');\n\n(async () =\u003e {\n  try {\n    const result = await mtt(path.join(__dirname, 'test.m3u8'));\n    await fs.writeFile(path.join(__dirname, 'tracklist.txt'), result, 'utf-8');\n  } catch (error) {\n    console.error(error);\n  }\n})();\n```\n\nThe above example can be run using `npm run example`.\n\n## Installation\n\n### CLI\n\n```\n$ npm i -g @tanem/mtt\n```\n\n### API\n\n```\n$ npm i @tanem/mtt\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanem%2Fmtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanem%2Fmtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanem%2Fmtt/lists"}