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 cli digital-publishing packaging pub-manifest publishing

audiopkger's People

Contributors

dependabot[bot] avatar jaypanoz avatar marisademeglio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

audiopkger's Issues

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.

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.

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.