fixes these warnings:
> ../src/main.c: In function 'capture_completed':
> ../src/main.c:321:9: error: format not a string literal and no format arguments -Werror=format-security
> 321 | snprintf(last_path, sizeof(last_path), args->fname);
> | ^~~~~~~~
> ../src/process_pipeline.c: In function 'setup_capture':
> ../src/process_pipeline.c:165:9: error: format not a string literal and no format arguments [-Werror=format-security]
> 165 | snprintf(burst_dir, sizeof(burst_dir), tempdir);
> | ^~~~~~~~
otherwise, `args->fname` and `tempdir` themself would be interpreted
as the specifier.
On many mobile operating systems it's possible to take picture using
hardware volume buttons.
It's easier to hold the phone and take pictures this way. Additionally
it makes possible to use selfie stick (at least with jack plug).
To be able to handle volume buttons global system shortcuts, that
controls audio level has to be disabled.
gdk_toplevel_inhibit_system_shortcuts tells compositor to block system
keyboard shortcuts, when the camera app has focus. In all other cases
system shortcuts are working like before even if camera app is running
in background.
Device orientation is provided by net.hadess.SensorProxy
iio-proxy-service. If there is no accelerometer on target platform,
then window orientation from X11/wayland is used as before.
In current state after video is processed and saved button has
video-recording icon, that is confusing.
The change handles exit code of movie.sh script and depending on that
notifies UI to set video-inactive icon. video-recording icon is set,
when the user press button to activate video recording.
Got pipe to work between movie subprocess and main code. We use it to
display progress from the scripts. Write "gstreamer raw" files, that
can be worked with easily from gstreamer.
Short movies can now be recorded (~30 seconds, depending on disk
space), with audio. New button is added, for that, depending on state
it shows "Rec" (you can record), "Stop" (you are recording) and "Busy"
(movie is being converted).
Fixes#44
This commit changes the way that screen rotation is detected. Instead of
using Mutter's DBus interface, we now listen directly for X and Wayland
events indicating the screen has been rotated (RRScreenChangeNotify and
wl_output::geometry events). This has the advantage of working outside
of Phosh.
Rename MPCameraMode to a more generic MPMode and move it along
with related functions to a new object in preparation for using
it in the device object.