List of ML features (what's enabled on what cameras)

Started by a1ex, January 22, 2013, 03:14:07 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

a1ex

Remember the table from the old wiki, which was showing what features were enabled on what cameras, and was impossible to maintain?

Here's a script that generates such a table from features.h files:

https://bitbucket.org/hudson/magic-lantern/src/tip/features/features.py


                               1100D  40D   500D  50D   550D  5D2   5D3   5DC   600D  60D   650D   6D    7D   EOSM
                   AF_PATTERNS   *     *     *     *     *     *                 *     *     *           *         
                    AGC_TOGGLE                           *     *                 *     *                           
                   ANALOG_GAIN               *           *     *                 *     *                           
            ANAMORPHIC_PREVIEW   *                       *     *     *           *     *     *     *               
               ARROW_SHORTCUTS   *           *     *     *     *     *           *     *     *     *               
                  AUDIO_METERS   *           *           *     *     *           *     *           *     *         
             AUDIO_REMOTE_SHOT               *           *     *     *           *     *           *     *         
               AUTO_BURST_PICQ               *           *                                                         
           AUTO_MIRRORING_HACK                                                   *     *                           
                          BEEP   *           *           *     *     *           *     *     *     *     *     *   
                  BULB_RAMPING   *           *     *     *     *     *           *     *     *     *     *     *   
                    BULB_TIMER   *           *     *     *     *     *           *     *     *     *     *     *   
                CLEAR_OVERLAYS   *           *     *     *     *     *           *     *     *     *     *     *   
                  COLOR_SCHEME   *           *     *     *     *     *           *     *     *     *     *     *   
                     CROPMARKS   *           *     *     *     *     *           *     *     *     *     *     *   
                   CUSTOM_ICON   *           *     *     *     *     *           *     *     *     *     *     *   
             DEFISHING_PREVIEW   *                       *     *     *           *     *     *     *               
                  DIGITAL_GAIN                           *     *                 *     *                           
    DIGITAL_ZOOM_SHORTCUT_600D                                                   *                                 
                 DONT_CLICK_ME   *           *     *     *     *     *     *     *     *     *     *     *     *   
                 EXPO_APERTURE   *           *     *     *     *     *           *     *     *     *     *     *   
                      EXPO_ISO   *           *     *     *     *     *           *     *     *     *     *     *   
                EXPO_ISO_DIGIC   *           *     *     *     *     *           *     *     *     *           *   
                  EXPO_ISO_HTP   *           *     *     *     *     *           *     *     *     *     *     *   
                     EXPO_LOCK   *           *     *     *     *     *           *     *     *     *     *     *   
                 EXPO_OVERRIDE   *           *     *     *     *     *           *     *     *     *     *     *   
                   EXPO_PRESET   *           *     *     *     *     *           *     *     *     *     *     *   
                  EXPO_SHUTTER   *           *     *     *     *     *           *     *     *     *     *     *   
                        EXPSIM               *     *     *     *     *                 *           *     *         
                  EYEFI_TRICKS   *                                               *     *     *                     
                   FALSE_COLOR   *           *     *     *     *     *           *     *     *     *     *     *   
                  FLASH_TWEAKS   *           *     *     *     *           *     *     *     *           *     *   
                    FOCUS_PEAK   *           *     *     *     *     *     *     *     *     *     *     *     *   
        FOCUS_PEAK_DISP_FILTER                                                                     *               
                FOCUS_STACKING   *           *     *     *     *     *           *     *     *     *     *         
                  FOLLOW_FOCUS   *           *     *     *     *     *           *     *     *     *     *         
                FORCE_HDMI_VGA   *           *     *     *     *     *           *     *     *     *     *     *   
                FORCE_LIVEVIEW   *           *     *     *     *     *           *     *     *     *     *         
                  FPS_OVERRIDE   *           *     *     *     *     *           *     *     *     *           *   
                   FPS_RAMPING   *           *     *     *     *     *           *     *     *     *           *   
                FPS_WAV_RECORD   *           *           *     *     *           *     *     *     *           *   
                   GHOST_IMAGE   *           *     *     *     *     *           *     *     *     *     *         
                   GLOBAL_DRAW   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
              GRADUAL_EXPOSURE   *                 *     *     *     *           *     *     *     *               
                HDR_BRACKETING   *           *     *     *     *     *     *     *     *     *     *     *     *   
                  HDR_EXTENDED                                                                     *               
                     HDR_VIDEO   *                 *     *     *     *           *     *     *     *               
          HEADPHONE_MONITORING                           *     *                 *     *           *               
       HEADPHONE_OUTPUT_VOLUME                           *     *                 *     *           *               
                     HISTOGRAM   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
                 IMAGE_EFFECTS   *           *     *     *     *                 *     *     *           *     *   
             IMAGE_ORIENTATION                                                   *     *                           
                IMAGE_POSITION   *           *     *     *     *                 *     *     *     *           *   
             IMAGE_REVIEW_PLAY   *           *     *     *     *           *     *     *     *           *     *   
                  INPUT_SOURCE                           *     *                 *     *                           
INTERMEDIATE_ISO_INTERCEPT_SCR                           *                                                         
INTERMEDIATE_ISO_PHOTO_DISPLAY               *           *                       *           *                     
                INTERVALOMETER   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
         KEN_ROCKWELL_ZOOM_5D3                                       *                                             
             LCD_SENSOR_REMOTE               *           *                                                         
               LEVEL_INDICATOR                                                         *           *     *         
            LV_3RD_PARTY_FLASH   *           *           *                       *           *                     
        LV_BRIGHTNESS_CONTRAST   *           *     *     *     *     *           *     *     *     *     *     *   
             LV_BUTTON_PROTECT   *                             *                 *     *     *     *     *         
                LV_BUTTON_RATE   *                                               *     *     *     *     *         
               LV_DISPLAY_GAIN   *           *     *     *     *     *           *     *     *     *     *     *   
            LV_DISPLAY_PRESETS   *           *     *     *     *     *           *     *     *     *     *     *   
         LV_FOCUS_BOX_AUTOHIDE   *           *     *     *     *     *           *     *     *     *     *         
             LV_FOCUS_BOX_FAST   *           *     *     *     *     *           *     *     *     *     *         
             LV_FOCUS_BOX_SNAP   *           *     *     *     *     *           *     *     *     *     *         
                 LV_SATURATION   *           *     *     *     *     *     *     *     *     *     *     *     *   
              LV_ZOOM_SETTINGS   *           *     *     *     *     *           *     *     *     *     *     *   
                    MAGIC_ZOOM   *           *     *     *     *     *           *     *     *     *     *     *   
                     MIC_POWER                           *     *                 *     *                           
                           MLU               *     *     *     *     *     *     *     *     *     *     *         
     MLU_DIRECT_PRINT_SHORTCUT                                             *                                       
                  MLU_HANDHELD               *     *     *     *                 *     *     *     *     *         
                   ML_AUTO_ISO   *           *     *     *     *     *           *     *     *     *     *     *   
                      MONO_MIC   *           *                                                                     
                 MOTION_DETECT   *           *     *     *     *     *           *     *     *     *     *     *   
                 MOVIE_LOGGING   *           *     *     *     *     *           *     *     *     *     *     *   
           MOVIE_RECORDING_50D                     *                                                               
MOVIE_RECORDING_50D_SHUTTER_HA                     *                                                               
                 MOVIE_REC_KEY   *           *     *     *     *                 *     *     *     *     *     *   
                 MOVIE_RESTART   *           *     *     *     *     *           *     *     *     *     *     *   
                       NITRATE   *           *     *     *     *     *           *     *     *     *     *     *   
            NITRATE_WAV_RECORD                                                                     *               
     OVERLAYS_IN_PLAYBACK_MODE   *     *     *     *     *     *     *     *     *     *           *     *         
                      PICSTYLE   *           *     *     *     *     *           *     *     *     *     *     *   
                      PLAY_422   *           *     *     *     *     *           *     *     *     *     *         
           PLAY_COMPARE_IMAGES   *           *     *     *     *     *           *     *     *     *     *         
          PLAY_EXPOSURE_ADJUST   *           *     *     *     *     *     *     *     *     *     *     *         
          PLAY_EXPOSURE_FUSION   *           *     *     *     *     *           *     *     *     *     *         
                PLAY_TIMELAPSE   *           *     *     *     *     *     *     *     *     *     *     *         
            POWERSAVE_LIVEVIEW   *           *     *     *     *     *           *     *     *     *     *     *   
                   QUICK_ERASE   *           *     *     *     *           *     *     *     *     *     *         
                    QUICK_ZOOM   *           *     *     *     *           *     *     *     *           *         
                    RACK_FOCUS   *           *     *     *     *     *           *     *     *     *     *         
                 REC_INDICATOR   *           *     *     *     *     *           *     *     *     *     *     *   
                    REC_NOTIFY   *           *     *     *     *     *           *     *     *     *     *     *   
               REC_NOTIFY_BEEP                           *     *                       *                           
                  REC_PICSTYLE   *           *     *     *     *     *           *     *     *     *     *     *   
                    SCREENSHOT   *           *     *     *     *     *     *     *     *     *     *     *     *   
                SCREENSHOT_422   *           *     *     *     *     *           *     *     *     *     *     *   
                 SCREEN_LAYOUT   *           *     *     *     *     *           *     *     *     *     *     *   
                  SET_MAINDIAL   *           *     *     *     *     *     *     *     *     *     *     *         
         SHOW_CMOS_TEMPERATURE   *           *     *     *     *     *           *     *     *     *     *     *   
                SHOW_CPU_USAGE   *           *     *     *     *     *           *           *           *     *   
              SHOW_FREE_MEMORY   *           *     *     *     *     *     *     *     *     *     *     *     *   
               SHOW_GUI_EVENTS   *           *     *     *     *     *           *           *           *     *   
       SHOW_IMAGE_BUFFERS_INFO   *           *     *     *     *     *           *     *     *     *     *     *   
            SHOW_SHUTTER_COUNT   *           *     *     *     *     *           *     *     *     *     *     *   
                    SHOW_TASKS   *           *     *     *     *     *     *     *           *           *     *   
                  SHUTTER_LOCK   *           *     *     *     *                 *     *     *     *           *   
                    SILENT_PIC   *           *     *     *     *     *           *     *     *     *     *     *   
              SILENT_PIC_HIRES                           *                       *                 *               
                      SNAP_SIM   *           *     *     *     *     *     *     *           *           *     *   
                     SPOTMETER   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
                    STICKY_DOF   *           *     *     *     *     *           *     *     *     *     *         
            STICKY_HALFSHUTTER   *           *     *     *     *     *           *     *     *     *     *     *   
               SWAP_MENU_ERASE                                                         *                           
                    TRAP_FOCUS   *           *     *     *     *     *           *     *     *     *     *         
              UNIWB_CORRECTION   *           *     *     *     *     *     *     *     *     *     *     *     *   
                   UPSIDE_DOWN   *           *     *     *     *     *           *     *     *     *     *     *   
                   VECTORSCOPE   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
                   VIDEO_HACKS                                                                     *     *         
                    VOICE_TAGS   *           *           *     *     *           *     *           *     *         
     WARNINGS_FOR_BAD_SETTINGS   *           *     *     *     *     *           *     *     *     *     *     *   
                      WAVEFORM   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
                 WAV_RECORDING   *           *           *     *     *           *     *     *     *     *     *   
                 WHITE_BALANCE   *           *     *     *     *     *           *     *     *     *     *     *   
                   WIND_FILTER                           *     *                 *     *                           
                         ZEBRA   *     *     *     *     *     *     *     *     *     *     *     *     *     *   
                    ZEBRA_FAST   *     *     *     *     *     *     *           *     *     *     *     *     *   
                ZOOM_TRICK_5D3                                       *                                             


What about making this look a bit better (html) and place it on a web page (maybe on nightly build page)?

0xAF has some more nice ideas about this, so I'll let him update the post.

1%


a1ex

It's a script, so it can be updated from the nightly builds.

nanomad

Nice idea :)

Mix it up with http://www.makotemplates.org/, add it to the nightly makefile target and we are ready to put it on the nightly builds page
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

a1ex


0xAF

Hi,
I have a friend which was interested in each camera state so he can decide what camera to buy.
I spoke with Alex about this and the idea came.

It would be nice to have such page which will show each camera completeness in percents (or any other means). So a newbie can decide what camera to buy based on budget/likeness/completeness.

We can base the completeness level on the (possible) features implemented or not for each model.
i.e. there are 10 features possible for model X so it's features will count for 10% each.
(the idea is not clear on how exactly to count it and should the features be equal in weight)

Alex suggested this (in case some feature needs to be changed):
If some dev changes feature X and this affects all (most) cameras, this feature is marked as dirty, then in the bugtracker there are "bugs" (testcases) for each camera/feature combination. Then the users can confirm if it's working or not and if it's working it's marked as clean for that camera again.
There are perhaps many way to complete this so you suggestions are welcome.

The ultimate goal was quite bigger than that, though.
We can have voting there (on our completeness page), so each user can put his preferences on the feature for each model.
Then we (the devs) can see what will be preferred an do that feature first.
We should have a way to put our base points for each feature, this way we are forcing the vote in some direction. Like Alex said, we can force the "scripting" feature, since the most users are not familiar with it's powers and wont vote for it, but once it's done it will be of big profit for most advanced users.

As for the web interface to the user, I can do some, but in Perl, if this is acceptable. Though a designed would be needed, since I suck big time in design.

Please comment the idea, so we can clarify it.
// AF

nanomad

I like that idea, should make bug triaging easier.

As far as the web interface is concerned, I can make something quick in python+mako+bootstrap in an hour so. I'll provide you with a demo ASAP
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

Michael Zöller

neoluxx.de
EOS 5D Mark II | EOS 600D | EF 24-70mm f/2.8 | Tascam DR-40

Michael Zöller

Oki, in that case I'll just wait for nanomad and improve the HTML if needed.
neoluxx.de
EOS 5D Mark II | EOS 600D | EF 24-70mm f/2.8 | Tascam DR-40

scrax

I think that for camera being ported 100% feat should be something like last stable feat set (limited to carea capability). For general feature added to ML at all the voting system could be a great idea.
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

0xAF

Quote from: scrax on January 22, 2013, 04:39:13 PM
I think that for camera being ported 100% feat should be something like last stable feat set (limited to carea capability). For general feature added to ML at all the voting system could be a great idea.
May be we should leave some percents for the leading dev (let's say 30%) in which he can increase the core porting as he advances ...

Or we can have 2 meters (bars or whatever) for each camera, showing:
1. Core completeness: 100%
2. Features completeness: 50%

Thus Overall Completeness: 75%

// AF

a1ex

I'd actually skip the percentages, because I'm bad at assigning them. Rather, I'd compute some sort of a score or status automatically somehow from user feedback.

1% pointed it out well, it should be something very easy to maintain (self-maintaining if possible).

The end result can be, at the same time, some sort of todo list for us (showing what parts need more attention or fine-tuning, what parts were tested and what parts were not tested at all) and also a guide for users who are looking for a camera. It can be a central page from which you can go to porting threads, to give or view testing feedback, report bugs and so on.

From what I've noticed, some developers enable features without trying them at all (understandable, since it's quite boring to try every single thing from the menu). So, quite a few things that are not widely used end up in the menu, but not working at all, because nobody tried them.

Having a central page that lists what others tried and what needs testing should help a lot here IMO.

0xAF

Quote from: a1ex on January 22, 2013, 05:09:40 PM
I'd actually skip the percentages, because I'm bad at assigning them. Rather, I'd compute some sort of a score or status automatically somehow from user feedback.
Yeah, I agree, perhaps the percentages are not the best option. I like the dynamic score idea. As the max score should be generated automatically too...

Quote from: a1ex on January 22, 2013, 05:09:40 PM
1% pointed it out well, it should be something very easy to maintain (self-maintaining if possible).
Of course, if we have to update this, it wont work for more than few weeks/months.

Quote from: a1ex on January 22, 2013, 05:09:40 PM
Having a central page that lists what others tried and what needs testing should help a lot here IMO.
I have doubts about this, we cannot easily get the test results (as a count) from the bug tracker and show them on that page. Another problem would be the timeframe... since when a change happens to some feature, we have to forget the tests so far and start over with test counting. And if we start implementing it on our page this would mean that we are making a custom tracker ??
// AF

nanomad

EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

a1ex

QuoteI have doubts about this, we cannot easily get the test results (as a count) from the bug tracker and show them on that page.
Yes, the existing bugtracker doesn't have enough info (each bug should be assigned to a camera / feature).
Quote
Another problem would be the timeframe... since when a change happens to some feature, we have to forget the tests so far and start over with test counting.

We can "forget" the test results in a fuzzy way (e.g. when some change is introduced to feature X, the old test results get a lower weight than new ones). Or maybe just a flag saying there were code changes since last test.

QuoteAnd if we start implementing it on our page this would mean that we are making a custom tracker ??
Are there existing trackers that do something similar? I'm not familiar with them.

@nanomad: looks good to me. You may want to check the alignment, as there are dots right between 5DC and 600D (exactly in the middle).

What about using a checkmark (✓) instead of star?

scrax

Quote from: nanomad on January 22, 2013, 05:43:26 PM
Demo page: http://nanomad.magiclantern.fm/feats.html
Can you make a table only version without the container?
Also could be possible to have features linked to man/wiki pages?
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

nanomad

Check it out now
- I've removed the container and added a bit of margin that you can easily override (as it's in the body)
- Linked features to the wiki (wiki.magiclantern.fm/wiki/FEATURE_X)
- Removed scrollable header, as it's the one causing allignment issues.... :(
EOS 1100D | EOS 650 (No, I didn't forget the D) | Ye Olde Canon EF Lenses ('87): 50 f/1.8 - 28 f/2.8 - 70-210 f/4 | EF-S 18-55 f/3.5-5.6 | Metz 36 AF-5

0xAF

Quote from: a1ex on January 22, 2013, 05:54:43 PM
Are there existing trackers that do something similar? I'm not familiar with them.

We are using Trac @work for internal use only. I've installed plugin for test cases, but is it possible to export data of it, I cannot answer, though I suspect it should be possible.
// AF

0xAF

Quote from: nanomad on January 22, 2013, 06:08:40 PM
Check it out now
- I've removed the container and added a bit of margin that you can easily override (as it's in the body)
- Linked features to the wiki (wiki.magiclantern.fm/wiki/FEATURE_X)
- Removed scrollable header, as it's the one causing allignment issues.... :(

Looking quite good ;)

EDIT:
I liked the header. Cant it be done with "fixed" position ?

EDIT2: though fixed position would need alignment too.
// AF

0xAF

One more thing, we should distinguish between features not done and features impossible.
And perhaps put different icons for impossible and not done in the table...
If 5Dc had all that it can it will still look poor on features compared to other cameras. So the rest features should be marked as impossible.
// AF

a1ex

Well, somebody has to judge whether is possible, or not, or maybe possible but with a lot of effort... not so easy to solved.

The links to wiki gave me an interesting idea. We can use the FEATURE ifdef's for the docs too, and have those pages generated by a script. I don't think anyone likes to create all those wiki pages manually. Besides, every documentation entry can have a small line telling what cameras have that feature (so maybe there will be fewer people asking why they can't find HDR video on 500D and so on).

If we can't use the headers, maybe some tooltips can do the job.

The 7D column is missing.

a1ex


scrax

Is a script or you changed it by hand?Can we have a div for each menu table if is a script?Maybe not needded for what I want to do, will post something later...

found out last code, will try to made another template.

pip install Mako
*reminder
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

a1ex


scrax

It generates only a Other title and the all camera models and all feat selected on one line without features list, seems it can't find features.
did: python features-html.py from features folder. It generates a -dM file
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-