Hi, As you most likely know I've been steadily working on improving webcam support under Fedora. As you also might know I used to work at a Dutch University teaching Computer Science. I recently got a request from them if there were any software engineering assignments I could come up with. Which remembered me that it would be nice to have a gtk app for controlling webcam settings like brightness, contrast, etc. This has resulted in me writing the attached assignment, since this is now still in the planning phase (there might even not be any students interested), this is a good moment to provide feedback on this. So please read it, and if you have any suggestions for better handling of v4l2 controls, please let me know. Thanks, Hans
GTK webcam control application and applet ----------------------------------------- The Fedora project (http://fedoraproject.org/) has been working on improving webcam support for a while now: https://fedoraproject.org/wiki/Features/BetterWebcamSupportF13 For Fedora-14 (to be released November 2010) it would be nice to have a gtk application for controlling various camera settings (brightness, contrast, etc.) *and* a small applet which shows a webcam icon next to the clock when a webcam is present. Both applications are to ship with the default Gnome desktop, so the end product should be a ready to release application, each Fedora release gets installed on approximately 1 million machines! v4l2 control application requirements ------------------------------------- There already is an existing graphical v4l2 control panel application (v4l2ucp), which can be used to model the gtk application after. This application is not suitable as it is using the QT GUI toolkit, which does not integrate well into the default Fedora desktop. MUST: * Use the gtk toolkit * Be written in C, C++ or vala (your choice) * Dynamically build up its UI (like v4l2ucp), as which controls are present differs per camera. There is an API to query which conrols there are and if they are on/of controls, or have a range (iow if they should be shown as a checkbox or a slider) SHOULD: * Have a well polished UI following the GNOME Human Interface Guidelines COULD: * ... v4l2 applet requirements ------------------------ The v4l2 applet is meant to be started at the startup of the desktop, and then contineously stay running. When it detects the presence of a webcam, it should show a webcam icon next to the clock (using the special docking area). Clicking on this icon should show a list of detected v4l2 devices, with the possibility to launch the control application for each. During initial development it can launch v4l2ucp, so that the 2 applications can be developed independently. MUST: * Use the gtk toolkit * Be written in C, C++ or vala (your choice) * Detect when v4l2 devices are plugged in and are removed * Show a docking area icon when the first v4l2 device is detected * Hide the docking area icon when the last v4l2 device is gone * Be able to launch a v4l2 control application on each device SHOULD: * Restore v4l2 device settings when a device gets plugged in, this will require some assistence of the v4l2 control application * Have a well polished UI following the GNOME Human Interface Guidelines * Have separate backend and frontend (UI) parts, so that the main code can easily be re-used in other desktop environments COULD: * Be aware of dual mode cameras (which can do both still image capture and function as a webcam), and show the icon even if the camera is in still image capture mode, offering the user the option to put it in webcam mode. Hardware -------- Various webcams including some dual mode ones can be made available to the students implementing this.
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel