GithubHelp home page GithubHelp logo

jaypanoz / audiopkger Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 2.0 226 KB

A command-line tool to generate and package W3C audiobooks

License: MIT License

JavaScript 100.00%
audiobooks digital-publishing packaging cli publishing pub-manifest

audiopkger's Issues

Switch to list input for id

Currently it’s expecting an ISBN, and falls back to random UUID, but it can also be a URL, etc.

So the process should start from a list prompt, and then the related text input.

Handle “multiples” in common metadata

Add support for multiple creators, narrators, etc.

So that’s handling delimiter-separated values (comma or semicolon) and turning them into an array – not much work, but impacts several modules.

Don't throw an error if getAudioMeta fails to parse the file

We can still generate a manifest in that case, so we should just return an empty object that disables totalDuration.

const mm = require("music-metadata");
module.exports = async (audioFile) => {
try {
let metadata = {};
const fileInfo = await mm.parseFile(audioFile);
if (fileInfo.common.title) {
metadata.title = fileInfo.common.title;
}
if (fileInfo.format.duration) {
metadata.duration = fileInfo.format.duration;
}
return metadata;
} catch (err) {
throw err;
}
}

Add args for input, output, etc.

Maybe also ignoring a file or folder.

But the main benefit would be creating the audiobook from anywhere, not only from the current directory – it should be fine given the modules handling path all seem to have an option to define the root directory (and falling back to process.cwd()).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.