I've recently developed a LV/React bridge and am using it on a production app, but nothing open sourced at the moment. I'll open it up at some point soon and try and post back here!
If you like the idea of tailwind and don't want to look at utility classes and still want the power of styled-components or react-emotion I'd check out Chakra UI [0].
Nice work! I like the option to annotate with photos and notes! Have you guys checked out Spire? It's a free app, but could be paired with their hardware. It's different in that it's a really simple app for multitrack recording and editing, but I've also been using it for a similar function as Tape It. Not to take away from your work though, I will give the app a go :)
I've been building a Next.js app with a Django backend using django-rest-framework and dj-rest-auth. dj-rest-auth[1] handles auth and registration out of the box and takes no time to get up and running.
This is similar to a problem I ran into when building Bezie. I needed to keep track of the current tempo to send out MIDI clock events. I ended up using a web worker since `setInteral` was unreliable in backgrounded tabs. Here's the worker: https://github.com/jperler/bezie/blob/master/app/workers/tic...
I open sourced Bezie (https://github.com/jperler/bezie), a library I wrote three years ago for MIDI automation curves. It includes some good examples of how to interpolate cubic and quadratic bezier curves given drag points on the curves. I used Pomax's bezier write ups as a starting point, which really helped out a lot (thanks Pomax!). If anyone is interested, take a look in `bezie/app/utils`, specifically the `getControl` methods that allow you to derive control points.
I got motivated today after this post and finally open sourced Bezie! If anyone wants to see some of the bezier logic I used you can check that out in `app/utils`. https://github.com/jperler/bezie
I'm in full agreement that bezier curves are hard to learn to use well! I created an app called Bezie (http://bezie.io/) about a year ago in which you could create quadratic and cubic bezier MIDI automation. I ended up not including it in the release, but I had a smoothness feature where it'd basically update the amount of steps that it'd pass to the interpolate function (using De Casteljau's algorithm). The more steps the higher the curve resolution. I found 64 steps to be somewhat of a magic number as it always looked and sounded smooth. There's also the balance of how many times you want the interpolate function to run while dragging points. With too high a resolution it gets CPU intensive and lags and with too low it starts getting boxy and no longer represents a curve. It's been on my plate to open source the app. It includes some helpful math for deriving control points while dragging points on the curve. Anyhow, nice post and thanks for sharing!
Bezie gives you finer automation control in many DAWs, but not all. I don't think you'd gain anything from Bezie in FL Studio. Aside from automation, Bezie also allows you to connect a MIDI controller and trigger Bezie automation for use with DJ software [1] like Traktor.
Thanks for the suggestions! Do you have any examples or ideas of how a software controller like Bezie could be used in a DJ setup? I'm open to exploring this a bit further - feel free to contact me directly at [email protected]. Thanks again!
I followed De Casteljau's algorithm, not Catmull-Rom. The control points that you drag are at t=0.5 for quadratic and t=0.25 and t=0.75 for cubic beziers. De Casteljau's algorithm gave me a bit more flexibility to validate and constrain the automation curves. Thanks for the feedback!
Yeah - Bezie definitely didn't take years! It's interesting that basic curves don't exist in some DAWs. My guess is that the codebase is monolithic and there's probably lots of legacy code that is hard to touch. Hopefully Bezie works out for you and thanks so much for the review!
Bezie has some overlap, but the use case is a bit different. There are a couple of VSTs like LFO Tool and MIDIShaper that allow you to create a fixed width shape and toggle how many bars it should stretch over. In Bezie, if you select 8 bars, you'll literally get 8 bars to automate. As an example, if you wanted to map a couple different parameters to play with a song transition or drop, it'd make sense in Bezie, not so much in the others.