Heh, a little like saying "the main thing you need is to be able to play the violin, which is a small instrument with good tutorials".
Magic Lantern Is Back
41–50 of 170 posts
Re: Magic Lantern Is Back
#42> We're using Git now. We build on modern OSes with modern tooling. We compile clean, no warnings. This was a lot of work, and invisible to users, but very useful for devs. It's easier than ever to join as a dev. Very impressive! Thankless work. A reminder to myself to chase down some warnings in projects I am a part of...
It’s not too difficult, if you do it from the start, and by habit. I have an xcconfig file[0], that I add to all my projects, that turns on treat warnings as errors, and enables all warnings. In C, I used to compile -wall. I also use SwiftLint[1]. But these days, I almost never trigger any warnings, because I’ve developed the habit of good coding. Since Magic Lantern is firmware, I’m surprised that this was not alrea…
We build with: -Wall -Wextra -Werror-implicit-function-declaration -Wdouble-promotion -Winline -Wundef -Wno-unused-parameter -Wno-unused-function -Wno-format
Warnings are treated as errors for release builds.
Re: Magic Lantern Is Back
#43> The main thing you need is knowledge of C, which is a small language that has good tutorials. Heh, a little like saying "the main thing you need is to be able to play the violin, which is a small instrument with good tutorials".
Maaaaybe I'm hiding a tradeoff around complexity vs built-in features, but volunteers can work that out themselves later on.
You honestly don't need much knowledge of C to get started in some areas. The ML GUI is easy to modify if you stay within the lines. Other areas, e.g., porting a complex feature to a new camera, are much harder. But that's the life of a reverse engineer.
Re: Magic Lantern Is Back
#44Earlier quoted context omitted.
It’s not too difficult, if you do it from the start, and by habit. I have an xcconfig file[0], that I add to all my projects, that turns on treat warnings as errors, and enables all warnings. In C, I used to compile -wall. I also use SwiftLint[1]. But these days, I almost never trigger any warnings, because I’ve developed the habit of good coding. Since Magic Lantern is firmware, I’m surprised that this was not alrea…
It's not firmware :) We use what is probably engineering functionality, built into the OS, to load and execute a file from disk. We run as a (mostly) normal program on the cam's normal OS. We build with: -Wall -Wextra -Werror-implicit-function-declaration -Wdouble-promotion -Winline -Wundef -Wno-unused-parameter -Wno-unused-function -Wno-format Warnings are treated as errors for release builds.
Great work, and good luck!
Re: Magic Lantern Is Back
#45Earlier quoted context omitted.
Magic Lantern is fantastic software that makes EOS cameras even better, but I understand why manufacturers make it hard: Camera manufacturers live and die on their reputation for making tools that deliver for the professional users of those tools. On a modern camera, the firmware and software needs to 100% Just Work and completely get out of the photographer's way, and a photographer needs to be able to grab a (camer…
You have an interesting point about consistency and I'd like to provide a counterargument. While control consistency is very important, the actual image you get from a camera varies significantly between models as the manufacturers change tone curves, colour models, etc. JPGs from the camera are basically arbitrary and RAWs are not much better. The manufacturers don't provide many guarantees, it's just up to you and…
IIRC none of the EOS DSLRs had focus peaking from the factory, you need Magic Lantern -- Canon didn't program it at all.
Re: Magic Lantern Is Back
#46Thanks to all who are sharing their appreciation for this niche but cool project. I'm the current lead dev, so please ask questions. Got a Canon DSLR or mirrorless and like a bit of software reverse engineering? Consider joining in; it's quite an approachable hardware target. No code obfuscation, just classic reversing. You can pick up a well supported cam for a little less than $100. Cams range from ARMv5te up to AA…
Thank you and the magic lantern team!
Re: Magic Lantern Is Back
#47Unfortunately, they're not using a github organization- leaving it to fail again if that account disappears. Continuity is hard. > git clone https://github.com/reticulatedpines/magiclantern_simplified
Why would it fail if the code is available?
Re: Magic Lantern Is Back
#48Thanks to all who are sharing their appreciation for this niche but cool project. I'm the current lead dev, so please ask questions. Got a Canon DSLR or mirrorless and like a bit of software reverse engineering? Consider joining in; it's quite an approachable hardware target. No code obfuscation, just classic reversing. You can pick up a well supported cam for a little less than $100. Cams range from ARMv5te up to AA…
Is this situation still the same? (Apologies for the hazy details -- this was 5 years ago!)
Re: Magic Lantern Is Back
#49Around 2020, our old lead dev, a1ex, after years of hard work, left the project. The documentation was fragmentary. Nobody understood the build system. A very small number of volunteers kept things alive, but nothing worked well. Nobody had deep knowledge of Magic Lantern code. Sounds like a bit of a dick move. Part of being a lead dev is making sure you can get hit by a bus and the project continues. That means docu…
Uh, sure, maybe in a professional setting where you’re getting paid. But this was unpaid volunteer work. If, as a community, we start enforcing professional grade standards on people who are just contributing their free time to give us neat toys and tools, I kinda worry it makes the whole thing the whole thing less fun or sustainable. And if that happens, we probably stop getting these free toys altogether.
It doesn't take much work to not leave a gigantic pile of trash behind you.
If anything, it's an even more a self-responsible thing to do in the OSS world, as there isn't a chain of command such as in the corporate world, enforcing this.
It's selfish to engage in group relation with other people building something without the conscious decision of continuity.
A job worth doing is a job worth doing well. Maybe I'm just a gray beard with unrealistic expectations, or maybe I care about quality.
Re: Magic Lantern Is Back
#50> The main thing you need is knowledge of C, which is a small language that has good tutorials. Heh, a little like saying "the main thing you need is to be able to play the violin, which is a small instrument with good tutorials".
I stand by my statement! Compare the length of the C standard to JS / ECMAScript, or C++! :) Maaaaybe I'm hiding a tradeoff around complexity vs built-in features, but volunteers can work that out themselves later on. You honestly don't need much knowledge of C to get started in some areas. The ML GUI is easy to modify if you stay within the lines. Other areas, e.g., porting a complex feature to a new camera, are muc…