Skip to content

Instantly share code, notes, and snippets.

@dcbarans
Created December 4, 2015 19:58
Show Gist options
  • Save dcbarans/8745c766e9b9b32a2fc1 to your computer and use it in GitHub Desktop.
Save dcbarans/8745c766e9b9b32a2fc1 to your computer and use it in GitHub Desktop.
var exec = require('child_process').exec,
fs = require('fs');
var fileName = 'mc75';
var stream = fs.createWriteStream(fileName + ".cue");
stream.once('open', function(fd) {
exec("ffprobe -v quiet -of json -show_chapters "+ fileName +".m4a", function (error, stdout, stderr) {
var m4aData = JSON.parse(stdout);
stream.write("PERFORMER \"Skream\"\n");
stream.write("TITLE \"Monster Cat Ep. 84\"\n");
stream.write("FILE \"" + fileName +".mp3\" MP3\n");
for(var i=0; i < m4aData['chapters'].length; i++) {
var startTime = parseFloat(m4aData['chapters'][i]['start_time']);
stream.write(" TRACK " + (i+1) + " AUDIO\n");
stream.write(" PERFORMER \"" + m4aData['chapters'][i]['tags']['title'] + "\"\n");
stream.write(" INDEX 01 " + parseInt(startTime / 60) + ":" + parseInt(startTime % 60) + ":00\n");
}
console.log(m4aData['chapters']);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment