topic had to be split, too many chars
Actual Functions - the main part of this thread, and to me - the most important one. this is what it's all about - the actual features of chdk. be it small gadgets (games), functions for photographers (overrides) or things like LCD energy saving options. these items are in NO particular order, mind you. they may be sorted later, depending on difficulty, status or priority.
14 - camera benchmark - not only lcd screen and write speed on sd card. i'm thinking more of speed as in how long does it take to take 10 shots burst? how long will the battery last? how many shots before battery fails? some sort of generic benchmark. before this can be useful, the mode dial override has to be implemented (to simulate the different modes) and also override of the playback/rec switch (this feature will be explained later). it somehow could be implemented as a script, but for this to work one would have to override a lot of settings (review time for example). difficulty: high. priority: very low. useful: probably.
15 - shutter activation through microphone - remote shutter by shouting for example. needs great skills in ASM, as for this the binaries have to be analyzed in IDA pro. Find out if the mic can be activated not only during movie mode, find out if the mic can be accessed regarding its output, gain. on S-series, the gain can be set to one of 5 levels, just a hint. possible: i don't know, maybe. difficulty: high. useful: yes, very much (clap-o-photo). priority: well, if the mic can be accessed, this will not only lead to the remote shutter feature, but to probably a lot more useful features (for example: MUTING the microphone when taking a picture while you are shooting a video on s-series. as of now, the mic records the mechanical shutter, which is annoying when you record a concert of classical music). update: jus read
changeset 395, ewavr found a way to mute the microphone. yay. thus the spwaning of the next feature request:
16 - muting the microphone - in s3is, when you record a video and take shots during that, the shutter is recorded to the audio track of the video. this is very annoying. please EWAVR, find a way to mute the mic in the moment you fullpress the shutter for about a second. there might be other benefits: for example when you want to record JUST a video, with no sound at all - mute the whole video. *Maybe* you can even save some space this way? disable wav recording alltogether... i'm just dreaming here

Maintainer: i announce EWAVR. difficulty: for EWAVR, nothing is impossible

useful: yes. priority: probably low.
17 - more commands in ubasic - in order for scripts to be more versatile and universal (a script that runs on ALL platforms, yet uses/activates functions that are only existing on a subset of these platforms). i already took care of this
here. things like get_drivemode (uses different props on digicII/digicIII) or get_nd_present. actual implementation is easy, needs some more testing though (performance impact? whats the maximum number of commands to be included in ubascic?). maintainer: PhyrePhoX. priority: high (imho the huge amount of different scripts for each platform is VERY confusing to beginners, and even to me, as i have an a620 and an s3is, which for example have different zoom_steps). useful: very useful.
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!18 - another scripting language - LUA integration is just in the making by Velo (maintainer). see
here. LUA is *supposed* to be the better scripting language in terms of difficulty for beginners and also has some more powerful things in advance to ubasic. needs more testing, interest and finally being put into trunk. most of the code is already present. useful: yes. priority: it's almost done, so i guess priority is pretty low - as it "just" needs adding to the trunk.
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!19 - better ubasic syntax - jucifer as of now is on a crusade to improve ubasic syntax. find examples
here. this will certainly BREAK compatibility with a lot of old scripts. since he also renamed the commands, it may be possible to just ADD them, instead of renaming. thus compatibility will be retained, PLUS the new syntax could be used. useful: yes. difficulty: low.
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!20 - summertime, DST - i still havent been able to find out where in the s-series the flag for "summertime active" is set. this will be needed so that the CHDK clock reflects the actual systemclock (when summertime active). it's also important for the timestamp rawfiles get. there is also a "vacation time" flag in s-series. see
here. i would implement this, if only someone can look into the asm sources. difficulty: requires knowledge of asm/ida pro. useful: yes. priority: low. if this gets implemented for the s-series, i will somehow devise a way to introduce that feature to the other series as well. maybe even automatically switching to summertime/wintertime on a given date.
21 - in playback - which item is currently shown? - needs master of ASM. what i mean in detail: when in playback, we need to find out the filename of the currently shown item (1234.jpg or 2333.avi for example). along these lines: IS a video being played? what display mode is it in (histogram shown, info shown?). this command will be useful for: advanced slideshows (for cams that dont have it built in yet, like s-series). to be able to "mark" files. for example you slide through your pictures and press a special designated button - chdk marks these files in a buffer. later in a dedicated chdk menu you can decide what you want to do with these marked pictures, for example "delete all pictures but the marked ones". or later "encrypt or hide these pictures". also possible: by knowing what item is currently shown, chdk MAY be able to indicated in OSD IF a raw file of the same name is present. priority: high, as when this is found out, it will spawn lots of new USEFUL features. difficulty: probably high. possible: certainly.
Update: will soon be integrated into juciphox22 - adjustments to default script - default script has to contain one print statement like "you just started the default script. are you sure about that? exit altmode by pressing get_altkey and read the manual please"
23 - on screen keyboard - one of the most requested features. if this gets implemented, even in its simplest form, this will spawn a whole lot new features. i think i dont have to mention these, but i will mention a few just anyway: built-in ubasic debugging, writing scripts, writing texts, writing captions, writing exif data, etc. i announce wontolla as maintainer, as he put the most brains into it so far. see
here. there is no actual implementation yet, it could be difficult. the way i see it, the most "easy" way to have an on screen keyboard would be to copy the code from the color-chooser (in the visual menu) and rewrite it so that instead of colors, you choose letters (or even complete words for ubasic for example). priority: high. useful: well, yes, sir!
24 - being able to load presets for both CHDK AND the camera itself - another very important feature. Being able to write & read different configuration files (and being able to name theses configs, via the on screen keyboard). This should be fairly easy to implement, you just have to replace the "load_chdk_configfile_function" with "load_CUSTOM_chdk_configgile_function", probably included into the filebrowser. also saving of these settings.
ALSO very important: Saving (AND restoring) of actual CAMERA settings. these can range from simple things like zoom to more advanced ones like "macro-mode" or "AiAF". A lot of these settings the camera normally forgets, and also a lot of cameras dont seem to have the "custom mode" (which is not enough for me). With this feature it will be possible to load a "macro-stack-with-flash-manual_focus-usb-remote" setting, which sets zoom, macro, manual focus and the like. this feature will be very difficult to implement, BUT it is possible. priority: CHDK settings - high. Camera settings: not so high

needs skills in ASM and C. useful: YES! for this topic exist a lot of posts, none with an implementation though.
25 - jumping between chdk versions - on the fly switching between CHDK versions (and/or SDM). THis should include config files and maybe scripts etc. i announce Whim as the maintainer, as he has spent alot of brains on this already (look
here for example). the actual implementation could be easy and fast, depending on how you do it. without rebooting (the user can do that himself) this should be pretty straightforward: move/copy binary & fir from some directory to the root of the card. if there are more files to it, copy them as well (a whole chdk folder). before that, maybe backup the existing binaries to a predefined folder. needs the fileexplorer to be implemented. also the virtual keyboard would be nice. also would be nice if this feature reads out the version string of the binary that is to be put into root: to see which camera it is for, which version and which flavor. the use of that would be immense. for example i can keep SDM and CHDK on my card and when in the forest i can switch between them seamlessly. also useful if you happen to meet someone with a P&S canon (without chdk) and you want to show him what his camera is capable of (if you have chdk for his camera SOMEWHERE on your sd card). along those lines: find out if it is possible (needs ASM skills) to override the "card slot is open detection". it cant be a hardware switch, as when the camera hangs and i open the cardslot, the camera is still powered on. this will be useful when you for example want to copy CHDK to another sdcard when youre in the middle of the road with no computer. Copy CHDK (and chdk folder probably) into RAM, switch cards, copy RAM content to card, set bootable flag.
26 - udumper being able to write more than one file - as of now, when you use udumper and you want to dump more than one camera, you have to use several sdcards (when you dont have a computer). is it maybe possible to dump more than one binary to the card? possibility: maybe. difficulty: probably high. useful: yes. priority: low
27 - usb detection not only in script - like in SDM, it should be possible to use USB remote shutter without script. there should be an option in the chdk menu, that you can decide between "script only, non-alt-mode only, both, none (last setting is for when you connect cam to computer). if set to both or non-alt-mode only, pressing the usb shutter should perform a predefined action (setting should be in the menu as well), such as shutter_full_press or halfpress+fullpress (of course NOT in scriptmode, as in that you decide via the script what will happen). useful for when you for example want to be able to use other buttons like zoom while using usb remote. difficulty: the code is in SDM already, can't be too difficult to port. useful: yes. priority: someone "only" has to port it. another idea: there *should* be an icon on screen telling you what mode you are in. if you connect the camera to the pc and nothing happens you then know why. also: if set to "script only", it should really only be used in script, this means you can connect cam to PC in this mode.
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!28 - raw develop - move into filebrowser - move the raw develop function into the filebrowser (where raw average etc already are). small change, requires C skills though, as the filebrowser menu is "full" (see
here. along those lines: remove "noise reduction" from the Raw menu and put it into overrides. reason: NR does NOT only affect raw, but jpegs as well. priority: low. useful: yes (less confusing, better structure).
29 - erase jpg with corresponding raw - read about it
here. Maintainer: Wontolla. Status: almost done. needs a few optimizations (adressed in thread) and maybe some debugging. Shouldnt be too difficult, can be put into trunk. useful: certainly. maybe pair it with options like "delete ALL raws" or "all avis" and the like (hint: batch erase, delete jpegs in given range (date, number, etc)).
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!30 - Format SD card in camera and retain CHDK on card - will be difficult, needs deep knowledge of asm and the inner workings of chdk and the cam. what needs to be done? copy chdk binary & chdk folder to RAM, format sd card, move stuff from ram to sdcard, set bootable flag. this is of course different on cards with more than one partition. difficulty: very difficult. useful: when on the road and you forgot to delete some pics you already copied to pc, this comes in handy (when you have a lot of pics so manually deleting them is not an option). also it is some kind of defragging. priority: low.
also on this matter, when sdcard slot open, disable the check that instantly shuts off camera, so maybe you can change sd cards on the fly, copy chdk to new card. for those occasions on the road without computer, but with "fresh sd card". (also in "jumping between different CHDK versions")
31 - in playback - better indication of script running/ending - as of now, using scrips in playback is not as easy as in rec mode, for example it is lacking the blue "console" that for example says "script interrupted". makes debugging and general use of scripts in playback mode difficult. before you ask: yes, using scripts in play mode IS helpful. especially later when you can override the rec/play switch via script (and the modedial). difficulty: i *suppose* it is quite easy, as the code is already there in rec mode. priority: low as of now, can rise when the mentioned rec/play switch override is arrived. useful: yes (to me at least

)
32 - elf edition - see
here. will be very important soon. reason: chdk can not grow in size forever. to maximize features and usability, some sort of "on the fly loading of code" has to be introduced. thus the elf edition was born (not really born yet, but the idea and some code is there!). if you are an asm & c freak, please support mx3. Will definitly spawn a whole lot new features. difficulty: very difficult. useful: of course it is useful, dummy! priority: very high. go coders, go! update: mx3 confirmed that chdk ELF will be there soon...
33 - more info in splash/about/info screen - integrate info from vers.req into a "information page" (total shoot count, owner and the like). either integrate it into the chdk splash loading screen or create a dedicated screen in the menu. speaking of the splash screen: customizable duration of being shown, and/or maybe a toggle if the screen should vanish only after a button press (or after some time AND button press if time isnt run down yet). sounds difficult, but it is easy (in my eyes) code-wise. priority: low (it's a bit of eye candy). while on the subject, maybe the splash screen can be customized (color etc). and we need adverts in it, like in SDM (bigger splash screen, provided an "image" and an url in it too!).
34 - zoom bar (on cameras that dont have any) - one of my personal wishes. on my a620 i lack the zoombar. in s-series when you zoom in and out you have a fancy bar indicating how much "Zoom range" is left and where you are right now (for example when you have 12x zoom capabilities, you see you are at 4x without having to read a number, you see it directly on the bar). under the bar canon wrote (in my s3is at least) the maximum/minumum focus range. also incorporated should be the option to have it shown all the time or only when zooming in/out. i have the code already, stalled at 80% because of some issues with refreshing of the screen/drawing. will open a thread about it eventually. difficulty: not really difficult. useful: i guess to some. priority: low.
35 - edge overlay - currently being worked on by hiker_jon. see
this thread. if done there are A LOT of applications that will benefit from it: stereo shooting (with a single camera!), stop motion ("onion-skinning"), panorama. Also by directly drawing on the screen it may be possible to introduce some high quality icons for the CHDK OSD. maintainer: hiker_jon. difficulty: difficult. priority: high. useful: yes.
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!36 - control sounds in scripts - as far as i can tell EWAVR already found out most of what is needed to accomplish that
here. goal: to have in script commands like play_beep or some other predefined sounds (probably the custom sounds you can configure in the canon menu only - maybe other wav files later?

?). useful for example for group shots (play the sound of a giggling child, everyone in the room will smile!) or for bird-watchers (run script that periodically plays sounds of some birds, also run motion detection, come back later to find pictures of birds making love to your camera!). there are ALOT OF possible uses here, thus usability: high. priority: somewhere in the middle. difficulty: EWAVR seems to have found most of it already. along those lines: mp3 player (or at least wav player), but not as important.
Update: Included in JuciPhoX Branch, will be merged into Trunk soon!