Switch for macOS Catalina/Linux (former cr2hdr.app)

Started by Danne, May 05, 2015, 04:32:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.



Switch automator app is a multiprocessing program being able to process dualiso as well as non dualiso files coming from Magic Lantern generated CR2, DNG, RAW and MLV files. Different magic lantern related workflows are all being simplified through different self explanatory bash menus which all are started from within Main menu.

Following processing workflows are included:
* Process dual iso generated files from multiple cameras
* Process CR2, dng, RAW and MLV files(both dualiso and non dualiso)
* Export to ProRes4444 and proxy(FFmpeg, dcraw)
* Process other files such as mov, mts, mpeg etc to ProRes(X to ProRes menu)
* HDR processing from MOV files. (ffmpeg tblend averaging filter. 48, 50, or 60fps recommended)
* 3D lut support(cube)
* White balance correction
* Darkframe averaging automation(mlv_dump)
* Flatframe automation(mlv_dump)
* MLVFS workflow integration
* MlRawViewer integration(previewing)
* Multithreaded
* Full auto mode

The program itself is depending on cr2hdr(a1ex) and mlv_dump(g3gg0, a1ex), mlv_dump_on_steroids(Bouncyball),  raw2dng(a1ex), dcraw(dave Coffin) and FFmpeg(Fabrice Bellard) for processing the different dualiso generated files. Processing includes white balance correction through exiftool(Phil Harvey), exiv2(Andreas Huggel) and bwfmetaedit(FADGI) for audio metadata adding and if adobe dng converter is installed in applications folder Switch is able to include perfect correlation of white balance going from CR2 to dng files. Switch also includes a menu selector created in bash from where the user can select or deselect different settings inside Switch. Included in code as well is dfort pixel fixing lists for cameras with focus pixels such as eos m, 650D etc. https://bitbucket.org/daniel_fort/ml-focus-pixels
Also incorporated is a MLVFS workflow menu. For this to work and take effect you need MLVFS(dmilligan) installed onto your system. In conjunction with MLVFS I also put in very fine movie player MlRawViewer(baldand).
Switch works with different menus created in bash from where the user can select or deselect different settings inside Switch. The program is able to run all processes in a chain so just fill up the folder with various files and after selecting settings in the different menus simply run Switch and wait for it until it,s done.

A very special thanks to Bouncyball for dedicated support and groundbreaking development(mlv_dump_on_steroids, fpmutil, RAW to MLV converter) in general.

Source code

Mac version

Ubuntu version

Main menu

1. Move Switch to applications folder
2. Double click Switch and select a folder with dual iso CR2, DNG, dng or MLV files then navigate from the Main menu.
3. For compressing and matched white balanced Adobe dng converter needs to be installed into application folder. Switch works perfectly fine without ADC but white balance will be slightly off balance due to missing camera calibration information.
4. 3D luts can be added to both ProRes and proxy folders to further tweak the output.

To supress gatekeeper hold ctrl button down(mac OS Sierrra) while opening the application the first time. You can also change permissions from within privacy/security settings.

For coders
About working inside the source_code folder
Inside source_code folder there is a Build_dmg_package.command script. When double clicked it will copy and overwrite all .txt files over in source_code folder into the Switch one level up in source tree. After copying a mac dmg package will be created. Run chmod u=rwx on the script for full privilegies if needed.

If you want to include changes done to Switch_MAIN.txt these have to be copied by opening up Switch in automator. Automator is installed in your system by default.

Thanks to:  a1ex, g3gg0, bouncyball, Dave Coffin, Fabrice Bellard(FFmpeg community) Phil Harvey, Andreas Huggel, dmilligan, baldand, so-rose, Chmee, dfort, deafeyejedi.

Official GPL statement(Magic Lantern)


Interesting stuff... Hopefully for you to maintain two apps at once won't make you pull your hair out!!!

I'm literally done with the move from apt to house.

Now gonna get on my Mac mini and play with all your new toys online shortly...

Thanks for the surprises as always, D!

5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Na, this little sidedish hopefully won,t be much more than this :).


Is it only for Mac? If there is a Windows version, I would like to try it.


I only know how to do this for mac unfortunately.



Seems to work fine for CR2 files but does NOT seem to pick up for MLV's from 70D?

Funny thing is the first 3-4 minutes of the spinning ball in status bar showed "0%" and got me thinking that it wasn't working...


But then soon enough I was wrong!  8)

Should I run this again with 5D3 files?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


It, s main purpose is to transcode cr2 files. Secondary, dualiso dng files. MLV and RAW is not in this workflow.
Thanks for testing


Oh that's right I don't know why I thought I read it in first post that it was for all Dual ISO files (but really it's only for photos as in regular & Dual ISO DNG's from FRSP as well as Dual-ISO Cr2's) is that right?

The purpose for this service workflow to speed up the pace of converting photos rather than wasting time looking for other files as in your other app w cr2hdr-r - correct?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Purpose is for dual iso stills, CR2 mainly. The speed on still CR2 conversion and functionality is more or less the same from cr2hdr-r and this workflow.


Copy that!

So if I Took a FRSP in dual ISO would that work or no?

5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Updated with latest cr2hdr from A1ex. Compiled by Kichetof. Thanks!


New upload. First post

- Abilty to also right click directly to a file or select multiple files (CR2,dng dual iso) and start conversion instead only from right clicking a folder.

Might be handy for fast checking a single or more files. Selecting a folder is still fastest (multithreaded)


If you right click on file(s) it isn't multithreaded but right click on a folder will be, correct?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Yes. Right click multiple files or a single file, not multithreading. If you want speed. Do your batch from a folder as usual.


Hello - I downloaded the dualiso_to_DNG service - then selected a folder where the dual-iso CR2s are located, and right click > Services > dualiso_to_DNG.  I checked to ensure that the DCRAW file was copied to the /usr/bin (had to temporarily disable System Integrity Protection to successfully copy dcraw to /usr/bin).

I see the automator wheel on the top spinning for a second, then it disappears.

I opened the folder, and I do see ORIGINALS folder containing the CR2 files.  However, no DNG files were created.

My guess is that this service couldn't  find the cr2hdr file?  Where can I download the cr2hdr (latest) file and where should I put it so this service can properly convert the dual-iso file to DNG? 

OR perhaps this service is already 'retired'.   is there a new service out there that replaces it?

Thank you.


Hi ciriuss925. Yes, It,s no longer maintained mainly due to E l capitan installation issues. I will put a note about it. Use MLP and check page 5 in the user guide. It should work straight away.


hello Danne - thank you so much.  I am able to get the MLP installed and so far the dualiso DNG files are rendering quite beautifully!


Good to to hear :) The processed dng in MLP will bring in the correct white balance metadata as well so that,s yet another reason to use it.


I updated the first post with an updated automator app to be used with dualiso files (CR2, DNG, dng, MLV). Mainly for a still image workflow. It,s stand alone and I made an attempt to obtain exact white balance conversion going from CR2 to dng but the roadblock still persist.

A workaround is to have adobe dng converter installed which will make exiftool grab and calculate the camera calibration numbers into the dng AsShotNeutral tag. Fully automated.
Feel free to test and let me know how it works. All scripts are multithreaded.


I put in a lot into the scripts so now it will work with dual iso files as well as non dual iso files. Just put all files in the same folder and cr2hdr.app will know what is what. Download in the first post.


Lovely stuff, @Danne as per usual. Even the spanning files from Dual-ISO FRSP works flawlessly (big THANKS for that!) and will continue to use this wonderful tool for batch processing all my photos (including MLV stuff) which is insanely awesome!

Oh btw I like how you added the mlv_dump settings (ml) under the menu selection as one of the options before running your cr2hdr app -- complete genius!!!  8)
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Thanks Deafeyejedi :). Always nice to have you aboard. Yes,  think it,s great to be able to tweak command line settings in both binaries through a menu.


Question -- would it be ideal to make it possible to include some kind of custom settings for dcraw such as -H 2 -b 2 for MLV files and such?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


All base settings in the menu are based on -H 2 excepts for rec709. I don,t really see not to do this since -H 2 are more or less scene referred(which is what raw footage wants) opposed to otherwise clipped highlights.


Been porting some more good stuff into cr2hdr.app. This workflow more or less outgrown its origin name and a1ex outstanding cr2dhr is now part of all kinds of other processing possibilities. Anyway. The main reason for this workflow is that it,s all menu based and supposed to be easier to work with than straight in command line or as in MLP putting files in a dedicated folder for activation.
Once you select a folder with files cr2hdr.app now starts with a main menu and then you take it from there.
The "select new output" feature works with MLV files for now but the rest will be implemented later on.

Main menu