Script which generates M3U playlists for ROMs. Works usually for disc based systems like PlayStation 1, PlayStation 2, Sega Saturn or Dreamcast.
The generated result is compatible with the ES-DE M3U playlist file format.
- Install latest version of Node.js and NPM
- Clone this repository or download as ZIP file and unzip it
- Be in project root folder
- run
npm i
- Be in project root folder
- Run
npm run generate -- {Path to your rom folders} [apply]
- Your folder structure might look like this
.
└── game-folder/
├── Game A (Disc 1).chd
├── Game A (Disc 2).chd
├── Game B (Disc 1).chd
├── Game B (Disc 2).chd
├── Game B (Disc 3).chd
└── Game C.chd
- Then you can run
npm run generate -- ./game-folder - This will not apply any changes but will give you this output which you can use to double check the playlist groupings
Detected 2 M3U playlists for 5 files.
M3U Playlists:
Game A
Game A (Disc 1).chd
Game A (Disc 2).chd
Game B
Game B (Disc 1).chd
Game B (Disc 2).chd
Game B (Disc 3).chd
Generated 2 M3U playlists.
- If everything is correct you can apply the changes with
npm run generate -- ./game-folder apply - Your new folder will look like this
.
└── game-folder/
├── Game A.m3u/
│ ├── Game A (Disc 1).chd
│ ├── Game A (Disc 2).chd
│ └── Game A.m3u
├── Game B.m3u/
│ ├── Game B (Disc 1).chd
│ ├── Game B (Disc 2).chd
│ ├── Game B (Disc 3).chd
│ └── Game B.m3u
└── Game C.chd
- The *.m3u files which are not folders are the actual playlist files
- Example m3u file for Game A
Game A (Disc 1).chd
Game A (Disc 2).chd