x42 / libltc

Linear/Logitudinal Time Code (LTC) Library
http://x42.github.io/libltc/
GNU Lesser General Public License v3.0
199 stars 56 forks source link

NodeJS version #56

Open Joebayld opened 4 years ago

Joebayld commented 4 years ago

Hi all,

Has anyone used this library with javascript? I'm trying to get this into a NodeJS project but not sure if it'd be best to rewrite or bridge into js. Thoughts?

chrisspiegl commented 3 years ago

I am curious as well. Just started looking into this topic and found this library but no equivalent (or binding) of this in Node.JS / NPM. Would love to hear if you (@Joebayld) found something?

P.S. of course, one way is to call the libltc-tools binary like ltcdump and interact with it through spawn and such. But it'd be incredible to have a more "natural feeling" javascript integration.

arikrupnik commented 3 years ago

@chrisspiegl we've got to stop meeting like this :=)

Joebayld commented 3 years ago

Hey @chrisspiegl I haven't found anything unfortunately. Might look into starting a repo for a more modern NodeJS version of this - but haven't gotten to it yet.

chrisspiegl commented 3 years ago

@arikrupnik and @Joebayld I have tried getting something figured out with a NodeJS version for this problem.

I have come to a point where I have a working prototype script that can read a WAV file with an SMPTE TC and extract the binary switches followed by an analysis to extract the valid SMPTE frames and from that the timecode.

I will chip away at this a little bit more these coming days and might have something to put up for discussion and participation by sometime next week.

However, it's always a bit of a step seeing the coding skill of people here and elsewhere, and then the code I write with comments and stuff. I often feel like I know nothing by comparison.

But I'd love to get input once I am ready and maybe we can then improve it together to build a robust library for reading TC from WAV files and following that… an integration with ltcsync so that we have a proper Open Source solution for TC Syncing Video and Audio files.

arikrupnik commented 3 years ago

Just to state the obvious for context: https://github.com/arikrupnik/ltcsync is a JavaScript application and library that uses libltc as a host OS process to parse LTC out of audio and video files. If there is interest, I can extract the LTC part as a separate project.

chrisspiegl commented 3 years ago

I have started my repository. Please be gentle 🙈.

I have done some experiments up to this point and tried separating things into different files for (relatively) easy understanding.

Please come say hi, have a look, and share some knowledge in how I could improve it. I am stuck at some points but that's something I'll discuss over there in the readme as well as issues coming up.

https://github.com/chrisspiegl/node-smpte-ltc

I am not full time on this issue. It's a small hobby — even though it feels like a fun challenge and my mind is kinda glued to it right now.

Looking forward to hearing from you and potentially collaborating on this idea and solution.

Cheers, Chris

Joebayld commented 3 years ago

Hey man. This is cool. Although the main reason I want to use this is for generating LTC files, not reading it. So that’s likely the work I would be putting into it.