hyperamp icon indicating copy to clipboard operation
hyperamp copied to clipboard

Decide on a metadata library

Open bcomnes opened this issue 8 years ago • 11 comments

There are a few variants of metadata parsing libs in node. We should figure out which one fits our needs best.

  • https://github.com/leetreveil/musicmetadata - simpler... less features.
  • https://github.com/borewit/music-metadata - more features. typescript

bcomnes avatar Jun 25 '17 17:06 bcomnes

We also may end up forking depending on how well supported these are.

bcomnes avatar Jun 25 '17 17:06 bcomnes

Related:

  • https://github.com/hypermodules/hyperamp/issues/193
  • https://github.com/hypermodules/hyperamp/issues/185

bcomnes avatar Jun 25 '17 19:06 bcomnes

Wiki page: https://github.com/hypermodules/hyperamp/wiki/Metadata

bcomnes avatar Jul 12 '17 20:07 bcomnes

I think using the JS libs for reading in tags will get us to 1.0.0 but we ultimately need to bind to something like http://taglib.org if we want to make this a real library. It would be a good excuse to help out with the prebuild electron ecosystem that mafintosh and ralphtheninja are working on.

bcomnes avatar Jul 31 '17 17:07 bcomnes

I tried writing a native wrapper last night with @mafintosh but the library is all sync, and C++ makes my head spin. Maybe sticking with the JS libs would be best for now.

bcomnes avatar Aug 09 '17 01:08 bcomnes

prebuild electron ecosystem that @mafintosh and @ralphtheninja are working on

Sounds interesting. Where can I follow along?

zeke avatar Aug 20 '17 04:08 zeke

https://github.com/home-prebuilders-association and freenode##prebuild however there hasn't been much action lately.

bcomnes avatar Aug 20 '17 16:08 bcomnes

haha love the name. Can I join the org? I'm no native modules expert, but I'd be glad to help out however I can.

zeke avatar Aug 20 '17 19:08 zeke

@zeke https://github.com/mafintosh/prebuild is the only prebuilding system that seems to handle the electron use case, they do this by shipping bindings for all platforms including electron that link to a shared library (I think I used my words right here ;P). The idea is that prebuilds 'just-work' everywhere, including electron and that you aught not have to rebuild-just-for-electron despite downloading pre-builds.

Unfortunately the peeps maintaining https://github.com/mapbox/node-pre-gyp at mapbox don't do anything with electron, so popular modules that depend on pre-gyp have really poor electron support, including the popular sqlite package and mapbox doesn't seem to have the bandwidth to fix the situation either.

Here are a few longstanding issues:

  • https://github.com/mapbox/node-pre-gyp/pull/279
  • https://github.com/mapbox/node-pre-gyp/pull/292

If anyone on the electron team has the bandwidth to take on some saints work doing an audit of the node pre-build ecosystem so that it works better with native modules, it would be making the world a better place. I was planning on doing it a while ago, but my nose has taken me in different directions for the time being.

bcomnes avatar Aug 20 '17 19:08 bcomnes

@zeke didn't see the request to join. I would ask @ralphtheninja I don't have membership at the moment.

bcomnes avatar Aug 22 '17 17:08 bcomnes

@zeke Invited you. There's nothing there atm so not much to join :) But I'm hoping to push this in the coming weeks/months.

ralphtheninja avatar Aug 22 '17 21:08 ralphtheninja