-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 35mm 3perf & 16mm Foot+Frames Support #8
Conversation
Sweet. Just ping me when you want a review. It's been a bit since I updated this repo and it looks like I need to update some of my CI pipeline to get it working again anyway. Will probably need to wait to do that until the weekend. Just out of curiosity, how is the lib working out for you? This was, first and foremost, a project for me to learn Rust. Whenever I'm learning a new language I implement this library to wrap my head around both the actual syntax and the supporting toolchain. I haven't gotten the chance to write much Rust since putting this together, but I would like to some day as writing this lib was a good experience and I really enjoyed Rust's philosophy of letting the compiler help you by doing all of the static analysis. If you have any feedback I'd love to hear it. |
One other request: can you supply me with an example cutlist or changelist using these formats? I was on the Picture Editorial side of things, so audio turnovers were my only interaction with the Feet+Frames convention, and the projects I worked on were digital and only used the 35mm, 4-perf format. I don't doubt what you've written is correct, but the Thanks! |
I'm not sure why the build is failing the checks on Azure, it seems to be in the prebuild somewhere? I haven't been using the library myself, I pulled it when I was researching an AAF library for rust and it's just the best one out there, the most thorough. That project is kinda on the back burner for now. I sent out a tweet 😇 to see if anyone can output a 3-perf pull list, I haven't seen one myself in about 15 years since the format is pretty historical now. I wrote the code as an exercise because it's usually one of the first things I do when I learn a new language. The period in the 3-perf representation isn't a fraction or decimal; in many cases the vendors would use a bullet or a degree symbol. What that is is the module index of the current foot. Since the lcm of 96 and 3 is 288 (96*3), each foot starts on a different perf relative to the frame line, in a cycle that repeats every 3 feet. Frame .0 indicates the first foot (frame 0 starting on the frame line) .1 indicates the second foot in the module (frame 1 of the 2nd foot, starting on perf 1 of frame 22), etc. |
(In sound we would NEVER request 3 perf footage, we'd actually usually just request 4 perf numbers. The footage codes were used in telecine and that's about it. No negative cutter in LA ever cut a 3-perf show, legend has it Mo Henry attempted it once and declared it impossible.) |
Makes sense, glad to hear it caught your eye. I don't envy you implementing AAF, I had to do some very light AAF parsing in python once and it made my brain leak out of my ears. If you ever get going on that again and need anything more from the lib, feel free to reach out.
I appreciate it, though with that additional context, no need on the 3-perf side (though if you can wrangle one for a 16mm show I would still like to glance at that, just to have real-world data to validate with). If 3-perf is that mythical I am happy to have the theory of it implemented and if someone somewhere decides to prove everyone wrong and runs into a bug while doing it, they can file an issue. |
Oh and the build is failing because Python changed some stuff in how setuptools works and I need to add a setup.py to the project for my build script dependencies to be pulled properly. That's on my end and not something you are doing. I'll make that update this weekend and then you'll need to rebase on top of that. After that's done CI should work for this branch. |
One last note. Can you take this:
And throw it in the doc string? That's great information and I don't mind the docs getting verbose. One of my goals for this lib was also to have it serve as a natural primer to engineers who might not be super familiar with the film industry and timecode, and educate people making stuff with it. Feel free to throw in the anecdote about Mo Henry as well, that's hilarious. |
Hello! I've fixed the CI pipeline with #9. If you rebase off of the latest I also updated the lib to fix some Clippy warnings. Looks like I causes a merge conflict with that. Sorry! Let me know if there is anything else you need. Thanks! |
Just checking up on this. Thanks! |
Hey sorry I'll get to this soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is coming together! Some thoughts on the API. Apologies on move goal posts a bit.
Let me know if you have the time to address it. If not I can pull the branch and shuffle some code around myself. I want to be mindful that I'm not asking more than you can dedicate to this. Thank you for all the work so far!
This is actually super helpful thanks! |
Do you know where the |
Here's the repo for the project: https://github.com/client9/misspell I personally use the go toolchain to build and install it, but supposedly prebuilt binaries are available too. |
Particularly adding comments.
Just checking in, I’m still working on this it’s pretty close. |
Just wanted to check back and see how it's going. No rush, but if there's anything I can do to help, let me know! |
I'm literally noodling on it right now lol, it haunts me like a sore tooth. |
I'm not sure why the test run is failing here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good to me.
All of the tests were completing last time I looked at this, I can't remember what was failing in Azure and it's lost the report. |
I think I need to rotate the credentials on this pipeline. Will take a look tomorrow. Excited to take a look! |
It looks like the coverage report is failing to update due to a change in nightly flags. I'll dig into it soon, but I just looked over the PR and it looks great! Sorry for the long delay. Work has been a bit crazy. |
Hello! Finally had the bandwidth to figure this out. Apologies, work has been bananas lately and has been eating up all my time. You'll need to rebase off the latest dev to get this change. Once you do that and CI passes, this looks good to go! Edit: Looks like Github lets me merge the latest changes in myself. |
Okay just let me know what you'd like me to do. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Merging.
Thanks again for all the hard work. Glad to have this in the repo.
Coolbeans, now on to the next thing! Glad you're busy, we're all shut down by the strike! |
Ah man, I'm sorry to hear that. I'm a developer full time now but have a lot of friends in Hollywood affected by the strike. Hope that the studios stop being greedy and you're able to get back to work soon. On another note: I've been thinking about doing some pretty heavy refactors in this lib to bring it inline with the changes I've been making to the Elixir version. Would you be open to me tagging you for code review? |
Would love to! Please email me because it seems GitHub doesn't have messaging anymore. |
Hello! This is PR #5 now based on dev, I will add some more tests here.